Robotic Manipulators A report on industrial robotic manipulators. The introduction to robotic manipulators, their control theory and methods of programming have been discussed. The architecture of an exemplar manipulator is also shown.
By Ayush Rai, Manipal Institute of Technology, ECE, 070907484
Table of Contents Introduction .................................................................................................................. 2 Control Theory of Manipulators ................................................................................... 5 Mathematical background ........................................................................................ 5 Position .................................................................................................................. 6 Frames.................................................................................................................... 7 Representation of Angles..................................................................................... 11 Kinematics ............................................................................................................... 12
Forward kinematic solution ................................................................................. 15 Inverse kinematic solution ................................................................................... 15 Kinetics .................................................................................................................... 17 Jacobian ............................................................................................................... 17 Trajectory generation .......................................................................................... 18
Robotic Manipulators
Link Parameters ................................................................................................... 13
Position control .................................................................................................... 21 Force control ........................................................................................................ 21 Robot programming .................................................................................................... 21 Three Levels - .......................................................................................................... 21 Requirements of RPLs ............................................................................................. 22 Off-line Programming.............................................................................................. 23 Architecture of Unimation PUMA 560 ........................................................................ 24 Physical structure .................................................................................................... 24 Controller ................................................................................................................ 27 References .................................................................................................................. 28 1
Introduction
Robotic Manipulators
A robotic manipulator is more commonly known as a robotic arm. They are the means with which a robot interacts with its surroundings. The structure of a typical manipulator is shown in the following figure-
2
In place of the gripper we can provide other types of end-effectors to suit different needs. For example welding-torch, electromagnet, spray can, etc.
A robot is contrasted from fixed automation by the fact that robots are programmable and can adapt to their surroundings. A change in the task just requires a change in the program. For example the same robot will be able to choose different welding/painting patterns based on specific car models. There are several uses of a programmable robot Machine tending
Painting Space exploration Remote handling
Robotic Manipulators
Welding
3
Robotic Manipulators
Percentage distribution of U.S. robots sales by robot application
4
Control Theory of Manipulators The control theory associated with manipulators can be broadly divided into two parts: Kinematics and Kinetics.
Kinetics or manipulator dynamics deals with the study of manipulator under motion. This involves calculating velocity, acceleration and torque of the manipulator. Trajectory generation is also an important aspect and is required for smooth motion. Force control and position control are also studied.
Robotic Manipulators
Kinematics deals with the study of a stationary manipulator. This involves calculating the position and orientation of the manipulator.
However, before we begin with these studies we need to possess some mathematical tools which will help us in solving the aforementioned problems.
Mathematical backgroundWe need ways in which to describe the position and orientation of a body in space. First of all a co-ordinate system must be chosen to suit the needs. The most intuitive system is the Cartesian co-ordinate system and is used henceforth. Other systems can also be used as per the specific needs.
5
Next a reference point is chosen. All the other points are described w.r.t. this reference point. Usually the base of the robot forms the reference.
Robotic Manipulators
Position can be easily described by using a position vector. This is a column vector whose elements are the projections if the vector on the unit vectors of the reference system.
To describe orientation first we attach a co-ordinate system to the study point and describe this system w.r.t. the reference system. This results in a rotation matrix . It is a 3x3 matrix whose columns are the projections of unit vectors of {B} on the axes of the reference system. Thus they are the direction cosines. 6
Robotic Manipulators
Frames are a concept that encompasses both position and orientation. It is the description of one coordinate system with respect to another. Position can be represented by a frame whose rotation matrix part is an identity matrix and whose position vector part locates the point being described. Similarly orientation can be represented by a frame whose position vector part is a zero vector.
Usually we need to describe the same quantity w.r.t. different coordinate systems. This process is called Mapping. We have three types of mappings-
7
Robotic Manipulators
Translated Frames
Both {A} and {B} have the same orientation. The position of point P is known w.r.t. the {B}. And the position of the origin of {B} is known w.r.t. the origin of {B}. So if we need to find the position of P w.r.t. {A}, we just add the position vectors. 8
Robotic Manipulators
Rotated Frames
Frames {A} and {B} have the same origin but different orientations. The position of P is known w.r.t. {B} and the rotation matrix is also known. Therefore to describe P w.r.t. {A} we just need to multiply the position vector with the rotation matrix. 9
Robotic Manipulators
General Fames (both translated and rotated)
10
This is a combination of the above two cases. The position vector AP is the addition of APBORG with the rotated BP. This can be more intuitively represented with the transformation matrix. This is a 4x4 matrix consisting of the rotation matrix and position vector along with a redundant row of scalars.
Representation of Angles Fixed Angles – In these representations rotations are done about the axes of a fixed frame. e.g. - XYZ Fixed angles
Robotic Manipulators
It can be readily seen that the solution of the above equation results in the first equation.
Rotation done about fixed axes XA, YA and ZA in that order. 11
Euler Angles – In these representations rotations are done about the axes of a rotating frame.
Robotic Manipulators
e.g. - ZYX Euler angles
Rotation is done about the rotating axes ZB, YB and XB, in that order.
Kinematics Forward Kinematics – The deduction of the position and orientation of the end-effector if all joint angles are known is called Forward Kinematics Inverse Kinematics – 12
The deduction of the joint angles, given the position and orientation of the end-effector is called Inverse Kinematics.
Robotic Manipulators
Manipulator is a set of bodies connected by joints and these bodies are called links.
Link Parameters To describe a robot we need to express some parameters about the links. 13
Any robot can be described kinematically by giving the values of the four quantities for each link. 2 of these describe the link itself and the other 2 describe its connection to a neighboring link. Frames are attached to the links according to fixed conventions.
Robotic Manipulators
This notation of frames and associated parameters are commonly known as Denavit-Hartenberg parameters.
The parameters are
a = Link Length α = Link Twist d = Link Offset = Joint angle 14
Based on these frames and parameters we develop a transformation matrix. This matrix defines the general translational and rotational relation between two neighboring links.
Concatenation
Forward kinematic solution-
Robotic Manipulators
Transformations can be concatenated to derive a relation between any two frames.
It can be obtained easily by the concatenation of T matrices. By the concatenation of frames, we can easily describe the tool frame (position and orientation of end-effector) w.r.t. the base frame (reference).
Inverse kinematic solution This problem is much more complex than forward kinematics. Generally two popular approaches are used: 15
Algebraic
Robotic Manipulators
It requires solving a set of non-linear equations derived from frame transformations.
Geometric
The spatial geometry of manipulator is broken down into several plane problems which are easily solvable.
16
Kinetics To study the manipulator under motion we need to describe a new type of matrix quantity called Jacobian.
JacobianIt is a matrix quantity used for velocity analysis
It specifies the mapping of angular velocities in joint space to velocities in Cartesian space.
Robotic Manipulators
Consists of the matrix of all first-order partial derivatives of a vector- or scalar-valued function with respect to another vector
17
Robotic Manipulators
It also provides the joint torques needed for desired contact force and moment.
Another prominent use is to simulate the motion of manipulator in software.
Trajectory generation-
18
The trajectory is the path followed by the manipulator while moving from A to B. It can be described by the joint angles as a function of time.
Spline curve
Robotic Manipulators
In order to avoid obstacles we may need to specify certain via points apart from the destination. To smoothen this motion through the via points, spline curves are utilized.
19
Robotic Manipulators
In order to achieve a smooth motion the position and its first two derivatives must be continuous. Cubic polynomials satisfy this condition.
20
Higher order polynomials and linear functions with parabolic blends are also compliant.
Other than trajectories, we need to have control systems to have precise control of position and force.
Position control is achieved by Linear control and Non-linear control systems which get feedback from position and velocity sensors (shaft encoders and tachometers).
Reaction surfaces are not present in all directions so some directions will have position control and others will have force control which results in hybrid control.
Robotic Manipulators
Force control is required to create sufficient torque in the joints for a desired amount of force.
Robot programming Three Levels Teach By Showing It is a very primitive method. It involves moving the robot to the desired goal point and recording its position in a memory. The robot can be moved by hand or by a teach pendant .Teach pendant is a handheld device which enables controlling individual joints of the manipulator. This pendant is useful for large unwieldy industrial robots.
21
Explicit RPLs It involves programming robots via programs written in computer programming languages. Advent of inexpensive and powerful computers has made this approach popular. Three categories – Specialized manipulation languages (VAL by Unimation)
Robotic Manipulators
Robot Library for an existing language (AR-BASIC, ROBOT-BASIC, JARS for Pascal by NASA JPL.) Robot Library for a new general-purpose language (AML by IBM, KAREL by GMF Robotics)
Task Level Programming Command desired subgoals of the task directly. Instructions are given at a significantly higher level than other languages. Requires sophisticated robots.
Requirements of RPLsWorld modeling (support for geometric types, sets of joint angles and frames Motion specifications (instructions like “moveto goal1”; “moveto goal2, via goal1”) Flow of execution (testing, branching, parallel execution) Programming environment (IDE) 22
Sensor integration (integrate with different sensors and monitor them in the background)
Off-line ProgrammingAn off-line system is an extended form of a robot programming system It facilitates the development of programs without the presence of a real robot by using simulations
Robotic Manipulators
The original production equipment is not tied-up during program development
23
Robotic Manipulators
Architecture of Unimation PUMA 560
Physical structurePhysically it is an open chain articulated robot with 6DOF. The first three joints provide 1DOF each and wrist joint is a 3DOF joint. 24
Robotic Manipulators
The link parameters are shown in the following figure-
25
Robotic Manipulators
The frame attachment is shown in the following figure-
26
Robotic Manipulators
Controller-
The DEC-LSI 11 computer acts as the top-level controller. It is programmed in VAL and controls the Rockwell 6503 microprocessor by a suitable interface. The 6503 is an 8-bit microprocessor responsible for PID control of joint angles by feedback received from optical shaft encoders. There are no tachometers, so the joint velocity is estimated by differentiating joint position in consecutive servo cycles.
27
References Introduction to Robotics - Mechanics and Control. 2nd edition - John J. Craig Fundamentals of Robotic Mechanical Systems - Theory, Methods, and Algorithms. 2nd edition - J. Angeles Robotic Manipulators
Wikipedia
End. 28