100%(1)100% found this document useful (1 vote) 398 views12 pagesRobotics Part 2 Robot Programming
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here.
Available Formats
Download as PDF or read online on Scribd
Robot Programming
8.1 INTRODUCTION
For the robot user to get the task done from the robot manipulator there is the need for
an effective and efficient communication method. Several subjective and objective
communication techniques are developed to perform the task as determined to suit the
application, The methods are : lead through teaching method, speech recognition and
programming.
‘The lead through teaching which may be manual or powered is accomplished in the
following steps.
+ Leading the manipulator in slow motion controlled throughout the entire task
operation,
* Storing the joint angles at needed path locations.
+ Editing and play-back of the taught motion.
+ Replay of the motion by the robot at a speed as specified by the user,
Speech recognition is voice technique where the user speaks out the discrete words of
command. The stored commands are executed by the robot by word recognition process in real
time leading to robot motion. The techniques is primitive and requires large storage space of
memory to record speech data, This also needs extensive training for the user in developing a
speech template.
Programming is the most general and versatile subjective method of human-robot
communication.
The con
derations in robot programming are
* The three dimensional objects with different physical properties are to be manipulated.
* The environments of robot operations can be complex.
* Visualization of the object can be discrete.
+ The processing and the analysis of the digital data from sensors and vision system
has to be done in real time.
‘The high-level programming is oriented on tool and task basis, of operation sequence.
Robot Oriented Programming Object Oriented Programming
* The sequence of robot motion is programmed | + The program developed on task basis as a
and robot is made to follow. sequence of goal positions,
* The robot motions aro explicitly defined. * The explicit definition of robot motion is not
* The commands and actions are correspond- required.
ingly related, * Norelation between command and action but
the task is executed,
212ROBOT PROGRAMMING
8.2 LEAD THROUGH PROGRAMMING
Lead through teaching |
‘Manual lead through
|
* An operator grasps physically and moves the
‘wrist end in the path of operation, which is,
recorded in the memory.
* He uses a teach button while in teachmode.
* During tun mode the wrist end repeats the
taught motion,
* A-control box with buttons knowin as teach,
pendant is used to control joint motors.
“The points of motion is recorded in the memory,
and converted to motion programs.
* Subsequently the program Is utlized to play-
back the motion during the cycle of operation.
213
* When robot structure is complicated a geome:
‘cay similar model is used to easen the
robot handling
* hore usetul in continuous operations.
|
“This is more usetul in applications of point to
piont movernents.
‘Applications Applications
* tMachine loading and unloading. * Spray painting
* Spot welding + Full welding,
+ Point-to-point movements, * Continuous operation,
8.3 REQUIREMENT OF GOOD PROGRAMMING LANGUAGE
(ROBOT ORIENTED)
+ World Modeling
‘The set up of the work-space and the fixtures and feeders in which the parts are fixed
are determined. Generally robots and the objects are confined to well defined world-space. The
positional uncertainty is minimized by using restricted feeders and fixtures.
* Position Specification
‘The position and orientation of the parts are defined interms of co-ordinate frame. The
feeder and beam locator and their features are described by using data structures provided by
the language.
* Motion Specification
‘The general PNP activity is divided into the sequence of action such as movement of the
arm from a initial configuration to grasp position, picking up an object and moving to the final
configuration.
* Sensory Control
‘To take care of the uncertainty in location and dimension of the objects in the work-
envolope sensing is to be performed, The information gathered by the sensors acts as feedback
from environment,214
© Programming Support
‘The programming supports like editing and debugging etc are provided by the
sophisticated programming platform for the user to program.
INDUSTRIAL ROBOTICS
8.4 VAL COMMANDS WITH DESCRIPTION
Definition Command Statement Explanation
1, Motion control APPRO P1, Z1 Command to approach the point P1 in the
z-direction by Z1 distance above the object.
MOVE P1 Command to move the arm from the present.
position to point P1,
MOVE PI VIA P2
Asks the robot to move to point P1 through
point P2,
DMOVE (JI, AX)
‘Moves the joint J1 by an inerement of AX
Ginear)
DMOVE (J1, J2, J3)
Command to move joints J1, J2 and J3 by
(da, dB, d0) incremental angles of da, df, d0 respectively.
2. Speed control SPEED VIPS ‘The speed of the end effector is to be V inch
per second at the time of program execution.
SPEED R Command to operate the arm end effector at
R percent of the normal speed at the time of
program execution.
3. Position control HERE P1 Defining the name ofa point as P1.
DEFINE P1 = POINT
Gy, 2, Way Wy» wy)
The command defines the point Pl with x, y,
2 co-ordinates and ty, wp, we the wrist ro
tion angles.
Path control : DEFINE
PATH 1= PATH
(Pi, P2, P3)
The path of the end effector is defined by the
connection between points Pl, P2 and P3 in
series,
MOVE PATH 1
Movement of the end effector along path 1.
Frame definition:
DEFINE FRAME 1
= FRAME (P1, P2, P3)
— Assings variable name to FRAME 1
defined by points P1, P2 and P3, P1-origin|
P2-point along x-axis and P3-point along
xy plane.
MOVE ROUTE:
— Defines the movement in the path for
FRAME 1, frame 1.
4, Bnd effector operation | OPEN — Opens the gripper fingers.
CLOSE 50 MM — In forms gripper to close keeping 50 mm
width between the fingers,ROBOT PROGRAMMING: 215
CLOSE 5 LB. — Applies 6 Lb gripper force.
CENTER — Clases the gripper slowly till the
establishment of contact with the object to be
gripped.
OPERATE TOOL, — Positioning and operating the powered
(SPEED N RPND tool. Here the EB is replaced by servo
powered tool.
5, Operation of the SIGNAL 4, ON ‘The command actuates the output port 4
sengors and turns on at certain stage of the program.
SIGNAL 5, OFF. ‘The output port 5 is turned off.
WAIT 13, ON ‘The device gives a feed back signal indicating]
that it is on.
REACT 16, SAFETY. | The change in signal (if any), in the input
line 16, should be deviated to the sub-routine
SAFETY.
8.5 DEFINITION AND STATEMENTS OF AL AND AML
T
Definition AL-statement AML.-statement
© Definition of _ | FRAME (ROT(Z, Angle), framecax, y, 2>,
hase frame VECTOR (x, y, 21) BULER ROT ()>
* Definition of | base * TRANS(ROT(x, angle), | DOT (hase, <,
feature frame Vector (x, y, 2); EULER ROT ()>) ;
+ Definition of | MOVE barm to frame A; MOVE (, ) |
motion
statement,
* Sensing control | OPEN bhand to distance ; MOVE (gripper, distance) ;
statement
+ Force sensing | WITH FORCE (2) = force Z, mons = MONITOR (,
and compliance | WITH FORCE (X) = foree X. X,0,R);
statement WITH FORCE (¥)=force in Y | SLP and SRP are force sensors.
WITH DURATION = time in sec,216 INDUSTRIAL ROBOTICS:
8.6 PROGRAMMING LANGUAGES-FEATURES AND APPLICATION
Language AL | AMZ RPL VAL
U Feature =
© Language base Concurrent, | LISP, FORTRAN, BASIC
Paseal Pascal LISP
+ Level orientation | Robot, Object | Robot Robot Robot
‘+ Motion specification | Frame Joints Joints Joints, Frame
| © Sensing controt Position, Foree | Position Position, Vision | Position, Force
‘+ Robot multiplicity | YES KG) NO NO
"5 Robot application | PUMA— IBM arm PUMA PUMA
stanford arm
8.7 PROGRAM FOR PNP (PICK AND PLACE) ACTIVITY
VAL STATEMENT Statement Description
BRANCH PICK — The branch of program indicating part pick.
MOVE INTER — Move to a intermediate position above chute.
WAIT 12 — Wait for a incoming part ta the chute.
SIGNAL 5 — Open gripper fingers (sensor control).
MOVE PICK-UP — Move gripper and pick-up the object,
SIGNAL 6 — Close the gripper to grab the object.
MOVE INTER — Depart to intermediate position above chute.
END BRANCH — End of pick-up activity.
BRANCH PLACE | — Start of placing activity.
MOVE 7% (-50) — Position part and gripper above the pallet.
SIGNAL 5 Open gripper to release the part.
MOVE 2 (60) — Depart from the place (pallet) point.
END BRANCH — End of place activity,ROBOT PROGRAMMING
8.8 FLOW CHART FOR PALLETIZATION PROGRAM
Delinition of
* Pallet variables
* Locational constants
and variables
q
Gripper opening
t
Row initialization
y-co-ordinate
=
Column initialization
asia aa |
Co-ordinate iteration
‘Approach, movement,
grab object and depart
‘Approach, movement, .|
‘release object and depart
Column increment
Row increment
217218 INDUSTRIAL ROBOTICS
8.9 PROGRAM TO PALLETISE THE OBJECT
Given Data
Pallet variables y
ROW integer ROW count. i «204
COLUMN integer COLUMN count. 8
x co-ordinate value along x-axis
a co-ordinate value along y-axis,
Locational constants 3 pala t
PICK-UP _ point of pick-up of objects. Gs L
CORNER start of point in the pallet.
Locational variable
DROP. point of dropping. 1 cee Gn Lies
Palletising program.
VAL STATEMENT.
Description of Statement
PROGRAM PALLETISE
DEFINE PICK-UP = JOINTS (1, 2, 3, 4, 5)
DEFINE CORNER = JOINTS (1, 2, 3, 4, 5)
DEFINE DROP = CO-ORDINATES (X, Y)
COLUMN = 0.0
20 X = COLUMN + 30.0
DROP = CORNER + (X, ¥)
APPRO PICK-UP, 50
MOVE PICK-UP
CLOSE
DEPART 50 |
APPRO DROP, 50
MOVES DROP.
OPEN
DEPART 50
COLUMN = COLUMN « 1,
IF COLUMN LT 5 GO'TO 20
ROW = ROW +1
IF ROW LT 3GO TO 10
END PROGRAM
- Defining drop for every iteration,
Start of program.
Definilion of constants of location.
Definition of variable of pallets.
Yripper action control to open fingers.
Initialise the row count.
Computation of dropping point (Y-co-
ordinate)
Initialization of column count.
Computation of drop off point (X-co-
ordinate)
Approach above pallet for pick-up.
Positioning for pick-up action.
Gripper action control to close the
fingers.
Action sequence for arm to move away
from the pick-up point.
Approach command to position above
drop point.
‘Command to drop object
Open the gripper fingers.
Move away from drop point.
Column increment,
Check for the column limit (LT = less
than)
Row increment.
‘Check for ROW limit.
End of program.ROBOT PROGRAMMING 219
8.10 FLOW CHART FOR BOLT INSERTION PROGRAM
Set variables
Define base frame
Define feature frame
t
Dofine via points frame
‘Open gripper
approach bolt |
False
Elose hand
bolt dia hand,
Success
Move arm to B
Move arm to D
Presence of
hole,
Yes
Insertion with
compliance
«
|__5] Abort operation220
INDUSTRIAL ROBOTICS
8.11 AL PROGRAM FOR BOLT INSERTION TASK
BEGIN insertion
bolt_dia — 12* mm;
bolt_height — 25 * mm;
tries — 0;
grasped < false
beam — FRAME (ROT(Z, 90 * deg), VECTOR (500, 375,0)* mm); |
feeder ~ FRAME (nilrot, VECTOR(625, 500,0) * mm); [en Baed feorte:
bolt_grasp < feeder » TRANS (nilrot, nilveet) ;
bolt_tip < bolt_grasp * TRANS (nilrot, VECTOR(0, 0, 12) * mm);
beam_bore — beam * TRANS (nilrot, VECTOR(0, 0, 25) * mm) ;
fo Variables.
Def, feature frame.
A & feeder « TRANS (nilrot, VECTOR(O, 0, 125) * mm) ;
B < feeder * TRANS (nilrot, VECTOR(O, 0, 200) + mm);
© — beam_bore * TRANS (nilrot, VECTOR(, 0, 125) * mm) ;
D < beam_bore + TRANS (nilrot, bolt_height * Z) ;
OPEN bhand To bolt_dia + 25% mm} Open hand.
MOVE barm To bolt_grasp VIA A
WITH APPROACH = -Z WRT feeder ;
CLOSE bhand To 0.9 bolt_dia ;
IF bhand < bolt_dia THEN BEGIN ;
OPEN bhand To bolt_dia + 25 = mm ;
MOVE barm ‘To 0-1 « Z* mm ; Bolt grasp activities statements.
END ELSE grasped < true;
tries < tries +1;
UNTIL grasped OR (tries > 4) ;
IF NOT grasped THEN ABORT (“bolt grasp failed”) ;
MOVE barm To B
VIAA
WITH DEPARTURE =Z WRT feeder ; Movement of the arm to B and D
MOVE barm To D VIA C
WITH APPROACH = ~Z WRT beam_bore ;
MOVE barm to 0 - 0.1 Z « mm ON FORCE (Z) > 200 * gms
DO ABORT (“Hole absent”) ;
MOVE barm To beam-bore DIRECTLY
WITH FORCE (Z) = -200 « gms
WITH FORCE (X) = 0 gms Execution of insertion with compliance.
WITH FORCE (Y) = 0 gms
WITH DURATION = 5 * seconds.
END insertion,
Def. of via point frame
\ Position hand above bolt.
\ Cheek for Hole.ROBOT PROGRAMMING 204
8.12 PROGRAM OPERATING AND STORAGE
‘The defining and usage of the operating system in robot programming is in similar lines
with computer programming languages. The purpose of having operating system is to maximise
the performance and the efficiency of computer systems and the peripheral devices like CRT
monitor, alphanumeric key-board, printers and storage devices. The devices used to store the
program are magnetic tapes or disks.
* Definition
‘The operating system is a computer software that allows the user to carry out the
mechanisms of
— Writing a new program
— Bditing the existing program
— Bxecuting a given program
— Perform other functions like compiling.
+ Modes of Operating System
‘Operating system
Monitor mode
Euit Run
Mode _| Mode
8.13 MODES OF OPERATING SYSTEM
Functions of Monitor Mode
« Establishes overall supervisory control of the systems.
« Defines the location in space using teach pendant
* Sets the speed of control for the robot.
* Storing of the functional program.
+ Transferring the program between storage devices and control memory.
© Co-ordinating other modes like run mode and edit mode.
Run Mode Funetions Edit Mode Functions
+ Execution of the robot program. + Provedes sets of instructions for writing new
programs,
+ Performing sequence of instruction in the | + Editing the existing program.
program.
+ Tosting of new program and debugging. + Deletion and changing the existing
inatructions to the program.
* Display of the error messages during | © Insertion of new lines into the program.
execution.
» Change over to the edit mode for correction.
The editing of a program is language
dependent,
© Shutting between edit and run mode to write
| new program while execution of a program.222 INDUSTRIAL ROBOTICS
8.14 COMMANDS IN MONITOR MODE
Commands Functional Deseription
1, EDIT (Program name) | + Allows writing a new program or editing the existing program.
2, EXIT + Storesthe program into control memory and return to edit mode.
8, STORE (Program name) | — Stores the program into permanent storage device (disk or tape)
4, READ (Program name) | -+ Readsa file from the storage into the control memory.
5. LIST (Program name) | -> Displays the file on monitor.
6, DIRECTORY ~ Lists the program files stored.
7. PRINT (Program name) | > The program print on hard copy.
8, DELETE ERASE > The deletion of the program from memory or storage.
(Program name)
_8. EXECUTE, EX or > Instructs the robot to execute the program.
EXEC (program name)
10. ABORT or STOP ~ Discontinues the program execution and stops rebot motion,
8.15 ROBOT TASK PLANNING
Phas
Wore modeling asks specication ana
program sythesie
Geometric and World state Decomposition of tasks
physical models representation t
Representation of Faletone! wnat [Grasping] Gperana| Spect- | Attache | Fina
primitives Atachment State_| poston cation | ment’ | sate
Set of edges and ‘otweon objec
points + Conetrans. ap
+ Setot sutaces Tanslattonel or
eed pea Froniedga >+->{ Sub task olanner -»C Models)
+ Cell decomposition ‘components, y
Program synhesis
Choosing sancti ] | Prningot | [— Salesian ot
shri operate | (db cosuh | alco fetratond
Robot program
EXERCISE
8.1. Explain the different ways by which robot teaching can be performed, (VTU-Jon./Feb, 2003)
8.2. Explain the following :
() Manual programming
(ii) Lead through teaching (VIU-May /June 2004)ROBOT PROGRAMMING 223
8.3.
84.
8.5,
8.6.
8.7.
‘What are the critical informations required for task programming of robot ?
(VPU-Jan. Feb, 2004)
Discuss the programming methods used in robots mentioning their specific field of application.
(VTU-San. (Feb. 2004)
Write a robot program for PNP activity. (VTU-Jan./ Feb. 2004)
Write a VAL program for inserting an OBJECT into a box by approaching 45 mm above the
object by moving to an intermediate point 'P" along a straight line and approaching the box
70 mm from above and finally setting the gripper 25 mm above the box. Show the end effector
path diagram. (VTU-May / June 2004)
Write a programm in VAL for palletization of parts in a PALLET having 4 rows that are 60 mm
apart and 6 columns 40 mm apart, The robot must pick parts from an incoming chute and aro
25 mm tall. Use in the program the following names for variables ROW, COLUMN, X and Y, and
use names for location constants PICK-UP, CORNER, and DROP. (VTU-Jan. /Feb. 2003)
You might also like
Pitch, Yaw, Roll, Joint Notations, Speed of Motion, Pay Load
Pitch, Yaw, Roll, Joint Notations, Speed of Motion, Pay Load
2 pages