ECE5463: Introduction to Robotics Lecture Note 7: …zhang/RoboticsClass/docs/LN7...Jacobian:...

20
ECE5463: Introduction to Robotics Lecture Note 7: Velocity Kinematics and Jacobian Prof. Wei Zhang Department of Electrical and Computer Engineering Ohio State University Columbus, Ohio, USA Spring 2018 Lecture 7 (ECE5463 Sp18) Wei Zhang(OSU) 1 / 20

Transcript of ECE5463: Introduction to Robotics Lecture Note 7: …zhang/RoboticsClass/docs/LN7...Jacobian:...

Page 1: ECE5463: Introduction to Robotics Lecture Note 7: …zhang/RoboticsClass/docs/LN7...Jacobian: directly relate _ to the spacial/body twist V Introduction Lecture 7 (ECE5463 Sp18) Wei

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

Page 2: ECE5463: Introduction to Robotics Lecture Note 7: …zhang/RoboticsClass/docs/LN7...Jacobian: directly relate _ to the spacial/body twist V Introduction Lecture 7 (ECE5463 Sp18) Wei

Outline

• Introduction

• Space and Body Jacobians

• Kinematic Singularity

Outline Lecture 7 (ECE5463 Sp18) Wei Zhang(OSU) 2 / 20

Page 3: ECE5463: Introduction to Robotics Lecture Note 7: …zhang/RoboticsClass/docs/LN7...Jacobian: directly relate _ to the spacial/body twist V Introduction Lecture 7 (ECE5463 Sp18) Wei

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

Page 4: ECE5463: Introduction to Robotics Lecture Note 7: …zhang/RoboticsClass/docs/LN7...Jacobian: directly relate _ to the spacial/body twist V Introduction Lecture 7 (ECE5463 Sp18) Wei

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

Page 5: ECE5463: Introduction to Robotics Lecture Note 7: …zhang/RoboticsClass/docs/LN7...Jacobian: directly relate _ to the spacial/body twist V Introduction Lecture 7 (ECE5463 Sp18) Wei

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

Page 6: ECE5463: Introduction to Robotics Lecture Note 7: …zhang/RoboticsClass/docs/LN7...Jacobian: directly relate _ to the spacial/body twist V Introduction Lecture 7 (ECE5463 Sp18) Wei

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

Page 7: ECE5463: Introduction to Robotics Lecture Note 7: …zhang/RoboticsClass/docs/LN7...Jacobian: directly relate _ to the spacial/body twist V Introduction Lecture 7 (ECE5463 Sp18) Wei

Outline

• Introduction

• Space and Body Jacobians

• Kinematic Singularity

Geometric Jacobian Lecture 7 (ECE5463 Sp18) Wei Zhang(OSU) 7 / 20

Page 8: ECE5463: Introduction to Robotics Lecture Note 7: …zhang/RoboticsClass/docs/LN7...Jacobian: directly relate _ to the spacial/body twist V Introduction Lecture 7 (ECE5463 Sp18) Wei

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

Page 9: ECE5463: Introduction to Robotics Lecture Note 7: …zhang/RoboticsClass/docs/LN7...Jacobian: directly relate _ to the spacial/body twist V Introduction Lecture 7 (ECE5463 Sp18) Wei

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

Page 10: ECE5463: Introduction to Robotics Lecture Note 7: …zhang/RoboticsClass/docs/LN7...Jacobian: directly relate _ to the spacial/body twist V Introduction Lecture 7 (ECE5463 Sp18) Wei

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

Page 11: ECE5463: Introduction to Robotics Lecture Note 7: …zhang/RoboticsClass/docs/LN7...Jacobian: directly relate _ to the spacial/body twist V Introduction Lecture 7 (ECE5463 Sp18) Wei

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

Page 12: ECE5463: Introduction to Robotics Lecture Note 7: …zhang/RoboticsClass/docs/LN7...Jacobian: directly relate _ to the spacial/body twist V Introduction Lecture 7 (ECE5463 Sp18) Wei

Space Jacobian Example (Continued)

Geometric Jacobian Lecture 7 (ECE5463 Sp18) Wei Zhang(OSU) 12 / 20

Page 13: ECE5463: Introduction to Robotics Lecture Note 7: …zhang/RoboticsClass/docs/LN7...Jacobian: directly relate _ to the spacial/body twist V Introduction Lecture 7 (ECE5463 Sp18) Wei

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

Page 14: ECE5463: Introduction to Robotics Lecture Note 7: …zhang/RoboticsClass/docs/LN7...Jacobian: directly relate _ to the spacial/body twist V Introduction Lecture 7 (ECE5463 Sp18) Wei

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

Page 15: ECE5463: Introduction to Robotics Lecture Note 7: …zhang/RoboticsClass/docs/LN7...Jacobian: directly relate _ to the spacial/body twist V Introduction Lecture 7 (ECE5463 Sp18) Wei

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

Page 16: ECE5463: Introduction to Robotics Lecture Note 7: …zhang/RoboticsClass/docs/LN7...Jacobian: directly relate _ to the spacial/body twist V Introduction Lecture 7 (ECE5463 Sp18) Wei

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

Page 17: ECE5463: Introduction to Robotics Lecture Note 7: …zhang/RoboticsClass/docs/LN7...Jacobian: directly relate _ to the spacial/body twist V Introduction Lecture 7 (ECE5463 Sp18) Wei

Outline

• Introduction

• Space and Body Jacobians

• Kinematic Singularity

Singularity Lecture 7 (ECE5463 Sp18) Wei Zhang(OSU) 17 / 20

Page 18: ECE5463: Introduction to Robotics Lecture Note 7: …zhang/RoboticsClass/docs/LN7...Jacobian: directly relate _ to the spacial/body twist V Introduction Lecture 7 (ECE5463 Sp18) Wei

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

Page 19: ECE5463: Introduction to Robotics Lecture Note 7: …zhang/RoboticsClass/docs/LN7...Jacobian: directly relate _ to the spacial/body twist V Introduction Lecture 7 (ECE5463 Sp18) Wei

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

Page 20: ECE5463: Introduction to Robotics Lecture Note 7: …zhang/RoboticsClass/docs/LN7...Jacobian: directly relate _ to the spacial/body twist V Introduction Lecture 7 (ECE5463 Sp18) Wei

More Discussions

Singularity Lecture 7 (ECE5463 Sp18) Wei Zhang(OSU) 20 / 20