Areas Interest in Robotics Industrial Engineering Department Binghamton University Industrial Automation Outline • Introduction – Historical Example – Mechanical Engineering and Robotics • Review of Basic Kinematics and Dynamics • Transformation Matrices/DenavitHartenberg • Dynamics and Controls • Example: Surgical Robot Industrial Automation Robot Configurations Industrial Automation Cartesian Cylindrical Spherical SCARA Industrial Automation Phillip John McKerrow, Introduction to Robotics (1991) Industrial Automation Industrial Automation Industrial Automation Review of Basic Kinematics and Dynamics • Case Study: Dynamic Analysis • Software for Dynamic Analysis: ADAMS • Rigid Body Kinematics • Rigid Body Dynamics Industrial Automation Kinematics of Rigid Bodies General Plane Motion: Translation plus Rotation Industrial Automation Kinematics of Rigid Bodies (cont.) Translation If a body moves so that all the particles have at time t the same velocity relative to some reference, the body is said to be in translation relative to this reference. Rectilinear Translation Industrial Automation Curvilinear Translation Kinematics of Rigid Bodies (cont.) Rotation If a rigid body moves so that along some straight line all the particles of the body, or a hypothetical extension of the body, have zero velocity relative to some reference, the body is said to be in rotation relative to this reference. The line of stationary particles is called the axis of rotation. Industrial Automation Motion Kinematics of Rigid Bodies (cont.) General Plane Motion can be analyzed as: A translation plus a rotation. Chasle’s Theorem: 1. Select any point A in the body. Assume that all particles of the body have at the same time t a velocity equal to vA, the actual velocity of the point A. 2. Superpose a pure rotational velocity w about an axis going through point A. Industrial Automation Kinematics of Rigid Bodies (cont.) General Plane Motion: drA drB Industrial Automation Kinematics of Rigid Bodies (cont.) General Plane Motion; (1) Translation measured from original Point A Industrial Automation Kinematics of Rigid Bodies (cont.) General Plane Motion: (2) Rotation about axis through Point A Industrial Automation Kinematics of Rigid Bodies (cont.) General Plane Motion = Translation + Rotation Industrial Automation A Kinematics of Rigid Bodies (cont.) R Two Reference Frames: XYZ x'y'z' Let R be the vector that establishes the relative position between XYZ and x'y'z'. Industrial Automation z Z Derivative of a Vector Fixed in a Moving Reference X O P A y x O Y Let A be the fixed vector that establishes the position between A and P. Kinematics of Rigid Bodies (cont.) z Z The time rate of change of A as seen from x'y'z' is zero: dA 0 dt x' y 'z ' Industrial Automation R X O A y x O Y Kinematics of Rigid Bodies (cont.) As seen from XYZ, the time rate of change of A will not necessarily be zero. Determine the time derivative by applying Chasles’ Theorem. 1. Translation. Translational X motion of R will not alter the magnitude or direction of A. (The line of action will change but the direction will not.) Industrial Automation z Z R O A y x O Y Z' Kinematics of Rigid Bodies (cont.) w 2. Rotation. Rotation about an axis passing through O':w Establish a second stationary reference frame, X'Y'Z', such that the Z' axis coincides with the axis of rotation. Industrial Automation X Z z O R A y Y' x O Y X' Z' Kinematics of Rigid Bodies (cont.) Industrial Automation A R A Ar r A AZ ' Z ' A r A A Z ' 0 Z Locate a set of cylindrical coordinates at the end of A. Because A is a fixed vector, the magnitudes Ar, A, and AZ' are constant. Therefore: w Z' r X Y' O Y X' Also, Z' is unchanging, therefore: Z ' 0 Z' Kinematics of Rigid Bodies (cont.) w Z' r Z The time derivative as seen from the X'Y'Z' reference frame is: O X dA d d r Ar A dt dt X 'Y 'Z ' dt X 'Y 'Z ' X 'Y 'Z ' Note: d d r Recall: and r dt dt dA Arw A w r dt X 'Y 'Z ' Industrial Automation A R Y' Y X' w Z' Kinematics of Rigid Bodies (cont.) Z The result for the time derivative as seen from the X'Y'Z' reference frame is: dA Arw A w r dt X 'Y 'Z ' w Z' r A R X Y' O Y X' Both the X'Y'Z' reference frame and the XYZ reference frame are stationary reference frames, therefore dA dA d d Arw A w r dt X 'Y 'Z ' dt XYZ dt XYZ dt X 'Y 'Z ' Industrial Automation Z' Kinematics of Rigid Bodies (cont.) wA 0 Ar 0 Z r w 0 A AZ ' Industrial Automation Ar 0 A R A Ar r A AZ ' Z ' Z dA Arw A w r dt XYZ For: w A w w Z ' r w Z' r Z r w 0 X Y' O Y X' 0 Arw A w r A AZ ' Ar A 0 0 0 0 rw A w Ar Z' Kinematics of Rigid Bodies (cont.) dA w A dt XYZ Z w Z' r For acceleration, differentiate: R 2 d A a 2 O dt XYZ X By the product rule: X' 2 dA d A dw 2 A w dt XYZ dt XYZ dt XYZ dw d A w w w w A dt XYZ dt XYZ Industrial Automation A Y' Y Z' Kinematics of Rigid Bodies (cont.) w Z' r Z d A a 2 A w w A dt XYZ 2 A R X O Y X' Industrial Automation Y' Kinematics of Rigid Bodies (cont.) Summary of Equations: Kinematics of Rigid Bodies vB v A w rB A aB a A rB A w w rB A Industrial Automation Kinematics of Rigid Bodies (cont.) Degrees of Freedom Degrees of Freedom (DOF) = df. The number of independent parameters (measurements, coordinates) which are needed to uniquely define a system’s position in space at any point of time. Industrial Automation Kinematics of Rigid Bodies (cont.) A rigid body in plane motion has three DOF. f r Note: The three parameters are not unique. x, y, – is one set of three coordinates r, f, – is also a set of three coordinates Industrial Automation Kinematics of Rigid Bodies (cont.) y A rigid body in 3-D space has six DO For example, fx, y, z – three linear coordinates and f, , y – three angular coordinates r X Industrial Automation Kinematics of Rigid Bodies (cont.) Links, Joints, and Kinematic Chains Link = df. A rigid body which possesses at least two nodes which are points for attachment to other links. Industrial Automation Kinematics of Rigid Bodies (cont.) Joint = df. A connection between two or more links (at their nodes) which allows some motion, or potential motion, between the connected links. Also called “kinematic pairs.” Industrial Automation Kinematics of Rigid Bodies (cont.) Type of contact between links Lower pair: surface contact Higher pair: line or point contact Six Lower Pairs Industrial Automation Revolute R Prismatic P Helical H Cylindric C Spherical S Flat Planar F CS 480A-34 Kinematics of Rigid Bodies (cont.) “Constrained Pin” “Slide” Industrial Automation “Screw” “Sliding Pin” Kinematics of Rigid Bodies (cont.) “Ball and Socket” Planar (F) Joint – 3 DOF Industrial Automation Kinematics of Rigid Bodies (cont.) Industrial Automation Kinematics of Rigid Bodies (cont.) Open/Closed Kinematic Chain (Mechanism) Closed Kinematic Chain = df. A kinematic chain in which there are no open attachment points or nodes. Industrial Automation Kinematics of Rigid Bodies (cont.) Open Kinematic Chain = df. A kinematic chain in which there is at least one open attachment point or node. Industrial Automation Dynamics of Rigid Bodies Dynamic Equivalence Lumped Parameter Dynamic Model Industrial Automation Dynamic System Model For a model to be dynamically equivalent to the original body, three conditions must be satisfied: 1. The mass (m) used in the model must equal the mass of the original body. 2. The Center of Gravity (CG) in the model must be in the same location as on the original body. 3. The mass moment of inertia (I) used in the model must equal the mass moment of inertia of the original body. m, CG, I Industrial Automation Dynamics of Rigid Bodies (cont.) First Moment of Mass and Center of Gravity (CG) The first moment of mass, or mass moment (M), about an axis is the product of the mass and the distance from the axis of interest. M rdm m where: r is the radius from the axis of interest to the increment of mass Industrial Automation Dynamics of Rigid Bodies (cont.) Second Moment of Mass, Mass Moment of Inertia (I) The second moment of mass, or mass moment of inertia (I), about an axis is the product of the mass and the distance squared from the axis of interest. I m r dm 2 m where: r is the radius from the axis of interest to the increment of mass Industrial Automation Dynamics of Rigid Bodies (cont.) Lumped Parameter Dynamic Models The dynamic model of a mechanical system involves “lumping” the dynamic properties into three basic elements: Mass (m or I) m Spring Damper Industrial Automation Manipulator Dynamics and Control • Forward Kinematics – Given the angles and/or extensions of the arm, determine the position of the end of the manipulator • Inverse Kinematics – Given the position of the end of the manipulator, determine the angles and/or extensions of the arm needed to get there • Dynamics – Determine the forces and torques required for or resulting from the given kinematic motions. • Control – Given the block diagram model of the dynamic system, determine the feedback loops and gains needed to accomplish the desired performance (overshoot, settling time, etc.) Industrial Automation Forward Kinematics: Denavit-Hartenberg (D-H) Transformation Matrix • Forward Kinematics – Given the angles and/or extensions of the arm, determine the position of the end of the manipulator Industrial Automation Position Kinematics Industrial Automation While the kinematic analysis of a robot manipulator can be carried out using any arbitrary reference frame, a systematic approach using a convention known as the DenavitHartenberg (D-H) convention is commonly used. Any homogeneous transformation is represented as the product of four 'basic" transformations: Ai Rot z ,i Transz ,di Transx ,ai Rot x ,i End here Mark W. Spong and M. Vidyasagar, Robot Dynamics and Control (1989) Industrial Automation Start here Ai Rot z ,i Transz ,di Transx ,ai Rot x ,i ci s Ai i 0 0 si ci 0 0 0 0 1 0 0 0 1 0 0 0 1 0 ci s i Ai 0 0 0 1 1 0 0 0 0 1 d i 0 0 0 1 0 0 0 0 0 ai 1 0 1 0 0 0 ci 0 1 0 0 si 0 0 1 0 0 si ci si si ci ci ci si si ci 0 0 Mark W. Spong and M. Vidyasagar, Robot Dynamics and Control (1989) Industrial Automation ai ci ai si di 1 0 si ci 0 0 0 0 1 Example Industrial Automation Industrial Automation c1 s A1 1 0 0 s1 c 2 s A2 2 0 0 s 2 c1 1 0 Industrial Automation c 2 1 0 0 a1c1 0 a1s1 1 1 0 1 0 a2c 2 0 a2 s 2 1 1 0 1 T A1 1 0 T02 A1 A2 c1 s T02 A1 A2 1 0 0 c1 c 2 s c 1 2 s1 c1 0 0 0 a1c1 c 2 0 a1s1 s 2 1 0 0 0 1 0 s1 s 2 c1 s 2 s1 c 2 c1 s 2 s1 s 2 c1 c 2 0 0 0 0 cos cos cos sin sin sin sin cos cos sin Industrial Automation c1 2 s 1 2 0 0 s 2 c 2 0 0 0 a2c 2 0 a2 s 2 1 0 0 1 0 a2 c 2 c1 s1 s 2 a1c1 0 a2 c 2 s1 c1 s 2 a1s1 1 0 0 1 s1 2 0 a2c1 2 a1c1 c1 2 0 a2 s1 2 a1s1 1 1 1 0 0 1 Given the angles, 1 and 2, along with the link lengths, a1 and a2, the position of the end point of the two-link planar manipulator with respect to the base of the manipulator can be found using the D-H transformation matrix: c1 2 s 1 2 2 T0 0 0 Industrial Automation s1 2 c1 2 1 0 0 a1c1 a2c1 2 0 a1s1 a2 s1 2 1 1 0 1 Similarly for any robot configuration: Stanford manipulator configuration: r11 r12 r r T06 21 22 r31 r32 0 0 Industrial Automation r13 r23 r33 0 dx dy dz 1 where: r11 c1c2 c4c5c6 s4 s6 s2 s5c6 s1 s4c5c6 c4 s6 d6 r21 s1c2 c4c5c6 s4 s6 s2 s5c6 c1 s4c5c6 c4 s6 r31 s2 c4c5c6 s4 s6 c2 s5c6 d3 r12 c1 c2 c4c5 s6 s4 s6 s2 s5 s6 s1 s4c5 s6 c4c6 r22 s1 c2 c4c5 s6 s4 s6 s2 s5 s6 c1 s4c5 s6 c4c6 r32 s2 c4c5 s6 s4c6 c2 s5 s6 r13 c1 c2c4 s5 s2c5 s1s4 s5 r23 s1 c2c4 s5 s2c5 c1s4 s5 d2 r33 s2c4 s5 c2c5 d x c1s2d 3 s1d 2 d 6 c1c2c4 s5 c1c5 s2 s1s4 s5 d y s1s2d 3 c1d 2 d 6 c1s4 s5 c2c4 s1s5 c5 s1s2 d z c2d 3 d 6 c2c5 c4 s2 s5 Industrial Automation Velocity Kinematics Industrial Automation Jacobian The Jacobian is a matrix valued function of derivatives. f1 x f 1 Jv 2 J x1 Jw f n x1 Industrial Automation f1 x2 f 2 x2 f n x2 f1 xn f 2 xn f n xn Linear Velocities lc1 sin q1 0 J vc1 lc1 cos q1 0 0 0 l1 sin q1 lc 2 sin q1 q2 lc 2 sin q1 q2 J vc 2 l1 cos q1 lc1 cosq1 q2 lc 2 cosq1 q2 0 0 Industrial Automation Inverse Kinematics • Inverse Kinematics – Given the position of the end of the manipulator, determine the angles and/or extensions of the arm needed to get there Industrial Automation In general the problem can be stated: Given the 4x4 D-H homogeneous transformation R d H 0 1 Find one (or all) of the solutions of the equation T0n q1 , q2 ,..., qn H where : T0n q1 , q2 ,..., qn A1 A2 ... An In other words, solve the system of equations: Tij q1 , q2 ,..., qn hij where : i 1, 2, 3 Industrial Automation j 1, 2, 3,..., n Mark W. Spong and M. Vidyasagar, Robot Dynamics and Control (1989) r11 c1c2 c4c5c6 s4 s6 s2 s5c6 s1 s4c5c6 c4 s6 For example, the system of nonlinear trigonometric equations for the Stanford manipulator is: r21 s1c2 c4c5c6 s4 s6 s2 s5c6 c1 s4c5c6 c4 s6 r31 s2 c4c5c6 s4 s6 c2 s5c6 r12 c1 c2 c4c5 s6 s4 s6 s2 s5 s6 s1 s4c5 s6 c4c6 r22 s1 c2 c4c5 s6 s4 s6 s2 s5 s6 c1 s4c5 s6 c4c6 r32 s2 c4c5 s6 s4c6 c2 s5 s6 r13 c1 c2c4 s5 s2c5 s1s4 s5 r23 s1 c2c4 s5 s2c5 c1s4 s5 r33 s2c4 s5 c2c5 d x c1s2d 3 s1d 2 d 6 c1c2c4 s5 c1c5 s2 s1s4 s5 d y s1s2d 3 c1d 2 d 6 c1s4 s5 c2c4 s1s5 c5 s1s2 d z c2d 3 d 6 c2c5 c4 s2 s5 Solve for: 1, 2, 4, 5, 6, d3 Industrial Automation There is no simple, universal method to solve inverse kinematic problems. A common technique used for a 6 DOF robot with a 3 DOF endeffector (roll, pitch, yaw) is "kinematic decoupling:" find a location for the robot wrist and then determine the orientation of the end-effector. Also, in general, there is no unique solution to the inverse kinematic problem. Industrial Automation Robot Dynamics • Dynamics – Determine the forces and torques required for or resulting from the given kinematic motions. Industrial Automation Robot Controls • Control – Given the block diagram model of the dynamic system, determine the feedback loops and gains needed to accomplish the desired performance (overshoot, settling time, etc.) Industrial Automation Feedback Control System Industrial Automation DC Motor Industrial Automation Surgical Instrument Industrial Automation Good software cannot fix the problems caused by poor mechanical design. – Phillip John McKerrow, Introduction to Robotics (1991) Industrial Automation