Upload
-
View
240
Download
0
Embed Size (px)
Citation preview
7/30/2019 Robotics Kinematics and Dynamics
1/24
Types and classification of robots
And
Kinematics and dynamics of robots
/ /
1
7/30/2019 Robotics Kinematics and Dynamics
2/24
Kinematics and Dynamics of Robot
Description of Position and Orientation
Rotation Matrix
A rotation matrix describes the relative orientation of two such frames. Thecolumns of this 3 3 matrix consist of the unit vectors along the axes of one
frame, relative to the other, reference frame. Thus, the relative orientation of a
frame with respect to a reference frame is given by the rotation matrix
:
Rotation matrices can be interpreted in two ways:
1. As the representation of the rotation of the first frame into the second(active interpretation).
2. As the representation of the mutual orientation between two coordinatesystems (passive interpretation).
2
http://en.wikibooks.org/wiki/Robotics_Kinematics_and_Dynamics/Description_of_Position_and_Orientationhttp://commons.wikimedia.org/wiki/File:Rigid_body_attached_frame.svghttp://en.wikibooks.org/wiki/Robotics_Kinematics_and_Dynamics/Description_of_Position_and_Orientation7/30/2019 Robotics Kinematics and Dynamics
3/24
The coordinates, relative to the reference frame , of a point , of which the
coordinates are known with respect to a frame with the same origin, can then
be calculated as follows: .
Properties
Some of the properties of the rotation matrix that may be of practical value, are:
1. The column vectors of are normal to each other.
2. The length of the column vectors of equals 1.
3. A rotation matrix is a non-minimal description of a rigid body's
orientation. That is, it uses nine numbers to represent an orientation
instead of just three. (The two above properties correspond to six
relations between the nine matrix elements. Hence, only three of them are
independent.) Non-minimal representations often have some numericaladvantages, though, as they do not exhibit coordinate singularities.
4. Since is orthonormal, .
Elementary Rotations about Frame Axes
Rotation by an angle about the z-axis.
The expressions for elementary rotations about frame axes can easily be derived.
From the figure on the right, it can be seen that the rotation of a frame by an
angle about the z-axis, is described by:
3
http://commons.wikimedia.org/wiki/File:Rotation_about_z-axis.png7/30/2019 Robotics Kinematics and Dynamics
4/24
Similarly, it can be shown that the rotation of a frame by an angle about the x-
axis, is given by:
Derived in exactly the same manner, the rotation of a frame by an angle about
the y-axis, is described by:
Compound Rotations
Compound rotations are found by multiplication of the different elementary
rotation matrices.
The matrix corresponding to a set of rotations about moving axes can be foundby postmultiplying the rotation matrices, thus multiplying them in the the sameorder in which the rotations take place. The rotation matrix formed by a rotation
by an angle about the z-axis followed by a rotation by an angle about the
moved y-axis, is then given by:
The composition of rotations about fixed axes, on the other hand, is found bypremultiplying the different elementary rotation matrices.
Inverse Rotations
The inverse of a single rotation about a frame axis is a rotation by the negative ofthe rotation angle about the same axis:
The inverse of a compound rotation follows from the inverse of the matrix
product:
4
7/30/2019 Robotics Kinematics and Dynamics
5/24
Euler Angles
Contrary to the rotation matrix, Euler angles are a minimal representation (a setof just three numbers, that is) of relative orientation. This set of three anglesdescribes a sequence of rotations about the axes of a moving reference frame.
There are, however, many (12, to be exact) sets that describe the sameorientation: different combinations of axes (e.g. ZXZ, ZYZ, and so on) lead to
different Euler angles. Euler angles are often used for the description of the
orientation of the wrist-like end-effectors of many serial manipulator robots.
Note: Identical axes should not be in consecutive places (e.g. ZZX). Also, therange of the Euler angles should be limited in order to avoid different angles for
the same orientation. E.g.: for the case of ZYZ Euler angles, the first rotation
about the z-axis should be within . The second rotation, about the moved
y-axis, has a range of . The last rotation, about the moved z-axis,
has a range of .
Forward Mapping
Forward mapping, or finding the orientation of the end-effector with respect to
the base frame, follows from the composition of rotations about moving axes.
For a rotation by an angle about the x-axis, followed by a rotation by an angle
about the moved y-axis, and a final rotation by an angle about the moved z-
axis, the resulting rotation matrix is:
After writing out:
Note: Notice the shorthand notation: stands for , stands for ,and so on.
Inverse Mapping
In order to drive the end-effector, the inverse problem must be solved: given a
certain orientation matrix, which are the Euler angles that accomplish this
orientation?
For the above case, the Euler angles , and are found by inspection of the
rotation matrix:
5
http://en.wikipedia.org/wiki/Euler_angleshttp://en.wikipedia.org/wiki/Euler_angles7/30/2019 Robotics Kinematics and Dynamics
6/24
Coordinate SingularitiesIn the above example, a coordinate singularity exists for . The above
equations are badly numerically conditioned for small values of : the first and
last equaton become undefined. This corresponds with an alignment of the first
and last axes of the end-effector. The occurrence of a coordinate singularity
involves the loss of a degree of freedom: in the case of the above example,small rotations about the y-axis require impossibly large rotations about the x-
and z-axes.
No minimal representation of orientation can globally describe all orientations
without coordinate singularities occurring.
Roll-Pitch-Yaw Angles
The orientation of a rigid body can equally well be described by three
consecutive rotations about fixed axes. This leads to a notation with Roll-Pitch-Yaw (RPY) angles.
Forward Mapping
The forward mapping of RPY angles to a rotation matrix similar to that of Eulerangles. Since the frame now rotates about fixed axes instead of moving axes, the
order in which the different rotation matrices are multiplied is inversed:
After writing out:
Inverse Mapping
The inverse relationships are found from inspection of the rotation matrix above:
6
7/30/2019 Robotics Kinematics and Dynamics
7/24
Note: The above equations are badly numerically conditioned for values of
near and .
Unit Quaternions
Unit quaternions (quaternionsof which the absolute value equals 1) are another
representation of orientation. They can be seen as a compromise between the
advantages and disadvantages of rotation matrices and Euler angle sets.
Homogeneous Transform
The notations above describe only relative orientation. The coordinates of a
point, relative to a frame , rotated and translated with respect to a reference
frame , are given by:
This can be compacted into the form of a homogeneous transformation matrixorpose (matrix). It is defined as follows:
This matrix represents the position and orientation of a frame whose origin,
relative to a reference frame , is described by , and whose orientation,
relative to the same reference frame , is described by the rotation matrix .
is, thus, the representation of a frame in three-dimensional space. If the
coordinates of a point are known with respect to a frame , then its
coordinates, relative to are found by:
This is the same as writing:
Note that the above vectors are extended with a fourth coordinate equal to one:
they're made homogeneous.
As was the case with rotation matrices, homogeneous transformation matrices
can be interpreted in an active ("displacement"), and a passive ("pose") manner.
7
http://en.wikipedia.org/wiki/Quaternionhttp://en.wikipedia.org/wiki/Quaternionhttp://en.wikipedia.org/wiki/Homogeneous_coordinateshttp://en.wikipedia.org/wiki/Quaternionhttp://en.wikipedia.org/wiki/Homogeneous_coordinates7/30/2019 Robotics Kinematics and Dynamics
8/24
It is also a non-minimal representation of a pose, that does not suffer fromcoordinate singularities.
Compound Poses
If the pose of a frame is known, relative to , whose pose is known with
respect to a third frame , the resulting pose is found as follows:
Serial Manipulator Position Kinematics
Forward Position Kinematics
The forward position kinematics problem can be stated as follows: given the
different joint angles, what is the the position of the end-effector? With the
previous sections in mind, the answer is rather simple: construct the different
transformation matrices and combine them in the right way, the result being
, where is the base frame of the robot manipulator.
Solution
Suppose the mutual orientation matrices between adjacent links are known. (As
the fixed parameters of each link are known, and the joint angles are a given to
the problem, these can be calculated. One possible way to do this would be to
make use of the Denavit-Hartenberg convention.) The transformation that relates
the last and first frames in a serial manipulator arm, and thus, the solution to the
forward kinematics problem, is then represented by the compound homogeneous
transformation matrix. The axes are moving, thus, the compound homogeneous
8
http://en.wikibooks.org/wiki/Robotics_Kinematics_and_Dynamics/Serial_Manipulator_Position_Kinematicshttp://en.wikibooks.org/wiki/Robotics_Kinematics_and_Dynamics/Serial_Manipulator_Position_Kinematics7/30/2019 Robotics Kinematics and Dynamics
9/24
transformation matrix is found by premultiplying the individual transformation
matrices:
Examples
The Planar Three-Link Manipulator
A planar three link manipulator. Each -axis lies along the th link. Each -
axis lies perpendicular to the corresponding -axis in such a way that a positive
corresponds with a rotation from to .
The equations below use 3 3 pose matrices, as this is just a 2-dimensional case
(cf. the figure on the right).
The pose of the first link, relative to the reference frame, is given by (recall the
elementary rotation about the z-axis from the previous section):
The pose of the second link, relative to the first link, is given by:
This corresponds to a rotation by an angle and a translation by a distance ,
where is the length of the first link.
The pose of the third link, relative to the second link, is given by:
9
http://commons.wikimedia.org/wiki/File:Planar-three-link-manipulator.svg7/30/2019 Robotics Kinematics and Dynamics
10/24
The pose of the end effector, relative to the third link, is given by:
The solution to the forward kinematics problem is then:
Hence:
The resulting kinematic equations are:
Inverse Position Kinematics
The inverse kinematics problem is the opposite of the forward kinematics
problem and can be summarized as follows: given the desired position of the end
effector, what combinations of the joint angles can be used to achieve this
position?
10
7/30/2019 Robotics Kinematics and Dynamics
11/24
An example of two different solutions for the inverse kinematics problem
leading to the same end-effector position and orientation.
Two types of solutions can be considered: a closed-form solution and a
numerical solution. Closed-form or analytical solutions are sets of equations thatfully describe the connection between the end-effector position and the joint
angles. Numerical solutions are found through the use of numerical algorithms,
and can exist even when no closed-form solution is available. There may also be
multiple solutions, or no solution at all.
Example: Planar Three-Link Manipulator
The inverse kinematics problem for this 2D manipulator can quite easily be
solved algebraically.
From the earlier results (for simplicity, the displacement over the distance shallbe omitted here):
Now assume a given end-effector orientation in the following form:
Equating the two previous expressions results in:
11
http://commons.wikimedia.org/wiki/File:Inverse-kinematics-multiple-solutions.svg7/30/2019 Robotics Kinematics and Dynamics
12/24
As:
,
squaring both the expressions for and and adding them, leads to:
Solving for leads to:
,
while equals:
,
and, finally, :
Note: The choice of the sign for corresponds with one of the two solutions inthe figure above.
The expressions for and may now be solved for . In order to do so, write
them like this:
where , and .
Let:
Then:
12
7/30/2019 Robotics Kinematics and Dynamics
13/24
Applying these to the above equations for and :
,
or:
Thus:
Hence:
Note: If , actually becomes arbitrary.
may now be solved from the first two equations for and :
Types and Classification ofRobots
13
http://www.osha.gov/dts/osta/otm/otm_iv/otm_iv_4.html#2%232http://www.osha.gov/dts/osta/otm/otm_iv/otm_iv_4.html#2%232http://www.osha.gov/dts/osta/otm/otm_iv/otm_iv_4.html#2%232http://www.osha.gov/dts/osta/otm/otm_iv/otm_iv_4.html#2%2327/30/2019 Robotics Kinematics and Dynamics
14/24
I. INTRODUCTION
Industrial robots are programmable multifunctionalmechanical devices designed to move material, parts,
tools, or specialized devices through variable programmed
motions to perform a variety of tasks. An industrial robotsystem includes not only industrial robots but also any
devices and/or sensors required for the robot to performits tasks as well as sequencing or monitoring
communication interfaces.
Robots are generally used to perform unsafe, hazardous,highly repetitive, and unpleasant tasks. They have manydifferent functions such as material handling, assembly,arc welding, resistance welding, machine tool load and
unload functions, painting, spraying, etc. See AppendixIV:4-1 for common definitions. Most robots are set up foran operation by the teach-and-repeat technique. In thismode, a trained operator (programmer) typically uses a
portable control device (a teach pendant) to teach a robotits task manually. Robot speeds during these
programming sessions are slow.
This instruction includes safety considerations necessaryto operate the robot properly and use it automatically in
conjunction with other peripheral equipment. This
instruction applies to fixed industrial robots and robotsystems only. See Appendix IV:4-2 for the systems that
are excluded.
A. Accidents: Past Studies
1. Studies in Sweden and Japan indicate thatmany robot accidents do not occur undernormal operating conditions but, instead
during programming, program touch-up orrefinement, maintenance, repair, testing,
setup, or adjustment. During many of theseoperations the operator, programmer, or
corrective maintenance worker maytemporarily be within the robot's working
envelope where unintended operations couldresult in injuries.
2. Typical accidents have included the following:
14
http://www.osha.gov/dts/osta/otm/otm_iv/otm_iv_4.html#app_iv:4_1%23app_iv:4_1http://www.osha.gov/dts/osta/otm/otm_iv/otm_iv_4.html#app_iv:4_1%23app_iv:4_1http://www.osha.gov/dts/osta/otm/otm_iv/otm_iv_4.html#app_iv:4_2%23app_iv:4_2http://www.osha.gov/dts/osta/otm/otm_iv/otm_iv_4.html#app_iv:4_1%23app_iv:4_1http://www.osha.gov/dts/osta/otm/otm_iv/otm_iv_4.html#app_iv:4_1%23app_iv:4_1http://www.osha.gov/dts/osta/otm/otm_iv/otm_iv_4.html#app_iv:4_2%23app_iv:4_27/30/2019 Robotics Kinematics and Dynamics
15/24
A robot's arm functioned erraticallyduring a programming sequence and
struck the operator. A materials handling robot operator
entered a robot's work envelope during
operations and was pinned between theback end of the robot and a safety pole.
A fellow employee accidentally trippedthe power switch while a maintenance
worker was servicing an assembly robot.The robot's arm struck the maintenance
worker's hand.
B. Robot Safequarding1. The proper selection of an effective robotic
safeguarding system should be based upon ahazard analysis of the robot system's use,
programming, and maintenance operations.Among the factors to be considered are the
tasks a robot will be programmed to perform,start-up and command or programmingprocedures, environmental conditions,location and installation requirements,
possible human errors, scheduled andunscheduled maintenance, possible robot and
system malfunctions, normal mode ofoperation, and all personnel functions and
duties.2. An effective safeguarding system protects not
only operators but also engineers,programmers, maintenance personnel, and
any others who work on or with robot systemsand could be exposed to hazards associatedwith a robot's operation. A combination of
safeguarding methods may be used.Redundancy and backup systems are
especially recommended, particularly if arobot or robot system is operating in
hazardous conditions or handling hazardousmaterials. The safeguarding devices employedshould not themselves constitute or act as ahazard or curtail necessary vision or viewing
by attending human operators.
15
7/30/2019 Robotics Kinematics and Dynamics
16/24
II. TYPES AND CLASSIFICATION OFROBOTS
Industrial robots are available commercially in a widerange of sizes, shapes, and configurations. They are
designed and fabricated with different designconfigurations and a different number of axes or degreesof freedom. These factors of a robot's design influence its
working envelope (the volume of working or reachingspace). Diagrams of the different robot design
configurations are shown in Figure IV: 4-1.
FIGURE IV:4-1. ROBOT ARM DESIGN CONFIGURATIONS
A. Servo and Nonservo
All industrial robots are either servo or nonservo
16
7/30/2019 Robotics Kinematics and Dynamics
17/24
controlled. Servo robots are controlled through theuse of sensors that continually monitor the robot'saxes and associated components for position andvelocity. This feedback is compared to pretaught
information which has been programmed and stored
in the robot's memory. Nonservo robots do not havethe feedback capability, and their axes are
controlled through a system of mechanical stopsand limit switches.
B. Type of Path Generated
Industrial robots can be programmed from a distanceto perform their required and preprogrammed
operations with different types of paths generated
through different control techniques. The threedifferent types of paths generated are Point-to-PointPath, Controlled Path, and Continuous Path.
1. Point-to-Point Path. Robots programmedand controlled in this manner are
programmed to move from one discrete pointto another within the robot's working
envelope. In the automatic mode of operation,the exact path taken by the robot will varyslightly due to variations in velocity, joint
geometries, and point spatial locations. Thisdifference in paths is difficult to predict and
therefore can create a potential safety hazardto personnel and equipment.
2. Controlled Path. The path or mode ofmovement ensures that the end of the robot'sarm will follow a predictable (controlled) pathand orientation as the robot travels from point
to point. The coordinate transformationsrequired for this hardware management are
calculated by the robot's control systemcomputer. Observations that result from this
type of programming are less likely to presenta hazard to personnel and equipment.
3. Continuous Path. A robot whose path iscontrolled by storing a large number or closesuccession of spatial points in memory during
a teaching sequence is a continuous pathcontrolled robot. During this time, and while
the robot is being moved, the coordinate
points in space of each axis are continually
17
7/30/2019 Robotics Kinematics and Dynamics
18/24
monitored on a fixed time base, e.g., 60 ormore times per second, and placed into the
control system's computer memory. When therobot is placed in the automatic mode ofoperation, the program is replayed from
memory and a duplicate path is generated.C. Robot Components
Industrial robots have four major components: themechanical unit, power source, control system, and
tooling (Figure IV: 4-2).
1. Mechanical Unit. The robot's manipulativearm is the mechanical unit. This mechanical
unit is also comprised of a fabricated
structural frame with provisions for supportingmechanical linkage and joints, guides,actuators (linear or rotary), control valves, andsensors. The physical dimensions, design, andweight-carrying ability depend on application
requirements.
FIGURE IV:4-2. INDUSTRIAL ROBOTS: MAJORCOMPONENTS
2. Power Sources
18
7/30/2019 Robotics Kinematics and Dynamics
19/24
a a Energy is provided to various robotactuators and their controllers aspneumatic, hydraulic, or electrical
power. The robot's drives are usuallymechanical combinations powered by
these types of energy, and the selectionis usually based upon application
requirements. For example, pneumaticpower (low-pressure air) is used
generally for low weight carrying robots.a a Hydraulic power transmission (high-pressure oil) is usually used for mediumto high force or weight applications, orwhere smoother motion control can be
achieved than with pneumatics.Consideration should be given to
potential hazards of fires from leaks ifpetroleum-based oils are used.
a a Electrically powered robots are the mostprevalent in industry. Either AC or DC
electrical power is used to supplyenergy to electromechanical motor-
driven actuating mechanisms and theirrespective control systems. Motioncontrol is much better, and in an
emergency an electrically powered
robot can be stopped or powered downmore safely and faster than those witheither pneumatic or hydraulic power.
B. Control Systems1. Either auxiliary computers or embedded
microprocessors are used for practically allcontrol of industrial robots today. These
perform all of the required computationalfunctions as well as interface with and control
associated sensors, grippers, tooling, and
other associated peripheral equipment. Thecontrol system performs the necessarysequencing and memory functions for on-linesensing, branching, and integration of otherequipment. Programming of the controllers
can be done on-line or at remote off-linecontrol stations with electronic data transfer
of programs by cassette, floppy disc, ortelephone modem.
2. Self-diagnostic capability for troubleshootingand maintenance greatly reduces robot
19
7/30/2019 Robotics Kinematics and Dynamics
20/24
system downtime. Some robot controllershave sufficient capacity, in terms of
computational ability, memory capacity, andinput-output capability to serve also as systemcontrollers and handle many other machines
and processes. Programming of robotcontrollers and systems has not beenstandardized by the robotics industry;
therefore, the manufacturers use their ownproprietary programming languages which
require special training of personnel.
C. Robot Programming By TeachingMethods.
A program consists of individual command steps which
state either the position or function to be performed,along with other informational data such as speed,dwell or delay times, sample input device, activate
output device, execute, etc.
When establishing a robot program, it is necessary toestablish a physical or geometrical relationship
between the robot and other equipment or work to beserviced by the robot. To establish these coordinate
points precisely within the robot's working envelope, itis necessary to control the robot manually and
physically teach the coordinate points. To do this aswell as determine other functional programming
information, three different teaching or programmingtechniques are used: lead-through, walk-through, and
off-line.
1. Lead-Through Programming or Teaching.This method of teaching uses a proprietary
teach pendant (the robot's control is placed ina "teach" mode), which allows trained
personnel physically to lead the robot throughthe desired sequence of events by activating
the appropriate pendant button or switch.Position data and functional information are"taught" to the robot, and a new program is
written (Figure IV:4-3). The teach pendant canbe the sole source by which a program is
established, or it may be used in conjunctionwith an additional programming console
and/or the robot's controller. When using thistechnique of teaching or programming, the
20
7/30/2019 Robotics Kinematics and Dynamics
21/24
person performing the teach function can bewithin the robot's working envelope, with
operational safeguarding devices deactivatedor inoperative.
FIGURE IV:4-3. ROBOT LEAD-THROUGHPROGRAMMING OR TEACHING
2. Walk-Through Programming or Teaching.A person doing the teaching has physical
contact with the robot arm and actually gainscontrol and walks the robot's arm through thedesired positions within the working envelope
(Figure IV:4-4).
FIGURE IV:4-4. WALK-THROUGH PROGRAMMING ORTEACHING
During this time, the robot's controller isscanning and storing coordinate values on a
21
7/30/2019 Robotics Kinematics and Dynamics
22/24
fixed time basis. When the robot is laterplaced in the automatic mode of operation,
these values and other functional informationare replayed and the program run as it wastaught. With the walk-through method of
programming, the person doing the teachingis in a potentially hazardous position because
the operational safeguarding devices aredeactivated or inoperative.
Off-Line Programming. The programmingestablishing the required sequence of
functional and required positional steps iswritten on a remote computer console (FigureIV:4-5). Since the console is distant from therobot and its controller, the written programhas to be transferred to the robot's controller
and precise positional data established toachieve the actual coordinate information forthe robot and other equipment. The programcan be transferred directly or by cassette or
floppy discs. After the program has beencompletely transferred to the robot's
controller, either the lead-through or walk-through technique can be used for obtainingactual positional coordinate information for
the robot's axes.
FIGURE IV:4-5. OFF-LINE PROGRAMMING ORTEACHING
22
7/30/2019 Robotics Kinematics and Dynamics
23/24
When programming robots with any of thethree techniques discussed above, it isgenerally required that the program be
verified and slight modifications in positionalinformation made. This procedure is calledprogram touch-up and is normally carried outin the teach mode of operation. The teacher
manually leads or walks the robot through theprogrammed steps. Again, there are potential
hazards if safeguarding devices aredeactivated or inoperative.
3. Degrees of Freedom. Regardless of theconfiguration of a robot, movement along
each axis will result in either a rotational or atranslational movement. The number of axesof movement (degrees of freedom) and theirarrangement, along with their sequence of
operation and structure, will permit movementof the robot to any point within its envelope.
Robots have three arm movements (up-down,in-out, side-to-side). In addition, they can haveas many as three additional wrist movements
on the end of the robot's arm: yaw (side to
23
7/30/2019 Robotics Kinematics and Dynamics
24/24
side), pitch (up and down), and rotational(clockwise and counterclockwise).
24