1/26 Kinematic Modelling in Robotics dr Dragan Kostić WTB Dynamics and Control October 22th, 2010 5HC99 lecture 1 2/26 Outline • Representing rotations and rotational transformations • Parameterization of rotations • Rigid motions and homogenous transformations • DH convention for modeling of robot kinematics • Forward kinematics • Case-study: kinematics of RRR-arm 5HC99 lecture 1 3/26 Representing rotations in coordinate frame 0 • Rotation matrix • xi and yi are the unit vectors in oixiyi 5HC99 lecture 1 4/26 Representing rotations in coordinate frame 1 5HC99 lecture 1 5/26 Representing rotations in 3D (1/4) Each axis of the frame o1x1y1z1 is projected onto o0x0y0z0: R10 SO(3) 5HC99 lecture 1 6/26 Representing rotations in 3D (2/4) Example: Frame o1x1y1z1 is obtained from frame o0x0y0z0 by rotation through an angle about z0 axis. all other dot products are zero 5HC99 lecture 1 7/26 Representing rotations in 3D Basic rotation matrix about z-axis 5HC99 lecture 1 (3/4) 8/26 Representing rotations in 3D (4/4) Similarly, basic rotation matrices about x- and y-axes: 5HC99 lecture 1 9/26 Rotational transformations pi: coordinates of p in oixiyizi 5HC99 lecture 1 10/26 Parameterization of rotations (1/2) Euler angles ZYZEuler angle transformation: 5HC99 lecture 1 11/26 Parameterization of rotations (2/2) Roll, pitch, yaw angles XYZyaw-pitch-roll angle transformation: 5HC99 lecture 1 12/26 Rigid motions 5HC99 lecture 1 13/26 Homogenous transformations (1/2) • We have • Note that • Consequently, rigid motion (d, R) can be described by matrix representing homogenous transformation: 5HC99 lecture 1 14/26 Homogenous transformations (2/2) • Since R is orthogonal, we have • We augment vectors p0 and p1 to get their homogenous representations and achieve matrix representation of coordinate transformation 5HC99 lecture 1 15/26 Basic homogenous transformations 5HC99 lecture 1 16/26 Conventions (1/2) 1. there are n joints and hence n + 1 links; joints 1, 2, , n; links 0, 1, , n, 2. joint i connects link i − 1 to link i, 3. actuation of joint i causes link i to move, 4. link 0 (the base) is fixed and does not move, 5. each joint has a single degree-of-freedom (dof): 5HC99 lecture 1 17/26 Conventions (2/2) 6. frame oixiyizi is attached to link i; regardless of motion of the robot, coordinates of each point on link i are constant when expressed in frame oixiyizi, 7. when joint i is actuated, link i and its attached frame oixiyizi experience resulting motion. 5HC99 lecture 1 18/26 DH convention for homogenous transformations Position and orientation of coordinate frame i with respect to frame i-1 is specified by homogenous transformation matrix: xn q0 z0 qi+1 zn qi ‘0’ ‘n’ yn y0 i zi a i x0 x i di where 5HC99 lecture 1 zi-1 qi xi-1 19/26 Physical meaning of DH parameters • Link length ai is distance from zi-1 to zi measured along xi. z 0 • Link twist i is angle between zi-1 and zi measured in plane normal ‘0’ y0 x0 to xi (right-hand rule). • Link offset di is distance from origin of frame i-1 to the intersection xi with zi-1, measured along zi-1. • Joint angle i is angle from xi-1 to xi measured in plane normal to zi-1 (right-hand rule). 5HC99 lecture 1 xn q0 qi+1 qi i ai di zi-1 qi xi-1 zi xi zn ‘n’ yn 20/26 DH convention to assign coordinate frames 1. Assign zi to be the axis of actuation for joint i+1 (unless otherwise stated zn coincides with zn-1). 2. Choose x0 and y0 so that the base frame is right-handed. 3. Iterative procedure for choosing oixiyizi depending on oi-1xi-1yi-1zi-1 (i=1, 2, , n-1): a) zi−1 and zi are not coplanar; there is an unique shortest line segment from zi−1 to zi, perpendicular to both; this line segment defines xi and the point where the line intersects zi is the origin oi; choose yi to form a right-handed frame, b) zi−1 is parallel to zi; there are infinitely many common normals; choose xi as the normal passes through oi−1; choose oi as the point at which this normal intersects zi; choose yi to form a right-handed frame, c) zi−1 intersects zi; axis xi is chosen normal to the plane formed by zi and zi−1; it’s positive direction is arbitrary; the most natural choice of oi is the intersection of zi and zi−1, however, any point along the zi suffices; choose yi to form a right-handed frame. 5HC99 lecture 1 21/26 Forward kinematics (1/2) Homogenous transformation matrix relating the frame oixiyizi to oi-1xi-1yi-1zi-1: Ai specifies position and orientation of oixiyizi w.r.t. oi-1xi-1yi-1zi-1. Homogenous transformation matrix Tji expresses position and orientation of ojxjyjzj with respect to oixiyizi: i j T Ai 1 Ai 2 A j 1 A j 5HC99 lecture 1 22/26 Forward kinematics (2/2) Forward kinematics of a serial manipulator with n joints can be represented by homogenous transformation matrix Hn0 which defines position and orientation of the end-effector’s (tip) frame onxnynzn relative to the base coordinate frame o0x0y0z0: H n ( q ) T n ( q ) A1 ( q1 ) An ( q n ), 0 0 0 R (q ) 0 n H n (q ) 0 1 3 5HC99 lecture 1 0 1 3 0 0 q q 1 0 ; xn (q ) 1 0 qn T 23/26 Case-study: RRR robot manipulator d3 y3 x2 y1 d1 z0 elb o w q2 sh o u ld er y0 q1 w aist 5HC99 lecture 1 -q 3 x1 1 x0 z3 y2 d2 z1 x3 a3 z2 a2 1 - tw ist an gle a i - link len g h ts d i - link offsets q i - disp lacem en ts 24/26 DH parameters of RRR robot manipulator 5HC99 lecture 1 25/26 Forward kinematics of RRR robot manipulator (1/2) Coordinate frame o3x3y3z3 is related with the base frame o0x0y0z0 via homogenous transformation matrix: T 3 (q) A 1 (q)A 0 2 (q)A 3 (q) R 03 (q) 0 1 3 0 x 3 (q) 1 where 0 x 3 (q ) [ x T q [ q1 q 2 q 3 ] 01 3 [ 0 5HC99 lecture 1 0 0] y T z] 26/26 Forward kinematics of RRR robot manipulator (2/2) Position of end-effector: x cos q1 a 3 cos( q 2 q 3 ) a 2 cos q 2 ( d 2 d 3 )sin q1 , y sin q1 a 3 cos( q 2 q 3 ) a 2 cos q 2 ( d 2 d 3 )cos q1 , z a 3 sin( q 2 q 3 ) a 2 sin q 2 d 1 Orientation of end-effector: cos q1cos( q 2 q 3 ) 0 R 3 sin q1cos( q 2 q 3 ) sin( q 2 q 3 ) 5HC99 lecture 1 cos q1sin( q 2 q 3 ) sin q1sin( q 2 q 3 ) cos( q 2 q 3 ) sin q1 cos q1 0