Industrial Robots : Manipulators, Kinematics, Dynamics z z y x z y x z y y x x
In Industrial terms
Robot Manipulators The study of robot manipulators involves dealing with the positions and orientations of the several segments that make up the manipulators.
Manipulators Robot arms, industrial robot Rigid bodies (links) connected by joints Joints: revolute or prismatic Drive: electric, pneumatic or hydraulic End-Effector (tool) mounted on a flange or plate secured to the wrist joint of robot 5
Joints Most manipulator joints are one of two types 1. Revolute (or rotary) like a hinge allows relative rotation about a fixed axis between two links axis of rotation is the z axis by convention 2. Prismatic (or linear) like a piston allows relative translation along a fixed axis between two links axis of translation is the z axis by convention
Articulated Manipulator RRR (first three joints are all revolute) joint axes z 0 : waist z 1 : shoulder (perpendicular to z 0 ) z 2 : elbow (parallel to z 1 ) z 0 z 1 z 2 θ 2 θ 3 shoulder forearm elbow θ 1 waist Common Manipulator Arrangements
Manipulators can be classified according to a variety of criteria. By Motion Characteristics Planar manipulator: A manipulator is called a planar manipulator if all the moving links move in planes parallel to one another. Spherical manipulator: A manipulator is called a spherical manipulator if all the links perform spherical motions about a common stationary point. Spatial manipulator: A manipulator is called a spatial manipulator if at least one of the links of the mechanism possesses a general spatial motion.
By Kinematic Structure Open-loop manipulator (or serial robot): A manipulator is called an open-loop manipulator if its links form an open-loop chain. Parallel manipulator: A manipulator is called a parallel manipulator if it is made up of a closedloop chain. Hybrid manipulator: A manipulator is called a hybrid manipulator if it consists of open loop and closed loop chains.
Degrees of Freedom - DOF The number of degrees of freedom of a mechanism are defined as the number of independent variables that are required to completely identify its configuration in space. Everywhere there is motion that can go in both directions can be considered a DOF.
Four Basic Industrial Robot Geometries (Anatomies) 1. Polar- similar to cylindrical except that it is up/down motion is performed by a tilt 2. Cylindrical Uses vertical column, up/down, sliding arm so its workspace approximates a cylinder 3. Cartesian Uses three perpendicular slides to construct x, y, z axis. Sometimes this is called an x,y,z robot. Produces a rectangular work envelope. 4. Jointed Arm similar to human arm
Manipulators Industrial Robot Geometries (Anatomies): Cartesian: PPP Cylindrical: RPP Spherical: RRP Articulated: RRR SCARA: RRP (Selective Compliance Assembly Robot Arm) Hand coordinate: n: normal vector; s: sliding vector; a: approach vector, normal to the tool mounting plate
Manipulators/Endeffectors
Robot Arm Specs Robot Specifications Number of Axes Major axes, (1-3) => Position the wrist Minor axes, (4-6) => Orient the tool Redundant, (7-n) => reaching around obstacles, avoiding undesirable configuration Degree of Freedom (DOF)= # of joints Workspace Payload (load capacity) Precision v.s. Repeatability What is workspace or in 3D printers print envolope?
PAYLOAD: THE ABILITY TO CARRY, CONTINOUSLY AND SATISFACTORILY, A GIVEN MAXIMUM WEIGHT AT A GIVEN SPEED. VELOCITY: THE MAXIMUM SPEED AT WHICH THE TIP OF A ROBOT IS CAPABLE OF MOVING AT FULL EXTENSION, EXPRESSED IN INCHES OR MILLIMETERS PER SECOND. CYCLE: TIME IT TAKES FOR THE ROBOT TO COMPLETE ONE CYCLE OF PICKING UP A GIVEN OBJECT AT A GIVEN HEIGHT, MOVING IT TO A GIVEN DISTANCE, LOWERING IT, RELEASING IT, AND RETURNING TO THE STARTING POINT. ACCURACY: A ROBOT S ABILITY TO POSITION THE END EFFECTOR AT A SPECIFIED POINT IN SPACE UPON RECEIVING A CONTROL COMMAND WITHOUT PREVIOUSLY HAVING ATTAINED THAT POSITION. REPEATIBILITY: THE ABILITY OF A ROBOT TO RETURN CONSISTENTLY TO A PREVIOUSLY DEFINED AND ACHIEVED LOCATION. RESOLUTION: THE SMALLEST INCREMENTAL CHANGE IN POSITION THAT IT MAKE OR ITS CONTROL SYSTEM CAN MEASURE.
ROBOT SELECTION ROBOT MUST BE MATCHED PROPERLY BY CAPABILITIES TO TASK REQUIREMENTS. AN OBJECTIVE APPROACH TO ROBOT SELECTION PROVIDES FEWER RESTRICTIONS IN SYSTEM DESIGN BY ALLOWING FOR THE OPTIMUM SYSTEM DESIGN TO BE ACHIEVED REGARDLESS OF THE SPECIFIC ROBOT NEED. CRITERIA FOR ROBOT SELECTION: TECHINICAL ISSUES: TYPE: NONSERVO, SERVO, SERVO-CONTROLLED WORK ENVELOPE: RECTANGULAR, CYLINDIRCAL, SPHERICAL, JOINTED ARM, SCARA PAYLOAD CYCLE TIME REPEATABILITY DRIVE: ELECTRIC, PNEUMATIC, HYDRAULIC, ANY COMBINATION UNIQUE CAPABILITIES NON-TECHNICAL ISSUES: COST AND BENEFIT CONSIDERATION COMMONALITY OF EQUIPMENT TRAINING AND MAINTENANCE REQUIREMENTS RELIABILITY SERVICE SYSTEMS HELP SAFETY
01_12
Spherical Manipulator RRP Stanford arm z 0 z 1 d 3 θ 2 shoulder z 2 θ 1 waist Common Manipulator Arrangements
SCARA Manipulator RRP Selective Compliant Articulated Robot for Assembly z 1 z 2 z 0 θ 2 d 3 θ 1 Common Manipulator Arrangements
01_14
The figure shown above shows a two-link planar arm with rotary joints. Given that L1 = 2L2 and the joint ranges are sketch the approximate reachable workspace of the tip of link 2.
Kinematics Kinematics is the first step towards robot position control. Cartesian Space Joint Space Actuator Space z y x
Manual control and programming
Robot Kinematics In order to control and program a robot arm we must have knowledge of both it s spatial arrangement and a means of reference to the environment. KINEMATICS - the analytical study of the geometry of motion of a robot arm with respect to a fixed reference co-ordinate system.
Forward Kinematics is the process of calculating the position in space of the end of a linked structure, given the angles and length of all the joints. There is only one solution. Inverse Kinematics does the reverse. Given the end point of the structure, what angles do the joints need to be in the achieve that end point. It can be difficult, and there are usually many or infinitely many solutions. See reference guides for in depth study
Lets Look at Position and Orientation of the links first 5 DOF Arm
Description of a Position The position of any point in space, relative to a reference frame, can be described by a 3x1 position vector. For example, the position of point P with respect to frame A can be written as: where Px, Py and Pz are the magnitudes of the projections of the line joining the point P and the origin on the x,y and z axes respectively.
Description of an Orientation The orientation of a body in space can be described by attaching a coordinate system to it and then describing the vectors of its coordinate axes relative to a known frame of reference.
For example, the coordinate axes of Frame B can be described relative to a known coordinate system A by the following unit vectors: Orientation of a single link
These three vectors can be combined to achieve a 3x3 matrix called a rotation matrix.
Rotation Matrix Properties In order to perform this rotational matrix the rotations matrix from Frame B with respect to Frame A is equal to the inverse and transpose of the rotation matrix of Frame A with respect to frame B. 1- All the columns of a rotation matrix are orthogonal (having right angles) to each other. 2- The determinant (same # of rows and columns) of a rotation matrix is 1. 3- The inverse of a rotation matrix is equal to its transpose.
Let s rotate about the Z-axis If a reference frame (Frame A) is rotated by an angle α about the z-axis to obtain a new frame (Frame B), the rotation matrix of the new frame is:
If a reference frame (Frame A) is rotated by an angle β about the y-axis to obtain a new frame (Frame B), the rotation matrix of the new frame is: Rotation about the y-axis
If a reference frame (Frame A) is rotated by an angle γ about the x-axis to obtain a new frame (Frame B), the rotation matrix of the new frame is: Rotation about the x-axis
Forward Kinematics (in a two joint configuration) The more joints you have the harder it is to figure it out. - given the joint variables and dimensions of the links what is the position and orientation of the end effector relative to the base? (Px,Py,Pz) a 2 θ 2 a 1 θ 1
Forward Kinematics choose the base coordinate frame (base frame) of the robot and label it. we want (x, y) to be expressed in this frame. (x, y)? a 2 y 0 θ 2 a 1 θ 1 x 0
Forward Kinematics choose a coordinate frame with origin located on joint 2 with the same orientation as the base frame. For the first link we get ( a 1 cos θ 1, a 1 sin θ 1 ) (x, y)? y 1 a 2 θ 2 y 0 θ 1 x 1 a 1 θ 1 ( a 1 cos θ 1, a 1 sin θ 1 ) x 0
Forward Kinematics notice that link 2 moves in a circle centered on frame 1. For the second link we get ( a 2 cos (θ 1 + θ 2 ), a 2 sin (θ 1 + θ 2 ) ) (x, y)? y 1 a 2 ( a2 cos (θ 1 + θ 2 ), a2 sin (θ 1 + θ 2 ) ) y 0 θ 2 θ 1 x 1 a 1 θ 1 x 0 ( a 1 cos θ 1, a 1 sin θ 1 )
Forward Kinematics because the base frame and frame 1 have the same orientation, we can sum the coordinates to find the position of the end-effector in the base frame X=a 1 cos θ 1 + a 2 cos (θ 1 + θ 2 ) Y= a 1 sin θ 1 + a 2 sin (θ 1 + θ 2 ) y 1 a 2 ( a 2 cos (θ 1 + θ 2 ), y 0 θ 2 θ 1 x 1 a 2 sin (θ 1 + θ 2 ) ) a 1 θ 1 x 0 ( a 1 cos θ 1, a 1 sin θ 1 )
So we can get our X,Y point using the geometric approach. For the purpose of this class we will only deal with this scenario X=a 1 cos θ 1 + a 2 cos (θ 1 + θ 2 ) Y= a 1 sin θ 1 + a 2 sin (θ 1 + θ 2 ) 55 11/24/2014
Forward Kinematics
Inverse Kinematics given the position (x, y) (and possibly the orientation) of the endeffector, and the dimensions y 2 of the links, what are the joint variable angles l 2 (x, y) x 2 y 0 θ 2? l 1 θ 1? x 0
Inverse Kinematics harder than forward kinematics because there is often more than one possible solution Notice in the lab the arm went its own way until you gave it an orientation in the program? (x, y) l 2 y 0 l 1 x 0
Inverse Kinematics θ 2? l 1 l 2 x 0 y 0 (x, y) b + = 2 1 2 2 2 1 2 2 2 arccos θ l l l l y x 2 + + = x y arctan 2 y x ) sin(θ arcsin θ 2 2 2 2 1 l Derived equations from law of cosines You could have two answers depending of the path and origin
The Denavit-Hartenberg Notation Matrix cosθi sinθ cosα sinθisinα 0 i (i 1) (i 1) sinθ cosθ cosα cosθ sinα i 0 (i 1) (i 1) Denavit-Hartenberg Matrix is a transformation matrix from one coordinate frame to the next. Using a series of D-H Matrix multiplications and the D-H Parameter table, the final result is a transformation matrix from some frame to your initial frame. i i 0 sinα cosα 0 (i 1) (i 1) ai αi d θ i i a (i 1) sinα cosα (i 1) (i 1) 1 d d i i link length link twist link offset joint angle Uses 4 parameters to describe how a frame (i) relates to a previous frame ( i -1 ).
Denavit-Hartenberg Representation : Simple way of modeling robot links and joints for any robot configuration, regardless of its sequence or complexity. Transformations in any coordinates is possible. Any possible combinations of joints and links and all-revolute articulated robots can be represented.
Denavit- Hartenberg Representation of Joint-Link- Joint Transformation Alpha is applied first
There are other methods for getting the inverse kinematic values: Jacobean You can research those methods here: http://www.intechopen.com/books/robot-arms/kinematics-of-adeptthree-robot-arm Recommended videos: https://www.youtube.com/watch?v=vjsubt4npvk The Jacobean defines the transformation between the robot hand velocity and the joint velocity. Knowing the joint velocity, the joint angles and the parameters of the arm, the Jacobean can be computed and the hand velocity calculated in terms of the hand Cartesian coordinates. The Jacobean is an important component in many robot control algorithms. Normally, a control system receives sensory information about the robot s environment, most naturally implemented using Cartesian coordinates, yet robots operate in the joint or world coordinates. Transforms are needed between Cartesian coordinates and joint coordinates and vice versa. The transformation between the velocity of the arm, in terms of its joint speeds, and the velocity of the arm in Cartesian coordinates, in a particular frame of reference, is very important.
Extra Credit! Sample program in C has been uploaded to website to use as reference to create this program.
Consider the five axis CRS Robot Arm
Based on the info given below, write a program to calculate:
Now for Inverse Kinematics