0% found this document useful (0 votes)
57 views

Iar Unit 6 2024 Robot Programming

Uploaded by

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

Iar Unit 6 2024 Robot Programming

Uploaded by

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

ROBOT PROGRAMMING

POINTS TO BE DISCUSS

 Robot Programming: Lead through method,


 Robot program as a path in space,

 Methods of defining positions in space,

 Motion interpolation, branching;

 Textual robot programming ;

 Languages-VAL II.
 ROBOT PROGRAMME :-
 A robot programmed can be defined as a path
of movement of its manipulator ,combined with
peripheral equipment action to support its work
cycle .
 PROGRAMMING METHODS :-
 There are five different methods of entering the
commands
1. Manual,
2. Teach pendant,
3. Walk –Through,
4. Computer control,
5. Off-line,
1) MANUAL
 This type of programming is typical of the first
generation approach .
 Manual programming is used for robots with point to

point open loop controllers .This method is associated


with limited sequence pick & place robots.
 The sequence in which the motion occurs is regulated

by a sequencing device like cams, limit switches .


 This device determines the order in which each joint is

actuated to form the complete the motion cycle .


 Manual programming is usually simple & doesn’t

require skilled operators


 Capital investment & maintenance is required low .

 Robots having generally 2 or 3 degrees of freedom are

programmed by this method


2) TEACH PENDANT
 Teach pendant programming involves the use of a
teach pendant (hand held control box) that toggle
switches or contact buttons for controlling the
movements of manipulator joints .
 By using the toggle switches or contact buttons

the programmer power drive the robot arm to the


designed positions in sequence and records
motions into memory
 This method of programming is commonly used for

playback robots with point to point control


 Its simple & does not require skilled operator ,

 Complex motions & applications requires close

tolerance may require a lengthy programming


time .
3) WALK THROUGH
 Walk through programming is used for playback
robot with continuous path control ,irregular
motion patterns and for roughly locating the tool
center point for same robots .
 This programming method requires the operator

to physically grasp the end effector and


manually move it through the motion sequence
recording the path into the memory
 If the robot arm is itself is difficult to move , due

to its Wight a special device often replaces the


actual robot for the teach procedure.
 The motions are recorded as a series of closely

spaced points during the playback testing the


actually robot arm goes through the same
sequence
4) OFF LINE PROGRAMMING
 This method permit the robot program to be
prepared at a remote computer terminal &
downloaded to robot controller for execution.
 The advantages of off line programming is that

simulation techniques and new programs may be


used to refine and modify operations without
taking up valuable time.
 Advantages :-
 Preparing the robot program without using the robot so
that robot can be used for different work.
 Layout & cycle time can be optimized in advance.
 Sensors can be used to detect the external stimuli and
actions can be taken.
PROGRAMMING METHODS
CLASSIFICATION
 Programming methods can be also be classified as
following two basic types :-
 Leadthrough Methods
 Textual robot languages
 The Leadthrough method requires the
programmer to move the manipulator through
desired motion path and that the path be
recorded into memory by robot controller .
 Textual languages is accomplished somewhat like

computer programming
 Program is type in high level languages
LEADTHROUGH METHODS
 There are two ways to carry out the programming
 Powered Leadthrough
 Manual Leadthrough
 Powered Leadthrough method make use of a
teach pendant to control the various joint motions
, and to power drive the robot arm and wrist
through a series of point in space .
 Powered leadthrough is most commonly used

method today.
 Manual Leadthrough method is also called as

“Walkthrough” method .
 In which the programmer physically grasp the

endeffector & moves to desired path .


Robot Programming
Lead Through Method
ROBOT PROGRAMMING
 Programming is the identification and
specification of a series of basic actions
which, when executed in the specified order,
achieve some specific task or realize some
specific process.
 Robot Programming is the defining of

desired motions so that the robot may


perform them without human intervention.
SOME DEFINITIONS
 DOF: The degrees of freedom [degrees of
mobility] of the robot will be numbered as q1,
q2, q3 etc.
 Usuallyindustrial robot arms have between 4
and 6 degrees of freedom, one at each joint.
 End-effector: The end of the robot arm,
where the gripper or other tool that the
robots uses is located, we will define as the
end-point (Pe) of the robot.
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.

Pe
Pose: both the position of Pe in space, and its
orientation
 Itis not sufficient for Pe just to be defined as a
point, we also need to attach or (conceptually) fix a
coordinate system to it, so that we can define both
the position of Pe in space, and its orientation
(together they define the object pose).

e
P
Pe
Base Frame: The position and
orientation of Pe must be defined with
respect to some global frame of
reference, some global coordinate
system. For this we usually use a
frame of reference fixed to the base of
the robot, which should not move.
 NOTE: The position and orientation of P e
in the work space of the robot are
determined by the values of the joint
positions of the arm—q1, q2, q3,etc.
Configuration: Any particular position
and orientation of Pe in space, and so
any particular set of joint values, is
called a configuration of the robot
arm.
ROBOT PROGRAMMING REVISITED
 Robot Programming is the defining of
desired motions so that the robot may
perform them without human intervention.
 identifying and specifying the robot
configurations (i.e. the pose of the end-effector,
Pe, with respect to the base-frame)
TYPE OF ROBOT PROGRAMMING
 Joint level programming
 basic actions are positions (and possibly
movements) of the individual joints of the robot
arm: joint angles in the case of rotational joints
and linear positions in the case of linear or
prismatic joints.
 Robot-level programming
 the basic actions are positions and orientations
(and perhaps trajectories) of Pe and the frame of
reference attached to it.
 High-level programming
 Object-level programming
 Task-level programming
OBJECT LEVEL PROGRAMMING
 basic actions are operations to be performed
on the parts, or relationships that must be
established between parts
pick-up part-A by side-A1 and side-A3
move part-A to location-2
pick-up part-B by side-B1 and side-B3
put part-B on-top-off part-A
with side-A5 in-plane-with side-B6 and
with side-A1 in-plane-with side-B1 and
with side-A2 in-plane-with side-B2
TASK LEVEL PROGRAMMING
 basic actions specified by the program are
complete tasks or subtasks

paint-the car-body red


assemble the gear-box
ROBOT PROGRAMMING METHODS
 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 them 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"
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
LEADTHROUGH PROGRAMMING

Two types:
1. Powered leadthrough
 Common for point-to-point robots
 Uses teach pendant to move joints to desired position
and record that position into memory
2. Manual leadthrough
 Convenient for continuous path control robots
 Human programmer physical moves manipulator
through motion cycle and records cycle into memory
TEACH PENDANT FOR POWERED
LEADTHROUGH PROGRAMMING
LEADTHROUGH PROGRAMMING
ADVANTAGES
 Advantages:
 Can readily be learned by shop personnel
 A logical way to teach a robot
 Does not required knowledge of computer programming
 Disadvantages:
 Downtime - Regular production must be interrupted to
program the robot
 Limited programming logic capability
 Not readily compatible with modern computer-based
technologies
ON-LINE 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
GENERATIONS OF ROBOT
PROGRAMMING LANGUAGES
 1. First Generation Language:
 This type of language provides an off-line

programming in combination with the


programming through the robot teach pendant.
 Its capability is limited in handling of sensory

data and communication with other


components. The programming instructions can
be used to define the motion sequence of the
manipulator (MOVE), they have input/output
capabilities (WAIT, SIGNAL) and they can be
used to write subroutines (BRANCH).
 Example: VAL (Versatile Algorithmic Language)
 2. Second Generation Language:
 These are structured programming languages

performing complete tasks.


 They can generate complex motions; can handle

both analog and digital signals besides the binary


signals.
 These languages have the added advantage of

better interfacing facilities with other computers.


Data processing, file management and keeping all
the records of events happening in the work cell
can be done more efficiently.
 Example: AML (A Manufacturing Language), RAIL

(Robotic Automatix Incorporated Language), RCL,


VALII etc.
 3. Word Modeling and task-oriented object
level language:
A more advanced future language is word
modeling. Here, a task is defined through a
command (Say “TIGHTEN THE NUT”). In such a
case intelligence is required and the robot should
be capable of making decision.
 Future generation robot languages involve
technology of artificial intelligence and
hierarchical control system
ROBOTIC PROGRAMMING LANGUAGES
 AL: The AL (Assembly Language) was developed
at the robotic research centre of Stanford
University. Its characteristics are:
 High level language with features of ALGOL and

PASCAL.
 It is compiled into low-level language and

interpreted on a real time control machine.


 It could be used to control multiple arms in tasks

requiring arm coordination.


 It supports for word modeling
 AML: A Manufacturing Language (AML) was
developed by IBM. It is the control language for
the IBM RS-1 robot. RS-1 robot is a Cartesian
manipulator with 6 degrees of freedom. Its first
three joints are prismatic and the last three joints
are rotary. Its characteristics are:
 Provides an environment where different user

interface can be built.


 Supports features of LISP like and APL-like
constructs.
 Supports data aggregation

 Supports joint space trajectory planning subject

to position and velocity constraints.


 Provides absolute and relative motions

 Provides sensor monitoring


 RAIL:. Robotic Automatix Incorporated Language
(RAIL) was developed by Automatix for the use of
robots and vision system
 It is an interpreter loosely based on PASCAL.

 Several constructs have been incorporated into

RAIL to support inspection and arc-welding


systems, which are a major product of Automatix.
 Peripherals include a terminal and a teach box.

 RAIL is being supplied with three different


systems:
1. i. Vision only, no arm

2. ii. A custom designed Cartesian arm for assembly


tasks
3. iii. A Hitachi process robot for arc welding
 VAL:
 It is a robot programming language and control
system originally designed for use with Unimation
robots.
 Its stated purpose is to provide the ability to
define robot tasks easily.
 The intended user of VAL will typically be the
manufacturing engineer responsible for
implementing the robot in a desired application.
 It has the structure of BASIC, with many new
command words added for robot programming. It
also has its own operating system, called VAL
monitor, which contains the user interface, editor
and file manager.
 It has been released for use with all PUMA robots
and with the Unimate 2000 and 4000 series
TEXTUAL ROBOT
LANGUAGES
INTRODUCTION
 The textual language is used to define the
logic and sequence of the program.
 Offline programming method.

 First textual robot language was WAVE,

developed in 1973.
 Development of subsequent languages like

AL, VAL, AUTOPASS, AML, MCL, APT etc


started in 1974.
GENERATIONS OF ROBOT
PROGRAMMING LANGUAGES
 First Generation Languages(VAL)
Use a combination of command statements

& teach pedant procedures


 Features

Ability to define manipulator motions


Straight line interpolation
Branching
Elementary sensor commands
 Second generation languages(VAl2, AML, RAIL)
Structured programming languages
 Features

Motion control
Advanced sensor capabilities
Limited intelligence
Communication & data processing
 Future generation languages
World modeling
3D model of its work environment
Capacity for automatic self programming
ROBOT LANGUAGE ELEMENTS &
FUNCTIONS
 Constants, variables & other data objects
 Motion commands

 End effector & sensor commands

 Computations & operations

 Program control & subroutines

 Communications & data processing

 Monitor mode commands


CONSTANTS, VARIABLES & OTHER
DATA OBJECTS
 Other data objects
Aggregates
an ordered set of constants or variables.
(23, 45.66, 56.64, 49)

Location variables
DEFINE A1 = POINT(X, Y, Z, R1, R2)
MOTION COMMANDS
 MOVE Command
MOVE A1 -> move to point A1
MOVES A1 -> move Straight to point A1
MOVE A1 VIA A2
 SPEED COMMAND

SPEED 60 IPS
SPEED 70
 Definition of a point in workspace
DEFINE A1 = POINT()

 Paths & Frames


DEFINE PATH1 = PATH(A1, A2, A3)
MOVE PATH1
DEFINE FRAME1 = FRAME(A1, A2, A3)
END EFFECTOR & SENSOR
COMMANDS
 End effector operation
OPEN & CLOSE
CLOSE 40 MM
CLOSE 3.0 LB
CENTER
 Sensor operation

SIGNAL 3, ON
SIGNAL 3, OFF
COMPUTATIONS & OPERATIONS
 Mathematical operators
 Relational operators

 Logical operators

 Functions
PROGRAM CONTROL & SUBROUTINES
 Program sequence control
GOTO 15
IF … THEN … ELSE … END
 SUBROUTINES

SUBROUTINE PLACE(N)
END SUBROUTINE

CALL PLACE(N)
COMMUNICATION & DATA
PROCESSING
 READ
 WRITE

 SEND DATA1(CRT)

 RECEIVE SUBROUTINE 6 (COMPUTER1)


MONITOR MODE COMMANDS
 EDIT -> editing a program
 EXIT -> exits a program & returns to monitor

mode
 STORE -> saves the program on storage

device
 READ -> reads a program file

 LIST -> displays program files

 PRINT -> prints a program

 DELETE -> deletes a program file

 DIRECTORY -> displays list of program files

 STOP -> stops robot motion

 EXECUTE -> executes a program


GENERATIONS OF ROBOT
PROGRAMMING LANGUAGES
 1. First Generation Language:
 This type of language provides an off-line

programming in combination with the


programming through the robot teach pendant.
 Its capability is limited in handling of sensory

data and communication with other


components. The programming instructions can
be used to define the motion sequence of the
manipulator (MOVE), they have input/output
capabilities (WAIT, SIGNAL) and they can be
used to write subroutines (BRANCH).
 Example: VAL (Versatile Algorithmic Language)
 2. Second Generation Language:
 These are structured programming languages

performing complete tasks.


 They can generate complex motions; can handle

both analog and digital signals besides the binary


signals.
 These languages have the added advantage of

better interfacing facilities with other computers.


Data processing, file management and keeping all
the records of events happening in the work cell
can be done more efficiently.
 Example: AML (A Manufacturing Language), RAIL

(Robotic Automatix Incorporated Language), RCL,


VALII etc.
 3. Word Modeling and task-oriented object
level language:
A more advanced future language is word
modeling. Here, a task is defined through a
command (Say “TIGHTEN THE NUT”). In such a
case intelligence is required and the robot should
be capable of making decision.
 Future generation robot languages involve
technology of artificial intelligence and
hierarchical control system
ROBOTIC PROGRAMMING LANGUAGES
 AL: The AL (Assembly Language) was developed
at the robotic research centre of Stanford
University. Its characteristics are:
 High level language with features of ALGOL and

PASCAL.
 It is compiled into low-level language and

interpreted on a real time control machine.


 It could be used to control multiple arms in tasks

requiring arm coordination.


 It supports for word modeling
 AML: A Manufacturing Language (AML) was
developed by IBM. It is the control language for
the IBM RS-1 robot. RS-1 robot is a Cartesian
manipulator with 6 degrees of freedom. Its first
three joints are prismatic and the last three joints
are rotary. Its characteristics are:
 Provides an environment where different user

interface can be built.


 Supports features of LISP like and APL-like
constructs.
 Supports data aggregation

 Supports joint space trajectory planning subject

to position and velocity constraints.


 Provides absolute and relative motions

 Provides sensor monitoring


 RAIL:. Robotic Automatix Incorporated Language
(RAIL) was developed by Automatix for the use of
robots and vision system
 It is an interpreter loosely based on PASCAL.

 Several constructs have been incorporated into

RAIL to support inspection and arc-welding


systems, which are a major product of Automatix.
 Peripherals include a terminal and a teach box.

 RAIL is being supplied with three different


systems:
1. i. Vision only, no arm

2. ii. A custom designed Cartesian arm for assembly


tasks
3. iii. A Hitachi process robot for arc welding
 VAL:
 It is a robot programming language and control
system originally designed for use with Unimation
robots.
 Its stated purpose is to provide the ability to
define robot tasks easily.
 The intended user of VAL will typically be the
manufacturing engineer responsible for
implementing the robot in a desired application.
 It has the structure of BASIC, with many new
command words added for robot programming. It
also has its own operating system, called VAL
monitor, which contains the user interface, editor
and file manager.
 It has been released for use with all PUMA robots
and with the Unimate 2000 and 4000 series

You might also like