Upload
doanphuc
View
239
Download
1
Embed Size (px)
Citation preview
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
Summer School-Math. Methods in [email protected] 13-31 July 2009
Chapter 3 Manipulator Kinematics
1
Lecture Notes
for
AMathematical Introduction to
Robotic Manipulation
By
Z.X. Li and Y.Q. Wu#
Dept. of ECE, Hong Kong University of Science & Technology#School of ME, Shanghai Jiaotong University
23 July 2009
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
Summer School-Math. Methods in [email protected] 13-31 July 2009
Chapter 3 Manipulator Kinematics
2
Main Concepts
1 Forward kinematics
2 Inverse Kinematics
3 Manipulator Jacobian
4 Redundant and Parallel Manipulators
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.1 Forward kinematicsChapter 3 Manipulator Kinematics
3
Adept Cobra i600x y
z
x y
z
Lower Pair Joints: Forward kinematics:
Revolute: S1 SO(2)Prismatic: R T(1) Link 0: Stationary(Base)
Link 1: First movable linkLink n: End-eector attached
adept.aviMedia File (video/avi)
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.1 Forward kinematicsChapter 3 Manipulator Kinematics
4
Joint space:
Revolute joint: S1, i S1 or i [ , ]Prismatic joint: R
Joint Space: Q S1 S1no. of R joint
R Rno. of P joint
Adept Q S1 S1 S1 RElbow Q = 6 S1 S1
6
Reference (nominal) joint cong: = (0, 0, . . . , 0) QReference (nominal) end-eector cong: gst(0) SE(3)Arbitrary cong.: gst(), or gst : Q SE(3)
gst()
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.1 Forward kinematicsChapter 3 Manipulator Kinematics
5
Classical Approach:gst(1 , 2) = gst(1) gl1l2 gl2tProblem:
A coordinate frame for each link
e product of exponentials formula:Consider Fig 3.2 again.
TL2
L1
2
1
S
Figure 3.2: A two degree of freedom manipulator
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.1 Forward kinematicsChapter 3 Manipulator Kinematics
6
Step 1: Rotating about 2 by 22 = [ 2 q22 ]gst(2) = e22 gst(0)
Step 2: Rotating about 1 by 11 = [ 1 q11 ]gst(1, 2) = e11 e22 gst(0)
oset (0, 0) (0, 2) (1 , 2)
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.1 Forward kinematicsChapter 3 Manipulator Kinematics
7
What if another route is taken?
(0, 0) (1 , 0) (1 , 2)Step 1: Rotating about 1 by 1
1 = [ 1 q11 ]gst(1) = e11 gst(0)
Step 2: Rotating about 2 by 2Let e11 = [ R1 p10 1 ]
2 = R1 2q2 = p1 + R1 q2
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.1 Forward kinematicsChapter 3 Manipulator Kinematics
8
2=[ 2 q22 ] =[ R12RT1 (p1 + R1q2)R12
]= [ R1 p1R10 R1 ] [ 2 q22 ] = Ade 1 1 2 2 = e11 2 e11
gst(1, 2) = e22 e11 gst(0)= ee 1 1 22 e1 1 e11 gst(0)= e11 e22 e11 e11 gst(0)= e11 e22 gst(0)Independent of the route taken
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.1 Forward kinematicsChapter 3 Manipulator Kinematics
9
Procedure for forward kinematic map:Identify a nominal cong.:
= (10 , . . . , n0) = 0, gst(0) gst(10 , . . . , n0)Simplication of forward kinematics mapping:
Revolute joint: i = [ qii ]Choose qi s.t. i is simple.
Prismatic joint: i = [ vi0 ]Write gst() = e11 . . . enn gst(0) (product of exponential map-
ping)
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.1 Forward kinematicsChapter 3 Manipulator Kinematics
10
Example: SCARA manipulator
gst(0) =
I [ 0l1 + l2l0]
0 1
1 = 2 = 3 = [ 00
1]
x
z
y
1
l1
2
l0
l2
3
4
q3q2
T
Sq1
q1 = [ 001] , q2 = [ 0l1
1] , q3 = [ 0l1 + l2
0]
1 =
000001
, 2 =
l100001
, 3 =
l1 + l200001
, 4 = [ v40 ] =
001000
,
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.1 Forward kinematicsChapter 3 Manipulator Kinematics
11
gst() = e11 e22 e33 e44 gst(0) = [ R() p()0 1 ]e11 =
c1 s1 0 0s1 c1 0 00 0 1 00 0 0 1
, e22 =
c2 s2 0 l1s2s2 c2 0 l1s20 0 1 00 0 0 1
,
e33 =c3 s3 0 (l1s2)s3s3 c3 0 (l1s2)v30 0 1 00 0 0 1
, e44 =
I [ 00
4]
0 1
gst() =
c123 s123 0 l1s1 l2s12s123 c123 0 l1c1 + l2c120 0 1 l0 + 40 0 0 1
in which, c123 = cos(1 + 2 + 3)
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.1 Forward kinematicsChapter 3 Manipulator Kinematics
12
Example: Elbow manipulator
gst(0) =
I [ 0l1 + l2l0]
0 1
q1
5
q2
2 3
1 4
l1 l26
l0
T
S
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.1 Forward kinematicsChapter 3 Manipulator Kinematics
13
1 =
[ 001] [ 00
l0]
[ 001]
=
000001
,
2 =
[ 100] [ 00
l0]
[ 100]
=
0l00100
, 3 =
0l0l1100
,
4 =
l1 + l200001
, 5 =
0l0l1 + l2100
, 6 =
l000010
gst(1 , . . . 6) = e11 . . . e66 gst(0) = [ R() p()0 1 ]
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.1 Forward kinematicsChapter 3 Manipulator Kinematics
14
p() = s1(l2c2 + l2c23)c1(l1c2 + l2c23)l0 l1s2 l2s23
,R() = [rij]in which, r11 = c6(c1c4 s1c23s4) + s6(s1s23c5 + s1c23c4s5 + c1s4s5)
r12 = c5(s1c23c4 + c1s4) + s1s23s5r13 = c6(c5s1s23 (c23c4s1 + c1s4)s5) + (c1c4 c23s1s4)s6r21 = c6(c4s1 + c1c23s4) (c1c5s23 + (c1c23c4 s1s4)s5)s6r22 = c5(c1c23c4 s1s4) c1s23s5r23 = c6(c1c5s23 + (c1c23c4 s1s4)s5) + (c4s1 + c1c23s4)s6r31 = (c6s23s4) (c23c5 c4s23s5)s6r32 = (c4c5s23) c23s5r33 = c6(c23c5 c4s23s5) s23s4s6
Simplify forward Kinematics Map:
Choose base frame or ref. Cong. s.t. gst(0) = I
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.1 Forward kinematicsChapter 3 Manipulator Kinematics
15
Manipulator Workspace:W = {gst() Q} SE(3)
Reachable Workspace:
WR = {p() Q} R3Dextrous Workspace:
WD = {p R2R SO(3), , gst() = (p,R)}
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.1 Forward kinematicsChapter 3 Manipulator Kinematics
16
Example: A planar serial 3-bar linkage
(a) Workspace calculation:g = (x, y, )x = l1c1 + l2c12 + l3c123y = l1s1 + l2s12 + l3s123 = 1 + 2 + 3
(b) Construction of Workspace:
(c) Reachable Workspace:
(d) Dextrous Workspace:
(a) (b)
(c) (d)
l3
1
l2
3
l1
l1 l2 l3
2l3 2l3
2
Manipulators maximum workspace (Paden):Elbow manipulator and its kinematics inverse.
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.2 Inverse KinematicsChapter 3 Manipulator Kinematics
17
Given g SE(3), nd Q s.t.gst() = g , where gst Q SE(3)
Example: A planar example
l2
l1
2
1
(x, y)
B
r2
1
(x, y)
x
y
(a) (b)
x = l1 cos 1 + l2 cos (1 + 2)y = l1 sin 1 + l2 sin (1 + 2)Given (x, y), solve for (1 , 2)
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.2 Inverse KinematicsChapter 3 Manipulator Kinematics
18
Review:Polar Coordinates: (r, ), r =x2 + y2Law of cosines:
2 = , = cos1 l21+l22r22l1 l2Flip solution: +
1 = atan2(y, x) , = cos1 r2 + l21 l222l1r
Hight Lights:
Subproblems
Each has zero, one or two solutions!
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.2 Inverse KinematicsChapter 3 Manipulator Kinematics
19
Paden-Kahan Subproblems:
Subproblem 1: Rotation about a single axis
Let be a zero-pitch twist, with unitmagnitude and twopoints p, q R3 . Find s.t. ep = q
u
v
(b)
r
q
p
v
u
(a)
Solution: Let r l, dene u = p r, v = q r, er = r
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.2 Inverse KinematicsChapter 3 Manipulator Kinematics
20
Also,
ep = q e (p r)u
= q rv
[ e 0 1
] [ u0 ] = [ v0 ]
eu = v { wTu = wTvu2 = v2
u
v
(b)
r
q
p
v
u
(a)
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.2 Inverse KinematicsChapter 3 Manipulator Kinematics
21
u = (I T)u, v = (I T)ve solution exists only if { u2 = v2
Tu = TvIf u 0, then
u v = sin uvu v = cos uv
= atan2(T(u v), uTv)If u = 0, Innite number of solutions!
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.2 Inverse KinematicsChapter 3 Manipulator Kinematics
22
Subproblem 2: Rotation about two subsequent axes
let 1 and 2 be two zero-pitch, unit magnitude twists, with
intersecting axes, and p, q R3. nd 1 and 2 s.t. e11e22p = q.
r
p
c
q
2
1
2
1
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.2 Inverse KinematicsChapter 3 Manipulator Kinematics
23
Solution: If two axes of 1 and 2 coincide, then we get:Subproblem 1: 1 + 2 = If the two axes are not parallel, 1 2 0, then, let c satisfy:
e22p = c = e11qSet r l1 l2
e22 p ru
= c rz
= e11 (q r)v
, e22u = z = e11v
{ T2 u = T2 zT1 v = T1 z , u
2 = z2 = v2As 1,2 and 1 2 are linearly independent,
z = 1 + 2 + (1 2) z2 = 2 + 2 + 2T1 2 + 21 22
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.2 Inverse KinematicsChapter 3 Manipulator Kinematics
24
T2 u = T2 1 + T1 v = + T1 2
= (T1 2)T2 uT1 v(T1 2)21 = (T1 2)T1 vT2 u(T1 2)21
z2 = u2 2 = u2 2 2 2T1 21 22 ()() has zero, one or two solution(s):
Given z c { e22p = ce11p = c
for 1 and 2
1 Two solutions when the two circles intersect.
2 One solution when they are tangent
3 Zero solution when they do not intersect
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.2 Inverse KinematicsChapter 3 Manipulator Kinematics
25
Subproblem 3: Rotation to a given point
Given a zero-pitch twist , with unit magnitude and p, q R3, nd s.t. q ep = Dene: u = p r, v = q r, v eu2 = 2
u = u Tuv = v Tv
r
u
v
q
p
T (pq)
v
u
eu
0
u = u + Tu, v = v + Tv, 2 = 2 T(p q)2
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.2 Inverse KinematicsChapter 3 Manipulator Kinematics
26
(v + Tv) e(u + Tu)2 = 2v eu + T(v u)
T(qp)2 = 2
v eu2 = 2 T(p q)2 = 2,0 = atan2(T(u v), uTv), = 0 u2 + v2 2u v cos = 2, = 0 cos1 u + v 2
2u v ()Zero, one or two solutions!
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.2 Inverse KinematicsChapter 3 Manipulator Kinematics
27
Solving inverse kinematics using subproblems:
Technique 1: Eliminate the dependence on a joint
ep = p, if p l. Given e11e22e33 = g,select p l3 , p l1 or l2 , then
gp = e11e22pTechnique 2: subtract a common point
e11e22e33 = g , q l1 l
2
e11e22e33p q = gp qe33p q = gp q
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.2 Inverse KinematicsChapter 3 Manipulator Kinematics
28
Example: Elbow manipulator
52 3
1 4
l0
l1 l26
pbqw
S
gst() = e11e22e33e44e55e66gst(0) = gd e11e22e33e44e55e66 = gd g1st (0) = g1
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.2 Inverse KinematicsChapter 3 Manipulator Kinematics
29
Step 1: Solve for 3
Let e11 . . . e66q = g1 q e11e22e33q = g1 q
Subtract pb from g1q:
e11e22(e33q pb) = g1q pb e33q pb Subproblem 3
Step 2: Given 3, solve for 1 , 2
e11e22(e33q) = g1q, Subproblem 2 1 , 2
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.2 Inverse KinematicsChapter 3 Manipulator Kinematics
30
Step 3: Given 1, 2, 3, solve 4, 5
e44e55e66 = e33e22e11g1g2
let p l6 , p l4 or l5 , e44e55p = g2p,Subproblem 2 4 and 5.
Step 4: Given (1, . . . , 5), solve for 6e66 = (e11 . . . e55)1 g1 g3Let p l6 e66p = g3 p = q Subproblem 1Maximum of solutions: 8
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.2 Inverse KinematicsChapter 3 Manipulator Kinematics
31
Example: Inverse Kinematics of SCARA
x
z
y
1
l1
2
l0
l2
3
4
q3q2
T
Sq1
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.2 Inverse KinematicsChapter 3 Manipulator Kinematics
32
gst() = e11 . . . e44gst(0) =c s 0 xs c 0 y0 0 1 z0 0 0 1
gd ,
p =0001
p() = [ l1s1 l2s12l1c1 + l2c12
l0 + 4 ] = [xyz] 4 = z l0
e11e22e33 = gdg1st (0)e44 g1
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.2 Inverse KinematicsChapter 3 Manipulator Kinematics
33
Let p l3 , q l1 e11e22p = g1p,e11(e22p q) = g1p q,
e22p q = Subproblem 3 to get 2 e11(e22p) = g1p 1 Subproblem 1 to get 1 e33 = e22e11gdg1st (0)e44 g2e33p = g2p, p l3
ere are a maximum of two solutions!
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.3 Manipulator JacobianChapter 3 Manipulator Kinematics
34
Given gst Q SE(3), (t) = (1(t) . . . n(t))T e11 . . . enngst(0)and (t) = (1(t) . . . n(t))T ,
What is the velocity of the tool frame?
Vsst = gst()g1st () =ni=1
(gsti
i)g1st ()= n
i=1
(gsti
g1st ())i Vsst =ni=1
(gsti
g1st ()) i= [(gst
1g1st ()) , . . . , (gstn g1st ())]
Jsst()R6n
1n
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.3 Manipulator JacobianChapter 3 Manipulator Kinematics
35
gst() = e11 . . . enngst(0)gst1
g1st () = (1e11 . . . enngst(0))(gst())1 = 1(gst1
g1st ()) = 1gst2
g1st () = (e11 2e22 . . . enngst(0))(gst())1= e11 2e22 . . . enngst(0)g1st () = e11 2e11 2
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.3 Manipulator JacobianChapter 3 Manipulator Kinematics
36
(gst2
g1st ()) = Ade 1 1 2 = 2
(gsti
g1st ()) = Ade 1 1 ...e i1 i1 i i Jsst() = [1, 2, . . . , n]
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.3 Manipulator JacobianChapter 3 Manipulator Kinematics
37
Interpretation of i:i is only aected by 1 . . . i1e twist associated with joint i, at the present conguration.
Body jacobian:
Vbst = Jbst() Jbst() = [1 . . . n1, n]
i = Ad1e i+1 i+1 ...e n n gst(0)iJoint twist written with respect to the body frame at the current con-
guration!
Jsst() = Adgst() Jbst()If Jsst is invertible, (t) = (Jsst())1 Vsst(t)
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.3 Manipulator JacobianChapter 3 Manipulator Kinematics
38
Given g(t), how to nd (t)?1) Vsst = g(t)g1(t)2) { (t) = (Jsst())1Vsst(t)
(0) = 0 (t)
Example: Jacobian for a SCARA manipulator
q1 = [ 000] , q2 = [ l1s1l1c1
0] , q3 = [ l1s1 l2s12l1c1 + l2c12
0] ,
1 = 2 = 3 = [0 0 1]T1 = [ 1 q11 ] = [ 0 0 0 0 0 0 ]T2 = [ 2 q22 ] = [ l1c1 l1s1 0 0 0 0 ]T3 = [ 3 q33 ] = [ l1c1 + l2c12 l1s1 + l2s12 0 0 0 1 ]T
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.3 Manipulator JacobianChapter 3 Manipulator Kinematics
39
S
T
l1
l2
1
23
4
l0
4 = [ v40 ] = [ 0 0 1 0 0 0 ]T
Jsst() =
0 l1c1 l1c1 + l1c12 00 l1s1 l1s1 + l1s12 00 0 0 10 0 0 00 0 0 01 1 1 0
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.3 Manipulator JacobianChapter 3 Manipulator Kinematics
40
Example: Jacobian of Stanford arm
1
2
l0
q1
45
6
3
l1
S
qw
q1 = q2 = [ 00l0], 1 = [ 00
1] 2 = [ c1s10 ]
1 = [ 1 q11 ] = [ 0 0 0 0 0 1 ]2 = [ 2 q22 ] = [ l0s1 = l0c1 0 c1 s1 0 ]
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.3 Manipulator JacobianChapter 3 Manipulator Kinematics
41
3 =ez1 ex2 [ 00
1]
0
= [s1c2 c1c2 s2 0 0 0]T = [ v30 ]
q = [ 00l0] + ez1 ex2 [ 0l1 + 3
0] =(l1 + 3)s1c2(l1 + 3)c1c2l0 (l1 + 3)s2
4 = ez1 ex2 [ 00
1] = [ s1s2c1s2c2 ]
5 = ez1 ex2 ez4 [ 100] = [ c1c4 + s1c2s4s1c4 c1c2s4s2s4 ]
6 = ez1 ex2 ez4 ex5 [ 010] = [ c5(s1c2c4) + s1s2s5c5(c1c2c4 s1s4) c1s2s5s2c4c5 c2s5 ]
Jsst = [ 0 2 q1 v3 5 q 5 q 6 q1 2 0 4 5 6 ]
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.3 Manipulator JacobianChapter 3 Manipulator Kinematics
42
End-eector force:
Ft = [ forcetorque ]W =
t2
t1Vbst Ftdt = t2
t1 dt = t2
t1T(Jbst())T Ftdt
= (Jbst)TFt = (Jsst)TFsGiven Ft , what is required to balance that force?
If we apply a set of joint torques, what is the resulting
end-eector wrench?
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.3 Manipulator JacobianChapter 3 Manipulator Kinematics
43
Structural force:Structural force: that produces no work on admissible velocity
space Vb
Fb Vb = 0,Vb ImJbst() Fb (ImJbst) Review:
A Rmn ,(ImA) = kerAT(kerA) = ImAT
(ImJbst) = ker(Jbst)T , = (Jbst)TFb 0,Fb ker(Jbst)T
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.3 Manipulator JacobianChapter 3 Manipulator Kinematics
44
Example: SCARA manipulator
TFN1
FN2S
4
3
2
1
(Jsst())T =
0 0 0 0 0 1l1c1 l1s1 0 0 0 1
l1c1 + l1c12 l1s1 + l1s12 0 0 0 10 0 1 0 0 0
ker((Jsst())T): spanned by
FN1 = [ 0 0 0 1 0 0 ]FN2 = [ 0 0 0 0 1 0 ]
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.3 Manipulator JacobianChapter 3 Manipulator Kinematics
45
Singularities:
is called a singular conguration if there 0 s.t. Vsst = Jsst() =0
or...A singularity cong. is a point at which Jsst drops rank.Consequence: (n = 6)
1 Cant move in certain directions.
2 Large joint motion is required.
3 Large structural force.
4 Cant apply end-eector force in certain direction force!
Singularities for 6R-manipulators:
Jsst = [ 1 q1 2 q2 . . . 6 q61 2 . . . 6 ]
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.3 Manipulator JacobianChapter 3 Manipulator Kinematics
46
Case 1: Two collinear revolute joints
J() is singular if there exists two joints1 = [ 1 q11 ] , 2 = [ 2 q22 ]
s.t.
1 e axes are parallel,1 = 22 e axes are collinear,i (q1 q2) = 0, i = 1, 2
Proof :
Elementary row or column operation do not change rank of J()J() = [ 1 q1 2 q2 1 2 ] R6n 1=2
J() [ 1 q1 2 (q2 q1) 1 0 ]
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.3 Manipulator JacobianChapter 3 Manipulator Kinematics
47Case 2: Parallel coplanar revolute joint axes
J()is singular if there exists two joints s.t.1 e axes are parallel,i = j, i, j = 1, 2, 32 e axes are coplanar, i.e. there exists a plane with normal n
s.t. nTi = 0, nT(qi qj) = 0, i, j = 1, 2, 3
3
q2
2
1
x
y
q3
z
y2
y3
q1
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.3 Manipulator JacobianChapter 3 Manipulator Kinematics
48
Proof :
Using change of frame J AdgJ and assume
J() = [ 1 q1 2 (q2 q1) 1 2 ] ,
AdgJ() =
0 y2 y3 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
Linearly independent
Examples are such as the Elbowmanipulator in its reference cong.
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.3 Manipulator JacobianChapter 3 Manipulator Kinematics
49
Case 3: Four intersecting revolute joints axes
J() is singular if there exists four concurrent revolute joints withintersection point q s.t.:
i (qi q) = 0, i = 1, . . . , 4Proof :
Choose the frame origin at q,
p = qi, i = 1, . . . , 4
J() = [ 0 0 0 0 1 2 3 4 ]
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.3 Manipulator JacobianChapter 3 Manipulator Kinematics
50
Manipulability:
xy
= J()l1
l2
l31
2
3
Singular value decomposition:Given A Rn Rm, assume: n m and rank(A) = r n, then
A = UVT = [u1 un] [ 1 2 n]
vT1
vTn
where U Rmn, V Rnn, Rnn, 1 r > r+1 = =n = 0 and U
TU = VTV = VVT = Inn.Moreover, Im(A) = {u1 , . . . , ur} and ker(A) = {vr+1 , . . . , vn}.
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.3 Manipulator JacobianChapter 3 Manipulator Kinematics
51
Review: Basic facts of a linear transformationRn= Im(AT) ker(A)
Rm= Im(A) ker(AT)
rank(A) = dim(Im(A))Im(A) = {u1 , . . . , ur}ker(A) = {vr+1, . . . , vn}Im(AT) = (kerA) = {v1 , . . . , vr}ker(AT) = (Im(A)) = {ur+1 , . . . , um}
(need to span {u1 , . . . , un} to a full orhogonal set {u1 , . . . , um})
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.4 Redundant and Parallel ManipulatorsChapter 3 Manipulator Kinematics
52
Redundant manipulator:No. of joints > Dimension of Task Space.
E.g.No. of joints = 3, Task space R2(dim = 2)No. of joints = 7, Task space SE(3)(dim = 6).
Purpose of Redundancy:
1. Avoid obstacles
2. Optimize some cost criteria.
gst() = e11 . . . e66gst(0),Jst() = [ 1 2 . . . n ] , n > p, p = 3, 6
Inverse Kinematis:
gst((t)) = gd Qs = { Qgst() = gd} self motion manifoldTQs { TQJsst() = 0} Internal motion
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.4 Redundant and Parallel ManipulatorsChapter 3 Manipulator Kinematics
53
Given Vst = Jst() = Jst()JT(JJT)1 Moore-Penrose generalized inverse
Vst
{ l1c1 + l2c12 + l3c123 = xl1s1 + l2s12 + l3s123 = yJ =
p
= [ l1s1 l2s12 l3s123 l2s12 l3s123 l3s123l1c1 + l2c12 + l3c123 l2c12 + l3c123 l3c123 ] ,
vN = [ l2l3s3l2l3s3 l1l3s23l1l2s3 + l1l3s23 ]
(x, y)
3 2
1
1
2
3
VN
(a) (b)
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.4 Redundant and Parallel ManipulatorsChapter 3 Manipulator Kinematics
54
Robot d.o.f mass load Repeatability loadmass
Adept 3 4 205 25 0.025 0.122Epson H803N-MZ 4 96 8 0.02 0.0833
GMF A-600 4 120 6 0.02 0.05Pana Robo HR50 4 52 5 0.02 0.096
Puma RS84 4 130 5 0.02 0.0384Sankyo Skilam SR-3C 4 120 6 0.02 0.05
Sony SRX-3CH 4 64 2 0.02 0.0625TABLE 1.1.Characteristics of industrial manipulators (SCARA type,
mass of the robot and load capacity in kg, repeatability in mm, ac-
cording to the manufacturers notice).
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.4 Redundant and Parallel ManipulatorsChapter 3 Manipulator Kinematics
55
Robot mass load Repeatability loadmass
Acma SR 400 430 10 0.1 0.0232Acma YR500 590 30 0.2 0.0508ABB IRB L6 145 6 0.2 0.0414ABB IRB 2000 370 10 0.1 0.027CM T3646 1500 22 0.25 0.0147CM T3786 2885 90 0.25 0.0312
GMF Arc Mate 120 5 0.2 0.0417GMF S 10 200 10 0.1 0.05
Hitachi M6100 405 6 0.2 0.0148Hitachi M6100 410 10 0.1 0.0243Kuka IR 163/65 1700 60 0.5 0.0353Kuka IR 363/15 290 8 0.1 0.0276
Puma 550 63 4 0.1 0.0634Puma 762 590 20 0.2 0.0338
TABLE 1.2.Characteristics of industrial manipulators (spherical
type, mass of the robot and load capacity in kg, repeatability in
mm, according to the manufacturers notice).
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.4 Redundant and Parallel ManipulatorsChapter 3 Manipulator Kinematics
56
Parallel Manipulator:
Delta manipulator Stewart manipulator
delta.aviMedia File (video/avi)
stewart.aviMedia File (video/avi)
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.4 Redundant and Parallel ManipulatorsChapter 3 Manipulator Kinematics
57
Structure equation:
gst() = e1111 . . . e1n1 1n1 gst(0)= e2121 . . . e2n2 2n2 gst(0)= ek1k1 . . . eknk knk gst(0)E = {(11 , . . . , 1n1 , . . . , k1 , . . . , knk)} (free cfg. space)Q = { Egst() = g1st(1) = gkst(k)} (actual cfg. space)
Computation of dimension of Q: (DOF)
Greublers formula:F = 6N g
i=1
(6 fi) = 6(N g) +gi=1
fi
g =No. of joints, fi =DOF of the ith joint, N = No. of links
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.4 Redundant and Parallel ManipulatorsChapter 3 Manipulator Kinematics
58
Using the above equation to the manipulator shown in the gure:
g = 9ft = 1N = 7 F = 3(7 9) + 9i=1
1 = 3(2) + 9 = 3 Parametrization of Q (the process ofdesignating active joints):
Velocity Relation: Vsst = J1s 1 = J2s 2 = = Jks k
[ J1 Jk]
1
k
= [ I
I]Vsst
J = I VsstJa a + Jp p = I Vsst
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.4 Redundant and Parallel ManipulatorsChapter 3 Manipulator Kinematics
59
Im(Js1): Allowed velocity by chain 1Im(Js1) Im(Jsk): Allowed velocity
g: Rank of structure equationg = dimki=1Im(Ji())Denition: Conguration Space Singularity
A point Q s.t.the structure equation drops rank.
J1(1)1 J2(2)2 = 0J1(1)1 J3(3)3 = 0J1(1)k Jk(k)k = 0
J1(1) J2(2)J1(1) 0 J3(3) J1(1) . . . Jk(k)
12k
= 0
J() = 0
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.4 Redundant and Parallel ManipulatorsChapter 3 Manipulator Kinematics
60
Howmany constraint equations?: p(k 1)E.g.
k = 1, p = 3 3k = 3, p = 3 6k = 6, p = 6 6 5 = 30
n = DOF, dimQ = dimQn
No. of independent constrainsDenition: Conguration Space Singularity
A point Q s.t. rank(J()) drops below its full rank. Example: 4-bar mechanism
r l1 sin 11 + r cos (11 + 12) = x = r l2 sin 21 r cos 21 + 22l1 cos 11 + r sin (11 + 12) = y = h + l2 cos 21 r sin (21 + 22)
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.4 Redundant and Parallel ManipulatorsChapter 3 Manipulator Kinematics
61
11 + 12 = = 21 + 22[ l1 cos 11 r sin 11 r sin 12 l2 cos 21 + r sin 21 r sin 22l1 sin 11 + r cos 12 r cos 12 l2 sin 21 + r cos 22 r cos 22
1 1 1 1 ] = 0
(a) Singular configuration
active joint
(b) Uncertainty configuration
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.4 Redundant and Parallel ManipulatorsChapter 3 Manipulator Kinematics
62
An alternative method:
l1 cos 1 + l2 cos 2 l3 cos 3 l4 = 0l1 sin 1 + l2 sin 2 l3 sin 3 = 0
Q = (1 , 2 ,3)l1
l2
l3
l4
1
2
3
[ l1 sin 1 l2 sin 2 l3 sin 3l1 cos 1 l2 cos 2 l3 cos 3 ]J()
123
= 0
J() drop rank!{ 1 2 = , or 02 3 = , or 01 3 = , or 0
Chapter 3ManipulatorKinematics
Forwardkinematics
InverseKinematics
ManipulatorJacobian
Redundantand ParallelManipulators
3.4 Redundant and Parallel ManipulatorsChapter 3 Manipulator Kinematics
63
If J() is of normal rank, the conguration space of the system is:Q = f 1(0), where f = 0 is the close loop constraint
How to parameterizeQ by active joints: a,p
J1()a + J2()p = 0Actuator singularity if rank J2() < normal rank of J2().
Chapter 3 Manipulator KinematicsForward kinematicsInverse KinematicsManipulator JacobianRedundant and Parallel Manipulators