recap d-h just a quick reminder with another example
TRANSCRIPT
Recap D-H
Just a quick reminder with another example
6 DOF revolute robot
6 DOF revolute robot
6 DOF revolute robot
1 234 5 6 234 6 1 5 6 1 234 5 6 234 6 1 5 6 1 234 5 1 5 1 234 4 23 3 2 2
1 234 5 6 234 6 1 5 6 1 234 5 6 234 6 1 5 6 1 234 5 1 5 1 234 4 23 3 2 2
234 5 6 234 6 234 5 6 234 6 234 5
C C C C S S S S C C C C S S C S S S C C S S C C C a C a C a
S C C C S S C S S S C C S S C C S S S C S C C S C a C a C a
S C C C S S C S C C S S
234 4 23 3 2 2
0 0 0 1
S a S a S a
Inverse Kinematic solution
As previously, to solve for the 6 angles, successively premultiply both matrices with An
-1 matrices, starting with A1
-1 . At each stage it is possible to yield useful results… …from large matrices and complex trig simplification
due to many coupled angles. Hence, results summarised here. If you really want to know read Niku p87-93 (76-80)
• (who obtained it from Paul, R.P. “Robot Manipulators, Mathematics, Programming & Control” MIT Press, 1981)
Summary for 6 d.o.f revolute robot
Don’t panic this is all in the Kinematics Data sheet!
zyx
xy
yxz
zyx
zyx
yx
nCnSnCSS
aSaCC
aCSpCpaSaSpaaCaSaaCS
aaaSpaCSpCpCaa
aCaSaCS
CpSp
2341123466
1155
42341133423423323
23
223322
23
22
24234
24234113323
23411234234
111
2
Jacobian & Differential Motions
Look at velocity relationships rather than position.
Robot Dynamics
Previously we have only considered static robot mechanisms but they move!
Need to consider the velocity relationships between different parts of the robot mechanism.
Like the engineering dynamics you have already studied, we consider small movements i.e. a differential motion which is over a small period of time.
Consider a 2 DOF Mechanism
1
2VA
VB (if VA = 0)VB/A
VB = VA + VB/A
2 DOF mechanism
This equation can be expanded and written in matrix form:
2 DOF mechanism Or differentiate the equations that describe
the location of point B:
If you didn’t understand the last slide…
All dx, dy and dθ should be:
Hence:
ly respective and ,dt
d
dt
dy
dt
dx
dt
ddt
d
lll
lll
dt
dydt
dx
B
B
2
1
21221211
21221211
coscoscos
sinsinsin
Jacobian
It is a representation of the geometry of the elements of a mechanism in time.
In robotics, it relates joint velocities to Cartesian velocities of a point of interest e.g. the end-effector.
Joint differential motionsEnd-effector differential motions
displacement motions
rotation motions
Jacobian dx, dy, dz (in [D]) represent the differential
motions of the end-effector along the x-, y-, z-axes respectively.
δx, δy, δz (in [D]) represent the differential rotations of the end-effector along the x-, y-, z-axes respectively.
Joint differential motionsEnd-effector differential motions
displacement motions
rotation motions
Jacobian
[Dθ] represents the differential motions of the joints
If matrices [D] and [Dθ] are divided by dt, they will represent the velocities.
Joint differential motionsEnd-effector differential motions
displacement motions
rotation motions
Jacobian Matrix compared with kinematics and with an alternative notation
6
5
4
3
2
1
6
5
4
3
2
1
z
y
x
Joint Space World Space
Forward
Inverse
Kinematics
Jacobian Matrix: Relationship between joint space velocity with world space velocity
z
y
x
z
y
x
Jacobian Matrix
Jacobian
z
y
x
z
y
x
1
2
1
6
)(
nn
n
q
q
q
dq
qdf
nn
n
n
n
q
f
q
f
q
f
q
f
q
f
q
fq
f
q
f
q
f
dq
qdfJ
6
6
2
6
1
6
2
2
2
1
2
1
2
1
1
1
6
)(
Jacobian is a function of q, a joint variable (e.g. length or angle), it is not a constant!
Example 1
J, the Jacobian of a robot at a particular time is given. Calculate the linear and angular differential motions of the robots “Hand” frame for the given joint differential motions Dθ
Example 1
z
y
x
dz
dy
dx
JDD
DJ
2.0
1.0
0
1.0
1.0
0
2.0
0
0
1.0
1.0
0
100000
000100
002000
000010
000101
010002
2.0
0
0
1.0
1.0
0
,
100000
000100
002000
000010
000101
010002
Differential Motions of a Frame
Differential motions of a frame – relate to differential motions of the robot
Differential translation
Trans (dx, dy, dz)
1000
100
010
001
dz
dy
dx
Differential Rotations
1000
0100
001
001
,Rot
1000
010
0010
001
,Rot,
1000
010
010
0001
,Rot
z
z
zz
y
y
yyx
xxx
Approximate:
sin δx ≈ δx (in radians)
cos δx ≈ 1
Differential Rotation @ some random Axis k̂
1000
01
01
01
1000
01
01
01
1000
0100
001
001
1000
010
0010
001
1000
010
010
0001
,Rot,Rot,Rot,Rot
xy
xz
yz
zyxzxy
xzyxzyx
yz
z
z
y
y
x
x
zzyyxxdk
Any order SAME ANSWERvelocities “commutative”
Neglect higher order differentials, e.g. δxδy→0
Example 2
Find total differential transformation from 3 small rotations: δx = 0.1, δy = 0.05, δz = 0.02 radians.
1000
011.005.0
01.0102.0
005.002.01
1000
01
01
01
,Rotxy
xz
yz
dk
Differential Transformations of a Frame
If you have an original frame T
TIdkdzdydxdT
TTdkdzdydxdT
TdkdzdydxdTT
,Rot,,Trans
,Rot,,Trans
,Rot,,Trans
Unit or Identity matrix I
Differential Transformations of a Frame
[dT ] expresses the change in the frame after the differential transformation:
Idkdzdydx
TdT
,Rot,,Trans
Differential operator
Differential Transformations of a Frame
Differential operator Δ
0000
0
0
0
1000
0100
0010
0001
1000
01
01
01
1000
100
010
001
,Rot,,Trans
dzxy
dyxz
dxyz
xy
xz
yz
dz
dy
dx
Idkdzdydx
This is not a transformation nor a frame, merely an operator.
Example 3 (part A)
Example 3A - solution
Differential Change – Example 3B
Find the location & orientation of frame B
Differential changes between frames
Differential operator Δ
Is relative to a fixed reference frame, UΔ Define a differential operator TΔ relative to the
current frame T. As TΔ relative to the current frame T, we need
to post-multiply (as we did in lecture 1).
Idkdzdydx ,Rot,,Trans
TTTdT
Differential changes between frames
1000
1
aP
oP
nP
zyx
zyx
zyx
aaa
ooo
nnn
T
T
T
T
TT
TTTT
TT
1
11
0000
0
0
0
dzxy
dyxz
dxyz
After some long derivation:
TΔ is made to look like Δ matrix where:
0000
0
0
0
dzxy
dyxz
dxyz
TTT
TTT
TTT
T
dpadzaz
dpodyoy
dpndxnx
TT
TT
TT
Example 3 Again Part C
Find BΔ: From Boriginal matrix
From the differential operator OR differential transformation description
Example 3C continued
Example 3 – part D, alternative
Alternatively BΔ can be found using:
Same result as before!
Differential Motion of robot From earlier slide:
How are differential motions accomplished by the robot?
Joint differential motionsEnd-effector differential motions
displacement motions
rotation motions
To Calculate the Jacobian
Next lecture!
Jacobian Matrix Inverse Jacobian
Singularity• rank(J)<min{6,n}, • Jacobian Matrix is less than full rank• Jacobian is non-invertible• Occurs when two or more of the axes of the robot form a
straight line, i.e., collinear
• Avoid it
666261
262221
161211
JJJ
JJJ
JJJ
qJY
6
5
4
3
2
1
q
q
q
q
q
q
YJq 1
5q
1q