More details and examples on robot arms and kinematics Denavit-Hartenberg Notation
INTRODUCTION Forward Kinematics: to determine where the robot’s hand is? (If all joint variables are known) Inverse Kinematics: to calculate what each joint variable is? (If we desire that the hand be located at a particular point)
Direct Kinematics
Direct Kinematics with no matrices Where is my hand? Direct Kinematics: HERE!
Direct Kinematics Position of tip in (x,y) coordinates
Direct Kinematics Algorithm Often sufficient for 2D 1) Draw sketch 2) Number links. Base=0, Last link = n 3) Identify and number robot joints 4) Draw axis Zi for joint i 5) Determine joint length ai-1 between Zi-1 and Zi 6) Draw axis Xi-1 7) Determine joint twist i-1 measured around Xi-1 8) Determine the joint offset di 9) Determine joint angle i around Zi 10+11) Write link transformation and concatenate
Kinematic Problems for Manipulation Reliably position the tip - go from one position to another position Don’t hit anything, avoid obstacles Make smooth motions at reasonable speeds and at reasonable accelerations Adjust to changing conditions - i.e. when something is picked up respond to the change in weight
ROBOTS AS MECHANISMs
Robot Kinematics: ROBOTS AS MECHANISM Multiple type robot have multiple DOF. (3 Dimensional, open loop, chain mechanisms) Fig. 2.1 A one-degree-of-freedom closed-loop four-bar mechanism Fig. 2.2 (a) Closed-loop versus (b) open-loop mechanism
Chapter 2 Robot Kinematics: Position Analysis Representation of a Point in Space Chapter 2 Robot Kinematics: Position Analysis A point P in space : 3 coordinates relative to a reference frame Fig. 2.3 Representation of a point in space
Chapter 2 Robot Kinematics: Position Analysis Representation of a Vector in Space Chapter 2 Robot Kinematics: Position Analysis A Vector P in space : 3 coordinates of its tail and of its head Fig. 2.4 Representation of a vector in space
Chapter 2 Robot Kinematics: Position Analysis Representation of a Frame at the Origin of a Fixed-Reference Frame Chapter 2 Robot Kinematics: Position Analysis Each Unit Vector is mutually perpendicular. : normal, orientation, approach vector Fig. 2.5 Representation of a frame at the origin of the reference frame
Chapter 2 Robot Kinematics: Position Analysis Representation of a Frame in a Fixed Reference Frame Chapter 2 Robot Kinematics: Position Analysis Each Unit Vector is mutually perpendicular. : normal, orientation, approach vector The same as last slide Fig. 2.6 Representation of a frame in a frame
Chapter 2 Robot Kinematics: Position Analysis Representation of a Rigid Body Chapter 2 Robot Kinematics: Position Analysis An object can be represented in space by attaching a frame to it and representing the frame in space. Fig. 2.8 Representation of an object in space
Chapter 2 Robot Kinematics: Position Analysis HOMOGENEOUS TRANSFORMATION MATRICES Chapter 2 Robot Kinematics: Position Analysis A transformation matrices must be in square form. It is much easier to calculate the inverse of square matrices. To multiply two matrices, their dimensions must match.
Representation of Transformations of rigid objects in 3D space
Chapter 2 Robot Kinematics: Position Analysis Representation of a Pure Translation Chapter 2 Robot Kinematics: Position Analysis A transformation is defined as making a movement in space. A pure translation. A pure rotation about an axis. A combination of translation or rotations. Same value a identity Fig. 2.9 Representation of an pure translation in space
Chapter 2 Robot Kinematics: Position Analysis Representation of a Pure Rotation about an Axis Chapter 2 Robot Kinematics: Position Analysis x,y,z n, o, a Assumption : The frame is at the origin of the reference frame and parallel to it. Projections as seen from x axis Fig. 2.10 Coordinates of a point in a rotating frame before and after rotation around axis x. Fig. 2.11 Coordinates of a point relative to the reference frame and rotating frame as viewed from the x-axis.
Representation of Combined Transformations A number of successive translations and rotations…. ai T1 Fig. 2.13 Effects of three successive transformations oi ni T2 T3 x,y,z n, o, a Order is important
Order of Transformations is important x,y,z n, o, a translation Order of Transformations is important Fig. 2.14 Changing the order of transformations will change the final result
Chapter 2 Robot Kinematics: Position Analysis Transformations Relative to the Rotating Frame Chapter 2 Robot Kinematics: Position Analysis Example 2.8 translation rotation Fig. 2.15 Transformations relative to the current frames.
MATRICES FOR FORWARD AND INVERSE KINEMATICS OF ROBOTS For position For orientation
Chapter 2 Robot Kinematics: Position Analysis FORWARD AND INVERSE KINEMATICS OF ROBOTS Chapter 2 Robot Kinematics: Position Analysis Forward Kinematics Analysis: • Calculating the position and orientation of the hand of the robot. If all robot joint variables are known, one can calculate where the robot is at any instant. . Fig. 2.17 The hand frame of the robot relative to the reference frame.
Chapter 2 Robot Kinematics: Position Analysis Forward and Inverse Kinematics Equations for Position Chapter 2 Robot Kinematics: Position Analysis Forward Kinematics and Inverse Kinematics equation for position analysis : (a) Cartesian (gantry, rectangular) coordinates. (b) Cylindrical coordinates. (c) Spherical coordinates. (d) Articulated (anthropomorphic, or all-revolute) coordinates.
Chapter 2 Robot Kinematics: Position Analysis Forward and Inverse Kinematics Equations for Position (a) Cartesian (Gantry, Rectangular) Coordinates Chapter 2 Robot Kinematics: Position Analysis IBM 7565 robot • All actuator is linear. • A gantry robot is a Cartesian robot. Fig. 2.18 Cartesian Coordinates.
Chapter 2 Robot Kinematics: Position Analysis Forward and Inverse Kinematics Equations for Position: Cylindrical Coordinates Chapter 2 Robot Kinematics: Position Analysis 2 Linear translations and 1 rotation • translation of r along the x-axis • rotation of about the z-axis • translation of l along the z-axis cosine sine Fig. 2.19 Cylindrical Coordinates.
Chapter 2 Robot Kinematics: Position Analysis Forward and Inverse Kinematics Equations for Position (c) Spherical Coordinates Chapter 2 Robot Kinematics: Position Analysis 2 Linear translations and 1 rotation • translation of r along the z-axis • rotation of about the y-axis • rotation of along the z-axis Fig. 2.20 Spherical Coordinates.
Chapter 2 Robot Kinematics: Position Analysis Forward and Inverse Kinematics Equations for Position (d) Articulated Coordinates Chapter 2 Robot Kinematics: Position Analysis 3 rotations -> Denavit-Hartenberg representation Fig. 2.21 Articulated Coordinates.
Chapter 2 Robot Kinematics: Position Analysis Forward and Inverse Kinematics Equations for Orientation Chapter 2 Robot Kinematics: Position Analysis Roll, Pitch, Yaw (RPY) angles Euler angles Articulated joints
Chapter 2 Robot Kinematics: Position Analysis Forward and Inverse Kinematics Equations for Orientation (a) Roll, Pitch, Yaw(RPY) Angles Chapter 2 Robot Kinematics: Position Analysis Roll: Rotation of about -axis (z-axis of the moving frame) Pitch: Rotation of about -axis (y-axis of the moving frame) Yaw: Rotation of about -axis (x-axis of the moving frame) Fig. 2.22 RPY rotations about the current axes.
Chapter 2 Robot Kinematics: Position Analysis Forward and Inverse Kinematics Equations for Orientation (b) Euler Angles Chapter 2 Robot Kinematics: Position Analysis Rotation of about -axis (z-axis of the moving frame) followed by Rotation of about -axis (y-axis of the moving frame) followed by Rotation of about -axis (z-axis of the moving frame). Fig. 2.24 Euler rotations about the current axes.
Chapter 2 Robot Kinematics: Position Analysis Forward and Inverse Kinematics Equations for Orientation Chapter 2 Robot Kinematics: Position Analysis Roll, Pitch, Yaw(RPY) Angles Assumption : Robot is made of a Cartesian and an RPY set of joints. Assumption : Robot is made of a Spherical Coordinate and an Euler angle. Another Combination can be possible…… Denavit-Hartenberg Representation
Forward and Inverse Transformations for robot arms
INVERSE OF TRANSFORMATION MATRICES Steps of calculation of an Inverse matrix: Calculate the determinant of the matrix. Transpose the matrix. Replace each element of the transposed matrix by its own minor (adjoint matrix). Divide the converted matrix by the determinant. Fig. 2.16 The Universe, robot, hand, part, and end effecter frames.
Identity Transformations
We often need to calculate INVERSE MATRICES It is good to reduce the number of such operations We need to do these calculations fast
How to find an Inverse Matrix B of matrix A?
Inverse Homogeneous Transformation
Homogeneous Coordinates Homogeneous coordinates: embed 3D vectors into 4D by adding a “1” More generally, the transformation matrix T has the form: a11 a12 a13 b1 a21 a22 a23 b2 a31 a32 a33 b3 c1 c2 c3 sf It is presented in more detail on the WWW!
For various types of robots we have different maneuvering spaces
For various types of robots we calculate different forward and inverse transformations
For various types of robots we solve different forward and inverse kinematic problems
Forward and Inverse Kinematics: Single Link Example
Forward and Inverse Kinematics: Single Link Example easy
Denavit – Hartenberg idea
DENAVIT-HARTENBERG REPRESENTATION OF FORWARD KINEMATIC EQUATIONS OF ROBOT Denavit-Hartenberg Representation : @ Simple way of modeling robot links and joints for any robot configuration, regardless of its sequence or complexity. Fig. 2.25 A D-H representation of a general-purpose joint-link combination @ Transformations in any coordinates is possible. @ Any possible combinations of joints and links and all-revolute articulated robots can be represented.
Chapter 2 Robot Kinematics: Position Analysis DENAVIT-HARTENBERG REPRESENTATION Symbol Terminologies : Chapter 2 Robot Kinematics: Position Analysis ⊙ : A rotation angle between two links, about the z-axis (revolute). ⊙ d : The distance (offset) on the z-axis, between links (prismatic). ⊙ a : The length of each common normal (Joint offset). ⊙ : The “twist” angle between two successive z-axes (Joint twist) (revolute) Only and d are joint variables.
associated with Zi always Links are in 3D, any shape
Only rotation Only translation Only offset Only offset Only rotation Axis alignment
DENAVIT-HARTENBERG REPRESENTATION for each link
4 link parameters
Chapter 2 Robot Kinematics: Position Analysis DENAVIT-HARTENBERG REPRESENTATION Symbol Terminologies : Chapter 2 Robot Kinematics: Position Analysis ⊙ : A rotation angle between two links, about the z-axis (revolute). ⊙ d : The distance (offset) on the z-axis, between links (prismatic). ⊙ a : The length of each common normal (Joint offset). ⊙ : The “twist” angle between two successive z-axes (Joint twist) (revolute) Only and d are joint variables.
Denavit-Hartenberg Link Parameter Table The DH Parameter Table Example with three Revolute Joints Z0 X0 Y0 Z1 X2 Y1 Z2 X1 Y2 d2 a0 a1 Denavit-Hartenberg Link Parameter Table Apply first Apply last
Denavit-Hartenberg Representation of Joint-Link-Joint Transformation
Notation for Denavit-Hartenberg Representation of Joint-Link-Joint Transformation Alpha applied first
Four Transformations from one Joint to the Next Order of multiplication of matrices is inverse of order of applying them Here we show order of matrices Joint-Link-Joint
Denavit-Hartenberg Representation of Joint-Link-Joint Transformation Alpha is applied first How to create a single matrix A n
EXAMPLE: Denavit-Hartenberg Representation of Joint-Link-Joint Transformation for Type 1 Link Final matrix from previous slide substitute substitute Numeric or symbolic matrices
Put the transformation here for every link The Denavit-Hartenberg Matrix for another link type Similarity to Homegeneous: Just like the Homogeneous Matrix, the Denavit-Hartenberg Matrix is a transformation matrix from one coordinate frame to the next. Using a series of D-H Matrix multiplications and the D-H Parameter table, the final result is a transformation matrix from some frame to your initial frame. Z(i - 1) X(i -1) Y(i -1) ( i - 1) a(i - 1 ) Z i Y i X i a i d i i Put the transformation here for every link
In DENAVIT-HARTENBERG REPRESENTATION we must be able to find parameters for each link So we must know link types
Links between revolute joints
Type 3 Link Joint n+1 xn Link n ln=0 dn=0 Joint n xn-1
Type 4 Link Origins coincide n-1 Link n n Joint n+1 Joint n xn xn-1 ln=0 dn=0 Part of dn-1 Joint n n xn Origins coincide xn-1 yn-1
Links between prismatic joints
Forward and Inverse Transformations on Matrices
DENAVIT-HARTENBERG REPRESENTATION PROCEDURES Start point: Assign joint number n to the first shown joint. Assign a local reference frame for each and every joint before or after these joints. Y-axis is not used in D-H representation.
DENAVIT-HARTENBERG REPRESENTATION Procedures for assigning a local reference frame to each joint: ٭ All joints are represented by a z-axis. (right-hand rule for rotational joint, linear movement for prismatic joint) The common normal is one line mutually perpendicular to any two skew lines. Parallel z-axes joints make a infinite number of common normal. Intersecting z-axes of two successive joints make no common normal between them(Length is 0.).
Chapter 2 Robot Kinematics: Position Analysis DENAVIT-HARTENBERG REPRESENTATION Symbol Terminologies Reminder: Chapter 2 Robot Kinematics: Position Analysis ⊙ : A rotation about the z-axis. ⊙ d : The distance on the z-axis. ⊙ a : The length of each common normal (Joint offset). ⊙ : The angle between two successive z-axes (Joint twist) Only and d are joint variables.
Chapter 2 Robot Kinematics: Position Analysis DENAVIT-HARTENBERG REPRESENTATION The necessary motions to transform from one reference frame to the next. Chapter 2 Robot Kinematics: Position Analysis (I) Rotate about the zn-axis an able of n+1. (Coplanar) (II) Translate along zn-axis a distance of dn+1 to make xn and xn+1 colinear. (III) Translate along the xn-axis a distance of an+1 to bring the origins of xn+1 together. (IV) Rotate zn-axis about xn+1 axis an angle of n+1 to align zn-axis with zn+1-axis.