0% found this document useful (0 votes)
1K views

Robotics Unit-4 RBT

This document discusses trajectory planning and robot programming. It begins by defining a trajectory as a path defined by the kinematic equations of a manipulator as a function of time. The goal of trajectory planning is to generate this time-based function to achieve smooth motion according to the robot's tasks. Trajectory planning involves fitting smooth curves to move between points while meeting constraints like reducing vibration. Various trajectory planning techniques are discussed, including Cartesian and joint space schemes. Polynomial functions are commonly used to define trajectories that meet boundary conditions between points. The document also covers path planning, including considerations for obstacle avoidance.

Uploaded by

Ragava Talluri
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views

Robotics Unit-4 RBT

This document discusses trajectory planning and robot programming. It begins by defining a trajectory as a path defined by the kinematic equations of a manipulator as a function of time. The goal of trajectory planning is to generate this time-based function to achieve smooth motion according to the robot's tasks. Trajectory planning involves fitting smooth curves to move between points while meeting constraints like reducing vibration. Various trajectory planning techniques are discussed, including Cartesian and joint space schemes. Polynomial functions are commonly used to define trajectories that meet boundary conditions between points. The document also covers path planning, including considerations for obstacle avoidance.

Uploaded by

Ragava Talluri
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 60

UNIT-4_RBT_TRAJECTORY PLANNING & ROBOT PROGRAMMING

A.Sunil
Mechanical Dept.
sunilvarma0123@gmail.com
Ph no:7093092304
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.
Constraints: reduce the vibrations and wear of mechanical
systems.

SuniL
Introduction to Trajectory planning
To fit a smooth curve
1. Cartesian scheme:
• Inverse kinematics are to solved with given (x,y)
• Computationally expensive
2. Joint space scheme:
• To fit a curve smooth curve (cont.)
• Through variables (θI1θ11……..θF1)
• 1st and 2nd derivatives has to be cont.
• Various trajectories functions.
SuniL
Introduction to Trajectory planning
F
I Points Cartesian scheme Joint Scheme
1
I (XI ,YI) (𝜃1𝐼 , 𝜃2𝐼 )
3 θ2 1 (X1 ,Y1) (𝜃11 , 𝜃21 )
2 2 (X2 ,Y2) (𝜃12 , 𝜃22 )
3 (X3 ,Y3) (𝜃13 , 𝜃23 )
θ1
F (XF ,YF) (𝜃1𝐹 , 𝜃2𝐹 )

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

SuniL
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 θ(t).
θ(t0)= θ s And θ(tf)= θ f .
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.

SuniL
Introduction to Trajectory planning
Sample Polynomial trajectory function:
Identify boundary conditions:
• Initial and final values of joint angles are θ2

known.
• Angular velocity at {i} and {f} of cycle will be zero. θ
1

• With these obtain polynomial trajectory functions wrt time for


each joint.
• Plotting joint angle vs time graphs.
• Identify locus points of End Effector

SuniL
Introduction to Trajectory planning
End Effector
Sample Polynomial trajectory function: locus point
(XI ,YI )
• Thus a trajectory is determined by joining these
locus points for a robotic arm θ2
Time history θ1 θ2 End Effector locus
points (XI ,YI)

0s 0° 0° (X0 ,Y0) θ1

1s 5° 20° (X1 ,Y1)


2s 10° 30° (X2 ,Y2) 2-DOF
Joint angle (θ1 ,θ2)
3s 20° 50° (X3 ,Y3)
4s 30° 60° (X4 ,Y4)

SuniL
Introduction to Trajectory planning

t=0s θ1 = 0° θ2 = 0° (X0 ,Y0)


t=1s θ1 = 5° θ2 = 20° (X1 ,Y1)

t=2s θ1 = 10° θ2 = 30° (X2 ,Y2)


θ2

θ1

t=4s θ1 = 30° θ2 = 60° (X4 ,Y4)

SuniL t=3s θ1 = 20° θ2 = 50° (X3 ,Y3)


Introduction to Trajectory planning
60°

θ2 θ2
30°

Joint
angles
θ1

θ1


{i} 0 1 2 3 {f} 4
Time (s)
Sample Polynomial trajectory function for joint angles
SuniL
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

SuniL
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 confirm to the
mentioned constraints

Too many functions that can be used.

12

SuniL
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 SuniL
Trajectory planning
• Path Profile

• Velocity Profile

• Acceleration Profile

SuniL
Trajectory planning

SuniL
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)
SuniL
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 θ(t0) to the final
θ (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.
SuniL
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.
SuniL
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. (path has to be planned)
2. Path planning for moving obstacles. (Velocity has to be planned)

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

SuniL
Path planning
Environment:
• Structured
• Unstructured (moving obstacles)
Approaches for solving path planning:
Motion planning
approach

Global approach/ Local approach/Act


Act after thinking/ while thinking/
Offline planning Online planning
SuniL
Path planning and Avoidance of obstacles

SuniL
Path planning

SuniL
Avoidance of obstacles

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

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

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

SuniL
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.
SuniL
Joint-space Vs. Cartesian-space Descriptions

 Arm and body determines the general position in space


 Wrist determines its orientation.

SuniL
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.
 Joint CS defines only one point in space that corresponds to set of coordinate
values.

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.
 Two alternate axis configuration by jointed arm for target point.

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

SuniL
Robot Programming methods:

Robot
programming

Lead through Textual robot


methods languages
(online) (offline )

Powered lead Manual lead


through through

SuniL
Robot Programming methods:
On-line: (teach pendant, lead through programming)
– Use the robot to generate the program
• Teaching/guiding the robot through a sequence of motions that can be
executed repeatedly
Offline: (robot programming languages)
– write a program using a text-based robot programming language.
– does not need access to the robot until its final testing and
implementation.
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"
SuniL
Off-line Programming method:

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

SuniL
Off-line Programming method:
 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.
 Programs can be developed without needing to use the robot.
 The sequence of operations and robot movements can be optimized or easily
improved.

SuniL
Off-line Programming method:
 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.

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

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

SuniL
Online Programming methods:

SuniL
Online Programming methods:

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

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

SuniL
A Robot Program As A Path In Space
 Arm and body joints determine the general position in space of the “EF”.
 Wrist determines its orientation.
 Mostly preferable joint coordinate systems.

Ex 1:
Consider problem of defining a sequence of points in space:
• Point to point motion.
Step Move Comments
• Two orthogonal slides with only two
1 1,1 Move to lower left corner
addressable point per axis. 2 2,1 Move to lower right corner
• Definition of points in space with 3 2,2 Move to upper right corner
joint coordinate values. 3 1,2 Move to upper left corner
4 1,1 Move back to start position
SuniL
A Robot Program As A Path In Space

Step Move Comments


1 1,1 Move to lower left corner
2 2,1 Move to lower right corner
3 2,2 Move to upper right corner
3 1,2 Move to upper left corner
4 1,1 Move back to start position

Robot work space for ex1.

SuniL
A Robot Program As A Path In Space

Step Move Comments


1 1,1 Move to lower left
corner
2 2,1 Move to lower right
corner
3 1,2 Move to upper left
corner
4 1,1 Move back to start
position
Robot work space for ex2.

SuniL
A Robot Program As A Path In Space
 Ex 2:
Step Move Comments
• (2,2) corner was not listed.
1 1,1 Move to lower left
• Move from (2,1) to (1,2). corner
Possibilities: 2 2,1 Move to lower right
corner
1. Requires both the joints too be moved.
3 1,2 Move to upper left
Thus it will a trace a diagonal path. corner

2. To move only one axis at one time and trace out 4 1,1 Move back to start
position
path either through (1,1) or (2,2).
For approach 1:
• Limited sequence non servo robots.
• Involves a slow motion.
• Lead through and textual language methods , tends to actuate axis
SuniL
simultaneously.
A Robot Program As A Path In Space
For approach 2:
• Pass through points: (1,1) or (2,2).
• These are not addressable points.

Methods Of Defining Points In Space:


 Joints movements:
 x-y-z coordinate motions(world coordinates):
 Tool coordinate systems:

SuniL
A Robot Program As A Path In Space
Methods Of Defining Points In Space:
 Joints movements:
 x-y-z coordinate motions(world coordinates):
 Tool coordinate systems:

SuniL
A Robot Program As A Path In Space
Reasons for defining points in space:
 To define a working position for the end effector.
• Pick a part at give location
• To perform spot welding at specified location.
• It may be the safe position in work cycle.
 To avoid obstacles.
• Define one or more points in space so that it will not collide with obstacles.

Speed control:
• Speed has to be regulated during the program execution.
• Dials on teach pendant for controlling speed.
• Better to be operated at low speeds when at “EF” near to obstacles.
• At higher speeds when travelling larger distances Free ways

SuniL
A Robot Program As A Path In Space
Speed control:
• Speed at tip of end effector not typically a linear velocity.
• Linear speed at “EF” depends on how many axes are moving at
one time and which axes they are.
• Depends on current axis configuration
• It will be affected by the load it is carrying due to the force of acceleration and
retardation.
• Thus wrist end velocity is configured.

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

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

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

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

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

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy