Robotics: Forward and Inverse Kinematics


Published on

Published in: Education
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Robotics: Forward and Inverse Kinematics

  1. 1. Forward Kinematics “ Finding the end effector given the joint angles”
  2. 2. Types of robot joints <ul><li>Rotary </li></ul><ul><ul><li>Angle  about z axis </li></ul></ul><ul><li>Prismatic/sliding </li></ul><ul><ul><li>Linear displacement d along axis of joint z </li></ul></ul><ul><li>Hooke (2-D Rotary) </li></ul><ul><ul><li>2-D of freedom described by Yaw and Pitch </li></ul></ul><ul><li>Spherical </li></ul><ul><ul><li>Described by 3 rotation axes (wrist & shoulder) </li></ul></ul>
  3. 3. Robot configurations <ul><li>Cartesian(inspection) </li></ul><ul><ul><li>3 Prismatic joints </li></ul></ul><ul><li>SCARA (pick and place) </li></ul><ul><ul><li>Min 3 axes (Z axis and 2+ rotary joints) </li></ul></ul><ul><li>Spherical Wrist </li></ul><ul><ul><li>Most common type 6-D freedom </li></ul></ul><ul><ul><li>hooke shoulder, rotary elbow and roll-pitch-roll wrist </li></ul></ul><ul><li>… </li></ul>
  4. 4. Setting up the coordinate system: Denavit-Hartenberg Coordinates <ul><li>Key basis for DH coordinates </li></ul><ul><ul><li>There is only one normal between two lines in space </li></ul></ul><ul><ul><li>Except: Parallel lines and intersecting lines (common normal has zero length) </li></ul></ul><ul><ul><li>Suppose there are two joint axes z i and z i-1 </li></ul></ul>
  5. 5. <ul><li>DH coordinates are numbered relative to the base 0 </li></ul><ul><li>Joint i connects link i-1 to link i </li></ul><ul><li>The intersection of n i with z i defines the origin of the link </li></ul><ul><li>We take z i to be parallel to the n i </li></ul><ul><li>The coordinate system for link i is at the distal end </li></ul><ul><li>The coordinate system at joint i is the i-1 system </li></ul><ul><li> I is the skew angle from z i-1 to z i measured about x i </li></ul><ul><li>d i is the distance from x i-1 to x i measured along z i-1 </li></ul><ul><li> i is the angle from x i-1 to x i measured about z i-1 </li></ul>x i-2 z i-1 x i-1 x i z i-2 z i Joint i Link i Link i-1 a i z i z i-1 x i , n i
  6. 6. Parallel or intersecting axes <ul><li>When neighbouring axes intersect a i =0  n i  =0 </li></ul><ul><ul><li>Arbitrary choice x i  n i or –n i </li></ul></ul><ul><li>For Parallel axes </li></ul><ul><ul><li>Chose x i that intersects x i-1 at O i-1 (prefered) </li></ul></ul><ul><ul><li>Chose x i that intersects x i+1 at O i+1 </li></ul></ul><ul><li>In these cases DH parameters are very sensitive to small changes in alignment </li></ul><ul><ul><li>An alternative is the Hayati coordinates </li></ul></ul>
  7. 7. Examples <ul><li>2- Planar Manipulator </li></ul><ul><ul><li>Axes at distal ends </li></ul></ul><ul><ul><li>Avoid transformation to find endpoint </li></ul></ul><ul><ul><li>Make x 2 the approach vector </li></ul></ul> 2  1 a 1 a 2 O 2 O 1 O 0 x 1 x 0 x 2 y 1 y 2 y 0
  8. 8. SCARA <ul><li>Note for joint 3 displacement is the joint variable and  is constant </li></ul><ul><li>Location of z 2 is arbtrary </li></ul><ul><li>Location of O 3 and x 3 are arbitrary, however O 3 determines d 3 </li></ul><ul><li>For simplicity frame 4 is placed at the gripper and z 2 , z 3 and z 4 coincident </li></ul>z 0 x 0 z 1 x 1 x 2 z 2 x 3 x 4 z 3 z 4 i a i d i  i  i 1 a 1 0 0  1 2 a 2 0   2 3 0 d 3 0 0 4 0 d 3 0  4
  9. 9. Forward Kinematics <ul><li>Link Coordinate Transform </li></ul><ul><ul><li>From link i to link i-1of the 2-d planar robot </li></ul></ul><ul><li>Rotate about the z i-1 axis by  i , then about the x i axis by  i . </li></ul>
  10. 10. Forward Kinematics <ul><li>Translational component referenced to axes i-1 </li></ul><ul><li>Homogeneous transform i-1 T i from frame i to frame i-1 </li></ul>
  11. 11. Relating any two link frames <ul><li>By composition of intervening frames we can link any two frames </li></ul><ul><li>For efficiency we normally decompose the frames into separate Rotations and Translation components </li></ul>
  12. 12. Forward Kinematic computations <ul><li>Aim: find the position and orientation of the last frame, n, wrt the base frame 0 </li></ul><ul><li>Sometimes additional frames are added at the beginning or end </li></ul><ul><ul><li>Vision systems </li></ul></ul><ul><ul><li>Tools or object which are picked up </li></ul></ul><ul><li>Once an object is grasped the its kinematics are constant and for practical purposes can be considered part of the last link. </li></ul>
  13. 13. Kinematic Calibration <ul><li>Set during Manufacture </li></ul><ul><li>Wear, error, etc… </li></ul><ul><li>Kinematic callibration schemes </li></ul><ul><ul><li>Measurement </li></ul></ul><ul><ul><li>Experimental </li></ul></ul><ul><li>Tool Transform </li></ul><ul><ul><li>Most objects geometric and known </li></ul></ul><ul><ul><li>Vision system </li></ul></ul>
  14. 14. Inverse Kinmatics (IK) “ Given a goal position find the joint angles for the robot arm”
  15. 15. Inverse Kinematics <ul><li>IK generally harder than FK </li></ul><ul><li>Sometimes no analytical solution </li></ul><ul><li>Sometimes multiple solutions </li></ul><ul><ul><li>Redundant manipulators </li></ul></ul><ul><li>Sometimes no solution </li></ul><ul><ul><li>Outside workspace </li></ul></ul>
  16. 16. <ul><li>2-D planar manipulator (again) </li></ul><ul><li>Solve for  2 </li></ul><ul><li>Two solutions: elbow up & elbow down </li></ul> 2  1 a 1 a 2 O 2 O 1 O 0 x 1 x 0 x 2 y 1 y 2 y 0   (x,y)  2
  17. 17. <ul><li>Given  2 find  1 </li></ul><ul><li>Note that there are two answers for  1 based on elbow up or down </li></ul><ul><li>3-DOF of freedom robot arms </li></ul><ul><ul><li>Most robots are made of two interconnected 3-DOF arms </li></ul></ul><ul><ul><ul><li>Elbow joint (position wrist in space) </li></ul></ul></ul><ul><ul><ul><li>Wrist joint (orient object/tool in space) </li></ul></ul></ul>
  18. 18. Workspaces <ul><li>Workspace limitations depend on </li></ul><ul><li>Joint limits </li></ul><ul><li>Presence of obstacles </li></ul><ul><li>Holes: doughnut shaped WS </li></ul><ul><li>Voids: empty space in WS </li></ul><ul><li>Total or Reachable Workspace </li></ul><ul><li>Primary WS: points reachable in all </li></ul><ul><li>Orientations </li></ul><ul><li>Secondary WS: total -primary </li></ul>
  19. 19. Trajectory Planning Path Planning
  20. 20. Trajectory planning <ul><li>Start to Goal avoiding obstacles along the way </li></ul><ul><li>Joint space easiest because no IK </li></ul><ul><ul><li>But end effector pose is not controlled </li></ul></ul><ul><li>Cartesian space planning is easier but IK must be solved </li></ul>
  21. 21. Joint Space Trajectories <ul><li>Cubic Trajectories </li></ul><ul><ul><li>4 coefficients </li></ul></ul><ul><ul><li>Satisfy position and velocity constraits </li></ul></ul><ul><ul><li>For a joint variable q i </li></ul></ul>
  22. 22. <ul><li>Polynomials for joint position and velocity </li></ul><ul><li>The a i coeff. have to be related to the end point constraits </li></ul>
  23. 23. <ul><li>This allows us to determine a 2 and a 3 </li></ul><ul><li>Example </li></ul>0 100 -20 10
  24. 24. Linear segments with parabolic bends <ul><li>We want the middle part of the trajectory to have a constant velocity V </li></ul><ul><ul><li>Ramp up </li></ul></ul><ul><ul><li>Linear segment </li></ul></ul><ul><ul><li>Ramp down </li></ul></ul>
  25. 25. Ramp Up <ul><li>A quadratic requires 3 constraits </li></ul><ul><ul><li>2 for the start and 1 for const velocity at the end </li></ul></ul>
  26. 26. Linear Section <ul><li>Given constant velocity V, which we ramp up to in a unknown time t b , we can find a 2 in terms of t b </li></ul>
  27. 27. <ul><li>Similarly the end position can be show to be </li></ul>