Robot Programming
Robot Programming
Robot Programming
Robot programming:
“Robot Programming is a art of teaching a robot
online or offline a series of tasks to be
performed with required accuracy, velocity and
repeatability.”
Robot Programming
4. Robot Simulation
Teach by guiding
Disadvantages to teach-by-guiding:
It is difficult to incorporate sensory information.
It cannot be used in some hazardous situations.
It is not practical in handling large robots.
Since teaching is performed manually, high
precision in generating paths con not be
achieved.
Synchronization with other
operations/device/external sensor may be
difficult.
Teaching by teach - box method
(Teaching and pendant control)
Advantages:
• Shop personnel can readily learn it, does not
require deeper programming experience
• Logical way to learn
Disadvantages:
– Production must be interrupted
– Teach pendant have limitations in the amount of
decision making logic that can be incorporated
into the program
– No interface to other computer subsystems in
the factory (no CIM).
Offline programming
The programming
for the required
sequence of functions
and positions is written
on a remote computer
console. Then transfer
to the robot controller.
The robot
programming
language is to make it
easy for this purpose
(ADA, VAL, ...).
Offline programming
3 8 9
1 5 11 10
MOVE INTER 1
MOVE SAFE
SIGNAL 5
MOVE SAFE
WAIT 12
SIGNAL 6
MOVE INTER 2
MOVE LOC6
Program cont.
MOVE LOC7
MOVE LOC8
MOVE LOC9
MOVE LOC10
MOVE LOC11
MOVE INTER 2
MOVE SAFE
SIGNAL 5
END
Palletizing problem(PTP system)
PROGRAM STACK
REMARK
REMARK THIS PROGRAM PICKS UP PARTS
FROM A FIXED
REMARK LOCATION CALLED PICKUP, THEN
DEPOSITS THEM AT A
REMARK LOCATION CALLED B. IT IS
ASSUMED THAT 6 PARTS
REMARK ARE TO BE STACKED ON TOP OF
ONE ANOTHER
Palletizing problem(PTP system)
OPENI
SET B = DEPOSIT
SETI COUNT = 0
10 APPROS PICKUP, 100.00
MOVES PICKUP
CLOSEI
DEPARTS 100.00
APPRO B, 100.00
MOVES B
Palletizing problem(PTP system)
OPENI
DEPARTS 100.00
SETI COUNT = COUNT + 1
TYPEI COUNT
REMARK COUNT INDICATES THE TOTAL
NUMBER OF ITEMS STACKED. HERE IT
IS SIX
IF COUNT EQ 6 THEN 20
REMARK MOVE THE LOCATION OF B UP BY
50 TO STACK.
Palletizing problem(PTP system)
Software requires:
– Postprocessor
– Calibration
– RCS module
– A competent user
• Software is:
– Expensive
– Usually not faster to
program with
CAR
Differences between the digital world and reality
– Hardware differences (robot, equipment etc.)
– Software differences (control algorithm,
trajectory
planer, etc.)
No standard robot language for different
systems
Simulation systems use one of two strategies:
– Work with target language during programming
– Translate to target language before download
CAR
Computer-Aided Robotics (CAR)
The field of computer-aided robotics (CAR) uses
electronic computers in the design, manufacture,
installation, and programming of robots.
ROBOCAM is a CAR system that ran on the Apollo
family of CAD/CAM workstations.
The CimStation by SILMA corporation is a CAR
system that ran on Apollo computer or on an IBM PC.
Off-line – examples
Robot Simulation
Many different products
RobCad/WorkPlace
IGRIP/Ultra Arc
WorkSpace
RobotStudio
RoboPlan
Camelot
Thor
Hybrid programming:
• Cheaper systems
• New technologies:
– Automatic collision
avoidance
– Automatic process
planning
Some New methods of Programming
Action
Perception
Control-Based
Statistical
Symbolic Approach for PbD
Forward Models
Inverse Models
Example: Control-Based Approach for PbD
Statistical Approach for PbD
PCA
Example: Statistical Approach for PbD
Learning:
• Perform random action A(i)
• Record resulted optical flow f(i)
• Compute principal-component p1(i), p2(i)
• Learn the connection A(i) – {p1(i), p2(i)}
Programming By Demonstration (PbD)
Applications
Navigation
Locomotion
Playing air-hockey
Manipulating blocks
Balancing a pole
Hitting a tennis-serve
Grasping unfamiliar objects
Imitating dancing movement
PbD – Application Example
Playing Air-Hockey
Speech and Dialog Programming
red
X
T T
Y
BallTracker Distance Follow R AvoidObjects R Motor
Found
Computation Component
Hardware Component
Filter Component
Controller in Speech and Dialog Programming
Speech and Dialog Programming
ٱ
ٱ ٱ
ٱ
ٱ
PATH ٱ
PATH
ٱ ٱ