Purpose The purpose of this chapter is to introduce you to robot motion Differential forms of the homogeneous transformation can be used to examine the pose velocities of frames This method will be compared to a conventional dynamics vector approach The Jacobian is used to map motion betwee ID: 558091
Download Presentation The PPT/PDF document "DIFFERENTIAL KINEMATICS" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
DIFFERENTIAL KINEMATICS
Purpose:
The purpose of this chapter is to introduce you to robot motion. Differential forms of the homogeneous transformation can be used to examine the pose velocities of frames. This method will be compared to a conventional dynamics vector approach. The Jacobian is used to map motion between joint and Cartesian space, an essential operation when curvilinear robot motion is required in applications such as welding or assembly. Slide2
In particular, you will
Review the differential transformation.
Consider the screw velocity matrix.
Relate differential transformations to different coordinate frames.
Use differential transformations to determines velocities in frames.
Determine the Jacobian for serial robots using Waldron’s method.
Determine the Jacobian for parallel robots.
Examine robot singularities.Slide3
Differential transformations
T
T
'
Now if we have a frame T relating a set of axes (primed axes) to global or base axes, then a small differential displacement of these axes (dp, d
q
=
d
q
k) relative to the base axes results in a new frame T' = T + dT = H(d
q,
dp) T. Although finite rotations can't be considered vectors, differential (infinitesimal) rotations can, thus d
q
=
d
q
k. Thus, the form of dT can be expressed as
dT = (H(d
q, dp) - I) T = D T (in base frame)Slide4
Differential transformations
T
T
'
Displacements made relative to the primed axes ( dp, d
q
expressed in primed axes)
change the form of dT to
dT = T (H(d
q,
dp) - I) = T
T
D
(in primed frame)Slide5
Differential transformations
Since dT =
D
T = T
T
D
, we can relate the differential transformation in either frame, given the other, as
D
= T
T
D
T
-1 or TD= T-1
D T Letting sin(dq) » dq, cos(dq) » 1, the form of D (or T
D
) can be shown to beSlide6
Screw velocity matrix
In the case of pure rotation, the differential transformation, depicted by
D
(or
T
D
), reduces to a screw rotation about the unit vector k. Taking the derivative of the matrix we get the screw (angular) velocity matrix:Slide7
Differential transformations
Given the relations
D
= T
T
D
T
-1
or
T
D
= T
-1 D T we can relate the differential transformations relative to the base frame or relative to the offset frame T where T is known as
a b c pSlide8
Differential transformations
Define the differential rotations and translations relative to the base frame by
d
=
d
x
I +
d
y
J +
d
z K d = dx I + d
y J + dz K where dx = dqx dx = dp
x
dy = d
qy d
y = dpy
...giving ... dz = dqz dz
= dpz
D
=
0
-
d
z
d
y
d
x
d
z
0 -
d
x
d
y
-
d
y
d
x
0
d
z
0 0 0 0Slide9
Differential transformations
Define the differential rotations and translations relative to the offset frame by
d
’
=
d
x’
i +
d
y’
j + dz’ k d
’ = dx’ i + dy’ j + dz’ k
It can be shown (see notes) that the differential displacements in the offset frame can be related to those in the base frame by dx'
= d · a =
dT a
dy' = d · b = dT b
dz' = d · c = dT c dx' = d · (p x a) + d · a dy' =
d · (p x b) + d · b dz' = d · (p x c) + d · c Slide10
Velocities
Vector w can be resolved into components p in the base frame by the equation p = T w. Now under a small displacement, frame T can be expressed by the new frame
T' = T + dT = T + ∆T
A vector w in frame T, once perturbed, can be located globally by p' such that
p' = (T +
D
T) w
The delta move, p' - p, becomes
p' - p = (T +
D
T) w - T w =
D
T w Slide11
Velocities
Dividing by
D
t and taking the limit as
D
t
®
0 (take derivative), we determine the velocity in the base frame:
whereSlide12
Example
x
r
Y
y
X
r
P (3,5,0) relative
to frame C
Frame C
2 rad/s
(2,3,0)
p
O
A point P is located by vector
r
in an offset frame C as shown. At this instant the frame C origin is being translated by the velocity v
t
= 2 I + 2J m/s relative to the base frame. The frame is also being rotated relative to the base frame by the angular velocity
w
= 2 rad/s K where I, J, K are the unit vectors for the base frame.
Determine the instantaneous velocity of point P using both the conventional vector dynamics approach and the differential methods in this chapter.
Slide13
Example: conventional solution
x
r
Y
y
X
r
P (3,5,0) relative
to frame C
Frame C
2 rad/s
(2,3,0)
p
O
v = v
o
+
w
x
r
where v
o
= v
t
+
w
x
r. At this instant note that frame C is aligned with the base frame so that the unit vectors are parallel.
It can be shown that
w
x
r = -6I + 4J so that
v
o
=
2 I + 2 J -6 I + 4 J
=
-4 I + 6 J m/s
It can be shown that
w
x
r
= -10 I + 6 J
, so that
v = -4 I + 6J -10 I + 6 J = -14 I + 12 J m/s
(answer)Slide14
Example: differential solution
Apply
where w =
r
and
to give
Note that the same values are obtained!Slide15
Jacobians - serial robots
The Jacobian is a mapping of differential changes in one space to another space. Obviously, this is useful in robotics because we are interested in the relationship between Cartesian velocities and the robot joint rates.
Slide16
Jacobians - serial robots
If we have a set of functions
y
i
= f
i
(x
j
) i = 1,..,m ; j = 1,..,n
then the differentials of y
i
can be written as
i = 1, . . .m
or in matrix form, dy = J dx, where J = Jacobian = Slide17
Jacobians - serial robots
In the field of robotics, we determine the Jacobian which relates the TCF velocity (position and orientation) to the joint speeds:
where
v = TCF origin velocity
w
= orientation angular velocity
(equivalent Euler angles, etc.)
= joint velocities (joint rotational or translation speeds)
Slide18
Jacobians - serial robots
Waldron in the paper "A Study of the Jacobian Matrix of Serial Manipulators", June, 1985, ASME
Journal of Mechanisms, Transmissions, and Automation in Design,
determines simple recursive forms of the Jacobian, given points on the joint axes (r
i
) and joint direction vectors (e
i
) for the joint axes Slide19
Jacobians - serial robots
The velocity of point P, a point on some end-effector, can be determined by
and also reduced to the form
where
w
i
is the absolute angular velocity of link i and
r
i
is the position vector between joint axes i+1 and i :Slide20
Jacobians - serial robots
The Jacobian is determined by collecting the velocities for each joint into the form:
and the velocity relationship becomes:
"R" "P"Slide21
Jacobians - serial robots
Given the Jacobian, what are we really interested in calculating for tasks like seam welding, painting, etc.?
q
=
J
-1
V
Note that J
-1
only exists for a six-axis robot. Robots with less than 6 joints map the joint space into a subspace of Cartesian space.
Slide22
Jacobians and Singularities
The case where
J
-1
loses full rank, i.e.,
det
(
J)
= 0 is referred to as a
singularity
. Previously we have introduced the robot redundancy.
The picture shows a
singularity occurring.
Can you explain the
problem?Slide23
Singularities
Near a singularity the mechanism loses mobility in one or more directions. These directions are
degenerate
directions.Slide24
Nearness to Singularities
The Jacobian determinant can always be expanded into the form
|J| = s(q) = s
1
(q) s
2
(q)…s
k
(q)
If one or more
s
i(q) = 0, then we are at one or more singular configurations. If any si(q) are small then we are near singular configuration(s). Joint rates will increase near singularities.Slide25
Nearness to Singularities
The Jacobian can also be decomposed into the following form by Singular Value Decomposition (SVD)
J = U S V
T
where
U
is a matrix of basis vectors in Cartesian Space,
V
T
is a matrix of basis vectors in joint space, and
S
is a diagonal matrix of singular values that decrease down the diagonal. When the diagonal singular values approach zero the mechanism approaches singular configurations. Methods for computing SVD are computationally expensive.Slide26
How do we work around singularities?
By tooling design and work placement
By robot designs
By changing to joint space motion around the singularity
By slowing down Cartesian motion near singularity,
if feasible
By planning paths carefully near singularity,
if feasible, perhaps allowing path deviation.
Slide27
Differential motion summary
Differential forms can calculate velocities of frames and be simpler to apply than the conventional vector equations.
Jacobian is important in robotics because the robot is controlled in joint space, whereas the robot tool is applied in physical Cartesian space. Unfortunately, motion in Cartesian space must be mapped to motion in joint space through an inverse Jacobian relation. This relation might be difficult to obtain and many robots have singular configurations that must be avoided.
The equations for the Jacobian are easy to determine for a robot, given the current robot configuration, as outlined by Waldron et. al in the paper "A Study of the Jacobian Matrix of Serial Manipulators", June, 1985, ASME
Journal of Mechanisms, Transmissions, and Automation in Design.
Slide28
Jacobians - parallel robots
Let us define two vectors:
x is a vector that locates the moving platform
q is a vector of the n actuator joint values.
In general the number of actuated joints is equal to the degrees-of-freedom of the robot.
The kinematics constraints imposed by the limbs will lead to a series of n constraint equations:
f(x,q) = 0
Eqn (4.42) in notes
Slide29
Expressing the previous limb vector loop equation in the limb i coordinate frame, we get the matrix equations: in terms of the limb vector c shown by the green vector in the figure:
Inverse kinematics for picker robot
c
iSlide30
Jacobians - parallel robots
We can differentiate (4.42) with respect to time to generate a relationship between joint rates and moving table velocities:
where J
x
=
¶
f/
¶
x and J
q
= -
¶f/¶q. Thus, the Jacobian equation can be written in the form where J = Jq-1 J
x. Note that the equation is already in the desired inverse form, given that we can determine Jq-1 and Jx.
Slide31
Singularity conditions - parallel robots
A parallel manipulator is singular when either J
q
or J
x
or both are singular. If det(J
q
) = 0, we refer to the singularity as an
inverse kinematics singularity
. This is the kind of singularity where motion of the actuation joints causes no motion of the platform along
certain directions. For the
picker robot this occurs when
the limb links all lie in a plane (q2i = 0 or p
) or when upper arm links are colinear (q3i = 0 or p). Slide32
Singularity conditions - parallel robots
If det(J
x
) = 0, we refer to the singularity as a
direct
kinematics singularity
.
This case occurs for the picker robot when all upper arm linkages are in the plane of the moving platform. Note that the actuators cannot resist any force applied to the moving platform in the z direction
Slide33
Jacobian for the picker robot
Referring to the figure
OP +
PC
i
=
OA
i
+
A
i
Bi + BiCi (4.37)
to close the vector from the base frame to the center of the movingplatform. We obtain the equation vp = w1i
x
ai +
w2i
x bi
for the velocity of the moving platform at point P and where ai = AiBi and b
i = BiCi.
Slide34
Jacobian for the picker robot
The term
w
2i
x
b
i
is a function of the non-actuated joints. We can eliminate these joints from the equation by dot multiplying by b
i
(and using the scalar triple product permutation) to get
b
i · vp = w
1i · (ai x bi) Slide35
Jacobian for the picker robot Slide36
Jacobian for the picker robot
We can assemble these terms into equations for each limb by the matrix equation:
J
x
v
p
= J
q
where
Jx = and Jq =
Since Jq is diagonal, it is easy to determine the joint rates given the desired Cartesian velocity of the tool point.Slide37
Jacobian summary
The Jacobian in robotics is particularly important because it represents the rate mapping between joint and Cartesian space. Unfortunately, for serial robots the desire is to determine the joint rates to get desired motion in Cartesian space as the tool is moved along some line in space. This usually requires the inverse of the Jacobian, which may be difficult for some mechanisms.
The Jacobian for parallel robots may be easier to find, as is the case for the Picker robot.