Beruflich Dokumente
Kultur Dokumente
Chapter 3 and 4
Manipulator Kinematics
- DOF (degree of freedom)
= 6( 1) (6 )
Where:
n: number of rigid bodies (including ground)
m: number of joints
: number of dof at jth joint
= 3( 1) (3 )
- Joint type
FIGURE 3.1 The six possible lower pair joints
FIG. 16. Two-DOF knuckles with perpendicular axes (a-c, left to right):
glimbal-based knuckle; exterior frame knuckle (based on universal joint);
interior cross knuckle (based on universal joint)
- Example for mobility of system
= 3( 1) (3 )
N=4 including ground
M=3
, , =1
M=3(4 1) 3 x 2 = 3dof
On the plane
= 6( 1) (6 )
= 6(7 1) 6 x 5 = 6dof
In space
n=4
m=4
=1
M = 3(4 1) 4 x 2 = 1dof
On the plane
n=?
m=?
M=?
M=?
: Danavit-Hartenburg
parameter
Affixing frames to links
Fig 3.5 Link frames are attached so that frame {i} is attached rigidly to link i.
1. Identify the joint axes and imagine (or draw) infinite lines along them.
For steps 2 through 5 below, consider two of these neighboring lines
(at axes and + 1 ).
2. Identify the common perpendicular between them, or point of
intersection. At the point of intersection, or at the point where the
common perpendicular meets the ith axis, assign the link frame origin.
3. Assign the axis pointing along the ith joint axis.
4. Assign the axis pointing along the common perpendicular, or of the
axes intersect, assign to be normal to the plane containing the two
axes.
5. Assign the axis to complete a right-hand coordinate system.
6. Assign {0} to match {1} when the first joint variable is zero. For {N}
choose an origin location and direction freely, but generally so as
to cause as many linkage parameters as possible to become zero.
Example 1)
Fig. 3.6 A three-link planar arm. On the right we show the same
manipulator by means of a simple schematic notation. Hash marks on the
axes indicate that they are mutually parallel.
Ex 2)
Fig 3.9 manipulator having three degrees of freedom and one prismatic
joint.
Fig 3.10 Link frame assignments.
Fig 3.11 Link parameters for the RPR manipulator of Example 3.4.
Ex 3) Demonstration of non-uniqueness of frame assignments
= , (3.1)
Or
= , (3.2)
where
= . (3.3)
Considering each of these transformations, we see that (3.3) may be
written:
= ( ) ( ) ( ) ( ), (3.4)
or
= ( , ) ( , ), (3.5)
Where the notation ( , ) stands for a translation along an axis
by a distance , and a rotation about the same axis by an angle .
Multiplying out (3.4) we obtain the general form of :
0
= . (3.6)
0 0 0 1
Pauls way for link frame attachment
Link transformation
= ( , ) (0,0, ) ( , 0,0) ( , )
0 0 1 0 0 1 0 0 0
0 0 0 1 0 0 0 0
=
0 0 1 0 0 0 1 0 0
0 0 0 1 0 0 0 1 0 0 0 1
=
0
0 0 0 1
Example 1
Denavit-hanrtenburg parameter
3.11)
z6
z5
z4
y6 y4
y5
a d
. . . 4
- 0 0 5
0 0 6
3.12) No, need ? parameters
3.15)
Z3
Y3 Z4
Z1 d3 X4
X1
Z5
X5
Z2
Y2
Space:
Actuator space Joint space Cartesian space
Task Oriented space
Operational Space
i i-1 ai-1 di i
1 0 0 0 1
2 -900 0 0 2
3 0 a2 d3 3
4 -900 a3 d4 4
5 900 0 0 5
6 -900 0 0 6
0 0
0 0
=
0 0 1 0
0 0 0 1
0 0
0 0 1 0
=
0 0
0 0 0 1
0
0 0
=
0 0 1
0 0 0 1
0
0 0 1
=
0 0
0 0 0 1
0 0
0 0 1 0
=
0 0
0 0 0 1
0 0
0 0 1 0
=
0 0
0 0 0 1
0
0 0
= =
0
0 0 0 1
Where c5 is the shorthand for cos(5), s5 for sin(5) and so on. Then we
have
= =
0
0 0 0 1
0
0 0 1
= =
0
0 0 0 1
Where we have used the sum of angles formulas(from appendix A)
=
= +
Then we have
= =
0 0 0 1
= [ ] ,
= ,
= [ ] ,
= [ + ]+ ,
= ,
= [ + ]+ ,
= ,
= ,
= ,
= + ,
= ,
= ,
= ( + ) ,
= ( + )+ ,
= ,
= [ + ] ,
= [ + ]+ ,
= ,
Frames with standard names
=
=
3.10 Computational consideration
Factorization
Table lookup implementations of transcendental functions
(sine, cosine) sine need 2 or 3 mult. times or less
Rotation matrix with 9 elements
(Korean)
(1) Existence of solutions
(2) Multiple solutions
(3) Method of solution
1) Existence of solution
If =
If , >
Reachable work space
No destrous work space
2 orientations possible
Joint limit
Manipulators of less than 6dof
Specified orientation and position
Existence of solution
29
2) Multiple Solutions
3 links: 2 possible
solutions
Choice:
Closest solution in
the absence of obstacle
= + 180 ,
= ,
= + 180 .
Generally, 6 revolute robot with nonzero link parameters has 16
possible solutions
31
3) Method of Solution:
Solvable:
A given Position All sets of
and orientation Joint variables
Algebraic Geometric
Algebraic Solution
0.0 +
0.0 +
= = , (1)
0.0 0.0 1.0 0.0
0 0 0 1
(1)=(2),
= , = + ,
= , = + ,
+ = + +2 (3)
Where we have made use of
= ,
= .
Solving (3) for we obtain
= (4)
= 1 .
Finally, we compute using the two-argument arctangent routine
= 2( , )
For ,
= ,
= + .
Where
= + ,
= .
If
=+ +
And
= 2( , ),
Then
= ,
34
= .
Equation (4.17) and (4.18) can now be written
= ,
= + ,
or
cos( + )= ,
sin( + )= .
+ = 2 , = 2( , ).
And so
= 2( , ) 2( , ).
for ,
+ + = 2( , ) = .
35
Geometric Solution
= + + : Existence of solve
180 0
= by symmetry
= ,
= .
36
= ,
= ,
= ,
37
Example 4.3
Convert the transcendental equation
+ = (4.36)
Into a polynomial in the tangent of the half angle and solve for .
Substituting from (4.35) and multiplying through by 1 + we have
(1 )+2 = (1 + ). (4.37)
Collecting powers of u yields
( + ) +2 +( )=0 (4.38)
Which is solved by the quadratic formula to be
= (4.39)
Hence,
=2 ( ) (4.40)
38
0 0 0 1
When the last three axes intersect, the origins of link frames {4}, {5}, and {6}
are all located at this point of intersection. This point is given in base
coordinates as
= (4.41)
or, using the fourth column of (3.6) for i=4.
= , (4.42)
1
or as
( )
( )
= , (4.43)
( )
1
Where
= (4.44)
1 1
= , (4.45)
= + + .
39
= + + + + +2 +2 ( ) (4.49)
We now write this equation, along with the component equation from
(4.46), as a system of two equations in the form
=( + )2 +
= ( ) + (4.50)
where
=
=
= + + + + +2 (4.51)
= +
Equation (4.50) is useful because dependence on hase been
eliminated and dependence on takes a simple form.
Check 3 cases:
40
( ) ( )
+ = + .
4
Where
=
2
1
=
1+
2
=
1+
= ( )
=
0 0 0 1
= ( ) ( ) ( ) ( ) ( ) ( ) (4.54)
For when is given as numeric values.
A restatement of (4.54) which puts the dependence on on the left-
hand side of the equation is
[ ( )] T= ( ) ( ) ( ) ( ) ( ). (4.55)
Inverting we write (4.55) as
0 0
0 0
= (4.56)
0 0 1 0
0 0 0 1 0 0 0 1
Where is given by equation (3.13) developed in Chapter 3. This
simple technique of multiplying each side of a transform equation by an
inverse is often used to advantage in separating out variables in search of
a solvable equation.
Equating the (2, 4) elements from both sides of (4.56), we have
+ = . (4.57)
To solve an equation of this form, we make the trigonometric
substitutions
=
= (4.58)
where
= +
= 2 , (4.59)
Substituting (4.58) into (4.57), we obtain
42
= (4.60)
Hence
( )= 1 (4.62)
And so
= 2 , 1 (4.63)
= 2 , 2 , + (4.64)
= (4.67)
= 2( , ) 2 , + (4.68)
[ ( )] = ( ) ( ) ( ) (4.69)
= (4.70)
0
0 0 0 1 0 0 0 1
Where is given by equation (3.11) developed in Chapter 3. Equating
the (1, 4) elements from both sides of (4.70), as well as the (2, 4) elements,
+ =
+ = (4.71)
These equations may be solved simultaneously for and , resulting
in
( ) + + ( )
=
+ +
( ) ( )
= (4.72)
Since the denominators are equal and positive, we solve for the sum of
and as
= 2 ( ) + ( + ), (
) ( + ) + (4.73)
Equation (4.73) computes four values of according to the four
possible combinations of solutions for and . Then, four possible
solutions for are computed as
44
= (4.74)
Where the appropriate solution for is used when forming the
difference.
Now the entire left side of (4.70) is known. Equating the (1, 3) elements
from both sides of (4.70), as well as the (3, 3) elements, we get
+ =
+ = (4.75)
As long as 0, we can solve for as
= 2( + , + ) (4.76)
When = 0 the manipulator is in a singular configuration in which joint
axes 4 and 6 line up and cause the same motion of the last link of the robot.
In this case, all that matters (and all that can be solved for) is the sum or
difference of and . This situation is detected by checking whether both
arguments of the Atan2 in (4.76) are near zero. If so, is chosen arbitrarily,
and when is computed later, it will be computed accordingly.
If we consider (4.54) again, we can now rewrite it so that all the left-
hand side is a function of only knowns and by rewriting it as
[ ( )] = ( ) ( ), (4.77)
Where [ ( )] is given by
+ +
+ + +
0 0 0 1
(4.78)
And is given by equation (3.10) developed in Chapter 3. Equating
the (1, 3) elements from both sides of (4.77), as well as the (3, 3) elements,
we get
( + )+ ( ) ( )=
45
( )+ ( )+ ( )= (4.79)
{ }={ }
=
=
47
1) Pay load
2) Speed
3) Resolution
4) Accuracy
5) Repeatability
6) Workspace
7) Cost
48
49
4.6) Describe a simple algorithm for choosing the nearest solution from a set
of possible solution
Solution:
To derive the nearest solution, we would like to minimize the rotation of each
joint. Denote the starting angle of each joint as (for i-th joint), and the final
position of each joint as . For each propose solution compute
And choose the nearest as the one which minimize S. Sometimes a weighting
factor is used (to penalize motion of large joints, for example) and so the score for
each propose solution is
Then the first 3 links from a 4 bars linkage which can take on infinity of
positions since it has a decree of freedom.
4.12) in Fig 4.14 two 3R mechanisms are pictured. In both cases, the three
axes intersect at a point (not that over all congiguration, this point remains fixed in
space). The mechanism in Fig. 4.14a has link twists ( ) of magnitude 90 degrees.
The mechanism in Fig. 4.14b has one twist of in magnitude and the oder of
180 4 in magnitude
Solution:
Starting with joint 3, spinning it, frame 3 can attain any orientation about its
axis, pointing upward, the problem thus reduces to finding restrictions on the
pointing direction of
But spinning about joint , can spin any orientation on the surface of the
cone of apex angle
Spinning this cone about joint 1, can spin any orientation expect in a
cone taped zone of apex angle 360 4