ECE5463: Introduction to Robotics Lecture Note 7: …zhang/RoboticsClass/docs/LN7...Jacobian:...
Transcript of ECE5463: Introduction to Robotics Lecture Note 7: …zhang/RoboticsClass/docs/LN7...Jacobian:...
ECE5463: Introduction to Robotics
Lecture Note 7: Velocity Kinematics andJacobian
Prof. Wei Zhang
Department of Electrical and Computer EngineeringOhio State UniversityColumbus, Ohio, USA
Spring 2018
Lecture 7 (ECE5463 Sp18) Wei Zhang(OSU) 1 / 20
Outline
• Introduction
• Space and Body Jacobians
• Kinematic Singularity
Outline Lecture 7 (ECE5463 Sp18) Wei Zhang(OSU) 2 / 20
Jacobian
• Given a multivariable function x = f(θ), where x ∈ Rm and θ ∈ Rn. ItsJacobian is defined as
J(θ) ,
[∂f
∂θ(θ)
],
[∂fi∂θj
]i≤m,j≤n
∈ Rm×n
• If x and θ are both a function of time, then their velocities are related by theJacobian:
x =
[∂f
∂θ(θ)
]dθ
dt= J(θ)θ
• Let Ji(θ) be the ith column of J , then x = J1(θ)θ1 + · · ·+ Jn(θ)θn- Ji(θ) is the velocity of x due to θi (while θj = 0 for all j 6= i)
Introduction Lecture 7 (ECE5463 Sp18) Wei Zhang(OSU) 3 / 20
Velocity Kinematics Problem
• In the previous lecture, we studied the forward kinematics problem, thatobtains the mapping from joint angles to {b} frame configuration:
θ = (θ1, . . . , θn)T 7→ Tsb(θ)
• In this lecture, we study the velocity kinematics problem, namely, deriving therelation that maps velocities of joint variables θ to the “velocity” of theend-effector frame
- Note: we are interested in relating θ to the velocity of the entire body frame (notjust a point on the body)
- One may intend to write T (θ) = J(θ)θ. However, T ∈ SE(4) and its derivativeis not a good way to represent velocity of the body.
- Two approaches: (1) Analytical Jacobian: using a minimum set of coordinatex ∈ R6 of the frame configuration and then take derivative; (2) GeometricJacobian: directly relate θ to the spacial/body twist V
Introduction Lecture 7 (ECE5463 Sp18) Wei Zhang(OSU) 4 / 20
Analytical vs. Geometric Jacobian
• A straightforward way to characterize the velocity kinematics is through theAnalytical Jacobian
• Express the configuration of {b} using a minimum set of coordinates x. Forexample:
- (x1, x2, x3): Cartesian coordinates or spherical coordinate of the origin- (x4, x5, x6): Euler angles or exponential coordinate of the orientation
• Write down the forward kinematics using the minimum set of coordinate x:x = f(θ)
• Analytical Jacobian can then be computed as Ja(θ) =[∂f∂θ (θ)
]
• The analytical Jacobian Ja depends on the local coordinates system of SE(3)
• See Textbook 5.1.5 for more details
Introduction Lecture 7 (ECE5463 Sp18) Wei Zhang(OSU) 5 / 20
Analytical vs. Geometric Jacobian
• Geometric Jacobian directly finds relation between joint velocities andend-effector twist:
V =
[ωv
]= J(θ)θ, where J(θ) ∈ R6×n
• Note: V = (ω, v) is NOT a derivative of any position variable, i.e. V 6= dxdt
(regardless what representation x is used) because the angular velocity is notthe derivative of any time varying quantity.
• Analytical Jacobian Ja destroys the natural geometric structure of the rigidbody motion;
• Geometric Jacobian can be used to derive analytical Jacobian.
Introduction Lecture 7 (ECE5463 Sp18) Wei Zhang(OSU) 6 / 20
Outline
• Introduction
• Space and Body Jacobians
• Kinematic Singularity
Geometric Jacobian Lecture 7 (ECE5463 Sp18) Wei Zhang(OSU) 7 / 20
Geometric Jacobian in Space Form
• Given the forward kinematics: Tsb(θ1, . . . , θn) = e[S1]θ1 · · · e[Sn]θnM
• Let Vs = (ωs, vs) be the spacial twist, we aim to find Js(θ) such that
Vs = Js(θ)θ = Js1(θ)θ1 + · · ·+ Jsn(θ)θn
• The ith column Jsi is the velocity (twist) of the body frame due to only theith joint motion θi
• In other words, Jsi(θ) is the spatial twist when the robot is rotating about Siat unit speed θi = 1 while all other joints do not move (i.e. θj = 0 for j 6= i).
Geometric Jacobian Lecture 7 (ECE5463 Sp18) Wei Zhang(OSU) 8 / 20
Derivation of Space Jacobian
• Given any screw axis S, we have ddθie[S]θi = [S]e[S]θi
• For simplicity, denote Ts,i− = e[S1]θ1 · · · e[Si−1]θi−1 , i = 2, . . . , n. Let T = Tsb(θ)
• We have [Vs] = T T−1 =(∂T∂θ1
θ1 + · · ·+ ∂T∂θi
θi + · · ·+ ∂T∂θn
θn)T−1
• Let θi = 1 and θj = 0 for j 6= i ⇒ [Jsi(θ)] =∂T∂θi
T−1⇒ Jsi(θ) =[AdTs,i−
]Si
Geometric Jacobian Lecture 7 (ECE5463 Sp18) Wei Zhang(OSU) 9 / 20
Summary of Space Jacobian
• Given the forward kinematics: T (θ) = e[S1]θ1 · · · e[Sn]θnM• Space Jacobian: Js(θ) ∈ R6×n relates joint rate vector θ ∈ Rn to the
spatial twist Vs via Vs = Js(θ)θ. For i ≥ 2, the ith column of Js is
Jsi(θ) =[AdTs,i−
]Si, where Ts,i− = e[S1]θ1 · · · e[Si−1]θi−1
and the first column is Js1 = S1.
• Procedure: Suppose the current joint position is θ = (θ1, . . . , θn):
- i = 1: find the screw axis S1 = (ωs1, vs1) when robot is at home position⇒Js1 = S1
- i = 2: find the screw axis S2(θ) = (ωs2, vs2) after moving joint 1 from zeroposition to θ1. ⇒Js2(θ) = S2(θ)
- i = 3: find the screw axis S3(θ) = (ωs3, vs3) after moving the first 2 joints fromzero position to the θ1 and θ2. ⇒Js3(θ) = S3(θ)
-...
Geometric Jacobian Lecture 7 (ECE5463 Sp18) Wei Zhang(OSU) 10 / 20
Space Jacobian Example Chapter 5. Velocity Kinematics and Statics 181
θ1
θ2
θ3
θ4
x
yzxy
z
L1L2
q1q2
q3
Figure 5.7: Space Jacobian for a spatial RRRP chain.
• Since the final joint is prismatic, ωs4 = (0, 0, 0), and the joint-axis directionis given by vs4 = (0, 0, 1).
The space Jacobian is therefore
Js(θ) =
0 0 0 00 0 0 01 1 1 00 L1s1 L1s1 + L2s12 00 −L1c1 −L1c1 − L2c12 00 0 0 1
.
Example 5.3 (Space Jacobian for a spatial RRPRRR chain). We now derivethe space Jacobian for the spatial RRPRRR chain of Figure 5.8. The base frameis chosen as shown in the figure.
• The first joint axis is in the direction ωs1 = (0, 0, 1). Choosing q1 =(0, 0, L1), we get vs1 = −ω1 × q1 = (0, 0, 0).
• The second joint axis is in the direction ωs2 = (−c1,−s1, 0). Choosingq2 = (0, 0, L1), we get vs2 = −ω2 × q2 = (L1s1,−L1c1, 0).
May 2017 preprint of Modern Robotics, Lynch and Park, Cambridge U. Press, 2017. http://modernrobotics.org
Geometric Jacobian Lecture 7 (ECE5463 Sp18) Wei Zhang(OSU) 11 / 20
Space Jacobian Example (Continued)
Geometric Jacobian Lecture 7 (ECE5463 Sp18) Wei Zhang(OSU) 12 / 20
Body Jacobian
• Recall that Vb is the rigid body velocity expressed in body frame.
• By change of frame for twist, we know
Vb = [AdTbs]Vs or equivalently [Vb] = Tbs[Vs]T−1bs = T−1sb Tsb
• Body Jacobian Jb relates joint rates θ to Vb
Vb = Jb(θ)θ =[Jb1(θ) · · · Jbn(θ)
]
θ1...
θn
Geometric Jacobian Lecture 7 (ECE5463 Sp18) Wei Zhang(OSU) 13 / 20
Derivation of Body Jacobian
• Use Body form PoE kinematics formula: T (θ) =Me[B1]θ1 · · · e[Bn]θn
• For simplicity, denote Tb,i+ = e[Bi+1]θi+1 · · · e[Bn]θn , for i = 1, . . . , n− 1
• [Vb] = T−1T = T−1(∂T∂θ1
θ1 · · ·+ ∂T∂θn
θn
)
• Let θi = 1 and θj = 0 for j 6= i,
[Jb,i] = T−1∂T
∂θi
=(e−[Bn]θn · · · e−[B1]θ1
)(e[B1]θ1 · · · e[Bi−1]θi−1 [Bi]e[Bi]θi · · · e[Bn]θn
)
=(T bi+)−1
[Bi]T bi+
• Therefore,
Jb,i =[AdT−1
b,i+
]Bi
Geometric Jacobian Lecture 7 (ECE5463 Sp18) Wei Zhang(OSU) 14 / 20
Summary of Body Jacobian
• Given the forward kinematics: T (θ) =Me[B1]θ1 · · · e[Bn]θn
• Body Jacobian: Jb(θ) ∈ R6×n relates joint rate vector θ ∈ Rn to the bodytwist Vb via Vb = Jb(θ)θ. For i = n− 1, . . . , 1, the ith column of Jb is
Jbi(θ) =[AdT−1
b,i+
]Bi, where Tb,i+ = e[Si+1]θi+1 · · · e[Sn]θn
and the last column is Jbn = Bn.
Geometric Jacobian Lecture 7 (ECE5463 Sp18) Wei Zhang(OSU) 15 / 20
Relation Between Space and Body Jacobian
• Recall that: Vb = [AdTbs]Vs and Vs = [AdTsb
]Vb
• Body and spacial twists represent the velocity of the end-effector frame infixed and body frame
• The velocity may be caused by one or multiple joint motions. We know theith column Jsi (or Jbi) is the spacial twist (or body twist) when θi = 1 andθj = 0, j 6= i
• Therefore, we have Jsi = [AdTsb] Jbi and Jbi = [AdTbs
] Jsi. Putting all thecolumns together leads to
Js(θ) = [AdTsb] Jb(θ), and Jb(θ) = [AdTbs
] Js(θ)
• Detailed derivation can be found in the textbook.
Geometric Jacobian Lecture 7 (ECE5463 Sp18) Wei Zhang(OSU) 16 / 20
Outline
• Introduction
• Space and Body Jacobians
• Kinematic Singularity
Singularity Lecture 7 (ECE5463 Sp18) Wei Zhang(OSU) 17 / 20
Kinematic Singularity
• Roughly speaking, kinematic singularity (or simply singularity) refers to aposture at which the robot’s end-effector loses the ability to moveinstantaneously in one or more directions.
• Mathematically, a singular posture is one in which the Jacobian (Js(θ) orJb(θ)) fails to be of maximal rank
• Singularity is independent of the choice of space or body Jacobian
rankJs(θ) = rankJb(θ)
Singularity Lecture 7 (ECE5463 Sp18) Wei Zhang(OSU) 18 / 20
Singularity ExampleChapter 5. Velocity Kinematics and Statics 193
T (θ)
P
T (θ) = PT (θ)
T (θ)
(a)
T (θ)
Q
T (θ) = T (θ)Q
(b)
Figure 5.10: Kinematic singularities are invariant with respect to the choice of fixedand end-effector frames. (a) Choosing a different fixed frame, which is equivalent torelocating the base of the robot arm; (b) choosing a different end-effector frame.
That is, J ′s(θ) = Js(θ), so that the kinematic singularities are invariant withrespect to the choice of end-effector frame.
In the remainder of this section we consider some common kinematic singu-larities that occur in six-dof open chains with revolute and prismatic joints. Wenow know that either the space or body Jacobian can be used for our analysis;we use the space Jacobian in the examples below.
Case I: Two Collinear Revolute Joint Axes
The first case we consider is one in which two revolute joint axes are collinear(see Figure 5.11(a)). Without loss of generality these joint axes can be labeled1 and 2. The corresponding columns of the Jacobian are
Js1(θ) =
[ωs1
−ωs1 × q1
]and Js2(θ) =
[ωs2
−ωs2 × q2
].
Since the two joint axes are collinear, we must have ωs1 = ±ωs2; let us assumethe positive sign. Also, ωsi × (q1 − q2) = 0 for i = 1, 2. Then Js1 = Js2, the set{Js1, Js2, . . . , Js6} cannot be linearly independent, and the rank of Js(θ) mustbe less than six.
May 2017 preprint of Modern Robotics, Lynch and Park, Cambridge U. Press, 2017. http://modernrobotics.org
Two collinear revolute joint
Singularity Lecture 7 (ECE5463 Sp18) Wei Zhang(OSU) 19 / 20
More Discussions
Singularity Lecture 7 (ECE5463 Sp18) Wei Zhang(OSU) 20 / 20