Introduction to Robotics Lecture Note 5: Velocity of a Rigid Body
Total Page:16
File Type:pdf, Size:1020Kb
ECE5463: Introduction to Robotics Lecture Note 5: Velocity of a Rigid Body 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 time t, its (linear) velocity • R is simply p_(t) 2 A moving rigid body consists of infinitely many particles, all of which may • have different velocities. 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 space 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 motion (constant rotation + 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 angular velocity? 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 speedf (i.e.g we know the angular velocity at time t > 0 is ! = (1; 0; 0)T ), where 2 0 0 1 3 2 1 0 0 3 R(0) = 4 0 −1 0 5 Rot(^x; θ) = 4 0 cθ −sθ 5 1 0 0 0 sθ cθ Consider a point p rigidly attached to frame b with coordinates ps(t) and pb(t) in f g s and b frames. f g f g 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 • 2 2 R[!]RT = [Rw] 1 Property: Let R(t) SO(3) be differentiable in t, then R_ (t)R− (t) and • 1 2 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 f g b is given by f g _ 1 [!s] = RsbRsb− where !s is the s -frame coordinate of w. f g 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 f g f g !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 . f −g1 - !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) 2 cos θ(t) sin θ(t) 0 3 − Figure 2.10: RotationalR(t) = 4 motionsin θ(t) of a onecos θ degree(t) of 0 freedom5 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 angle 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 • f g f g d relative to c . The same rigid body motion can be represented in c or in f g f g f g d using the twist c = (!c; vc) or d = (!d; vd), respectively. How do these two f g 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) • 2 [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 f g f g 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 2 V [AdT ][AdT ] = [AdT T ] 1 2 V 1 2 V - For any T SE(3), 2 −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 f g f g f g f g 2 0 1 0 3 R = 4 1 0 0 5 ; 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. f g 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 f g f g vb is the linear velocity of the origin of b expressed in b ; vs is the linear • 98 3.3. Rigid-Body Motions and Twists velocity of the origin of s expressed inf gs f g f g f g b { } p˙ s { } p − vs Figure 3.17: Physical interpretation of vs. The initial (solid line) 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).