Robotics Unit-4 RBT
Robotics Unit-4 RBT
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.
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.
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
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
SuniL
Introduction to Trajectory planning
θ1
θ2 θ2
30°
Joint
angles
θ1
θ1
0°
{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 , …
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
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
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
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.
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.
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
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:
SuniL
Robot programming
Disadvantages of Off-line Programming:
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
SuniL
A Robot Program As A Path In Space
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.
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.
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