By Wei Zhang









June 16, 1997 Uni. of Bridgeport
1. Introduction

The objective of this paper is to find the expressions of a 3-link robot parameters expressed in terms of end-effector's coordinates, it is a kind of design issue of 3-link robot: given a set of points and link's restraints, what the link's parameters should be. With DH convention some work has been done on necessary mathematical reasoning. After that the paper provides a JAVA source code from which is easy to convert to C/C++ to implement this model. Also, an applet was created to demonstrate this model on-line.

2. Homogeneous transformation/DH convention

Typical robots are serial-link manipulators comprising a set of bodies, called links, in the chain, connected by joints. Each joint has one degree of freedom, either translational or rotational. For a manipulator with n joints numbered from 1 to n, there are n+1 links numbered from 0 to n. Link 0 is the base of the manipulator, generally fixed, and link n carries the end-effector . Joint i connects links i and i-1.

A link can be specified by two numbers, the link length and link twist, which define the relative location of the two axes in space. The link parameters for the first and last links are meaningless, but are arbitrarily chosen to be 0. Joints may be described by two parameters. The link offset is the distance from one link to the next along the axis of the joint. The joint angle is the rotation of one link with respect to the next about the joint axis.

To facilitate describing the location of each link we affix a coordinate frame to it - frame i is attached to link i. Denavit and Hartenburg (DH) proposed a matrix method of systematically assigning coordinate systems to each link of an articulated chain. The axis of revolute joint i is aligned with . The axis is directed along the normal from to and for intersecting axes is parallel to . The link and joint parameters may be summarized as:

     link length         the offset distance between the and axes along the axis;
       link twist        the angle from the axis to the axis about axis;
     link offset         the distance from the origin of the frame i-1 to the axis along the axis;
     joint angle         the angle between the and axes about the axis;

For a revolution axis is the joint variable and is constant, while for a prismatic joint is variable, and is constant. The Denavit-Hartenburg (DH) representation results in a 4x4 homogeneous transformation matrix:

representing each link's coordinate frame with respect to the previous link's coordinate system; that is:

where is the homogeneous transformation describing the pose of coordinate frame i with respect to the world coordinate system 0.

3. End-effector's position and link parameters

Generally, the position of end-effector of 3-link manipulator, according to DH convention, can be obtained by the above product of the homogeneous transformation matrices for each link, and the first 3 entries of the fourth column of the result matrix are the coordinates of end-effector in Cartesian space. We can thus get the relationship between these coordinates and robot's link parameters.

For convenient, denote for trigonometric functions. So the end-effector's homogeneous transformation matrix can be expressed as follows:

After computing above multiplication, the general form of coordinates of end-effector represented by the robot's link parameters are:

At this point we can see that the equations are linear in respect to ( and ), and more interestingly it has nothing to do with angle ; in order to get all six parameters we have to add one more point so that the number of simultaneous equations becomes six and the parameters are solvable. That is: It needs only two points for a 3-link robot to get its all six link parameters.

The remaining problem is to solve the equations and to find the expressions for a robot's link parameters ( and ) expressed by points' coordinates and five angles' values: ,.

After analyzing these equations it should be noted that the rank of the matrix formed by adding two points together was less than 6 in most of values of and . This means for these cases that two or three link frame's z-axes are coincident, and there is no way to tell apart if no more restraints related to are provided. In other words, only RANK number of unknowns can be solved simultaneously in these cases if given two points. More important the matrix itself is merely determined by the value of and , so it's critical when choose points to figure out what and should be.

Following are discussions of every case for the value of :

1. ; that is =0, =1, =1, =0, the above equation becomes:

,

the unknowns are: , , , , , for this case the rank of matrix is 5. Link 2 and link 3 frame's z-axes are coincident;

2. ; that is =1, =0, =0, =1, the above equation becomes:

,

the unknowns are: , , , , , for this case the rank of matrix is 5. Link 1 and link 2 frame's z-axes are coincident;

3. ; that is =1, =0, =1, =0, the above equation becomes:

,

the unknowns are: , , , , for this case the rank of matrix is 4. Link 1, link 2 and link 3 frame's z-axes are all coincident;

4. ; that is =0, =1, =0, =1, the above equation becomes:

,

the unknowns are: , , , , , , for this case the rank of matrix is 6 and only for this case all six parameters can be solved;

4. Linear Equations and Cramer's Rule

For the simultaneous linear equations we can solve them by using Cramer's Rule. Assume that there are simultaneous linear equations in the form as follows:

,

Denote and , that is, for the ith column replace (n=1 to n) with , the Cramer's Rule then can be expressed as: , (, assuming the rank of matrix is n). Note that the Cramer's Rule requires the rank of the matrix equal to the number of equations, so for case 1, 2, and 3 the number of solution is less than 6, only for case 4, which rank is 6, has the number of solution of 6.

5. About Program

I wrote a Java program which implements the Cramer's Rule to solve the linear equations and now provides two functions. One of both is to solve the linear equation provided that the points coordinates are known; and the other is to calculate the points' coordinates with the given parameters which is used for testing. Note that the program itself can solve any order of simultaneous linear equations provided that there are enough memory to allocate for. It is not necessarily limited to six orders which is happened to be the case in this paper.

6. Example

  • Robot with Articulated Configuration(RRR)
  • The joint variables for this kind configuration are shown in the following DH table:

Link

1

0

0

90

*

2

0

0

*

3

0

0

*

Given: =0, =1, =1, =0, =0, =0 and suppose: , then, according to DH convention, the end-effector's coordinates can be written as:

,

choose and , we can get:

, and ,

Take these numbers back into the program, the solutions are: =0, =1, =1, +=0, =0. Because in this case the rank of matrix is 5, so for further detailed solution it needs more information about and , say =0, so =0.

7. Conclusion

As we have seen from above description and mathematical reasoning , the design issue of robot is generally getting more complicated with the increase of link's number and becomes a pure mathematics issue. Although only articulated robot was mentioned in the paper as an example, it is not meant that the method discussed here only apply to that specific case. Instead it's a generic approach to any 3-link configuration robot.


I'm grateful to Prof. T. Sobh, my advisor, for his guide and patience.


June 16, 1997 Uni. of Bridgeport