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) R 3 at time t, its (linear) velocity is simply ṗ(t) 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 b (t) p b, p s (t) = T (t) p b Introduction Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 3 / 24
Introduction Velocity of p is d dt p s(t) = T (t)p 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 speed (i.e. we know the angular velocity at time t > 0 is ω = (1, 0, 0) T ), where R(0) = 0 0 1 0 1 0 1 0 0 Rot(ˆx; θ) = 1 0 0 0 c θ s θ 0 s θ c θ Consider a point p rigidly attached to frame {b} with coordinates p s(t) and p b (t) in {s} and {b} frames. Rotational Velocity Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 6 / 24
Illustrating Example (Continued) p s (t) = R(t)p b ṗ s (t) = Ṙ(t)p b Since we know the motion in this example, we must have ṗ s (t) = ω p s (t), where ω = (1, 0, 0) Conclusion: Rotational Velocity Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 7 / 24
Properties of Rotation Matrices Property: For any ω R 3 and R SO(3), we have R[ω]R T = [Rw] Property: Let R(t) SO(3) be differentiable in t, then Ṙ(t)R 1 (t) and 1 R (t)ṙ(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 sb (t) be the orientation of a rotating frame {b} at time t. Then the (instantaneous) angular velocity vector w of frame {b} is given by 1 [ω s ] = ṘsbRsb 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 ω c and ω d in frames {c} and {d} satisfy ω c = R cd ω 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 R sb (t) is the orientation of the rotating frame {b}. - ω b denotes the body-frame representation of w, i.e. ω b = R bs (t)ω s = R 1 sb (t)ωs [ω b ] = R 1 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: Rotational R(t) = motion sin θ(t) of a one cos θ(t) degree of 0 freedo 0 0 1 Example 2.4. Rotational motion of a one degre manipulator Consider the motion of the one degree of freedom man in Figure 2.10. Let θ(t) be the angle of rotation about configuration. The trajectory of the manipulator is given cos θ(t) sin θ(t) 0 R(t) = sin θ(t) cos θ(t) 0. 0 0 1 The spatial velocity is 2 θ sin θ θ cos θ 3 2 0 cos θ sin θ 3 0 Rotational Velocity Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 11 / 24
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 V c = (ω c, v c) or V d = (ω d, v d ), respectively. How do these two twists relate to each other? Adjoint Representation Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 13 / 24
Change of Reference Frame for Twist (Continued) [ ωc v c ] [ R 0 = [p]r R ] [ ωd v d ] Adjoint Representation Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 14 / 24
Adjoint Map Given T = (R, p) SE(3), its adjoint representation (adjoint map) [Ad T ] is [ ] R 0 [Ad T ] = [p]r R Adjoint map changes reference frames for twist vector. If T is configuration of {d} relative to {c}, then the twists V c and V d in two frames are related by V c = [Ad T ]V d or equilvalently [V c ] = T [V d ]T 1 Properties of Adjoint: - Given T 1, T 2 SE(3) and V = (ω, v), we have [Ad T1 ][Ad T2 ]V = [Ad T1 T 2 ]V - For any T SE(3), [Ad T ] 1 = [Ad T 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, p 0) with R = 0 1 0 1 0 0, p 0 = (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 sb (t) = (R sb (t), p sb (t)) of a moving rigid 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 s (t) = R sb (t)q b + p sb (t) q s (t) = ω s q s (t) + v s Rigid Body Velocity Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 19 / 24
Spatial Twist and Body Twist Given T sb (t) = (R(t), p(t)). Spatial velocity in space frame (called spatial twist) is given by V s = (ω s, v s ), with [ω s ] = ṘRT, v s = ṗ + ω s ( p) Change reference frame to body frame will lead to body twist: V b = (ω b, v b ) = [Ad Tbs ]V s, where [ω b ] = R T Ṙ, v b = R T ṗ Rigid Body Velocity Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 20 / 24
Spatial Twist and Body Twist: Interpretations ω b and ω s is the angular velocity expressed in {b} and {s}, respectively. v b is the linear velocity of the origin of {b} expressed in {b}; v s is the linear 98 3.3. Rigid-Body Motions and Twist velocity of the origin of {s} expressed in {s} {s} p {b} ṗ vs Figure 3.17: Physical interpretation of vs. The initial (solid line) and displace (dashed line) configurations of a rigid body. in the body frame, or simply the body twist, 6 to be [ ] ωb Vb = R 6. (3.70 vb Just as it is convenient to have a skew-symmetric matrix representation of a angular velocity vector, it is convenient to have a matrix representation of 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
Example of Spatial/Body Twist I θ B l 0 A l 1 l 2 cos θ(t) sin θ(t) 0 l 2 sin θ(t) Figure 2.11: sinrigid θ(t) bodycos motion θ(t) generated 0 lby rotation about a fixed T (t) = 1 + l 2 cos θ(t) 0 0 1 l 0 0 Using the calculation of ω s 0 0 1 from the previous example, we have l1 θ 0 v s = 0 ω s = 0. 0 θ Note that v s is precisely the velocity of a point attached to the rigid as it travels through the origin of the A coordinate frame. The body velocity is [ ] V b v b = ω b v b = R T ṗ ω b = (R T Ṙ), which gives l2 θ 0 Rigid Body Velocity Lecture 5 (ECE5463 Sp18) b Wei b Zhang(OSU) 22 / 24
102 3.3. Rigid-Body Moti Example of Spatial/Body Twist II ŷ s ˆx b vb ŷ b {b} {s} v s ˆx s r w Figure 3.18: The twist corresponding to the instantaneous motion o a three-wheeledrvehicle s = (2, can 1, be0), visualized r b = (2, as 1.4, an angular 0), w=2 velocity rad/s w abo 1 0 0 4 w = 2 rad/s about an axis out of the page 0 at 1the point 0 r0.4 in the pla the figure, we can write r as rt sb s = = (2, 1, 00) or0r b = 1 (2, 1.4, 0 0), w a or ω b = (0, 0, 2), and T sb as 0 0 0 1 [ ] 1 0 0 4 Rsb p T sb = sb = 0 1 0 0.4 0 1 0 0 1 0. 0 0 0 1 From the figure and simple geometry, we get v s = ω s ( r s ) = r s ω s = ( 2, 4, 0), v b = ω b ( r b ) = r b ω b = (2.8, 4, 0), and thus obtain the twists V s and V b : Rigid Body Velocity Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 23 / 24
More Discussions Rigid Body Velocity Lecture 5 (ECE5463 Sp18) Wei Zhang(OSU) 24 / 24