You are on page 1of 72

ROBOTICS – OIE 751

UNIT-4
Kinematics and Programming
Dr. B. Janarthanan
Professor
Dept. of Mechanical Engineering
Mohamed Sathak A.J. College of Engineering
Syllabus and Course Outcomes

13-10-2020 B. Janarthanan Robotics 2


Syllabus and Course Outcomes

13-10-2020 B. Janarthanan Robotics 3


Syllabus and Course Outcomes

13-10-2020 B. Janarthanan Robotics 4


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


Two basic joints

13-10-2020 B. Janarthanan Robotics 6


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


Joint labelling

13-10-2020 B. Janarthanan Robotics 8


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


Position representation

13-10-2020 B. Janarthanan Robotics 10


Forward and reverse kinematics

13-10-2020 B. Janarthanan Robotics 11


Forward kinematics of a 2 DOF arm

13-10-2020 B. Janarthanan Robotics 12


Forward kinematics of a 2 DOF arm

13-10-2020 B. Janarthanan Robotics 13


Forward kinematics of a 2 DOF arm

13-10-2020 B. Janarthanan Robotics 14


Forward kinematics of a 2 DOF arm

13-10-2020 B. Janarthanan Robotics 15


Reverse transformation of the 2-DOF
arm

13-10-2020 B. Janarthanan Robotics 16


Reverse transformation of the 2-DOF
arm

13-10-2020 B. Janarthanan Robotics 17


Reverse transformation of the 2-DOF
arm

13-10-2020 B. Janarthanan Robotics 18


Reverse transformation of the 2-DOF
arm

13-10-2020 B. Janarthanan Robotics 19


A 3 DOF arm in two dimensions

13-10-2020 B. Janarthanan Robotics 20


A 3 DOF arm in two dimensions

13-10-2020 B. Janarthanan Robotics 21


A 3 DOF arm in two dimensions

13-10-2020 B. Janarthanan Robotics 22


3 DOF arm in two dimensions

13-10-2020 B. Janarthanan Robotics 23


3 DOF arm in two dimensions

13-10-2020 B. Janarthanan Robotics 24


3 DOF arm in two dimensions

13-10-2020 B. Janarthanan Robotics 25


4 DOF manipulator in three dimensions

13-10-2020 B. Janarthanan Robotics 26


4 DOF manipulator in three dimensions

13-10-2020 B. Janarthanan Robotics 27


4 DOF manipulator in three dimensions

13-10-2020 B. Janarthanan Robotics 28


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


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


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
Translation

13-10-2020 B. Janarthanan Robotics 32


Translation

13-10-2020 B. Janarthanan Robotics 33


Translation

13-10-2020 B. Janarthanan Robotics 34


Rotation

13-10-2020 B. Janarthanan Robotics 35


Rotation
• 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°.

13-10-2020 B. Janarthanan Robotics 36


Rotation

13-10-2020 B. Janarthanan Robotics 37


Homogeneous transformation (summary)

13-10-2020 B. Janarthanan Robotics 38


Homogeneous transformation

13-10-2020 B. Janarthanan Robotics 39


Homogeneous transformation
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

13-10-2020 B. Janarthanan Robotics 40


Homogeneous transformation
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.

13-10-2020 B. Janarthanan Robotics 41


Robot programming
• 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

13-10-2020 B. Janarthanan Robotics 42


Methods of Robot programming
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

13-10-2020 B. Janarthanan Robotics 43


Lead through Programming Method
• 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

13-10-2020 B. Janarthanan Robotics 44


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


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
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


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
Teach pendant

13-10-2020 B. Janarthanan Robotics 49


Teach pendant
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
13-10-2020 B. Janarthanan Robotics 50
Teach pendant
• 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
13-10-2020 B. Janarthanan Robotics 51
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


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


WAIT, SIGNAL and DELAY commands

13-10-2020 B. Janarthanan Robotics 54


WAIT, SIGNAL and DELAY commands

13-10-2020 B. Janarthanan Robotics 55


WAIT, SIGNAL and DELAY commands

13-10-2020 B. Janarthanan Robotics 56


Interpolation schemes
• Joint interpolation
• Straight line interpolation
• Circular interpolation
• Irregular smooth motions

13-10-2020 B. Janarthanan Robotics 57


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


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


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


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


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


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
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


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


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
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


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


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
Motion commands
• MOVE A
• MOVES A
• APPRO A1,50
• MOVES A1
• DEPART 50
• APPROS
• DEPARTS
• DMOVE
• SPEED 60 IPS
• SPPED 75

13-10-2020 B. Janarthanan Robotics 70


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


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

You might also like