Differential kinematics robotic
-
Upload
dahmane-sid-ahmed -
Category
Education
-
view
338 -
download
0
Transcript of Differential kinematics robotic
ME 537 - RoboticsME 537 - Robotics
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.
ME 537 - RoboticsME 537 - Robotics
In particular, you will 1. Review the differential transformation.
2. Consider the screw velocity matrix.
3. Relate differential transformations to different coordinate frames.
4. Use differential transformations to determines velocities in frames.
5. Determine the Jacobian for serial robots using Waldron’s method.
6. Determine the Jacobian for parallel robots.
7. Examine robot singularities.
ME 537 - RoboticsME 537 - Robotics
Differential transformations
TT'
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, dq = dq k) relative to the base axes results in a new frame T' = T + dT = H(dq, dp) T. Although finite rotations can't be considered vectors, differential (infinitesimal) rotations can, thus dq = dq k. Thus, the form of dT can be expressed as
dT = (H(dq, dp) - I) T = D T (in base frame)
ME 537 - RoboticsME 537 - Robotics
Differential transformations
TT'
Displacements made relative to the primed axes ( dp, dq expressed in primed axes) change the form of dT to
dT = T (H(dq, dp) - I) = T TD (in primed frame)
ME 537 - RoboticsME 537 - Robotics
Differential transformations
Since dT = DT = T TD , we can relate the differential transformation in either frame, given the other, as
D = T TD T-1 or TD= T-1 D T
Letting sin(dq) » dq, cos(dq) » 1, the form of D (or TD ) can be shown to be
0000dp0dkdk-dpdk-0dkdpdkdk-0
)d,d(zxy
yxz
xyz
qqqqqq
pθD
ME 537 - RoboticsME 537 - Robotics
Screw velocity matrix
In the case of pure rotation, the differential transformation, depicted by D (or TD ), reduces to a screw rotation about the unit vector k. Taking the derivative of the matrix we get the screw (angular) velocity matrix:
000000-0-00-0
xy
xz
yz
ME 537 - RoboticsME 537 - Robotics
Differential transformations
Given the relations
D = T TD T-1 or TD= 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 p
T =
ax bx cx pxay by cy pyaz bz cz pz
0 0 0 1
ME 537 - RoboticsME 537 - Robotics
Differential transformations
Define the differential rotations and translations relative to the base frame by
d = dx I + dy J + dz K
d = dx I + dy J + dz K where dx = dqx dx = dpx
dy = dqy dy = dpy ...giving ...
dz = dqz dz = dpz
D =
0 -dz dy dx
dz 0 - dx dy
-dy dx 0 dz0 0 0 0
ME 537 - RoboticsME 537 - Robotics
Differential transformations Define the differential rotations and translations relative to the offset frame by
d’ = dx’ i + dy’ 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 ady' = d · b = dT bdz' = d · c = dT c
dx' = d · (p x a) + d · ady' = d · (p x b) + d · bdz' = d · (p x c) + d · c
ME 537 - RoboticsME 537 - Robotics
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 + DT) w
The delta move, p' - p, becomes
p' - p = (T + DT) w - T w = DT w
p
T
p'
w
w
z
x
y
z'
y'x'
T'
X
Y
Z
ME 537 - RoboticsME 537 - Robotics
Velocities Dividing by Dt and taking the limit as Dt® 0 (take derivative), we determine the velocity in the base frame:
wherewΤv Δ
0000p0θkθkpθk0θkpθkθk0
zxy
yxz
xyz
-
Δ
0000v0-v-0v-0
zxy
yxz
xyz
ME 537 - RoboticsME 537 - Robotics
Example
xr
Y
y
X
r
P (3,5,0) relativeto frame C
Frame C
2 rad/s
(2,3,0)
pO
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 vt = 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 = 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.
ME 537 - RoboticsME 537 - Robotics
Example: conventional solution
xr
Y
y
X
r
P (3,5,0) relativeto frame C
Frame C
2 rad/s
(2,3,0)
pO
v = vo + x r where vo = vt + 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 x r = -6I + 4J so that
vo = 2 I + 2 J -6 I + 4 J = -4 I + 6 J m/s It can be shown that x r = -10 I + 6 J, so that
v = -4 I + 6J -10 I + 6 J = -14 I + 12 J m/s (answer)
ME 537 - RoboticsME 537 - Robotics
Example: differential solution
Apply
where w = r and
to give
Note that the same values are obtained!
wΤv Δ
0000000020022020.
Δ
1000010030102001
Τ
m/s00
1214
v
ME 537 - RoboticsME 537 - Robotics
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.
ME 537 - RoboticsME 537 - Robotics
Jacobians - serial robots
If we have a set of functionsyi = fi(xj) i = 1,..,m ; j = 1,..,n
then the differentials of yi can be written as
i = 1, . . .m or in matrix form, dy = J dx, where J = Jacobian =
j
n
1j j
ii δx
xfδy
j
i
xf
ME 537 - RoboticsME 537 - Robotics
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 = orientation angular velocity (equivalent Euler angles, etc.) = joint velocities (joint rotational or translation speeds)
qJ V
.
.
.qJvV
m
1
q
q)(
q
ME 537 - RoboticsME 537 - Robotics
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 (ri) and joint direction vectors (ei) for the joint axes
P
Joint 1
Joint i+1
Joint n
Joint i
rr
r
r
n
1 ii+1
ri
e
e
e
e
n
i+1
1
i
ME 537 - RoboticsME 537 - Robotics
Jacobians - serial robots The velocity of point P, a point on some end-effector, can be determined by
and also reduced to the form
P
Joint 1
Joint i+1
Joint n
Joint i
rr
r
r
n
1 ii+1
ri
e
e
e
e
n
i+1
1
iii
n x
. rev
1iq
ii
n
x r v
1i
where i is the absolute angular velocity of link i and ri is the position vector between joint axes i+1 and i :
j
i
ji e
q
1j
ME 537 - RoboticsME 537 - Robotics
Jacobians - serial robots The Jacobian is determined by collecting the velocities for each joint into the form:
and the velocity relationship becomes: "R" "P"
P
Joint 1
Joint i+1
Joint n
Joint i
rr
r
r
n
1 ii+1
ri
e
e
e
e
n
i+1
1
iJ = e i
e i x ri
qe re
0 ev V
iii
i
x
ME 537 - RoboticsME 537 - Robotics
Jacobians - serial robots
Given the Jacobian, what are we really interested in calculating for tasks like seam welding, painting, etc.?
q = J-1 VNote 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.
ME 537 - RoboticsME 537 - Robotics
Jacobians and Singularities
The case where det (J-1) = 0 is referred to as a singularity. Previously we have introduced the robot redundancy.
The picture shows asingularity occurring.Can you explain the problem?
ME 537 - RoboticsME 537 - Robotics
Singularities
Near a singularity the mechanism loses mobility in one or more directions. These directions are degenerate directions.
ME 537 - RoboticsME 537 - Robotics
Nearness to Singularities
The Jacobian determinant can always be expanded into the form
|J| = s(q) = s1(q) s2(q)…sk(q)
If one or more si(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.
ME 537 - RoboticsME 537 - Robotics
Nearness to Singularities
The Jacobian can also be decomposed into the following form by Singular Value Decomposition (SVD)
J = U S VT
where U is a matrix of basis vectors in Cartesian Space, VT 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.
ME 537 - RoboticsME 537 - Robotics
How do we work around singularities?By tooling design and work placementBy robot designsBy changing to joint space motion around the
singularityBy slowing down Cartesian motion near
singularity, if feasibleBy planning paths carefully near singularity,
if feasible, perhaps allowing path deviation.
ME 537 - RoboticsME 537 - Robotics
Differential motion summary 1. Differential forms can calculate velocities of frames and be simpler to
apply than the conventional vector equations.
2. 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.
3. 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.
ME 537 - RoboticsME 537 - Robotics
Jacobians - parallel robots Let us define two vectors:
x is a vector that locates the moving platformq 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
ME 537 - RoboticsME 537 - Robotics
Jacobians - parallel robots We can differentiate (4.42) with respect to time to generate a relationship between joint rates and moving table velocities:
where Jx = f/x and Jq = - f/q. Thus, the Jacobian equation can be written in the form
where J = Jq-1 Jx. Note that the equation is already in the
desired inverse form, given that we can determine Jq-1 and Jx.
qJxJ qx
xJq
ME 537 - RoboticsME 537 - Robotics
Singularity conditions - parallel robots A parallel manipulator is singular when either Jq or Jx or both are singular. If det(Jq) = 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 whenthe limb links all lie in a plane (q2i = 0 or p) or when upper arm links are colinear (q3i = 0 or p).
ME 537 - RoboticsME 537 - Robotics
Singularity conditions - parallel robots
If det(Jx) = 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
ME 537 - RoboticsME 537 - Robotics
Jacobian for the picker robot
Referring to the figure OP + PCi = OAi + AiBi + BiCi (4.37) to close the vector from the base frame to the center of the movingplatform. We differentiate to obtain the equation
vp = 1i x ai + 2i x bi
for the velocity of the moving platform at point P and where ai = AiBi and bi = BiCi.
ME 537 - RoboticsME 537 - Robotics
Jacobian for the picker robot The term 2i x bi is a function of the non-actuated joints. We can eliminate these joints from the equation by dot multiplying by bi (and using the scalar triple product permutation) to get
bi vp = 1i (ai x bi)
ME 537 - RoboticsME 537 - Robotics
Jacobian for the picker robot
ME 537 - RoboticsME 537 - Robotics
Jacobian for the picker robot We can assemble these terms into equations for each limb by the matrix equation:
Jx vp = Jq
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.
3z31y3x
2z2y2x
1z1y1x
jjjjjjjjj
qqqq
3323
3222
3121
ss000ss000ss
q
ME 537 - RoboticsME 537 - Robotics
Jacobian summary
1. 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.
2. The Jacobian for parallel robots may be easier to find, as is the case for the Picker robot.