Manipulator Kinematics

Manipulator Kinematics

Robot Kinematics Robot Manipulators ● A robot manipulator is typically moved through its joints ● Revolute: rotate about an axis ● Prismatic: translate along an axis SCARA 6 axes robot arm Other Robots Mobile robots Delta Robot Stewart Platform Kinematics FORWARD Cartesian Space KINEMATICS Tool Frame (T) Joint Space [BR , Bt ] = f(q) Base Frame (B) T T Joint 1 = q1 B B Joint 2 = q [ RT, tT ] 2 ... -1 B B B q = f ( [ RT, tT] ) Joint N = q RT :Orientation of T wrt B N B tT : Position of T wrt B INVERSE KINEMATICS Rigid body motion Linear algebra Transformation between coordinate frames Transformation Within Joint Space ● Joint spaces are typically qC defined in Rn Thus for a vector qB we can use additions qA subtractions Kinematics FORWARD Cartesian Space KINEMATICS Tool Frame (T) Joint Space [BR , Bt ] = f(q) Base Frame (B) T T Joint 1 = q1 B B Joint 2 = q [ RT, tT ] 2 ... -1 B B B q = f ( [ RT, tT] ) Joint N = q RT :Orientation of T wrt B N B tT : Position of T wrt B INVERSE KINEMATICS Rigid body motion Linear algebra Transformation between coordinate frames Cartesian Transformation Position and Orientation ● Combine position and orientation: ● Special Euclidean Group: SE(3) p A A B A p = RB p + tB Homogeneous representation A A B p = EB p Cartesian Transformation Kinematic Chain B EC A A B C p = EB EC p A EB Cp Kinematics FORWARD Cartesian Space KINEMATICS Tool Frame (T) Joint Space [BR , Bt ] = f(q) Base Frame (B) T T Joint 1 = q1 B B Joint 2 = q [ RT, tT ] 2 ... -1 B B B q = f ( [ RT, tT] ) Joint N = q RT :Orientation of T wrt B N B tT : Position of T wrt B INVERSE KINEMATICS Rigid body motion Linear algebra Transformation between coordinate frames Forward Kinematics Guidelines for assigning frames: ● There are several conventions ● Denavit Hartenberg (DH), modified DH, Hayati, etc. ● Choose the base and tool coordinate frame ● Make your life easy! ● Start from the base and move towards the tool ● Make your life easy! ● In general each actuator has a coordinate frame. ● Align each coordinate frame with a joint actuator Barrett WAM Forward Kinematics 2D p y x q A A B t p = EB p y x Forward Kinematics Forward Kinematics 2D y Bp = BE Cp p C q2 B tC x y x q1 A Ap = AE Bp tB B y x Forward Kinematics 2D y p q2 B tC x y x B B C A A B Substituting p = EC p in p = EB p A A B C A gives p = EB EC p tB q A A C 1 p = EC p y x Forward Kinematics Forward Kinematics 3D q2 z p q1 z x y y B A z x tC tB y x Forward Kinematics Kinematics FORWARD KINEMATICS Cartesian Space Tool Frame (T) Joint Space [BR , Bt ] = f(q) Base Frame (B) T T Joint 1 = q1 B B Joint 2 = q [ RT, tT ] 2 ... -1 B B B q = f ( [ RT, tT] ) Joint N = q RT :Orientation of T wrt B N B tT : Position of T wrt B INVERSE KINEMATICS Rigid body motion Linear algebra Transformation between coordinate frames Inverse Kinematics 2D p y x t A B A q Given p, p, tB find q: y x Inverse Kinematics 2D p In practice, however, we are y x interested in solving the inverse kinematics for the basis vectors Bp = [ 0 0 ]T t q Bp = [ 1 0 ]T y Bp = [ 0 1 ]T which gives the friendlier solution x (using Bp = [ 1 0 ]T ) A acos( x – tx ) = q Inverse Kinematics 3D Likewise, in 3D we want to solve for the q2 position and orientation of the last coordinate z frame: Find q1 and q2 such that q1 z x y y Solving the inverse kinematics gets messy fast! A) For a robot with several joints, a symbolic B At z x tC solution can be difficult to get B B) A numerical solution (Newton’s method) is y more generic Note that the inverse kinematics is NOT A -1 C x EC = EA Kinematics JACOBIAN Cartesian Space Tool Frame (T) Joint Space [ v, w ]T = J(q) q ̇ Base Frame (B) Joint 1 = q̇ 1 Joint 2 = q̇ [ Bv , Bw ] 2 T T ... -1 T B q ̇ = J (q) [ v, w ] Joint N = q̇ vT :linear vel. of T wrt B N B wT : angular vel. of T wrt B INVERSE JACOBIAN Rigid body motion Linear algebra Transformation between coordinate frames Cartesian Transformation Linear and Angular Velocities Given two coordinate systems A and B related by the A transformation EB , the velocity between A and B is given by A EB Where the “˄” indicates a skew symmetric matrix Kinematics JACOBIAN Cartesian Space Tool Frame (T) Joint Space [ v, w ]T = J(q) q ̇ Base Frame (B) Joint 1 = q̇ 1 Joint 2 = q̇ [ Bv , Bw ] 2 T T ... -1 T B q ̇ = J (q) [ v, w ] Joint N = q̇ vT :linear vel. of T wrt B N B wT : angular vel. of T wrt B INVERSE JACOBIAN Rigid body motion Linear algebra Transformation between coordinate frames Manipulator Jacobian Recall: The linear/angular velocity of the tool frame T in the base frame B The “˅” operator is to extract the meaningful information from V̂ linear angular Manipulator Jacobian We change the time varying trajectory to be a time varying joint trajectory Derivative of the forward kinematics wrt qi Inverse of the forward kinematics Applying the chain rule Manipulator Jacobian Lets rewrite the previous result as Where J(q) is a 6xN matrix called the manipulator Jacobian that relates joint velocities to Cartesian velocities Kinematics JACOBIAN Cartesian Space Tool Frame (T) Joint Space [ v, w ]T = J(q) q ̇ Base Frame (B) Joint 1 = q̇ 1 Joint 2 = q̇ [ Bv , Bw ] 2 T T ... -1 T B q ̇ = J (q) [ v, w ] Joint N = q̇ vT :linear vel. of T wrt B N B wT : angular vel. of T wrt B INVERSE JACOBIAN Rigid body motion Linear algebra Transformation between coordinate frames Manipulator Jacobian We just derived that given a vector of joint velocities, the velocity of the tool as seen in the base of the robot is given by If, instead we want to tool to move with a velocity expressed in the base frame, the corresponding joint velocities can be computed by Manipulator Jacobian If, instead we want to tool to move with a velocity expressed in the tool frame, we can first transform the velocity in the base frame and then use the inverse Jacobian to compute joint velocities Manipulator Jacobian What if the Jacobian has no inverse? A) No solution: The velocity is impossible B) Infinity of solutions: Some joints can be moved without affecting the velocity (i.e. when two axes are colinnear) v The robot cannot move q3 In this in this direction when the configuration, robot is in this configuration. q1 and q3 can Hence J(q) is singular. counter rotate. q 1 q Hence J(q) is 2 singular. A) B) q1̇ = -q3̇ .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    29 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us