Ch. 4: Velocity Kinematics Velocity Kinematics • We want to relate end-effector linear and angular velocities with the joint velocities • First we will discuss angular velocities about a fixed axis • Second we discuss angular velocities about arbitrary (moving) axes • We will then introduce the Jacobian – Instantaneous transformation between a vector in R n representing joint velocities to a vector in R 6 representing the linear and angular velocities of the end-effector 1
Introduction • Q1: What is the linear velocity of O1? • Q2: What is the angular velocity of O1? y0 y1 x1 a θ x0 Introduction (2) • Q1: What is the linear velocity of O2? • Q2: What is the angular velocity of O2? y0 y2 y1 x2 x1 a b θ x0 2
Angular velocity: arbitrary axis • Skew-symmetric matrices – Definition: a matrix S is skew symmetric if: – i.e. + S = S T 0 – Let the elements of S be denoted s ij , then by definition: L t th l t f S b d t d th b d fi iti = − for ≠ = − s s i j S T S ij ji = = for s 0 i j ij – Thus there are only three independent entries in a skew symmetric matrix Angular velocity: arbitrary axis • Properties of skew-symmetric matrices 1. The operator S is linear ( ) ( ) ( ) α + β = α + β , ∀ ∈ R α β ∈ R 3 S a b S a S b a , b , , 2. The operator S is known as the cross product operator ( ) = × ∀ ∈ , a, p R 3 S a p a p – This can be seen by the definition of the cross product: 3
Angular velocity: arbitrary axis • Properties of skew-symmetric matrices ( ) 3. For ∈ , ∈ R 3 R SO 3 a – This can be shown for and R as follows: T = ( ) ( ) RS a R S Ra – This can be shown by direct calculation. Finally: ( ) ( ) × = × , ∀ ∈ R , ∈ 3 R a b Ra Rb a,b R SO 3 Angular velocity: arbitrary axis • Derivative of a rotation matrix – let R be an arbitrary rotation matrix which is a function of a single variable θ R ( θ ) R ( θ ) T = I R ( θ ) R ( θ ) T I • Differentiating both sides (w/ respect to θ ) gives: • 4
Angular velocity: arbitrary axis • Example: let R = R x, θ , then using the previous results we have: Angular velocity: arbitrary axis • Now consider that we have an angular velocity about an arbitrary axis • Further, let R = R ( t ) • Now the time derivative of R is: ( ) ( ( ) ) ( ) & = ω R t S t R t Where ω ( t ) is the angular velocity of the rotating frame • 5
Addition of angular velocities • For most manipulators we will want to find the angular velocity of one frame due to the rotations of multiple frames – We assume that there are no translational components: all coordinate frames have coincident origins g – Consider three frames: o 0 , o 1 , o 2 : ( ) ( ) ( ) = 0 0 1 R t R t R t 2 1 2 – To illustrate how the rotation of multiple frames is determined by the rotations of the individual frames, take the derivative of this rotation matrix: Addition of angular velocities • Now the first term can be derived as follows: ( ) ( ) & = ω = ω 0 1 0 0 1 0 0 R R S R R S R 1 2 0 , 1 1 2 0 , 1 2 6
Addition of angular velocities ( ) [ ( ) ( ) ] ω = ω + ω 0 0 0 0 1 0 S R S S R R • Further: 0 , 2 2 0 , 1 1 1 , 2 2 • And since Linear velocities • The linear velocity of any point on a rigid body is the sum of the linear velocity of the rigid body and the velocity of the particle due to rotation of the rigid body – First, the position of a point p attached to a rigid body is: First, the position of a point p attached to a rigid body is: 0 = 1 + p Rp o – Where o is the origin of the o 1 frame expressed in the inertial frame – To find the velocity, take the derivative as follows: 7
The Jacobian • Now we are ready to describe the relationship between the joint velocities and the end effector velocities. • Assume that we have an n -link manipulator with joint variables q 1 , q 2 , q 1 , q 2 , …, q n , q n – Our homogeneous transformation matrix that defines the position and orientation of the end-effector in the inertial frame is: ( ) ( ) ⎡ ⎤ 0 0 R q o q = o n n T ⎢ ⎥ n ⎣ 0 1 ⎦ 0 and: – We can call the angular velocity of the tool frame ω 0,n – Call the linear velocity of the end-effector: The Jacobian • Therefore, we want to come up with the following mappings: = & 0 v J q n v ω = ω 0 & J q q ω ω n n – Thus J v and J ω are 3x n matrices 8
Deriving J ω • Remember that each joint i rotates around the axis z i-1 • Thus we can represent the angular velocity of each frame with respect to the previous frame – If the i th joint is revolute, this is: Deriving J ω • Now J ω can simply be written as follows: [ ] = ρ ρ ⋅ ⋅ ⋅ ρ 0 0 0 J z z n z ω − 1 0 2 1 n 1 – There are n columns, each is 3x1, thus J ω is 3x n 9
Deriving J v • Linear velocity of the end effector: ∂ 0 n o ∑ = & 0 & n o q n = ∂ i q i 1 i i Deriving J v • End-effector velocity due to prismatic joints – Assume all joints are fixed other than the prismatic joint d i – The motion of the end-effector is pure translation along z i-1 10
Deriving J v • End-effector velocity due to revolute joints – Assume all joints are fixed other than the revolute joint θ i – The motion of the end-effector is given by: The complete Jacobian The i th column of J v is given by: • ( ) ⎧ × − z o o for i revolute = − − i 1 n i 1 J ⎨ v i ⎩ z for i prismatic − i 1 The i th column of J ω is given by: • ⎧ z for i revolute − = ⎨ i 1 J ω ⎩ i 0 for i prismatic 11
Example: two-link planar manipulator ( ) ⎧ × − z o o for i revolute = − − i 1 n i 1 J ⎨ v i ⎩ z for i prismatic • Calculate J for the following manipulator: − i 1 – Two joint angles, thus J is 6x2 ⎧ z for i revolute − = ⎨ i 1 J ω i ⎩ ⎩ 0 for i p prismatic Example: velocity of an arbitrary point • We can also use the Jacobian to calculate the velocity of any arbitrary point on the manipulator ( ) ⎧ × − z o o for i revolute = − − i 1 n i 1 J ⎨ v i ⎩ ⎩ z for i p prismatic − − i i 1 1 ⎧ z for i revolute − = ⎨ i 1 J ω ⎩ i 0 for i prismatic 12
Example: Stanford manipulator • The configuration of the Stanford manipulator allows us to make the following simplifications: ( ) ⎧ × − z o o for i revolute = − − i 1 n i 1 J ⎨ v i ⎩ z for i prismatic − i 1 ⎧ z for i revolute − = ⎨ i 1 J ω i ⎩ 0 for i prismatic Example: Stanford manipulator • From the forward kinematics of the Stanford manipulator, we calculated the homogeneous transformations for each joint: calculated the homogeneous transformations for each joint: − ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ c 0 s 0 c 0 s 0 1 0 0 0 1 1 2 2 ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ − s 0 c 0 s 0 c 0 0 1 0 0 ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ = 1 1 , = 2 2 , = A A A ⎢ − ⎥ ⎢ ⎥ ⎢ ⎥ 1 2 3 0 1 0 0 0 1 0 d 0 0 1 d 2 3 ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ 0 0 0 1 ⎦ ⎣ 0 0 0 1 ⎦ ⎣ 0 0 0 1 ⎦ ⎡ − ⎤ ⎡ ⎤ ⎡ − ⎤ c 0 s 0 c 0 s 0 c s 0 0 4 4 5 5 6 6 ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ − s 0 c 0 s 0 c 0 s c 0 0 ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ = = = 4 4 , 5 5 , 6 6 A A A ⎢ ⎢ − ⎥ ⎥ ⎢ ⎢ − ⎥ ⎥ ⎢ ⎢ ⎥ ⎥ 4 5 6 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 d d 6 ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ 0 0 0 1 ⎦ ⎣ 0 0 0 1 ⎦ ⎣ 0 0 0 1 ⎦ 13
Recommend
More recommend