
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̇ .
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages29 Page
-
File Size-