100% found this document useful (1 vote)
248 views

Robotics Part 2 Robot Programming

robotics engineering

Uploaded by

khush
Copyright
© © All Rights Reserved
Available Formats
Download as PDF or read online on Scribd
100% found this document useful (1 vote)
248 views

Robotics Part 2 Robot Programming

robotics engineering

Uploaded by

khush
Copyright
© © All Rights Reserved
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 12
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, 212 ROBOT 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 217 218 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 operation 220 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