UNIT-4 Trajectory, Path Planning and Programming

Download as pdf or txt
Download as pdf or txt
You are on page 1of 49

UNIT-4_RBT_TRAJECTORY PLANNING & ROBOT PROGRAMMING

Introduction to Trajectory planning


A trajectory is a path in which kinematic equations of
manipulator are defined as a function of time.

Goal: To generate a function according to which a robots joints


will move. This function generation depends on the robot
tasks.
Objective: to achieve smooth motion of manipulator.
Advantage: reduce the vibrations and wear of mechanical
systems.

B.N.Dhanunjayarao, Email: [email protected]


Introduction to Trajectory planning
Path: A sequence of robot configurations in a particular order
without regard to the timing of these configurations.

Trajectory: It concerned about when each part of the path must


be attained, thus specifying timing.

A polynomial function is identified to


“interpolate” or “approximate” the
trajectory. A smooth function is one that
is continuous and has a continuous first
derivative. Fig. Sequential robot movements in a path.

B.N.Dhanunjayarao, Email: [email protected]


Introduction to Trajectory planning
Move from initial position to final position via some intermediate
points within specified duration of time is trajectory planning.

A trajectory is a function of time q(t) s.t.


q(t0)=qs And q(tf)=qf .
tf -t0 : time taken to execute the trajectory.
Thus, trajectory is time history or sequence of position,
velocity, and acceleration of every joint and link of the
manipulator, by specifying in joint space or cartesian space.

B.N.Dhanunjayarao, Email: [email protected]


General Considerations in path description
The motion of the manipulator ≡ the motion of the tool frame {T}
relative to the station frame {S}.
Basic Problem (P2P): Move the manipulator from initial point to final
point.
Point ≡ position and orientation of {T} relative to {S}.
Via Points: intermediate points between the initial and final positions
that the robot must pass through. Path points Final point
Trajectory: Time history of position,
velocity and acceleration of each DoF.
Initial point

B.N.Dhanunjayarao, Email: [email protected]


General Considerations in path description
Usually the motion of the robot is smooth

- Smooth trajectory functions ≡ continuous, continuous first derivative, and the second
derivative (some times)
- Otherwise: high jerk ➔ wear, vibration, noise , …

Constraints on the motion


These paths should conform to the
mentioned constraints

Too many functions that can be used.

B.N.Dhanunjayarao, Email: [email protected]


The boundary conditions
1. Initial position
2. Initial velocity Initial position
3. Initial acceleration
4. Lift-off position
5. Continuity in position at t1 Intermediate positions
6. Continuity in velocity at t1
7. Continuity in acceleration at t1
8. Set-down position
9. Continuity in position at t2 Intermediate positions
10. Continuity in velocity at t2
11. Continuity in acceleration at t2
12. Final position
13. Final velocity Final position
14. Final acceleration B.N.Dhanunjayarao, Email: [email protected]
Trajectory planning

B.N.Dhanunjayarao, Email: [email protected]


Trajectory planning

The trajectory Planning is of 2 types


1. Point to point Motion (pick and place Robot)
2. Continuous path Motion (Welding or Grinding Robot)
B.N.Dhanunjayarao, Email: [email protected]
Trajectory planning :
➢ Point to Point Motion: In tasks like pick and place the starting and
ending position of end effector represents the task. This motion is
called Point to Point Motion and should follow smooth curve.
Ex: Plan a trajectory from the initial configuration q(t0) to the final
q(tf). In some cases, there may be constraints (for example: if the
robot must begin and end with zero velocity).
➢ Continuous Path Motion: In Continuous Path Motion, the end
effector trace the starting and ending position as well as certain
path between these positions, in cartesian space. The parameter
of path to be traced is specified by the user. Ex: welding and
plotting.
B.N.Dhanunjayarao, Email: [email protected]
Trajectory planning
• Path Profile

• Velocity Profile

• Acceleration Profile

B.N.Dhanunjayarao, Email: [email protected]


Path planning
Path planning technique in robots is used
to control the motion of manipulator. It is
classified into two types
1. model based and
2.non-model based.
In model-based technique, the geometry
and working requirements of robots can
be known, whereas in non-model based,
all the geometry and workspace
requirements can be obtained using
sensing devices.
B.N.Dhanunjayarao, Email: [email protected]
Path planning

B.N.Dhanunjayarao, Email: [email protected]


Path planning
Geometric criteria's
➢ Collision free
➢ Shortest path
➢ Least time
➢ Minimum energy

B.N.Dhanunjayarao, Email: [email protected]


Path planning and Avoidance of obstacles
The solution of path planning should be collision free, shortest among
all and should have greatest minimum clearance along collision free
path.

Path planning is further divided into two types, based on the obstacle
formation. They are,
1. Path planning for stationary obstacles.
2. Path planning for moving obstacles

B.N.Dhanunjayarao, Email: [email protected]


Path planning and Avoidance of obstacles

B.N.Dhanunjayarao, Email: [email protected]


Avoidance of obstacles

B.N.Dhanunjayarao, Email: [email protected]


Types of motion
Different types of motion that a robot manipulator can make
in travelling from point to point:

1. Skew motion

2. Joint interpolated motion

3. Straight line motion.

B.N.Dhanunjayarao, Email: [email protected]


Skew motion
It is the simplest type of motion. In this, the robot
manipulator when instructed to travel from one point to other
point, it moves very fast, thus all the joint axis undergo motion at
same time, but each axis stops after some elapsed time. This
motion can cause high wear of joints. It is also called simultaneous
full speed motion.
The main disadvantages of this motion are,
➢ the power utilization is more compared to other motions and
➢ smooth trajectories cannot be obtained.

B.N.Dhanunjayarao, Email: [email protected]


Joint integrated motion
In this type, all the joints of the manipulator start and
stop moving at the same time. In order to travel from point to
point, the angular motion of each joint should be proportional
to the angular distance moved by the joint. Smooth trajectory
motion is possible in joint-interpolated motion.
The disadvantages of this type of motion are,
➢ It requires specified speeds to achieve motion in minimum
time interval and
➢ Greater computational overheads than skew motion.

B.N.Dhanunjayarao, Email: [email protected]


Straight line motion

In this type, the robot travels from one point to other i.e.,
between the initial and final positions, along a straight line
or path.

This motion of tool becomes difficult at the boundary


locations of the workspace and results in irregular type of
motion. In this type, the tool moves only in straight line
path, in a space.
B.N.Dhanunjayarao, Email: [email protected]
Joint-space Vs. Cartesian-space Descriptions
Joint-space description:
- The description of the motion to be made by the robot by its joint values.
- The motion between the two points is unpredictable.
Cartesian space description:
- The motion between the two points is known at all times and controllable.
- It is easy to visualize the trajectory, but is is difficult to ensure that
singularity.

Fig. Sequential motions of a robot Fig. Cartesian-space trajectory (a) The trajectory specified in
to follow a straight line. Cartesian coordinates may force the robot to run into itself, and (b)
B.N.Dhanunjayarao, Email: [email protected]
the trajectory may requires a sudden change in the joint angles.
What is Programming:
Programming consists of writing lines of code in a language that a
computer will understand to solve a problem. It tells about the robot's
state or the function it will perform. It also provides data about the
speed of the robot, its dwell or delay times of the robots, along with the
status of input or output device, its execution, etc.
Some computer languages include: Java, C++ and Python. Computer
science can solve problems ranging from adding numbers together to
operating a rover on Mars.

B.N.Dhanunjayarao, Email: [email protected]


Robot Programming methods:
➢Offline: (robot programming languages, task level programming)
– write a program using a text-based robot programming language.
– does not need access to the robot until its final testing and
implementation.
➢On-line: (teach pendent, lead through programming)
– Use the robot to generate the program
• Teaching/guiding the robot through a sequence of motions that can be
executed repeatedly
➢Combination Programming:
– Often programming is a combination of on-line and off-line
• on-line to teach locations in space
• off-line to define the task or “sequence of operations"
B.N.Dhanunjayarao, Email: [email protected]
Off-line Programming method:

B.N.Dhanunjayarao, Email: [email protected]


Off-line Programming method:
Where the robot program is created independent from the actual robot cell. The
robot program is then uploaded to the real industrial robot for execution. In off-line
programming, the robot cell is represented through a graphical 3D model in a
simulator. Nowadays OLP and robotics simulator tools help robot integrators create
the optimal program paths for the robot to perform a specific task. Robot
movements, reachability analysis, collision and near-miss detection and cycle time
reporting can be included when simulating the robot program.
➢ OLP does not interfere with production as the program for the robot is created
outside the production process on an external computer.
➢ This method contradicts to the traditional on-line programming of industrial
robots where the robot teach pendant is used for programming the robot
manually.
➢ The time for the adoption of new programs can be cut from weeks to a single
day, enabling the robotization of short-run production.
B.N.Dhanunjayarao, Email: [email protected]
Off-line Programming method:
➢ Programs can be developed without needing to use the robot.
➢ The sequence of operations and robot movements can be optimized or easily
improved.
➢ Previously developed and tested procedures and subroutines can be used.
➢ External sensor data can be incorporated, though this typically makes the
programs more complicated.
➢ Existing CAD data can be incorporated-the dimensions of parts and the
geometric relationships between them.
➢ Programs can be tested and evaluated using simulation techniques.
➢ Programs can more easily be maintained, modified, documented and
commented.

B.N.Dhanunjayarao, Email: [email protected]


Robot programming
Advantages of Off-line Programming:

1. In off-line programming of robots, there is no effect on production, as the robots


does not occupy the production equipment, during programming.
2. The programming is effective, resulting in well documented simulation of model.
3. Programming can be carried out, by utilization of previous CAD data.
4. Effective programming removes error from the robots.
5. By utilizing simulation and visualisation techniques, programs can be verified.
6. It is cost effective programming, in terms of production.
7. Welding tools can be selected instantly, by changing the parameters of programs.

B.N.Dhanunjayarao, Email: [email protected]


Robot programming
Disadvantages of Off-line Programming:

1. It requires highly skilled operators for high-level programming.


2. Off-line programming is an approximate technique and requires more calibrations.
3. Programming should be carried out in short time and efficiently.
4. This programming requires high initial cost.

B.N.Dhanunjayarao, Email: [email protected]


Online Programming methods:

B.N.Dhanunjayarao, Email: [email protected]


Online Programming methods:

B.N.Dhanunjayarao, Email: [email protected]


Teach pendent Programming:
Teach pendent is most popular as 90% of robots are programmed
by this method. The robot teaching pendant has changed a lot
throughout its lifetime, but often consists of, what looks like, a
giant handheld calculator. Early pendants were large, grey boxes
with magnetic tape storage.
The modern teach pendants are more like a touchscreen tablet, as
the technology has developed to suit the ever evolving users. To
program the robot, the operator moves it from point-to-point,
using the buttons on the pendant to move it around and save each
position individually. When the whole program has been learned,
the robot can play back the points at full speed.

B.N.Dhanunjayarao, Email: [email protected]


Lead-through Programming:
Lead the robot in slow motion using manual control through the entire
assembly task and recording the joint angles of the robot at appropriate
locations in order to replay the motion. One can use the joy keys or 6D mouse
of the teach pendant to move the robots end effector using either world,
Tool, Base coordinate system or axis-specified jogging, option.
Record the position and orientation, reached in the previous step using touch
Up softkey of the teach pendant. A robot program is then automatically
generated by the controller. Editing the above program to make sure that
robot will not collide with obstacles while completing the task and play back
the taught configurations in slow motion. If the taught configurations are
correct then the robot is run at an appropriate speed in repetitive mode.
B.N.Dhanunjayarao, Email: [email protected]
On-Line/Teach pendent Programming
Advantages of a Teaching Pendant
➢ Most traditional industrial robots come with a teach pendant, which makes them
familiar to technicians.
➢ They allow precise positioning, as the robot can be programmed using numerical
coordinates, in either world coordinates, robot coordinates or another coordinate
system.
➢ Teach pendants are great for simple movements, such as painting in a straight line or
over a large flat surface.
Disadvantages of a Teaching Pendant
➢ Disruptive to the whole system due to robot downtime. The robot must be put into
"teach mode" and all operations using the robot halted until it has been programmed.
➢ Requires training to learn and program.
➢ Might be difficult for skilled craftspeople who are unfamiliar with programming.
B.N.Dhanunjayarao, Email: [email protected]
On-Line/Lead Through Programming
Advantage:
– Easy
– No special programming skills or training
Disadvantages:
– not practical for large or heavy robots
– High accuracy and straight-line movements are difficult to achieve, as are any
other kind of geometrically defined trajectory, such as circular arcs, etc.
– difficult to edit out unwanted operator moves
– difficult to incorporate external sensor data
– Synchronization with other machines or equipment in the work cell is difficult
– A large amount of memory is required

B.N.Dhanunjayarao, Email: [email protected]


Structure of a Robot Language:
A robot language must be designed to operate a robot. As illustrated in Fig, a
robot-programming language used for not only program a robot but also to control it,
interface with other peripherals in the work cell, e.g., sensors and other equipment,
and communicate with other computers in the factory.

B.N.Dhanunjayarao, Email: [email protected]


Robot Languages:
A robot language is required for programming purpose. In order to
control the robot, the program requires establishing relationships
between the joint motions and end-effector's configurations, and the
devices it has to interact.
To make sure the robot functions within its workspace, the above
configurations must lie within the robot's workspace.
Hence, one needs to teach those configurations to the robot
manually and physically using teach pendant through what is known
as online programming, whereas offline programming is written in
textural languages like AL or VAL.

B.N.Dhanunjayarao, Email: [email protected]


Different Robot Languages:
These languages allow one to write programs to define the logic and
sequence for more complex actions using say sensors' inputs, etc. Most
of the robots languages actually use a combination of teach pendant
programming and textural programming. These programmes are
written using languages which are proprietary to the robot
manufacturers, Hence, they are known as Domain Specific languages
(DSL).
Some of the robot languages which have been used with different
robotic systems are.
1. WAVE, 2. AL, 3. AML, 4. RPL, 5. Help, 6. Jars, 7. MCL, 8. Rail, 9. VAL,
10. KRL.

B.N.Dhanunjayarao, Email: [email protected]


Robot Languages:
1. WAVE: It was developed in 1973 at the Stanford Artificial Intelligence
Laboratory. The wave system was interfaced with a vision system to
successfully demonstrate the hand-eye coordination of a robot.
2. AL: In 1974, a second robot language was developed at Stanford which
was based on Algol computer programming language to control multiple
robot arms in parallel and cooperative tasks. It was designed to facilitate
operations for assembly using force sensors.
3. AML: A Manufacturing Language (AML) is a robot programming
language developed in 1982 by IBM Thomas J. Watson Research center
at Yorktown Heights to be used in IBM's robotic products.
B.N.Dhanunjayarao, Email: [email protected]
Robot Languages:
4. RPL: RPL or Robot Programming Language, was developed by SRI
International which was based on computer-programming languages. It was
designed to control various machines of a work cell, i.e., robots, machine
tools, and vision systems. It was designed to be used by those who are not
skilled programmers such as factory production engineers or line foremen.

5. Help: It is a commercial robot-programming language from General Electric


Company for the control of its multiple Cartesian arms in assembly tasks.
Help is an interpreter based on the computer-programming language Pascal.

6. Jars: It is a language from NASA's Jet Propulsion Laboratory and was based
on the Pascal computer-programming language for the control of robots
used in assembly of solar-cell arrays.
B.N.Dhanunjayarao, Email: [email protected]
Robot Languages:
7. MCL: MCL or Manufacturing Control Language, was developed by
McDonnell-Douglas under the sponsorship of US Air. Force. It is an
extension of the Automatically Programmed Tooling (APT) part
programming language used for numerically controlled machine tools.
MCL was used for robot's motion specification, vision-system
operation, image modelling, and real-time conditional logic.
8. Rail: Rail, designed by Automatix, Inc., was introduced in 1981. It was
a language for control of both vision and manipulation. It is basically an
interpreter based on Pascal. Rail has incorporated many constructs to
support inspection and arc-welding systems of Automatix's products.

B.N.Dhanunjayarao, Email: [email protected]


Robot Languages:
9. VAL: Victor's Assembly Language or VAL, was introduced in 1979 by
Unimation Inc. for their PUMA robot series. Its upgraded version was
released in 1984. The language was meant to define robot tasks easily.
VAL follows the structure of Basic computer-programming language with
many new commands. VAL has its own operating system, namely, the VAL
monitor, which comprises a user interface, editor, and file manager.
10. KRL: KUKA Robot Language or KRL, is a robot-programming language
shill-lar to Pascal, and used for all KUKA industrial robots. It allows typical
programming statements such as variable assignments, conditionals, and
loops. KW, also provides robot-specific statements, e.g., to specify
motions and interact with tools.
B.N.Dhanunjayarao, Email: [email protected]
Basic Robot motions
A robot manipulator can make four types of motion in travelling from one point to
another in the workplace:
Skew 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.

B.N.Dhanunjayarao, Email: [email protected]


Motion, Interlock and Sensor Commands
Motion commands Interlock Commands
MOVE P1 WAIT 20, ON
HERE P1 - used during lead through of manipulator SIGNAL 10, ON
MOVES P1 SIGNAL 10, 6.0
DMOVE(4, 125) REACT 25, SAFESTOP
APPROACH P1, 40 MM Gripper Commands
DEPART 40 MM OPEN
DEFINE PATH123 = PATH(P1, P2, P3) CLOSE
MOVE PATH123 CLOSE 25 MM
SPEED 75 CLOSE 2.0 N

B.N.Dhanunjayarao, Email: [email protected]


On-Line Programming
• Requires access to the robot
• Programs exist only in the memory of robot control system – often
difficult to transfer, document, maintain, modify SUMMARY OF
ROBOT APPLICATIONS
• Easy to use, no special programming skills required
• Useful when programming robots for wide range of repetitive tasks
for long production runs
• RAPID
Robot programming
Walk-through Programming:
➢ Walk-through programming is basically a manual lead-through programming
where an experienced operator physically grasps the robot arm and manually
moves it through a set of desired configuration, as required in, say, arc welding,
spray painting, etc.
➢ If the robot is large and awkward to physically move, assistive devices, as
explained in Item 3 of this section, or a scaled-down replica are used.
➢ The teach button near the wrist of the robot or the assistive devices has to be kept
pressed during the movement that will be part of the programmed cycles.

B.N.Dhanunjayarao, Email: [email protected]


Online Programming methods:
➢Use of Teach pendent:
• hand held device with switches used to control the robot motions
• End points are recorded in controller memory
• sequentially played back to execute robot actions
• trajectory determined by robot controller
• suited for point to point control applications
➢Use of Lead Through Programming
• lead the robot physically through the required sequence of motions.
• trajectory and endpoints are recorded, using a sampling routine which records
points at 60-80 times a second when played back results in a smooth continuous
motion.
• large memory requirements.
B.N.Dhanunjayarao, Email: [email protected]
Robot programming
Off-line Programming:

➢ In off-line programming, the computers are positioned, away from the robot
area and a simulation software is used to generate data.

➢ The data is then sent to the robot's controller, where it is converted into
instructions.

➢ This software also contains a modelling data, which helps in the selection of the
best robot configuration for certain applications.

➢ The main advantages of off-line programming is that, the production is not


interrupted, while creating a primary or modified program.

B.N.Dhanunjayarao, Email: [email protected]

You might also like