LectureNotes for AMathematicalIntroductionto...
Transcript of LectureNotes for AMathematicalIntroductionto...
-
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