1. UNIT-4
Kinematics and Programming
Dr. B. Janarthanan
Professor
Dept. of Mechanical Engineering
Mohamed Sathak A.J. College of Engineering
ROBOTICS – OIE 751
5. Robot kinematics (mechanics of
robots)
• Robot consists of links which move about joints
• The joints could be sliding or revolute type
• In case of sliding type, the linear displacement is
called joint offset
• In case of revolute type, the angular movement is
known as joint angle
13-10-2020 B. Janarthanan Robotics 5
7. Kinematics
• A typical robots state is represented by joint
variables like joint offset and joint angles
• Kinematics means the study of motion without
considering the forces and moments which cause
the motion (with respect to a fixed reference
coordinate system)
• It refers to the study of geometric and time based
quantities like position, velocity and acceleration of
every point of the robot
13-10-2020 B. Janarthanan Robotics 7
9. Forward and Inverse kinematics
• Direct (also forward) kinematics –
• Given are joint relations (rotations, translations) for the
robot arm.
• Task: What is the orientation and position of the end
effector?
• Inverse kinematics –
• Given is desired end effector position and orientation.
• Task: What are the joint rotations and orientations to
achieve this?
13-10-2020 B. Janarthanan Robotics 9
20. A 3 DOF arm in two dimensions
13-10-2020 B. Janarthanan Robotics 20
21. A 3 DOF arm in two dimensions
13-10-2020 B. Janarthanan Robotics 21
22. A 3 DOF arm in two dimensions
13-10-2020 B. Janarthanan Robotics 22
23. 3 DOF arm in two dimensions
13-10-2020 B. Janarthanan Robotics 23
24. 3 DOF arm in two dimensions
13-10-2020 B. Janarthanan Robotics 24
25. 3 DOF arm in two dimensions
13-10-2020 B. Janarthanan Robotics 25
26. 4 DOF manipulator in three dimensions
13-10-2020 B. Janarthanan Robotics 26
27. 4 DOF manipulator in three dimensions
13-10-2020 B. Janarthanan Robotics 27
28. 4 DOF manipulator in three dimensions
13-10-2020 B. Janarthanan Robotics 28
29. Homogeneous transformation
• The approach used in the previous section becomes
quite cumbersome when a manipulator with many
joints must be analysed
• Another more general method for solving the kinematic
equations of a robot arm makes use of homogeneous
transformation
• The point (x,y,z) is represented as the vector
𝑥
𝑦
𝑧
𝑤
• where w is a weighting factor.
13-10-2020 B. Janarthanan Robotics 29
30. Homogeneous transformation
• Vectors of the above form can be used to define end-of-
arm position for a robot manipulator
• A vector can be translated or rotated in space by means
of a transformation
• The transformation is accomplished by a 4×4 matrix H
• For instance the vector Ԧ𝑣 is transformed into the vector
𝑢 by the following matrix operation
𝑢 = H Ԧ𝑣
13-10-2020 B. Janarthanan Robotics 30
31. Translation
• Suppose that you know the location of a point in one
coordinate frame and you want to know its location in
another frame
• How do you do it? We will start with a very simple case, and
then move into more complex examples.
• Let’s begin by considering the two coordinate systems in
Figure 14, world coordinates and robot coordinates.
• Notice that the only difference between the two coordinate
frames is that the robot frame has been translated by 3
units along the y axis from the world coordinate frame.
• Figure 15 is a table of some sample points in world
coordinates, and their corresponding values in robot
coordinates. For the moment, ignore the third column of
Figure 15, and just look at the first two columns.
13-10-2020 B. Janarthanan Robotics 31
36. Rotation
13-10-2020 B. Janarthanan Robotics 36
• Consider the two frames depicted in Figure 19.
• To transform the k coordinate frame into the j
coordinate frame,
• we perform a rotation about k’s z axis by -90°.
40. Homogeneous transformation
13-10-2020 B. Janarthanan Robotics 40
1. For vector Ԧ𝑣 = 25Ԧ𝑖 + 10Ԧ𝑗 + 20𝑘 perform a
translation by a distance of 8 in the x direction, 5
in y direction and 0 in the z direction
2. Rotate the vector Ԧ𝑣 = 5Ԧ𝑖 + 3Ԧ𝑗 + 8𝑘 by an angle
of 90° about x-axis
3. A vector Ԧ𝑣 = 3Ԧ𝑖 + 2Ԧ𝑗 + 7𝑘 is rotated by an angle
of 60° about z-axis of the reference frame. It is
then rotated by 30° about x-axis of the reference
frame. Find the rotation transformation
4. A vector Ԧ𝑣 = 3Ԧ𝑖 + 2Ԧ𝑗 + 7𝑘 is rotated by an angle
of 30° about x-axis of the reference frame. It is
then rotated by 60° about z-axis of the reference
frame. Find the rotation transformation
41. Homogeneous transformation
13-10-2020 B. Janarthanan Robotics 41
5. A vector Ԧ𝑣 = 2Ԧ𝑖 + 5Ԧ𝑗 + 3𝑘 is rotated by an angle
of 60° about z-axis and translated by 3,4 and 5
units in the x, y and z directions respectively. Find
the vector with reference to the reference frame.
42. Robot programming
13-10-2020 B. Janarthanan Robotics 42
• In earlier chapter we have discussed about three broad
classes of industrial automation
1. Fixed automation
2. Programmable automation
3. Flexible automation
• Robotics coincides most closely with programmable
automation
43. Methods of Robot programming
13-10-2020 B. Janarthanan Robotics 43
Robot Programming
According to the consistent performance by the robots in
industries, the robot programming can be divided in two
common types such as:
• Leadthrough Programming Method
• Textual Robot Languages
44. Lead through Programming Method
13-10-2020 B. Janarthanan Robotics 44
• During this programming method, the traveling of
robots is based on the desired movements, and it is
stored in the external controller memory.
• There are two modes of a control system in this
method such as a run mode and teach mode.
• The program is taught in the teach mode, and it is
executed in the run mode.
• The leadthrough programming method can be done
by two methods namely:
1. Powered Leadthrough Method
2. Manual Leadthrough Method
45. Powered Leadthrough Method
• The powered leadthrough is the common programming
method in the industries.
• A teach pendant is incorporated in this method for
controlling the motors available in the joints.
• It is also used to operate the robot wrist and arm through
a sequence of points.
• The playback of an operation is
done by recording these points.
• The control of complex geometric moves is difficult to
perform in the teach pendant.
• As a result, this method is good for point to point
movements.
• Some of the key applications are spot welding, machine
loading & unloading, and part transfer process.
13-10-2020 B. Janarthanan Robotics 45
46. Manual Leadthrough Method
• In this method, end-effector is moved by the
programmer at the desired movements.
• Sometimes, it may be difficult to move large robot
arm manually.
• To get rid of it a teach button is implemented in the
wrist for special programming.
• The manual leadthrough method is also known
as Walk Through method.
• It is mainly used to perform continuous path
movements.
• This method is best for spray painting and arc
welding operations.
13-10-2020 B. Janarthanan Robotics 46
47. Textual Robot Languages
• In 1973, WAVE language was developed, and it is the first
textual robot language as well.
• It is used to interface the machine vision system with the
robot.
• Then AL language was introduced in 1974 for controlling
multiple robot arms during arm coordination.
• VAL was nvented in 1979, and it is the common textual robot
language.
• Later, this language was dated in 1984, and called as VAL II.
• The IBM Corporation has established their two own
languages such as AML and AUTOPASS, which is used for
the assembly operations.
• Other important textual robot languages are Manufacturing
Control Language (MCL), RAIL, and Automatic
Programmed Tooling (APT) languages.
13-10-2020 B. Janarthanan Robotics 47
48. Teach pendant
• A control box for programming the motions of
a robot
• Teach pendant programming provides an
intuitive way to interact with industrial robots.
• It involves usage of a hand held control
terminal called teach pendant that is used to
control the motion of a robot.
• It provides a very convenient method
to teach trajectories to the robot.
• Teach pendants are typically handheld
devices and may be wired or wireless.
13-10-2020 B. Janarthanan Robotics 48
50. Teach pendant
13-10-2020 B. Janarthanan Robotics 50
Major areas of teach pendant are
• Data entry buttons – Used to input data normally in
response to prompts that appear on the pendant
display
• Emergency stop switch – Halts program execution and
turns off power
• User LED: – When it is not lit, none of the predefined
functions are being used – When it is lit application
program is being in use
• Mode control buttons: – When it is in manual mode,
these buttons select which robot joint will move, or the
co-ordinate axis along which the robot will move
51. Teach pendant
13-10-2020 B. Janarthanan Robotics 51
• Manual state LED’s: – Indicated the type of manual
motion that has been selected
• Speed bars: – Used to control robot’s speed and
direction
• Slow button: – Selects between two different
speed ranges of speed bars
• Pre-defined function button: – display of co-
ordinates, clear error etc.,
• Programmable function button: – Used in custom
application programs
• Soft button: – Depends on application program
being run, or the selection made from the
52. A Robot program as a path in space
• The locus of points along the path defines the
sequence of positions through which the robot will
move its wrist
• In most applications, an end effector is attached to
he wrist and the program can be considered to be
the path in space through which the end effector is
to be moved by the robot
13-10-2020 B. Janarthanan Robotics 52
53. Methods of defining positions in space
1. Joint movements
2. x-y-z coordinate motions (also called world
coordinates)
3. Tool coordinate motions
13-10-2020 B. Janarthanan Robotics 53
54. WAIT, SIGNAL and DELAY commands
13-10-2020 B. Janarthanan Robotics 54
55. WAIT, SIGNAL and DELAY commands
13-10-2020 B. Janarthanan Robotics 55
56. WAIT, SIGNAL and DELAY commands
13-10-2020 B. Janarthanan Robotics 56
58. Joint interpolation
• The controller determines how far each joint must
move to get from the first point defined in the
programme to the next.
• It then selects the joint that requires the longest
time. This determines the amount of movement for
other axes such that all the axes start and stop at
the same time.
• Joint interpolation is the default procedure for
many commercial robots.
13-10-2020 B. Janarthanan Robotics 58
59. Straight line interpolation
• In this interpolation, the robot controller computes
the straight-line path between two points and
develops the sequence of addressable point along
the path for the robot to pass through.
13-10-2020 B. Janarthanan Robotics 59
60. Circular interpolation
• This requires the programmer to define a circle in
the robot’s workspace.
• This is done by specifying three points that lie along
the circle.
• The controller constructs the circle by selecting a
series of points that lie closer to the circle.
• These movements are actually small straight lines.
If the addressable points are dense then the linear
approximation becomes very much like circle.
13-10-2020 B. Janarthanan Robotics 60
61. Irregular smooth motions
• When the manipulator wrist is moved by the
programmer to teach, the movements consist of
combination of smooth motion segments.
• These segments are sometimes approximately
straight lines or curves or back and forth motions.
• These movements are referred as irregular smooth
motions and an interpolation is involved to achieve
them
13-10-2020 B. Janarthanan Robotics 61
62. Generations of Robot programming
languages
First Generation Language: (combination of command
statements and teach pendant procedures)
• This type of language provides an off-line
programming in combination with the programming
through the robot teach pendant.
• Its capability is limited in handling of sensory data and
communication with other components.
• The programming instructions can be used to define
the motion sequence of the manipulator (MOVE),
they have input/output capabilities (WAIT, SIGNAL)
and they can be used to write subroutines (BRANCH).
• Example: VAL (Versatile Algorithmic Language)
13-10-2020 B. Janarthanan Robotics 62
63. Generations of Robot programming
languages
Second Generation Language:
• These are structured programming languages performing
complete tasks.
• They can generate complex motions; can handle both
analog and digital signals besides the binary signals.
• These languages have the added advantage of better
interfacing facilities with other computers.
• Data processing, file management and keeping all the
records of events happening in the work cell can be done
more efficiently.
• Example: AML (A Manufacturing Language), RAIL (Robotic
Automatix Incorporated Language), MCL (Manufacturing
Control Language), VAL (Variable Assembly Language) etc.
13-10-2020 B. Janarthanan Robotics 63
64. Generations of Robot programming
languages
Word Modeling and task-oriented object level
language:
• A more advanced future language is word modeling.
Here, a task is defined through a command (Say
“TIGHTEN THE NUT”). In such a case intelligence is
required and the robot should be capable of making
decision.
• Future generation robot languages involve technology
of artificial intelligence and hierarchical control
system
13-10-2020 B. Janarthanan Robotics 64
65. Robot programming languages
AL:
• The AL (Assembly Language) was developed at the
robotic research centre of Stanford University.
• Its characteristics are:
• High level language with features of ALGOL and PASCAL.
• It is compiled into low-level language and interpreted on a
real time control machine.
• It could be used to control multiple arms in tasks requiring
arm coordination.
• It supports for word modeling
13-10-2020 B. Janarthanan Robotics 65
66. Robot programming languages
AML:
• A Manufacturing Language (AML) was developed by IBM.
• It is the control language for the IBM RS-1 robot.
• RS-1 robot is a Cartesian manipulator with 6 degrees of
freedom. Its first three joints are prismatic and the last
three joints are rotary. Its characteristics are:
• Provides an environment where different user interface can be
built.
• Supports features of LISP like and APL-like constructs.
• Supports data aggregation
• Supports joint space trajectory planning subject to position and
velocity constraints.
• Provides absolute and relative motions
• Provides sensor monitoring
13-10-2020 B. Janarthanan Robotics 66
67. Robot programming languages
RAIL:
• Robotic Automatix Incorporated Language (RAIL) was
developed by Automatix for the use of robots and vision
system.
• It is an interpreter loosely based on PASCAL.
• Several constructs have been incorporated into RAIL to
support inspection and arc-welding systems, which are a
major product of Automatix.
• The central processor of RAIL is Motorola 68000.
• Peripherals include a terminal and a teach box.
• RAIL is being supplied with three different systems:
i. Vision only, no arm
ii. A custom designed Cartesian arm for assembly tasks
iii. A Hitachi process robot for arc welding
13-10-2020 B. Janarthanan Robotics 67
68. Robot programming languages
VAL:
• It was the first commercially available robot textual language
and originally was introduced by Unimation Inc. for its use
with PUMA robots.
• Its stated purpose is to provide the ability to define robot
tasks easily.
• The intended user of VAL will typically be the manufacturing
engineer responsible for implementing the robot in a desired
application.
• It has the structure of BASIC, with many new command words
added for robot programming. It also has its own operating
system, called VAL monitor, which contains the user interface,
editor and file manager.
• It has been released for use with all PUMA robots and with
the Unimate 2000 and 4000 series.
13-10-2020 B. Janarthanan Robotics 68
69. Robot programming languages
MCL
• MCL stands for Machine Control Language developed by Douglas.
• The language is based on the APT and NC language. Designed
control complete manufacturing cell.
• MCL is enhancement of APT which possesses additional options
and features needed to do off-line programming of robotic work
cell.
• Additional vocabulary words were developed to provide the
supplementary capabilities intended to be covered by the MCL.
These capability include Vision, Inspection and Control of signals
• MCL also permits the user to define MACROS like statement that
would be convenient to use for specialized applications.
• MCL program is needed to compile to produce CLFILE.
• Some commands of MCL programming languages are DEVICE,
SEND, RECEIV, WORKPT, ABORT, TASK, REGION, LOCATE etc.
13-10-2020 B. Janarthanan Robotics 69
71. End effector and sensor commands
• SIGNAL 5
• SIGNAL 6
• OPEN
• CLOSE
• OPENI
• CLOSEI
• CLOSE 40MM
• OPEN 40MM
• CLOSE 3.0 LB
• CENTRE
13-10-2020 B. Janarthanan Robotics 71
72. Contact
Dr. B. Janarthanan
Professor
Department of Mechanical Engineering
Mohamed Sathak A.J. College of Engineering
Email :
vbjana@gmail.com,
mech.janarthanan@msajce-edu.in
13 October 2020 B. Janarthanan Dynamics of Machines 72