Open navigation menu
Close suggestions
Search
Search
en
Change Language
Upload
Sign in
Sign in
Download free for days
100%
(1)
100% found this document useful (1 vote)
274 views
Robotics Part 2 Robot Programming
robotics engineering
Uploaded by
khush
AI-enhanced title
Copyright
© © All Rights Reserved
Available Formats
Download as PDF or read online on Scribd
Download now
Download
Save Robotics_Part_2_Robot_Programming For Later
Download
Save
Save Robotics_Part_2_Robot_Programming For Later
100%
100% found this document useful, undefined
0%
, undefined
Embed
Share
Print
Report
100%
(1)
100% found this document useful (1 vote)
274 views
Robotics Part 2 Robot Programming
robotics engineering
Uploaded by
khush
AI-enhanced title
Copyright
© © All Rights Reserved
Available Formats
Download as PDF or read online on Scribd
Download now
Download
Save Robotics_Part_2_Robot_Programming For Later
Carousel Previous
Carousel Next
Save
Save Robotics_Part_2_Robot_Programming For Later
100%
100% found this document useful, undefined
0%
, undefined
Embed
Share
Print
Report
Download now
Download
You are on page 1
/ 12
Search
Fullscreen
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
Robot Programming Languages
PDF
No ratings yet
Robot Programming Languages
22 pages
Robotics Part3
PDF
No ratings yet
Robotics Part3
87 pages
VAL Programming
PDF
No ratings yet
VAL Programming
1 page
Robotics Programming
PDF
No ratings yet
Robotics Programming
32 pages
RMV Unit V - Robot Programming - Book 1
PDF
No ratings yet
RMV Unit V - Robot Programming - Book 1
52 pages
Robotics Chapter 6 - Robot Programming
PDF
No ratings yet
Robotics Chapter 6 - Robot Programming
9 pages
Industrial Robotics
PDF
No ratings yet
Industrial Robotics
30 pages
Robotics Programming
PDF
0% (1)
Robotics Programming
32 pages
Robot Programming: by 143-Akash Sanghvi 144-Varun Sharma 145-Gopesh Raval 146-Nitesh Dawani
PDF
No ratings yet
Robot Programming: by 143-Akash Sanghvi 144-Varun Sharma 145-Gopesh Raval 146-Nitesh Dawani
10 pages
Textual Robot Programming
PDF
No ratings yet
Textual Robot Programming
12 pages
IV Year 2 Marks 16 Marks Mech
PDF
No ratings yet
IV Year 2 Marks 16 Marks Mech
108 pages
Robotics Book
PDF
No ratings yet
Robotics Book
137 pages
OIE 751 ROBOTICS Unit 4 Class 5 (20-10-2020)
PDF
No ratings yet
OIE 751 ROBOTICS Unit 4 Class 5 (20-10-2020)
13 pages
Unit 1: 6 HRS: Introduction: Basic Concepts, Laws of Robotics, Robot
PDF
100% (1)
Unit 1: 6 HRS: Introduction: Basic Concepts, Laws of Robotics, Robot
69 pages
Robot Programming Methods
PDF
100% (2)
Robot Programming Methods
2 pages
Chapter 7 RK Mittal Robotic
PDF
100% (1)
Chapter 7 RK Mittal Robotic
49 pages
Point To Point Control
PDF
No ratings yet
Point To Point Control
19 pages
Important Questions and Answers - Robot Drive Systems and End Effectors PDF
PDF
No ratings yet
Important Questions and Answers - Robot Drive Systems and End Effectors PDF
5 pages
Robotics Question Bank
PDF
No ratings yet
Robotics Question Bank
8 pages
Industrial Robotics Technology Programming and Applications by Mikell P Groover Mitchell Weiss Roger N Nagel Nicholas G Odrey 007024989x PDF
PDF
0% (1)
Industrial Robotics Technology Programming and Applications by Mikell P Groover Mitchell Weiss Roger N Nagel Nicholas G Odrey 007024989x PDF
5 pages
UNIT-4 Trajectory, Path Planning and Programming
PDF
No ratings yet
UNIT-4 Trajectory, Path Planning and Programming
49 pages
Question Bank Robotics
PDF
No ratings yet
Question Bank Robotics
4 pages
rOBOTICS Unit-2,3
PDF
No ratings yet
rOBOTICS Unit-2,3
2 pages
Robotics Question Bank
PDF
No ratings yet
Robotics Question Bank
9 pages
Unit-II Drive System
PDF
No ratings yet
Unit-II Drive System
84 pages
MCQ
PDF
No ratings yet
MCQ
5 pages
Chapter 5 (Trajectory Planning)
PDF
100% (1)
Chapter 5 (Trajectory Planning)
24 pages
Robot Programming
PDF
100% (1)
Robot Programming
12 pages
Robotics Programming and Applications
PDF
No ratings yet
Robotics Programming and Applications
38 pages
Robotics Notes
PDF
0% (1)
Robotics Notes
22 pages
Pitch, Yaw, Roll, Joint Notations, Speed of Motion, Pay Load
PDF
100% (1)
Pitch, Yaw, Roll, Joint Notations, Speed of Motion, Pay Load
2 pages
Linear Control of Manipulators
PDF
No ratings yet
Linear Control of Manipulators
55 pages
056 - ME8099, ME6010 Robotics - Question Bank
PDF
No ratings yet
056 - ME8099, ME6010 Robotics - Question Bank
6 pages
Unit 6 Industrial Robotics
PDF
No ratings yet
Unit 6 Industrial Robotics
74 pages
Denavit-Hartenberg Convention
PDF
No ratings yet
Denavit-Hartenberg Convention
17 pages
ROBOTICSQUESTION BANK Unit V, Vi, Vii, Viii by Mahendra Babu Mekala, PBRVITS, Kavali
PDF
100% (2)
ROBOTICSQUESTION BANK Unit V, Vi, Vii, Viii by Mahendra Babu Mekala, PBRVITS, Kavali
10 pages
Design of Robot-Centered Cell
PDF
No ratings yet
Design of Robot-Centered Cell
7 pages
Robotics 2mark
PDF
No ratings yet
Robotics 2mark
14 pages
Robotics Lab Manuals Final PDF
PDF
100% (1)
Robotics Lab Manuals Final PDF
38 pages
Exp No 7
PDF
No ratings yet
Exp No 7
8 pages
ROBOTICS Part4
PDF
No ratings yet
ROBOTICS Part4
94 pages
Robot Trajectory Planning
PDF
No ratings yet
Robot Trajectory Planning
15 pages
Robo Analyzer User Manual
PDF
No ratings yet
Robo Analyzer User Manual
20 pages
Industrial Robotics - Model Papers
PDF
No ratings yet
Industrial Robotics - Model Papers
3 pages
Unit 6 Industrial Robotics
PDF
No ratings yet
Unit 6 Industrial Robotics
12 pages
Industrial Robotics
PDF
No ratings yet
Industrial Robotics
45 pages
Jacobian and Static Force
PDF
No ratings yet
Jacobian and Static Force
35 pages
Robot Components: The Robots Can Be Made Out of The Below Mentioned
PDF
No ratings yet
Robot Components: The Robots Can Be Made Out of The Below Mentioned
7 pages
5th Module
PDF
No ratings yet
5th Module
23 pages
Unit-II: Robot Drive Systems and End Effectors
PDF
No ratings yet
Unit-II: Robot Drive Systems and End Effectors
81 pages
19EE5803 UNIT-4 Path Planning: Prepared by S.Chithra
PDF
100% (1)
19EE5803 UNIT-4 Path Planning: Prepared by S.Chithra
49 pages
EC368 Robotics MODEL QUESTION PAPER WITH DETAILED ANSWER KEY
PDF
100% (2)
EC368 Robotics MODEL QUESTION PAPER WITH DETAILED ANSWER KEY
21 pages
Question: A Robotic Work Cell Has A Camera With in The Setup. The Origin of
PDF
No ratings yet
Question: A Robotic Work Cell Has A Camera With in The Setup. The Origin of
2 pages
2 Marks Question & Answer
PDF
No ratings yet
2 Marks Question & Answer
9 pages
Robotics and Machine Vision System
PDF
No ratings yet
Robotics and Machine Vision System
55 pages
Robotics Unit Notes
PDF
No ratings yet
Robotics Unit Notes
84 pages
ChatPDF-Chapter 5 - Robot Technology of The Future
PDF
No ratings yet
ChatPDF-Chapter 5 - Robot Technology of The Future
3 pages
Chapter 1 Introduction To Robotics
PDF
No ratings yet
Chapter 1 Introduction To Robotics
64 pages
RP 2
PDF
No ratings yet
RP 2
39 pages
Pares DCC
PDF
No ratings yet
Pares DCC
3 pages