You are on page 1of 27

Introduction To Robotics

Homogeneous Coordinates and Denavit Hartenberg Representation.

Robotics
Dr. Serafim Rodrigues
Monday, 13 February 2012

Forward Kinematics -Arm Configurations/ Workspace


Joint Types Note: We assume all joints have single degree of freedom. We do not loose generality since joints such as a ball joint (2-degree of freedom) and spherical wrist (3-degrees of freedom) can always be thought of as a succession of singledegree-of-freedom joints, with links of zero lengths! Geometry: Most industrial manipulators have six of fewer degrees of freedom. These manipulators are classied kinematically on the basis of the rst three joints of the arm, with the wrist being described separately. The majority of these manipulators fall into one of the ve geometric types: articulate (RRR), spherical(RRP), Scara (RRP), cylindrical (RPP) or cartesian (PPP). Articulated (RRR): Also called revolute manipulator or elbow manipulator. The joint axis z2 is parallel to z1 and both z1 and z2 are perpendicular to z0 .

Motoman SK16:

Elbow Conguration

Elbow Conguration:

Monday, 13 February 2012

Forward Kinematics -Arm Configurations/ Workspace


Spherical Conguration (RRP): This term derives from the fact that the spherical coordinates dening the position of the end-eector with respect to a frame whose origin lies at the intersection of the axes z1 and z2 are the same as the rst three joint variables.

Standford Arm:

Spherical Conguration:

Spherical Workspace:

Monday, 13 February 2012

Forward Kinematics -Arm Configurations/ Workspace


SCARA (Selective Compliant Articulated Robot for Assembly) RRP conguration: Although SCARA has an RRP structure, it is quite dierent from spherical conguration in both appearance and its range of applications. Unlike the spherical design, which has z0 , z1 , z2 mutually perpendicular, the SCARA has z0 , z1 , z2 parallel.

Scara, Epson Robot

Scara Manipulator

Scara Workspace

Monday, 13 February 2012

Forward Kinematics -Arm Configurations/ Workspace -2


Cartesian Conguration (PPP) A manipulator whose rst joints are prismatic is known as a cartesian manipulator. The joint variables are the cartesian coordinates of the end-eector with respect to the base. As might be expected the kinematic description of this manipulator is the simplest of all conguration. Cartesian congurations are useful for table-top assembly applications.

Epson Cartesian Robot

Cartesian Conguration:

Cartesian Workspace:

Monday, 13 February 2012

Forward Kinematics -Arm Configurations/ Workspace -3


Cylindrical Conguration (RPP) The rst joint is revolute and produces a rotation about the base, while the second and third joints are prismatic. As the name suggests, the joint variables are cylindrical coordinates of the end-eector with respect to the base.

Seiko RT3300 Robot

Cylindrical Conguration

Cylindrical Workspace

Monday, 13 February 2012

Wrist, End-Effector, robot components


Wrist and End-Eectors The wrist of a manipulator, refers to the joints in the kinematic chain between the arm and hand. The wrist joints are nearly always revolute. It is increasingly common to design manipulators with spherical wrist, by which we mean wrists whose three joint axes intersect at a common point. The spherical wrist greatly simplies kinematics, allowing to decouple the positioning and orientation of an object to as a great extent as possible. Typically, therefore, a manipulator will possess three positional degrees-of-freedom, which are produced by three or more joints in the arm. The number of orientational degrees-of-freedom will then depend on the degrees-of-freedom of the wrist. Hand or End-Eector A robot is only good as its hand or end-eector! The arm and wrist assemblies are used primarily for positioning the end-eector. It is the end-eector that actually performs the work. The simplest types are grippers (close and open). A great deal of research is still being carried out to design eective end-eectors, such as for prosthetic use etc. Spherical Wrist:

Components of a robotic system

Monday, 13 February 2012

Forward Kinematics - Denavit-Hartenberg convention


qi = i (angle for joint i revolute) qi = di (displacement for joint i prismatic)

Inverse Kinematics = Determine values of the joint variables that achieve a desired position and orientation for the end-eector of the robot.

Forward Kinematics = Determine position and orientation of end-eector, given the values of joint variables qi .

Kinematics in general is concerned with position, velocity acceleration, whereas Dynamics is concerned with forces and torques.

Monday, 13 February 2012

Denavit-Hartenberg convention

When joint i is actuated, link i and its attached frame oxi yi zi experience motion So to perform Kinematics we rigidly attach a coordinate frame oxi yi zi to each link i, which also means that whatever motion the robot executes, the coordinates of each point on link i are constant when expressed in oxi yi zi coordinates
Monday, 13 February 2012

Denavit-Hartenberg convention
Now suppose Hi is the homogenous transformation matrix that expresses the position and orientation of oxi yi zi with respect to oxi1 yi1 zi1 . The matrix Hi is not constant but depends on joint variables qi (i.e. Hi = H(qi ))

A HB

n = (nx , ny , nz )T represents the direction of XB in the reference frame A, s = (sx , sy , sz )T represents the direction of YB and a = (ax , ay , az )t represents the direction of z1 . The vector d = (dx , dy , dz ) represents the vector from the origin of A to the origin of B, expressed with respect to frame A. Then the position and orientation of the end eector in the inertial frame is 0 given by H = Tn = A1 (qi ) An (qn )

Monday, 13 February 2012

Denavit-Hartenberg Transformation

Where, the four characteristic DH parameters are: ai = Link Length, i = Link twist, di = link oset i = joint angle

Monday, 13 February 2012

DH convention, Existence and Uniqueness

Monday, 13 February 2012

DH, Coordinates Frames satisfying dh1 and dh2

Monday, 13 February 2012

DH Assigning Coordinate Frames


For a given robot manipulator, one can always choose the frames 0, ..., n in such a way that DH1 and DH2 constraints are satised. In certain circumstances, this will require placing the origin oi of frame i in a location that may not be intuitively satisfying, but typically this will not be the case. Note that the choices of the various coordinate frames are not unique (even under constraints DH1 and DH2). Thus dierent engineers might derive dierent but equally correct coordinate frames assignments for the links of the robot. However, the 0 end result (i.e. Matrix Tn ) will be the same! First Step: Note zi is arbitrary. In particular, by choosing i and i appropriately, we obtain any arbitrary direction for zi . Thus the rst step, is to assign the axes z0 , ..., zn1 in an intuitively fashion. Specically, assign zi to be the axis of actuation of joint i + 1 (recall convention: joint i is xed with respect to frame i and that when joint i is actuated , link i and its frame oxi yi zi experience motion).

Two cases: 1) If joint i + 1 is revolute, zi is the axis of revolution of joint i + 1 2) If joint i + 1 is prismatic, zi is the axis of translation of joint i + 1.

Monday, 13 February 2012

DH Assigning Coordinate Frames


Step two: Once the the z axes are established for the links, we dene the base frame. The choice if the base frame is arbitrary. We may choose the origin o0 of the base frame to be any point on z0 . We then choose x0 , y0 in any convenient manner so long as the resulting frame is right handed. Right Hand Coordinate System Left and Right Hand Coordinate System

Step Three: Once frame 0 is established, we begin an iterative process in which we dene frame i using frame i 1, beginning with frame 1. In order, to setup frame i it is necessary to consider three cases: Case 1: Axes zi1 , zi are not coplanar Case 2: Axes zi1 , zi intersect (i.e. coplanar) Case 3: Axes zi1 , zi are parallel (i.e coplanar too).
Monday, 13 February 2012

DH Assigning Coordinate Frames - 1


Step Three (case 1): If zi1 , zi are not coplanar, then there exists a unique line segment perpendicular to both zi1 and zi such that it connects both lines and it has minimum length. The line containing this common normal to zi1 and zi denes xi , and the point where this line intersects zi is the origin oi . By Construction, both conditions DH1 and DH2 are satised and the vector from oi1 to oi is a linear combination of both zi1 and xi . The specication of frame i is completed by choosing the axis yi to form the right-handed frame.

Monday, 13 February 2012

DH Assigning Coordinate Frames - 2


Step Three (case 2): If zi1 , zi are parallel, then there are innitely many common normals between them and the condition DH1 does not specify xi completely. In this case we are free to choose the origin oi anywhere along zi . Often we choose oi to simplify the resulting equations. The axis xi is then chosen either to be directed from oi toward zi1 , along the common normal, or as the opposite of this vector. A common method for choosing oi is to choose the normal that passes through oi1 as the xi axis; oi is then the point at which this normal intersects zi . In this case, di would be equal to zero. Once xi is xed, yi is determined, as usual by the right hand rule. Since the zi1 and zi are parallel, i will be zero in this case.

Monday, 13 February 2012

DH Assigning Coordinate Frames - 3


Step Three (case 3): If zi1 , zi intersect, then xi is chosen normal to the plane formed by zi and zi1 . The positive direction of xi is arbitrary. the most natural choice for the origin oi in this case is at the point of intersection of zi and zi1 . However, any convenient point along the zi axes suces. Note that in this case the parameters ai equals 0.

Monday, 13 February 2012

DH Tool Coordinate Frames


Final Considerations: The above constructive procedure works for frames 0, ..., n 1 in an n-link robot. To complete the construction, it is necessary to specify frame n. The nal coordinate system on xn yn zn is commonly referred to as the end-eector or tool-frame. The origin on is most often placed symmetrically between the ngers of the gripper. The unit vectors along the xn , yn and zn axes are labeled as n, s and a respectively. The terminology arises from the fact that the direction a is the approach direction, the sense that the gripper typically approaches an object along the a direction. Similarly, the s direction is the sliding direction, the direction along which the ngers of the gripper slide to open and close, and the n is the direction normal to the plane formed by a and s. Tool Frame Assignment:

Monday, 13 February 2012

DH Final Note
Note 1: In contemporary robots the nal joint motion is a rotation of the endeector by n and the nal two joint axes, zn1 and zn coincide. In this case, the transformation between the nal two coordinate frames is a translation along zn1 by a distance dn followed (or preceded) by a rotation of thetan radians about zn 1. (This is important as it simplies inverse kinematics).

Note 2: In all cases, whether the joint in question is revolute or prismatic, the quantities ai and i are always constant for all i and are characteristic of the manipulator. If joint i is prismatic, then i is also constant, while di is the ith joint variable. Similarly, if joint i is revolute, then di is constant and i is the ith joint variable.

Monday, 13 February 2012

Summary - DH Forward Kinematics

Monday, 13 February 2012

Summary - DH Forward Kinematics

Positive Angles for i and i

Monday, 13 February 2012

Examples - DH Forward Kinematics


Two-link planar arm: The joint axes zo and z1 are normal to the page. o0 x0 y0 z0 is the base frame. The origin, is chosen at the point of intersection of the z0 axis with the page and the direction of the x0 axis is completely arbitrary. o1 x1 y0 z1 frame is xed as DH convention, where the origin o1 has been located at the intersection of z1 and the page. o2 x2 y0 z2 is xed by choosing o2 at the end of link 2.

0 Note: The rst two entries of the last column of T2 are the x and y components of the origin o2 with respect to the base frame. That is: x = a1 c1 + a2 c12 ; y = a1 s1 + a2 s12 are the coordinates of the end-eector in the base frame. The rotational part 0 of T2 gives the orientation of the frame o2 x2 y2 z2 . Notation: c1 = cos(1 ), c12 = cos(1 + 2 ), s1 = sin(1 ) and s12 = sin(1 + 2 ). Trigonometric Identities: sin() = sin cos cos sin and cos() = cos cos sin sin
Monday, 13 February 2012

Examples - DH Forward Kinematics -2


Three Link Cylindrical Robot: A possible solution is the establish o0 as shown at joint 1. Note that the placement of the origin o0 along z0 as well as the direction of the x0 axis are arbitrary. In this case, the solution adopted for o0 is most natural, but o0 could just as well be placed at joint 2. The axis x0 is chosen normal to the page. Next, since z0 and z1 coincide, the origin o1 is chosen at joint 1 as shown. The x1 axis is normal to the page when 1 = 0 but, of course its direction will change since 1 is variable. Since z2 and z1 intersect, the origin o2 is placed at this intersection. The direction of x2 is chosen parallel to x1 so that 2 is zero. Finally, the third frame is chosen at the end of the link 3.

Monday, 13 February 2012

Examples - DH Forward Kinematics -3


Spherical Wrist: A possible solution, the joint axes z3 , z4 , z5 intersect at o.

Note: The nal three joint variables 4 , 5 , 6 are the Euler angles , , respectively, with respect to the coordinate frame o3 x3 y3 z3 . You can see this if 3 3 3 you try to compute T6 = A4 A5 A6 . Comparing the rotational part R6 of T6 with the Euler angle transformation shows that 4 , 5 , 6 can indeed be identied as the Euler angles , , with respect to o3 x3 y3 z3 .

Monday, 13 February 2012

Examples - DH Forward Kinematics -4

Cylindrical Manipulator with Spherical Wrist: Suppose we now attach a spherical wrist to the cylindrical manipulator from previous example. Note that the axis of rotation of joint 4 is parallel to z2 and thus coincide with the axis z3 (of the previous example - cylindrical manipulator). This implies we can combine the two previous example (cylindrical and spherical wrist) to derive 0 0 3 the forward kinematics T6 = T3 T6

where:

Note: Most of the complexity of the forward kinematics for this manipulator results from the orientation of the end-eector while the expression for the arm position from the cylindrical manipulator is fairly simple.
Monday, 13 February 2012

Examples - DH Forward Kinematics -5


Scara Manipulator: This robot has an RRP (rotational-rotational-perismatic) arm and a one degree-of-freedom wrist, whose motion is a roll about the vertical axis. Since all joint axes are parallel we have some freedom in the placement of the origins. The origins are placed as shown for convenience. We establish the x0 in the plane of the page. This is completely arbitrary and only aects the zero conguration of the manipulator, that is the position of the manipulator when 1 = 0

Monday, 13 February 2012

You might also like