Lecture 12 Velocity Kinematics I Katie DC March 5, 2020 Modern Robotics Ch
Total Page:16
File Type:pdf, Size:1020Kb
lecture 12 velocity kinematics I Katie DC March 5, 2020 Modern Robotics Ch. 5.1-5.3 Admin • Demo for PF is this week • Please start HW3 on PrairieLearn so I can show you your grade • HW6 due Friday • Reflection 2 due Sunday 3/8 at midnight • Please fill out the class feedback form by Sunday 3/8 Who is Carl Gustav Jacob Jacobi? • A German mathematician who contributed to elliptic functions, dynamics, differential equations, determinants, and number theory • In Germany during the Revolution of 1848, Jacobi was politically involved with the Liberal club, which after the revolution ended led to his royal grant being temporarily cut off • His PhD student, Otto Hesse, is known for the Hessian Matrix (second-order partial derivatives of a scalar- valued function, or scalar field) • The crater Jacobi on the Moon is named after him • Died of a smallpox infection Credit: Wikipedia Velocity Kinematics Forward Kinematics Calculate the position of the end-effector of an open chain given joint angles Velocity Kinematics Calculate the velocity (twist!) of the end-effector frame Example Jacobian Mapping Jacobian and Manipulability ሶ 2 ሶ 2 • Suppose joint limits are 휃1 + 휃2 ≤ 1 • The ellipsoid obtained by mapping through the Jacobian is called the manipulability ellipsoid Jacobian and Statics ⊤ • Assume a force 푓푡푖푝 is applied on • If 퐽 휃 is invertible, then given the end-effector. What torque the limits of the torques at the 휏 must be applied at the joint joints, we can compute all the to keep the fixed position? forces that can be counteracted • By conservation of power: at the end-effector ⊤ ⊤ ሶ ሶ 푓푡푖푝푣푡푖푝 = 휏 휃, ∀휃 • Since 푣푡푖푝 = 퐽 휃 휃ሶ, we have ⊤ ሶ ⊤ ሶ ሶ 푓푡푖푝퐽 휃 휃 = 휏 휃, ∀휃 • Which gives: ⊤ 휏 = 퐽 휃 푓푡푖푝 Refresher on Twists • What is a twist? 휔 푠 휔푠 푣푠 −1 • Spatial velocity: 풱푠 = , 풱푠 = = 푇ሶ 푇 푣푠 0 0 • What is the adjoint map? 푅 0 • Given 푇 = (푅, 푝), Ad = ∈ ℝ6 T 푝 푅 푅 ′ • 풱 = 퐴푑푇 풱 = 퐴푑푇 풱 • 풱′ = 푇 풱 푇−1 Computing the Jacobian (1) • Recall forward kinematics: 푇 휃 = 푒 풮1 휃1푒 풮2 휃2 ⋯ 푒 풮푛 휃푛푀 • Take the derivative: 푑 푑 푇ሶ 휃 = 푒 풮1 휃1 푒 풮2 휃2 ⋯ 푒 풮푛 휃푛푀 + ⋯ + 푒 풮1 휃1푒 풮2 휃2 ⋯ 푒 풮푛 휃푛 푀 푑푡 푑푡 풮1 휃1 풮푛 휃푛 풮1 휃1 풮푛 휃푛 = 풮1 휃ሶ1푒 ⋯ 푒 푀 + ⋯ + 푒 ⋯ 풮푛 휃ሶ푛푒 푀 • Take the inverse: 푇−1 휃 = 푀−1푒− 풮푛 휃푛 ⋯ 푒− 풮1 휃1 −1 • Recall: 풱푠 = 푇ሶ 푇 −1 풮1 휃1 − 풮1 휃1 풮1 휃1 풮2 휃2 − 풮2 휃2 − 풮1 휃1 푇ሶ 푇 = 풮1 휃ሶ1 + 푒 풮2 푒 휃ሶ2 + 푒 푒 풮3 푒 푒 휃ሶ3 + ⋯ Computing the Jacobian (2) • Expressed via Adjoint: ሶ ሶ ሶ 풱푠 = 풮1휃1 + 퐴푑푒 풮1 휃1 풮2 휃2 + 퐴푑푒 풮1 휃1푒 풮2 휃2 풮3 휃3 + ⋯ • Gives our Space Jacobian: 풱푠 = 퐽푠 휃 휃ሶ • Intuition: If 푇푖푀 is the configuration when you set joints 휃1, … , 휃푖 and leave remaining joints at 0, then 퐽푠푖 is the screw vector at joint 푖, for an arbitrary 휃 Visualizing the Jacobian • By inspection, let’s find 퐽푠3 • Ignore joints 휃3, 휃4, 휃5, as they do not displace axis 3 relative to {s} 풮2 휃2 • If 휃1 = 0 and 휃2 is arbitrary, then 푇푠푠′ = 푒 풮1 휃1 풮2 휃2 • If 휃1 is arbitrary, then 푇푠푠′′ = 푒 푒 • 퐽푠3 = 퐴푑푇푠푠′′ 풮3 = 퐴푑푒 풮1 휃1푒 풮2 휃2 풮3 Computing the Jacobian: Example 1 Computing the Jacobian: Example 2 Computing the Jacobian: Example 2 0 −푠1푠2 휔푠4 = 푅표푡 푧Ƹ, 휃1 푅표푡 푥ො, −휃2 0 = 푐1푠2 1 푐2 −1 −푐1푐4 + 푠1푐2푠4 휔푠5 = 푅표푡 푧Ƹ, 휃1 푅표푡 푥ො, −휃2 푅표푡(푧Ƹ, 휃4) 0 = −푠1푐4 − 푐1푐2푠4 0 푠2푠4 0 −푐5 푠1푐2푐4 + 푐1푠4 + 푠1푠2푠5 휔푠6 = 푅표푡 푧Ƹ, 휃1 푅표푡 푥ො, −휃2 푅표푡 푧Ƹ, 휃4 푅표푡 푥ො, −휃5 1 = 푐5 푐1푐2푐4 − 푠1푠4 − 푐1푠2푠5 0 −푠2푐4푐5 − 푐2푠5 Body Jacobians −1 −1 Our space Jacobian is 풱푠 = 푇ሶ 푇 , and our body Jacobian is 풱푏 = 푇 푇ሶ 푇 휃 = 푒 풮1 휃1푒 풮2 휃2 ⋯ 푒 풮푛 휃푛푀 = 푀푒 ℬ1 휃1푒 ℬ2 휃2 ⋯ 푒 ℬ푛 휃푛 ℬ1 휃1 ℬ푛 휃푛 ℬ1 휃1 ℬ푛 휃푛 푇ሶ 휃 = 푀 ℬ1 휃ሶ1푒 ⋯ 푒 + ⋯ + 푀푒 ⋯ ℬ푛 휃ሶ푛푒 푇−1 휃 = 푒− ℬ푛 휃푛 ⋯ 푒− ℬ1 휃1푀−1 푇−1푇ሶ − ℬ푛 휃푛 ℬ푛 휃푛 = ℬ푛 휃ሶ푛 + 푒 ℬ푛−1 푒 휃ሶ푛−1 − ℬ푛 휃푛 − ℬ푛−1 휃푛−1 ℬ푛−1 휃푛−1 ℬ푛 휃푛 + 푒 푒 ℬ푛−2 푒 푒 휃ሶ푛−1 − ℬ푛 휃푛 − ℬ2 휃2 ℬ2 휃2 ℬ푛 휃푛 + 푒 ⋯ 푒 ℬ1 푒 ⋯ 푒 휃ሶ1 The relationship between the Space and Body Jacobian Recall that: ሶ −1 −1 ሶ 풱푠 = 푇푠푏푇푠푏 풱푏 = 푇푠푏 푇푠푏 퐴푑푇 (풱푏) = 퐽푠 휃 휃ሶ 풱푠 = 퐴푑푇푠푏 풱푏 풱푏 = 퐴푑푇푏푠 풱푠 푠푏 풱푠 = 퐽푠 휃 휃ሶ 풱푏 = 퐽푏 휃 휃ሶ • Apply [퐴푑푇푏푠] to both sides and recall that 퐴푑푇푋 퐴푑푌 = [퐴푑푋푌]: ሶ 퐴푑푇푏푠(퐴푑푇푠푏(풱푏)) = 풱푏 = 퐴푑푇푏푠(퐽푠 휃 휃) ሶ ሶ 퐽푏 휃 휃 = 퐴푑푇푏푠(퐽푠 휃 휃) • Since this holds for all 휃ሶ: 퐽푏 휃 = 퐴푑푇푏푠 퐽푠 휃 = 퐴푑푇푏푠 퐽푠 휃 퐽푠 휃 = 퐴푑푇푠푏 퐽푏 휃 = 퐴푑푇푠푏 퐽푏 휃 Summary • Defined velocity kinematics as means to compute the twist at the end-effector frame • Interpreted the end-effector twist as a way to map actuator limits to possible end-effector velocities (directions of motion) and insight as to how close a pose is to a singularity • Learned two methods for computing the Jacobian: (1) by inspection and (2) by using equations for defining the spatial and body twists.