Kinematics of Robots
Total Page:16
File Type:pdf, Size:1020Kb
Kinematics of Robots Alba Perez Gracia c Draft date September 9, 2011 24 Chapter 2 Robot Kinematics Using Matrix Algebra 2.1 Overview In Chapter 1 we characterized the motion using vector and matrix algebra. In this chapter we introduce the application of 4 × 4 homogeneous transforms in traditional robot analysis, where the motion of a robot is described as a 4 × 4 homogoeneous matrix representing the position of the end-effector. This matrix is constructed as the composition of a series of local displacements along the chain. In this chapter we will learn how to calculate the forward and inverse kinematics of serial robots by using the Denavit-Hartenberg parameters to create the 4 × 4 homogeneous matrices. 2.2 Robot Kinematics From a kinematics point of view, a robot can be defined as a mechanical system that can be programmed to perform a number of tasks involving movement under automatic control. The main characteristic of a robot is its capability of movement in a six-dimensional space that includes translational and rotational coordinates. We model any mechanical system, including robots, as a series of rigid links connected by joints. The joints restrict the relative movement of adjacent links, and are generally powered and equipped with systems to sense this movement. 25 26 CHAPTER 2. ROBOT KINEMATICS USING MATRIX ALGEBRA The degrees of freedom of the robot, also called mobility, are defined as the number of independent parameters needed to specify the positions of all members of the system relative to a base frame. The most commonly used criteria to find the mobility of mechanisms is the Kutzbach-Gruebler formula. For a robot with n links (counting the base) and j joints, in which each joint i allows fi degrees of freedom, we compute the mobility as j X M = 6(n − 1) − (6 − fi): (2.1) i=1 It is important to remark that this formula does not give the correct answer for several types of closed, or parallel, robots. For a serial robot, the degrees of freedom are equal to the number of joints multiplied by the mobility allowed by each joint. The mobility indicates how many of the joints of the robot need to be actuated, also called active joints. In a serial robot, all joints are active. Once the mobility is defined and the active joints are identified, the two main problems of kinematic analysis of robots are the direct kinematics and the inverse kinematics. In the direct kinematics, also called forward kinematics, we define the position of the end-effector as a matrix which is a function of the angles or slides at each joint. If the joint variables are known, the position of the end-effector is completely specified. The inverse kinematics problem consists of finding the joint angles to reach a given position. For serial robots, the inverse kinematics problem is harder than the forward kinematics, while it is the opposite for parallel robots. The solutions of the direct kinematics define the workspace of the robot. This can be defined as the set of all possible positions of the end-effector, constructed using all possible values of the joint variables within their range. Remember that position means location plus orientation; the workspace of the robot is a six-dimensional subset of the six-dimensional space of rotations and translations. Because of the difficulty in visualizing the workspace, several subspaces have been defined [13]. • Reachable workspace (WR): Set of all locations of the origin of the end-effector frame that the robot can reach. It is a three-dimensional subset of the workspace. • Dextrous workspace (WD): Set of all locations of the origin of the end-effector frame that the robot can reach with any orientation. It is useful because the robot has full dexterity in this subspace, which ensures that any task can be performed within it. • Workspace with constant orientation (Wθ): Set of all locations of the origin of the end-effector frame that the robot can reach with a specified orientation for the end-effector. 2.3. BASIC JOINTS 27 Notice that [ \ Wθ = WR ; Wθ = WD (2.2) θ2range θ2range Figure 2.1 shows the typical sketch of the reachable workspace for a commercial robot. Figure 2.1: Reachable workspace, Adept Viper m650 robot (Adept Technologies, Inc.) 2.3 Basic joints Releaux [19] identified six basic types of joints that continuously share a surface of contact, that he called lower pairs. His classification is still used today in most robotics and mechanisms books. He defined revolute (R), cylindric (C), prismatic (P), spherical (S), helical (H) and plane (E) joints. In our research, we only consider the basic types of revolute and prismatic joints; any of the others can be obtained by combining the two basic types with certain additional constraints. In addition to these, we refer to the universal joint (T), which can be modeled as two revolute joints at right angles. See Figure 2.2. The revolute joint is a one-degree-of-freedom joint that allows a rotation of angle θ about an arbitrary located joint axis G = g + g0. The prismatic joint is also a one-degree-of-freedom joint, which allows translation along the direction h of the axis H. It is interesting to notice that the location of the prismatic axis does not matter for the movement of the prismatic joint. The cylindric joint is a general screw motion, in which the rotation about and the translation along the screw axis S are nonzero and independent. It can be constructed as the composition of a revolute joint 28 CHAPTER 2. ROBOT KINEMATICS USING MATRIX ALGEBRA Figure 2.2: Common types of joints and a prismatic joint with same direction. In a similar fashion, the universal (T) joint and the spherical (S) joint can be constructed from individual rotations. 2.4 Forward Kinematics Equations Following the traditional matrix kinematics equations, we will represent local transformations from joint to joint using 4 × 4 homogeneous matrices. The composition of these displacements will give as a result the displacement from the base to the end-effector. Angles will be measured usually taking the "extended" position as the origin. However, this is an arbitrary choice and any reference configuration can be used as the zero for the joint variables. In order to create the local transformations along the chain, we identify the lines locating the joint axes, Si, and we compute the common normal lines Ai;i+1 between joint Si and joint Si+1. We consider that the link joining two consecutive joints extends along the common normal line, regardless of its real shape. We assign local coordinate frames with the Z axis along the joint axis and the X axis along the com- mon normal line. Local displacements will take us from local coordinate frame to local coordinate frame, from the base to the end-effector, see Figure 2.3. 2.4.1 Denavit-Hartenberg parameters In 1955, Denavit and Hartenberg introduced the methodology of 4 × 4 homogeneous matrix trans- formations to analyze robotic systems, which became a standard tool in robotics. They shaped the local transformations along the chain as screw displacements about the Z and X axes, de- pendent on only four parameters. With the pass of the years, slightly different versions of the Denavit-Hartenberg parameters have been developed. Our notation is similar to Craig [11]. 2.4. FORWARD KINEMATICS EQUATIONS 29 Figure 2.3: Local transformations along the links of a robot. We locate the first local frame with the Z axis along the first joint axis S1 and the X axis along the common normal A12; the origin of the frame is located at the intersection of these two lines. Assume that a general displacement [G] locates this first local frame with respect to the fixed frame, as shown in Figure 2.3. The second local frame has the same X axis but now the Z axis is aligned with S2, with its origin at the intersection point of these two lines, while the third local frame has same Z axis as the second and the line A23 as its X axis. From the local frame attached to the last joint axis to the moving frame attached to the gripper we define a general displacement [H]. Only four parameters are needed to transform from local frame to local frame: two correspond to the transformation along the link, which is an X-screw displacement, and two more to perform a Z-screw displacement about the joint. These parameters are: • Twist angle αi−1;i: Angle between joint axes Si−1 and Si measured about the common normal line Ai−1;i. • Link length ai−1;i: Distance between joint axes Si−1 and Si measured along the common normal line Ai−1;i. • Joint angle θi: Angle between previous common normal line Ai−1;i and next common normal line Ai;i+1, measured about joint axes Si. Notice that if joint Si is a revolute joint, the joint angle will include the variable value of the joint rotation. 30 CHAPTER 2. ROBOT KINEMATICS USING MATRIX ALGEBRA Joint αi−1;i ai−1;i di θi 1 0 0 d1 θ1 2 α12 a12 d2 θ2 3 α23 a23 d3 θ3 Table 2.1: Denavit-Hartenberg parameters. • Offset di: Distance between previous common normal line Ai−1;i and next common normal line Ai;i+1, measured along joint axes Si. Notice that if joint Si is a prismatic joint, the offset will include the variable value of the slide. The Denavit-Hartenberg parameters describe in a simple way the geometry of the robot.