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.
|
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.
|