Unit 2 2nd Part
Unit 2 2nd Part
Unit 2 2nd Part
In order to control and programme a robot we must have knowledge of both it’s 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
Without regard to the forces or moments that cause the motion.
Kinematics
• The calculation of position via odometry is an example of kinematics.
• Kinematics is the study of motion without regard for the forces that cause it.
• It refers to all time-based and geometrical properties of motion.
• It ignores concepts such as torque, force, mass, energy, and inertia.
Forward Kinematics
Given the starting configuration of the mechanism and joint angles, the new configuration is computed. For a
given mechanism of a robot, this would mean calculating the position and orientation of the end effectors given
all the joint variables.
Why coordinates transform?
A simple leg movement needs the three joints to rotate and cooperate carefully
If the foot-tip move along a curve, the function of each joint becomes a complex equation.
In order to control the torque of each motor, we must solve the dynamic equations, which are based on the kinematics equations and the
mass of the robot.
More complex example: the 9 joints for the three legs changes complexity to make the body move forward.
Definition: Study of the motion of the robot arm with respect to a fixed reference coordinate system as s function of time.
Forward kinematics: Position and orientation of the end effectors are derived from given joint angles and link parameters.
Reverse kinematics: Joint angles and different configurations of the manipulator are derived from the position and
orientation of the end effectors.
Robot kinematics
It is the study of the motion (kinematics) of robots. In a kinematic analysis the position, velocity and acceleration of all
the links are calculated without considering the forces that cause this motion. The relationship between motion, and the
associated forces and torques is studied in robot dynamics. One of the most active areas within robot kinematics is the
screw theory
Types of Robot kinematics
1. Forward kinematics
Inverse kinematics
Forward kinematics is also known as direct kinematics. In forward kinematics, the length of each link and the angle of
each joint is given and we have to calculate the position of any point in the work volume of the robot.
The degree of freedom or grip of a robotic system can be compared to the way in which the human body moves.
For each degree of freedom a joint is required.
The degrees of freedom located in the arm define the configuration.
Each of the five basic motion configurations discuss previously utilizes three degrees of freedom in the arm.
Three degrees of freedom located in the wrist give the end effector all the flexibility.
a total of six degrees of freedom is needed to locate a robot’s hand at any point in its work space.
Although six degrees of freedom are needed for maximum flexibility, most robot employee only three to five degrees of freedom.
The more the degrees of freedom, the greater is the complexity of motions encountered.
the three degrees of freedom located in the arm of a robotic system are:
The rotational reverse: is the movement of the arm assembly about a rotary axis, such as left-and-right swivel of the robot’s
arm about a base.
The radial traverse: is the extension and retraction of the arm or the in-and-out motion relative to the base.
The vertical traverse: provides the up-and-down motion of the arm of the robotic system.
the three degrees of freedom located in the wrist, which bear the names of aeronautical terms, are
pitch or bend: is the up-and-down movement of the wrist.
yaw: is the right-and-left movement of the wrist.
roll or swivel: is the rotation of the hand.
An n-link kinematics system
An n-link kinematics system is made of a chain of links connected to each other by the joints. The system is an open-chain, each joint can move
freely independent from all other joints. For the simplicity of the analysis we assume the first joint is moving in the base coordinate frame, the
second joint is moving in the coordinate frame of the first link, and so on, the end-point is a fixed position in the n coordinate frame. Then, two
joints may either contribute to the movement of the end-point in two different directions, or, if the joint movements are dependant to each other,
then, the end-point may move only in a single direction. The joints those contribute to the movement of the end effectors in a new and
independent direction are called independent joints. The total number of the independent joints determines the degrees of freedom (DOF) of that
kinematics system .
Fig 1.32 (a) planer space(in the paper plane), a kinematics system
For example in a planer space(in the paper plane), a kinematics system made of two rotational joints is shown in the figure.Inthis case the joint
angular positions α and β contribute to the movement of the end point in both x 0 and y0 directions freely,and thus they are independent joints.If
the two joints were exactly on the same point of the plane, then the two joints would not result in independent movements of the end point in two
different dimensions.The end point would move along a fixed circular trajectory proportional to α – β.
In our plane example,the position and orientation of the frame is expressed in the base frame by three
variables(dimension along x0,y0 and the angular orientation with respect to the x0 axis).Thus,we cannot have a planar
kinematics system with four or over four degrees of freedom. Similarly, in a three dimensional world,an end-point frame
is expressed in the base frame by its position along x-y-z axis,and angular rotation with respect to z(roll),y(pitch) and x
axes(yaw),total by six DOF.Thus in 3-D world,a kinematics system cannot have higher than 6 DOF even if it has over 6
joints.
Half independent
In some cases, a joint is not designed to be stable along the range of movement, but it stays stable only at the end points
of the joint range. For example, in some pneumatic joints, the link moves from one end to the other end but cannot stay
somewhere at the mid. These kind of joints are considered only to be half independent, and contributes only 1/2 to DOF
of the system .
N.B.:
Many industrial robots were designed to have only four or five degrees of freedom to reduce the cost and increase the
reliability and stability of the manipulators. On the other side, there are also many robot manipulators particularly
designed for the working environments with many obstacles in workplace with extra one or two joints instead of exactly
six. These kind of kinematics systems are called redundant kinematics systems. The redundancy of extra joints provides
flexibility to approach to the desired position and orientation in various configurations of the joint angles creating
opportunity of obstacle avoidance in the path planning.
To properly understand the motions of robotic systems, mathematicians and engineers had to develop a new system of
kinematics. For this new system of kinematics, they had to develop ideal joints that served as the focal points for relative
motion between links. Three distinct types of joints are necessary: prismatic (linear motion), revolute (rotational motion),
and screw (linear and rotational).
There are several other types of joints theoretically possible in kinematics such as sliding ,spherical, helical
(screw), elliptic, and parabolic movements. However, they are out of the scope of this book because of their rare
application in industrial robotic manipulators .
Forward Transformation:
The joint motors have to be driven to move the manipulator to the target point of (X2, Y2).The target point is
reached by first adjusting the link 1 to the position (X1, Y1).This is done by moving link 1of length ‘l1’ through angle θ1
and the values are calculated using simple geometrical relations as follows.
X1=l1cosθ1
Y1=l1sin θ1
X2=X1+ l2cos (θ1 +θ2)
Y2=Y1+ l2sin (θ1 +θ2)
Φ= (θ1 +θ2)
Reverse Transformation:
In reverse transformation,the final coordinates are known .From the values (X2,Y2) the previous positions of the joint
and intial position are calculated using simple geometric relations as follows.
X1=X2 – l2 cosφ
Y1=Y2 – l2sinφ
cosθ1= X1 / l1
sin θ1= Y1 / l1
Forward Transformation:
Position of the end effector in world space is given by ,
X = (l.cosθ2 + l4.cosθ4).cosθ1
Y = (l.cosθ2 + l4.cosθ4).sinθ1
Z = l1 +l.sinθ2 + l4.sinθ4
Reverse Transformation:
If the Pitch angle (θ4) and the world coordinates (x,y,z) of the point P are given,Coordinates of joint 4(x,y,z) are
X4 = X - cosθ1(l4.cosθ4).
Y4 = Y - sinθ1(l4.cosθ4).
Z4 = Z - l4.sinθ4
Now the values of θ1, θ2 and l can be found by ,
Cos θ1=y4/l ;sinθ2 = (z4 – l1)/l ; l = [x42 + y42 + (z4 – l1)2]0.5
4.5 Matrix transformation and problems
4.6 ROBOT PROGRAMMING
Because humans and robots don’t normally speak the same language, a special language must be used to translate the necessary instructions
from human to robot. These human-to-robot languages are called programming languages. Instructions written in them are called programs.
ROBOTC is just one of many such programming languages that humans use to talk to machines.
As the programmer becomes more experienced, the organization of the behaviors in English will start to
include important techniques from the programming language itself, like if-else statements and loops.
This hybrid language, halfway between English and the programming language, is called pseudocode.It is an important tool in helping to keep
larger programs understandable.
Commands to the robot are first written as text on the screen. They are then processed by the ROBOTC compiler into a machine language file
that the robot can understand. Finally, they are loaded onto the robot, where they can be run.
Text written as part of a program is called code. You type code just like you type normal text. Keep in mind that capitalization is important to the
computer. Replacing a lowercase letter with a capital letter (or a capital letter with a lowercase letter) will cause the robot to become confused
As you type, ROBOTC will try to help you out by coloring the words it recognizes. If a word appears in a different color, it means ROBOTC
recognizes it as an important word in the programming language.
Statements are instructions for the robot. The most basic kind of statement in ROBOTC simply gives a command to the robot. It
instructs the motor plugged into Motor Port 3 to turn on at full power.
Statements are run in order as quickly as the robot is able to reach them. Running this program on the robot turns the motor on, then waits for
3000 milliseconds (3 seconds) with the motor still running, and then ends.
Typical Programming Modes
• Programming Methods
- On line) (Lead through)teach-by-showing the
desired motion ‘ Manual and Powered’
-Off line ( doesn’t interrupt production)
A typical industrial robot is mostly programmed in one of the following modes:
Physical Setup Mode is typical programming method for very simple pick-and-place manipulators, where
programmable logic controllers (PLC's), proximity and limit switches and timers are used to perform cyclic operation of
the manipulator for a desired task.
Lead Through or Teach Mode is typical programming mode of a manipulator with positional control capability.
Manipulator is moved to the desired positions by the aid of a teach pendant (a control keypad), and the desired positions
are stored into program memory in the desired sequence. After teaching is accomplished, controller is set to playback
mode, in which the controller moves the manipulator point to point to the desired positions .
Continuous Walk-Through Mode is an elaborated teach mode. The operator teaches the manipulator which way to
move by forcing the manipulator to move in the desired way. It is conveniently used for painting and assembly robots
Software Mode is off-line program writing mode using a text editor or graphical interface. Programming in software
mode requires knowledge on operating system and robot languages. Sensor information is easily included to the
programming, and computer-aided-design (CAD) database. It is the most sophisticated, and the most versatile way of
programming a robot .Most industrial robots have more than one programming modes, and, the most convenient
programming mode depends to the task to be programmed .
a robot manipulator can make four types of motion in travelling from one point to another in the workplace:
slew motion : simplest type of motion. robot is commanded to travel from one point to another at default
speed.
joint-interpolated motion: requires the robot controller to calculate the time it will take each joint to reach
its destination at the commanded speed.
straight-line interpolation motion: requires the end of the end effector to travel along a straight path
determine in rectangular coordinates.
useful in applications such as arc welding, inserting pins into holes, or laying material along a
straight path.
circular interpolation motion: requires the robot controller to define the points of a circle in the workplace
based on a minimum of three specified positions.
circular interpolation produces a linear approximation of the circle and is more readily available
using a programming language rather than manual or teach pendant techniques.
PATH CONTROL
commercially available industrial robots can be classified into four categories according to the path control
system.
limited-sequence: do not use servo-control to indicate relative positions of the joints.
they are controlled by setting limit switches and/or mechanical stops together with a sequencer to
coordinate and time the actuation of the joints.
with this method of control, the indivdual joints can only be moved to their extreme limits of
travel.
point-to-point: these robots are most common and can move from one specified point to another but
cannot stop at arbitrary points not previously designated.
controlled path: is a specialized control method that is a part of general category of a point-to-point robot
but with more precise control.
the controlled path robot ensures that the robot will describe the right segment between two taught
points.
controlled-path is a calculated method and is desired when the manipulator must move in the
perfect path motion.
continuous path: is an extension of the point-to-point method. this involves the utilization of more points
and its path can be arc, a circle, or a straight line.
because of the large number of points, the robot is capable of producing smooth movements that
give the appearance of continuous or contour movement.
Programming methods:
1. Lead through methods
2. Textual Robot languages
4.6.1 Lead through Programming method:
- “teach by showing” method
- first real robot programming language method
- two ways of accomplishing the task
i) Powered lead through method
ii) Manual lead through method
- Control system for both lead through procedures operate in two modes
i) Teach mode is used to program the robot
ii) Run mode is used to execute the program
AL:
- Translator to generate runnable code
- Run time systems for effecting various motions of robot
- Subroutines for activities between robot and surroundings
- Sensors incorporated and hence used for condition monitoring
VAL:
- developed by Victor Sheinman of Unimation Inc for PUMA series
- VAL II system has more interlocking facilities
Features:
- user friendly
- arm movement in joint for world and tool coordinates
- gripping and speed control
- commands, subroutines written in BASIC
AML:
- A manufacturing language developed by IBM
Features:
- useful as an assembly language
- different user robot programming interfaces possible
Advantages:
- integers, real numbers and strings can be specified in the same aggregate
MCL:
- MCL stands for Mc Donnel Douglas Language
- Developed for manufacturing control
Features:
- modification of the popular APT language
- Machine tools in CAM applications
RAIL:
- developed by Automatix for robotic assembly
- suitable for inspection and arc welding applications
HELP:
- developed by General electric company
- more or less like RAIL
- data types are defined as in PASCAL
- possesses good interpreter for vision system applications
WAVE:
- developed by Standford AI Lab
Special Features:
- Robot hand eye coordination
- Trajectory calculations i.e. better coordination of joint movements
- End effector positions and touch sensing
Advantages:
- Trajectory calculations possible at compiled time and modified at run time
Disadvantages:
- Algorithm complex
- Not user friendly
- Couldn’t be run in real time and on-line
AL:
- Translator to generate runnable code
- Run time systems for effecting various motions of robot
- Subroutines for activities between robot and surroundings
- Sensors incorporated and hence used for condition monitoring and assembly
VAL:
- developed by Victor Sheinman of Unimation Inc for PUMA series
- VAL II system has more interlocking facilities
Features:
- user friendly
- arm movement in joint for world and tool coordinates
- gripping and speed control
- commands, subroutines written in BASIC
AML:
- A manufacturing language developed by IBM
Features:
- useful as an assembly language
- different user robot programming interfaces possible
Advantages:
- integers, real numbers and strings can be specified in the same aggregate
- Have the capability of controlling multiple arms.
MCL:
- MCL stands for Mc Donnel Douglas Language
- Developed for manufacturing control
- Have the capability of controlling multiple arms.
Features:
- modification of the popular APT language
- Machine tools in CAM applications
RAIL:
- developed by Automatix for robotic assembly
- suitable for inspection and arc welding applications
HELP:
- developed by General electric company
- more or less like RAIL
- data types are defined as in PASCAL
- possesses good interpreter for vision system applications
- flexible to run various subroutines
JARS:
The base of the language is PASCAL.It was developed by NASA.It can be interfaced with PUMA series robot
for running programs.
PAL:
Written by Richard Paul by modifying WAVE and incorporating and incorporating features of PASCAL. But the
syntaxes are difficult to handle.
ADA:
It is developed by Department of Defence in USA in a real time system that can be run on several
microcomputers like Zilog,VAX, Motorola etc.ADA is convenient for controlling the robots used in a manufacturing
cell.Have the capability of controlling multiple arms.
VAL:
- developed by Victor Sheinman of Unimation Inc for PUMA series
- VAL II system has more interlocking facilities
Features:
- user friendly
- arm movement in joint for world and tool coordinates
- gripping and speed control
- commands, subroutines written in BASIC
ABORT // command that terminates program execution after completion of the current step.
DRIVE 2,60,30 // In VAL II , a single joint (say joint number 2) may be changed by driving it,say 60 0 at a // speed of 30 %
of the monitor speed.
Configuration Control:
RIGHTY
LEFTY
The programming languages must be capable of expressing various geometric features like joint angles, coordinate
transformations such as rotation, translation and vector quantities. Homogeneous matrices are used to specify the
rotation.