27
Introduction To Robotics Homogeneous Coordinates and Denavit Hartenberg Representation. Dr. Serafim Rodrigues Robotics Monday, 13 February 2012

Roco207 208 DH Kinematics

Embed Size (px)

Citation preview

Page 1: Roco207 208 DH Kinematics

Introduction To RoboticsHomogeneous Coordinates and Denavit Hartenberg

Representation.

Dr. Serafim Rodrigues

Robotics

Monday, 13 February 2012

Page 2: Roco207 208 DH Kinematics

Forward Kinematics -Arm Configurations/Workspace

Note: We assume all joints have single degree of freedom. We do not loosegenerality since joints such as a ball joint (2-degree of freedom) and sphericalwrist (3-degrees of freedom) can always be thought of as a succession of single-degree-of-freedom joints, with links of zero lengths!

Joint Types

Elbow Configuration Elbow Configuration:

Geometry: Most industrial manipulators have six of fewer degrees of freedom.These manipulators are classified kinematically on the basis of the first threejoints of the arm, with the wrist being described separately. The majority ofthese manipulators fall into one of the five 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:

Monday, 13 February 2012

Page 3: Roco207 208 DH Kinematics

Forward Kinematics -Arm Configurations/Workspace

Spherical Configuration: Spherical Workspace:

Spherical Configuration (RRP): This term derives from the fact that thespherical coordinates defining the position of the end-e!ector with respect to aframe whose origin lies at the intersection of the axes z1 and z2 are the same asthe first three joint variables.

Standford Arm:

Monday, 13 February 2012

Page 4: Roco207 208 DH Kinematics

Forward Kinematics -Arm Configurations/Workspace

Scara Manipulator Scara WorkspaceScara, Epson Robot

SCARA (Selective Compliant Articulated Robot for Assembly) -RRP configuration: Although SCARA has an RRP structure, it is quitedi!erent from spherical configuration in both appearance and its range of ap-plications. Unlike the spherical design, which has z0, z1, z2 mutually perpen-dicular, the SCARA has z0, z1, z2 parallel.

Monday, 13 February 2012

Page 5: Roco207 208 DH Kinematics

Forward Kinematics -Arm Configurations/Workspace -2

Cartesian Workspace:Cartesian Configuration:Epson Cartesian Robot

Cartesian Configuration (PPP) A manipulator whose first joints are pris-matic is known as a cartesian manipulator. The joint variables are the cartesiancoordinates of the end-e!ector with respect to the base. As might be expectedthe kinematic description of this manipulator is the simplest of all configuration.Cartesian configurations are useful for table-top assembly applications.

Monday, 13 February 2012

Page 6: Roco207 208 DH Kinematics

Forward Kinematics -Arm Configurations/Workspace -3

Cylindrical Configuration (RPP) The first joint is revolute and produces arotation about the base, while the second and third joints are prismatic. As thename suggests, the joint variables are cylindrical coordinates of the end-e!ectorwith respect to the base.

Seiko RT3300 Robot Cylindrical WorkspaceCylindrical Configuration

Monday, 13 February 2012

Page 7: Roco207 208 DH Kinematics

Wrist, End-Effector, robot componentsSpherical Wrist:Wrist and End-E!ectors The wrist of a manipulator, refers to the joints in

the kinematic chain between the arm and hand. The wrist joints are nearly al-ways revolute. It is increasingly common to design manipulators with sphericalwrist, by which we mean wrists whose three joint axes intersect at a commonpoint. The spherical wrist greatly simplifies kinematics, allowing to decouple thepositioning and orientation of an object to as a great extent as possible. Typi-cally, therefore, a manipulator will possess three positional degrees-of-freedom,which are produced by three or more joints in the arm. The number of orien-tational degrees-of-freedom will then depend on the degrees-of-freedom of thewrist.

Hand or End-E!ector A robot is only good as its hand or end-e!ector! Thearm and wrist assemblies are used primarily for positioning the end-e!ector.It is the end-e!ector that actually performs the work. The simplest types aregrippers (close and open). A great deal of research is still being carried out todesign e!ective end-e!ectors, such as for prosthetic use etc.

Components of a robotic system

Monday, 13 February 2012

Page 8: Roco207 208 DH Kinematics

Forward Kinematics - Denavit-Hartenberg convention

Forward Kinematics = Determine position and orientationof end-e!ector, given the values of joint variables qi.

Inverse Kinematics = Determine values of thejoint variables that achieve a desired positionand orientation for the end-e!ector of the robot.

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

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

Monday, 13 February 2012

Page 9: Roco207 208 DH Kinematics

Denavit-Hartenberg convention

When joint i is actuated, link i and its attached frame oxiyizi experience motion

So to perform Kinematics we rigidly attach a coordinate frame oxiyizi to eachlink i, which also means that whatever motion the robot executes, the coordi-nates of each point on link i are constant when expressed in oxiyizi coordinates

Monday, 13 February 2012

Page 10: Roco207 208 DH Kinematics

Denavit-Hartenberg conventionNow suppose Hi is the homogenous transformation matrix that expresses theposition and orientation of oxiyizi with respect to oxi!1yi!1zi!1. The matrixHi is not constant but depends on joint variables qi (i.e. Hi = H(qi))

HAB

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 representsthe direction of z1. The vector d = (dx, dy, dz) represents the vector from theorigin of A to the origin of B, expressed with respect to frame A.

Then the position and orientation of the end e!ector in the inertial frame isgiven by H = T 0

n = A1(qi) · · · An(qn)Monday, 13 February 2012

Page 11: Roco207 208 DH Kinematics

Denavit-Hartenberg Transformation

Where, the four characteristic DH parameters are:ai = Link Length,!i = Link twist,di = link o!set"i = joint angle

Monday, 13 February 2012

Page 12: Roco207 208 DH Kinematics

DH convention, Existence and Uniqueness

Monday, 13 February 2012

Page 13: Roco207 208 DH Kinematics

DH, Coordinates Frames satisfying dh1 and dh2

Monday, 13 February 2012

Page 14: Roco207 208 DH Kinematics

DH Assigning Coordinate Frames

• First Step: Note zi is arbitrary. In particular, by choosing !i and "i ap-propriately, we obtain any arbitrary direction for zi. Thus the first step, is toassign the axes z0, ..., zn!1 in an intuitively fashion. Specifically, assign zi tobe the axis of actuation of joint i + 1 (recall convention: joint i is fixed withrespect to frame i and that when joint i is actuated , link i and its frame oxiyizi

experience motion).

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

• For a given robot manipulator, one can always choose the frames 0, ..., n in sucha way that DH1 and DH2 constraints are satisfied. In certain circumstances,this will require placing the origin oi of frame i in a location that may notbe intuitively satisfying, but typically this will not be the case. Note that thechoices of the various coordinate frames are not unique (even under constraintsDH1 and DH2). Thus di!erent engineers might derive di!erent but equallycorrect coordinate frames assignments for the links of the robot. However, theend result (i.e. Matrix T 0

n) will be the same!

Monday, 13 February 2012

Page 15: Roco207 208 DH Kinematics

DH Assigning Coordinate FramesStep two: Once the the z ! axes are established for the links, we define thebase frame. The choice if the base frame is arbitrary. We may choose the origino0 of the base frame to be any point on z0. We then choose x0, y0 in anyconvenient 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 inwhich we define frame i using frame i! 1, beginning with frame 1. In order, tosetup frame i it is necessary to consider three cases:Case 1: Axes zi!1, zi are not coplanarCase 2: Axes zi!1, zi intersect (i.e. coplanar)Case 3: Axes zi!1, zi are parallel (i.e coplanar too).

Monday, 13 February 2012

Page 16: Roco207 208 DH Kinematics

DH Assigning Coordinate Frames - 1Step Three (case 1): If zi!1, zi are not coplanar, then there exists a uniqueline segment perpendicular to both zi!1 and zi such that it connects both linesand it has minimum length. The line containing this common normal to zi!1

and zi defines xi, and the point where this line intersects zi is the origin oi. ByConstruction, both conditions DH1 and DH2 are satisfied and the vector fromoi!1 to oi is a linear combination of both zi!1 and xi. The specification of framei is completed by choosing the axis yi to form the right-handed frame.

Monday, 13 February 2012

Page 17: Roco207 208 DH Kinematics

DH Assigning Coordinate Frames - 2Step Three (case 2): If zi!1, zi are parallel, then there are infinitely manycommon normals between them and the condition DH1 does not specify xi

completely. In this case we are free to choose the origin oi anywhere alongzi. Often we choose oi to simplify the resulting equations. The axis xi is thenchosen either to be directed from oi toward zi!1, along the common normal, oras the opposite of this vector. A common method for choosing oi is to choosethe normal that passes through oi!1 as the xi axis; oi is then the point at whichthis normal intersects zi. In this case, di would be equal to zero. Once xi isfixed, yi is determined, as usual by the right hand rule. Since the zi!1 and zi

are parallel, !i will be zero in this case.

Monday, 13 February 2012

Page 18: Roco207 208 DH Kinematics

DH Assigning Coordinate Frames - 3Step Three (case 3): If zi!1, zi intersect, then xi is chosen normal to theplane formed by zi and zi!1. The positive direction of xi is arbitrary. the mostnatural choice for the origin oi in this case is at the point of intersection of zi

and zi!1. However, any convenient point along the zi axes su!ces. Note thatin this case the parameters ai equals 0.

Monday, 13 February 2012

Page 19: Roco207 208 DH Kinematics

DH Tool Coordinate FramesFinal Considerations: The above constructive procedure works for frames0, ..., n ! 1 in an n-link robot. To complete the construction, it is necessary tospecify frame n. The final coordinate system onxnynzn is commonly referredto as the end-e!ector or tool-frame. The origin on is most often placedsymmetrically between the fingers of the gripper. The unit vectors along thexn, yn and zn axes are labeled as n, s and a respectively. The terminologyarises from the fact that the direction a is the approach direction, the sensethat the gripper typically approaches an object along the a direction. Similarly,the s direction is the sliding direction, the direction along which the fingers ofthe gripper slide to open and close, and the n is the direction normal to theplane formed by a and s.

Tool Frame Assignment:

Monday, 13 February 2012

Page 20: Roco207 208 DH Kinematics

DH Final NoteNote 1: In contemporary robots the final joint motion is a rotation of the end-e!ector by !n and the final two joint axes, zn!1 and zn coincide. In this case, thetransformation between the final two coordinate frames is a translation alongzn!1 by a distance dn followed (or preceded) by a rotation of thetan radiansabout zn ! 1. (This is important as it simplifies inverse kinematics).

Note 2: In all cases, whether the joint in question is revolute or prismatic, thequantities ai and !i are always constant for all i and are characteristic of themanipulator. 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 theith joint variable.

Monday, 13 February 2012

Page 21: Roco207 208 DH Kinematics

Summary - DH Forward Kinematics

Monday, 13 February 2012

Page 22: Roco207 208 DH Kinematics

Summary - DH Forward Kinematics

Positive Angles for !i and "i

Monday, 13 February 2012

Page 23: Roco207 208 DH Kinematics

Examples - DH Forward Kinematics

Two-link planar arm: The joint axes zo and z1 are normal to the page.o0x0y0z0 is the base frame. The origin, is chosen at the point of intersection ofthe z0 axis with the page and the direction of the x0 axis is completely arbitrary.o1x1y0z1 frame is fixed as DH convention, where the origin o1 has been locatedat the intersection of z1 and the page. o2x2y0z2 is fixed by choosing o2 at theend of link 2.

Note: The first two entries of the last column of T 02 are the x and y components

of the origin o2 with respect to the base frame. That is: x = a1c1 + a2c12; y = a1s1 + a2s12

are the coordinates of the end-e!ector in the base frame. The rotational partof T 0

2 gives the orientation of the frame o2x2y2z2. Notation: c1 = cos(!1),c12 = cos(!1 + !2), s1 = sin(!1) and s12 = sin(!1 + !2). Trigonometric Identi-ties: sin("±#) = sin" cos #±cos " sin # and cos("±#) = cos" cos #!sin " sin#

Monday, 13 February 2012

Page 24: Roco207 208 DH Kinematics

Examples - DH Forward Kinematics -2

Three Link Cylindrical Robot: A possible solution is the establish o0 asshown at joint 1. Note that the placement of the origin o0 along z0 as well asthe direction of the x0 axis are arbitrary. In this case, the solution adopted foro0 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 ischosen 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 parallelto x1 so that !2 is zero. Finally, the third frame is chosen at the end of the link3.

Monday, 13 February 2012

Page 25: Roco207 208 DH Kinematics

Examples - DH Forward Kinematics -3Spherical Wrist: A possible solution, the joint axes z3, z4, z5 intersect at o.

Note: The final three joint variables !4, !5, !6 are the Euler angles ", !, #respectively, with respect to the coordinate frame o3x3y3z3. You can see this ifyou try to compute T 3

6 = A4A5A6. Comparing the rotational part R36 of T 3

6 withthe Euler angle transformation shows that !4, !5, !6 can indeed be identified asthe Euler angles ", !, # with respect to o3x3y3z3.

Monday, 13 February 2012

Page 26: Roco207 208 DH Kinematics

Examples - DH Forward Kinematics -4

Cylindrical Manipulator with Spherical Wrist: Suppose we now attacha spherical wrist to the cylindrical manipulator from previous example. Notethat the axis of rotation of joint 4 is parallel to z2 and thus coincide with theaxis z3 (of the previous example - cylindrical manipulator). This implies we cancombine the two previous example (cylindrical and spherical wrist) to derivethe forward kinematics T 0

6 = T 03 T 3

6

where:

Note: Most of the complexity of the forward kinematics for this manipulatorresults from the orientation of the end-e!ector while the expression for the armposition from the cylindrical manipulator is fairly simple.

Monday, 13 February 2012

Page 27: Roco207 208 DH Kinematics

Examples - DH Forward Kinematics -5Scara Manipulator: This robot has an RRP (rotational-rotational-perismatic)arm and a one degree-of-freedom wrist, whose motion is a roll about the verticalaxis. Since all joint axes are parallel we have some freedom in the placement ofthe origins. The origins are placed as shown for convenience. We establish thex0 in the plane of the page. This is completely arbitrary and only a!ects thezero configuration of the manipulator, that is the position of the manipulatorwhen !1 = 0

Monday, 13 February 2012