Unit-4
Unit-4
§ If, for example, the robot has a two finger gripper, to pick
things up with, we usually define Pe to be a point between
the two fingers, so that when this point is geometrically
inside some object to be picked up, all the robot has to do
is to close the fingers of its gripper to grasp the object. It
can then move away with the object between its fingers.
Robot Programming
Advantages
§ Easily accessible.
§ The robot is programmed in concordance with the actual position
of equipment and pieces.
Disadvantages
§ Unavailability of robot for production during programming phase.
§ Slow movement of the robot while programming.
§ Time consuming process.
§ Program logic and calculations are hard to program.
§ Suspension of production while programming.
§ Cost equivalent to production value.
§ Inefficient in flexible manufacturing system.
The Teach Pendant (Manual Control
Pendant)
Advantages
§ Easy to program: shop personnel can readily learn it and does not
require deeper programming experience.
Disadvantages
§ Interruption in production.
§ Teach pendant have limitations in the amount of decision making
logic that can be incorporated in the program.
§ No interface to other computer subsystems in the factory.
WALK-THROUGH PROGRAMMING
Advantages
§ This type of walk-through programming uses triggers on manual
handles that move the robot. When the trigger is depressed the
controller remembers the position.
Disadvantages
§ With the walk-through method of programming, the person doing
the teaching is in a potentially hazardous position because the
operational safeguarding devices are deactivated or inoperative.
OFFLINE PROGRAMMING
§ Offline programming is
accomplished on computers
located away from the robot
station.
§ Using simulation software,
data is generated and then
sent to the robot’s controller
where it is translated into
instructions.
§ The advantage of this
programming method is that
programming can be done
whil e t he r obot i s s t i l l i n
production on the preceding
job.
OFFLINE PROGRAMMING
Advantages
§ Effective programming of program logics and calculations with
state of the art debugging facilities.
§ Locations are built according to models and this can mean that
programmers will have to fine tune programs online or utilize
sensors.
§ Effective programming of locations.
§ Verification of program through simulation and visualization.
§ Well documented through simulation model with appropriate
programs.
§ Reuse of existing CAD data.
§ Cost independent of production. Production can continue while
programming.
§ Process support tools, for instance, selection of welding
parameters.
OFFLINE PROGRAMMING
Disadvantages
§ Demands investment in an offline programming system.
§ Needs extensive training.
TASK LEVEL PROGRAMMING
§ Offline:
§ 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:
§ Use the robot to generate the program
§ Teaching/guiding the robot through a sequence of motions that
can then 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"
WAIT, SIGNAL & DELAY COMMANDS
§ DELAY
DELAY X SEC
Robot should wait X
seconds before going
into next step
BRANCHING/ SUBROUTINES
§ BRANCHING
• Controllers allow dividing a program into one or more
branches.
• Al l o w s p r o g r a m t o b e s u b d i vi d e d i n t o co n v e n i e n t
segments.
• It is also subroutines and can be identified by a name.
• Allows incoming signal to invoke branch.
• Usage of interrupt.
BRANCHING/ SUBROUTINES
BRANCHING/ SUBROUTINES
BRANCHING/ SUBROUTINES
BRANCHING/ SUBROUTINES
BRANCHING/ SUBROUTINES
BRANCHING/ SUBROUTINES
BRANCHING/ SUBROUTINES
Robot Programming Languages
ARCL
ARCL (A Robot Control Language) was based on Pascal-like syntax. It
was a compiled language and the developed cross-compiler required
three passes before the executable code was ready to be downloaded
and executed in a robot.
An example of an ARCL-language command is MOVA (GRIP, HI, CONT,
MED), which opens the gripper on the robot.
ZDRL
ZDRL (Zhe Da Robot Language) was a motion-oriented robot language.
It was an interpretative system and the language was composed of
system commands and program instructions. ZDRL included 32 system
commands and 37 program instructions, and it contained capabilities for
program editing, file management, location-data teaching,program
executing, and program debugging.
Robot Languages
HELP
HELP is a high-level programming language developed for use with
General Electric’s Allegro assembly robot.
Karel
Karel, Karel 2, and Karel 3 are robot control languages used by some
FANUC robot controllers.
CAP 1
The Conversational Auto Programming 1 (CAP 1) robot language is used
by the FANUC 32-18-T Robot Controller.
Robot Languages
MML
§ MML was a model-based mobile robot language that was developed
at the University of California. It is a high-level offline programming
language, which contains functions for high-level sensor functions,
geometric model description and path planning, and others.
§ This language contains an important concept of slow and fast
functions, which architecture is essential for real-time control of robots.
A slow function is executed sequentially, while a fast function is
executed immediately.
§ The second important concept is the separation of the reference and
current posture, which makes precise and smooth motion control and
dynamic posture correction possible.
Robot Languages
RIPL
§ RIPL (Robot Independent Programming Language) is based on an
object-oriented Robot Independent Programming Environment [RIPE].
§ The RIPE computing architecture consists of a hierarchical
multiprocessor approach, which employs distributed general and
special-purpose processors.
§ This architecture enables the control of diverse complex subsystems
in real time while co-coordinating reliable communications between
them.
MCL
MCL is short for Manufacturing Control Language and was developed by
McDonnell Douglas for the U.S. Air Force’s ICAM project.
Robot Languages
RAIL
RAIL is a high-level programming language developed by Automatix for
use with robots and vision systems.
RPL
RPL is a high-level programming language developed by SRI and is used
to configure automated manufacturing systems.
ARMBASIC
ARMBASIC is an extension of the hobbyist computer language BASIC. It
was used with the Microbot Mini-Mover 5 educational robot.
Androtext
Androtext is a high-level computer language developed by Robotronic
Corporation to make commanding a personal robot easier.
Robot Languages
VAL
VAL stands for Variable Assembly Language. VAL is a high-level
programming language developed for PUMA lines of robots. The
programming language is similar to BASIC. It has a complete set of
vocabulary words for writing and editing robot programs.
IBL
§ IBL (Instruction Based Learning) is a method to train robots using
natural language instructions. IBL uses unconstrained language with a
learning robot system.
§ A robot is equipped with a set of primitive sensory motor procedures
such as turn left or follow the road that can be regarded as an
execution-level command language. The user’s verbal instructions are
converted into a new procedure and that procedure becomes a part of
the knowledge that the robot can use to learn increasingly complex
procedures.
Robot Languages
Ladder Logic
§ Ladder logic is a programming language designed to be
used by electricians. It closely resembles the relay logic
that appears on the inside lids or doors of dishwashers
and washing machines.
§ The only robots that use ladder logic programming are
those that come without a controller or with a
programmable logic controller.
Generations of Robotic Languages
• Through typing
Robot Language Elements and
Function
§ Motion command
MOVE and related statements
• MOVE A1 (move to point A1)
• MOVES A1 (with straight line interpolation)
• MOVE A1 VIA A2 (moves to A1 thru A2)
• APPRO A1, 20 (approach at axial offset)
• MOVES A1
• SIGNAL (to close gripper)
• DEPART 50
DMOVE (incremental move)
• DMOVE (1,10) {link 1 moves through 10 units}
• DMOVE (<4,5,6>,<30,-60,90>)
• MOVE ARM2 TO A1
Robot Language Elements and
Function
§ SPEED control
• SPEED 60 IPS {60 inches per sec}(defines speed unit
directly)
• SPEED 75 (defines speed as a % of max speed)
Robot Language Elements and
Function
§ SENSOR OPERATION
• SIGNAL 3, ON (binary output)
• SIGNAL 3, OFF (binary output)
• SIGNAL 105, 4.5 (analog voltage output)
Robot Language Elements and
Function
Example 1 of VAL II Program
5. SPEED 10 IPS
6. MOVE PI
7. GRASP 10, 100
8. DEPART P1, 50
9. SPEED 40 IPS
10. APPRO P2, 50
11. SPEED 10 IPS
12. MOVEP2
13. BELOW
14. OPENI 100
15. ABOVE
16. DEPART P2, 50
17. STOP
Example 2 of VAL II Program
§ Solution
The program allows all holes to be drilled given just one location, called
STA at the bottom right-hand corner of the diagram. Actually, two
programs are required, since one will be a subroutine.