<<

ECE5463: Introduction to Robotics Lecture Note 5: of a

Prof. Wei Zhang

Department of Electrical and Computer Engineering Ohio State University Columbus, Ohio, USA

Spring 2018

Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 1 / 24 Outline

Introduction •

Rotational Velocity •

Change of Reference Frame for Twist (Adjoint Map) •

Rigid Body Velocity •

Outline Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 2 / 24 Introduction

For a moving particle with coordinate p(t) 3 at t, its (linear) velocity • R is simply p˙(t) ∈

A moving rigid body consists of infinitely many particles, all of which may • have different . What is the velocity of the rigid body?

Let T (t) represent the configuration of a moving rigid body at time t.A • point p on the rigid body with (homogeneous) coordinate p˜b(t) and p˜s(t) in body and frames:

p˜ (t) p˜ , p˜ (t) = T (t)˜p b ≡ b s b

Introduction Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 3 / 24 Introduction

Velocity of p is d p˜ (t) = T˙ (t)p • dt s b

T˙ (t) is not a good representation of the velocity of rigid body • - There can be 12 nonzero entries for T˙ .

- May change over time even when the body is under a constant velocity (constant + constant linear motion)

Our goal is to find effective ways to represent the rigid body velocity. •

Introduction Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 4 / 24 Outline

Introduction •

Rotational Velocity •

Change of Reference Frame for Twist (Adjoint Map) •

Rigid Body Velocity •

Rotational Velocity Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 5 / 24 Illustrating Example

Question: Given the orientation R(t) of a rotating frame as a function of • time t, what is the the ?

We start with an example for which we know the answer, then we generalize • to obtain a formal answer

Example: Suppose b starts with an initial orientation R(0) and rotates about ˆx • at unit constant { (i.e.} we know the angular velocity at time t > 0 is ω = (1, 0, 0)T ), where  0 0 1   1 0 0  R(0) =  0 −1 0  Rot(ˆx; θ) =  0 cθ −sθ  1 0 0 0 sθ cθ

Consider a point p rigidly attached to frame b with coordinates ps(t) and pb(t) in { } s and b frames. { } { }

Rotational Velocity Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 6 / 24 Illustrating Example (Continued)

p (t) = R(t)p p˙ (t) = R˙ (t)p • s b ⇒ s b

Since we know the motion in this example, we must have p˙ (t) = ω p (t), • s s where ω = (1, 0, 0) ×

Conclusion: •

Rotational Velocity Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 7 / 24 Properties of Rotation Matrices

Property: For any ω R3 and R SO(3), we have • ∈ ∈ R[ω]RT = [Rw]

1 Property: Let R(t) SO(3) be differentiable in t, then R˙ (t)R− (t) and • 1 ∈ R− (t)R˙ (t) are both skew symmetric, i.e. they are in so(3).

Rotational Velocity Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 8 / 24 Rotational Velocity Representation

Rotational Velocity in space frame: Let R (t) be the orientation of a rotating • sb frame b at time t. Then the (instantaneous) angular velocity vector w of frame { } b is given by { } ˙ 1 [ωs] = RsbRsb−

where ωs is the s -frame coordinate of w. { }

Note the angular velocity w is a free vector, which can be represented in • different frames. Its coordinates ω and ω in frames c and d satisfy • c d { } { }

ωc = Rcdωd

Rotational Velocity Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 9 / 24 Rotational Velocity in Body Frame

Rotational velocity in body frame: Consider the same set up as the • previous slide where Rsb(t) is the orientation of the rotating frame b . { −}1 - ωb denotes the body-frame representation of w, i.e. ωb = Rbs(t)ωs = Rsb (t)ωs

−1 [ωb] = R R˙ sb ⇒ sb

- Note: ωb is NOT the angular velocity relative to a moving frame. It is rather the velocity relative to the stationary frame that is instantaneously coincident with the rotating body frame.

Rotational Velocity Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 10 / 24 Example of Rotational Velocity

θ(t)

 cos θ(t) sin θ(t) 0  − Figure 2.10: RotationalR(t) =  motionsin θ(t) of a onecos θ degree(t) of 0 freedom manipulator. 0 0 1 Example 2.4. Rotational motion of a one degree of freedom manipulator Consider the motion of the one degree of freedom manipulator shown in Figure 2.10. Let θ(t) be the of rotation about some reference configuration. The trajectory of the manipulator is given by

cos θ(t) sin θ(t) 0 R(t) = sin θ(t)− cos θ(t) 0 .  0 0 1   The spatial velocity is

Rotational Velocity Lecture 5 (ECE5463 Sp18) θ˙ sin θ θ˙ cos θ 0Wei Zhang(OSU)cos θ sin θ 11 /0 24 0 θ˙ 0 s T 2− − 3 2 3 2 − 3 ω = RR˙ = θ˙ cos θ θ˙ sin θ 0 sin θ cos θ 0 = θ˙ 0 0 , − − b 4 0 0 05 4 0 0 15 40 0 05 hence, 0 ωs = 0 .   θ˙   The body velocity is

0 θ˙ 0 0 − ωb = RT R˙ = θ˙ 0 0 or ωb = 0 .     0 0 0 θ˙ b     4.2 Rigid body velocity

Let us now consider the general case where gab(t) SE(3) is a one- parameter curve (parameterized by time) representing∈ a trajectory of a rigid body: more specifically, the rigid body motion of the frame B

53 Outline

Introduction •

Rotational Velocity •

Change of Reference Frame for Twist (Adjoint Map) •

Rigid Body Velocity •

Adjoint Representation Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 12 / 24 Change of Reference Frame for Twist

Given two frames c and d with T = (R, p) representing the configuration of • { } { } d relative to c . The same rigid body motion can be represented in c or in { } { } { } d using the twist c = (ωc, vc) or d = (ωd, vd), respectively. How do these two { } V V twists relate to each other?

Adjoint Representation Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 13 / 24 Change of Reference Frame for Twist (Continued)

ω R 0 ω c = d • ⇒ vc [p]RR vd      

Adjoint Representation Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 14 / 24 Adjoint Map

Given T = (R, p) SE(3), its adjoint representation (adjoint map) • ∈ [AdT ] is R 0 [Ad ] = T [p]RR   Adjoint map changes reference frames for twist vector. If T is configuration • of d relative to c , then the twists and V in two frames are related by { } { } Vc d 1 V = [Ad ]V or equilvalently [ ] = T [V ]T − c T d Vc d

Properties of Adjoint: • - Given T1,T2 SE(3) and = (ω, v), we have ∈ V

[AdT ][AdT ] = [AdT T ] 1 2 V 1 2 V

- For any T SE(3), ∈ −1 [AdT ] = [AdT −1 ]

Adjoint Representation Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 15 / 24 Example: Change reference frame for twist

Two frames a and b and configuration of b relative to a is T = (R, p0) with { } { } { } { }  0 1 0  R =  1 0 0  , p0 = (0, 2, 0) 0 0 −1

Adjoint Representation Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 16 / 24 Example: Change reference frame for Twist (Continued)

Adjoint Representation Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 17 / 24 Outline

Introduction •

Rotational Velocity •

Change of Reference Frame for Twist (Adjoint Map) •

Rigid Body Velocity •

Rigid Body Velocity Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 18 / 24 Derivation of Spatial Velocity of a Rigid Body

Question: Given configuration T (t) = (R (t), p (t)) of a moving rigid • sb sb sb body, how to represent/find the velocity of the rigid body?

Similar to the rotational velocity, we consider a point q attached to the body • and derive its differential equation in s frame. { } q (t) = R (t)q + p (t) q˙ (t) = ω q (t) + v s sb b sb ⇒ s s × s s

Rigid Body Velocity Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 19 / 24 Spatial Twist and Body Twist

Given T (t) = (R(t), p(t)). Spatial velocity in space frame (called spatial • sb twist) is given by = (ω , v ), with [ω ] = RR˙ T , v =p ˙ + ω ( p) Vs s s s s s × −

Change reference frame to body frame will lead to body twist: • = (ω , v ) = [Ad ] , where [ω ] = RT R,˙ v = RT p˙ Vb b b Tbs Vs b b

Rigid Body Velocity Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 20 / 24 Spatial Twist and Body Twist: Interpretations

ω and ω is the angular velocity expressed in b and s , respectively. • b s { } { }

vb is the linear velocity of the origin of b expressed in b ; vs is the linear • 98 3.3. Rigid-Body and Twists velocity of the origin of s expressed in{ }s { } { } { }

b { } p˙ s { } p −

vs

Figure 3.17: Physical interpretation of vs. The initial (solid ) and displaced (dashed line) configurations of a rigid body.

in the body frame, or simply the body twist,6 to be

ωb 6 b = R . (3.70) V vb ∈   Just as it is convenient to have a skew-symmetric matrix representation of an angular velocity vector, it is convenient to have a matrix representation of a twist, as shown in Equation (3.69). We will stretch the [ ] notation, writing Rigid Body Velocity Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU)· 21 / 24

1 [ωb] vb T − T˙ = [ ] = se(3), (3.71) Vb 0 0 ∈   3 where [ωb] so(3) and vb R . The set of all 4 4 matrices of this form is called se(3)∈ and comprises∈ the matrix representations× of the twists associated with the rigid-body configurations SE(3).7

6The term “twist” has been used in different ways in the mechanisms and theory literature. In robotics, however, it is common to use the term to refer to a spatial velocity. We mostly use the term “twist” instead of “spatial velocity” to minimize verbiage, e.g., “body twist” versus “spatial velocity in the body frame.” 7se(3) is called the Lie algebra of the Lie group SE(3). It consists of all possible T˙ when T = I.

May 2017 preprint of Modern Robotics, Lynch and Park, Cambridge U. Press, 2017. http://modernrobotics.org Example of Spatial/Body Twist I

θ

B

l0

A

l1 l2  cos θ(t) sin θ(t) 0 l2 sin θ(t)  Figure 2.11:sin Rigidθ(t) body− cos motionθ(t) generated 0 l by−+ rotationl cos aboutθ(t) a fixed axis. T (t) =  1 2   0 0 1 l0  Using the calculation0 of ωs 0from the 0 previous example, 1 we have

l1θ˙ 0 vs = 0 ωs = 0 .     0 θ˙     Note that vs is precisely the velocity of a point attached to the rigid body as it travels through the origin of the A coordinate frame. The body velocity is

b T vb v = R p˙ V b = ωb b T ˙   ω = (R R)∨, which gives l θ˙ 0 Rigid Body Velocity Lecture 5 (ECE5463 Sp18) 2 Wei Zhang(OSU) 22 / 24 vb = −0 ωb = 0 .     0 θ˙     The body velocity can be interpreted by imagining the velocity of the origin of the B coordinate frame, as seen in the B coordinates. Thus, the linear velocity is always in the x direction and the angular velocity is always in the z direction. The magnitude− of the linear component of the velocity is dependent on the length of the link connecting the B frame to the joint.

4.3 Velocity of a screw motion In the previous example, we calculated the spatial velocity of a rigid mo- tion generated by a screw , exp(ξθ). Referring back to Example 2.3

b 57 Example of Spatial/Body102 Twist II 3.3. Rigid-Body Motions and Twists

ˆyb vb ˆys b ˆxb { } s { } ˆxs w vs r

Figure 3.18: The twist corresponding to the instantaneous motion of the chassis of a three-wheeledr vehicle= (2 can, 1 be, 0) visualized, r = (2 as, an1. angular4, 0), w=2 velocity rad/s w about the point r. s − b −  1 0 0 4  w = 2 rad/s about an axis out of the page−0 at 1the point 0 r 0 in.4 the plane. Inspecting Tsb =   the figure, we can write r as rs = (2, 1,00) or 0rb = (21, 1. 04, 0), w as ωs = (0, 0, 2) − − or ω = (0, 0, 2), and T as 0 0− 0 1 b − sb 1 0 0 4 R p −0 1 0 0.4 T = sb sb = . sb 0 1  0 0 1 0    −  0 0 0 1      From the figure and simple geometry, we get

v = ω ( r ) = r ω = ( 2, 4, 0), s s × − s s × s − − v = ω ( r ) = r ω = (2.8, 4, 0), b b × − b b × b and thus obtain the twists and : Vs Vb Rigid Body Velocity Lecture 5 (ECE5463 Sp18) 0 Wei Zhang(OSU) 23 /0 24 0 0     ωs 2 ωb 2 s = = , b = = − . V vs  2  V vb  2.8     −       4   4   −     0   0          To confirm these results, try calculating = [Ad ] . Vs Tsb Vb 3.3.2.2 The Screw Interpretation of a Twist Just as an angular velocity ω can be viewed asω ˆθ˙, whereω ˆ is the unit rotation axis and θ˙ is the rate of rotation about that axis, a twist can be interpreted in terms of a screw axis and a velocity θ˙ about the screwV axis. S

May 2017 preprint of Modern Robotics, Lynch and Park, Cambridge U. Press, 2017. http://modernrobotics.org More Discussions

Rigid Body Velocity Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 24 / 24