Robotics Part3
Robotics Part3
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 endeffector, Pe, with respect to the base-frame)
Work space
Work space: the spatial region within which the end of the robots wrist can be manipulated, with no hand or tool attached.
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
Robot programming
A robot must be programmed to do useful works and perform its tasks a robot is an idiot waiting for you to make it work by the use of programming. Robot program is defined as a path of movements of its manipulator, combined with peripheral equipment actions to support its work cycle. The peripheral equipment actions include Operation of the end-effector. Making logical decisions. Communicating with environments. A robot programmer needs to understand the whole task and interfaces with its environment before he/she starts a programming.
Walk-through method
A person doing the programming has physical contacts with the robot arm, actually gains control and walks the robot's arm through the desired positions. Each movement is recorded into the memory for the playback during production, including unintended motions. The main concern is on achieving the correct positioning sequences. Cycle time and speed can be changed later, when necessary A dead mans control should be fitted for the safety reason. A high precision in generating paths cannot be achieved (Manual operation) - Highly skilled operator required. Optimum trajectory velocity cannot be achieved Movements are stored in the sampled time required large memory. Mainly used in spray painting, arc welding, grinding, deburring and polishing
The corresponding series of joint positions or points are stored for playback later during actual operation. Suitable for PTP control only since paths between two consecutive positions are not predictable.
Define Constants and Variables Motion commands (coordinate systems) End Effectors Commands Sensor Commands Program Control Commands Communications Commands Monitor Mode Commands
RAIL
Developed by Automatix for robotic assembly, inspection, arc welding and machine vision A variety of data types as used in PASCAL can be used
Off-Line programming
The programming for the required sequence of functions and positions is written on a remote computer console. Then transfer to the robot controller (floppy disk or downloading). The robot programming language is to make it easy for this purpose (ADA, RAPID, ...).
Off-Line programming
Use of production equipment during programming - productivity not affected Creating the program is safer since the programmer is not in the cell Communication with higher level of manufacturing system (ex. CAD/CAM) is possible Provide greater flexibility and high efficiency Safety is the main concern for off-line programming Most robot accidents do occur during programming, program touchup or refinement, setup, or adjustment During these operations, the operator may temporarily be within the robot's working envelope where unintended operations could result in injuries Requires highly skilled operator computer programming + robot language programming
Robot Simulation
Off-line programming can provide a means of programming without interruption of actual production However, it would cause unintended movement and in turn serious problems collision, or injuries Simulation enables to test new or modified programs in virtual environment or even test a new manufacturing cell before the construction.
Robot Simulation
During the simulation the followings to be checked. 1. Kinematic reach robot needs to reach all of items. 2. Work-cell layout. 3. Collision checking. 4. Motion timing. 5. Off-line programming to create robot programs. 6. Logic, wiring and cable connection. 7. Special application features weld width for welding, paint thickness for paint spraying, etc....
WHERE : the current location can be displayed TEACH : records a series of location values
TEACH P1
GOTO 20 : an unconditional branch to the program step identified by a given level, 20 GOSUB : transfer the control to the subroutine RETURN : Transfer the control from the subroutine IF THEN : transfer control to a program step depending on a relationship (conditions) being true or false
IF ROW LT 3 THEN (A number of instruction steps) ELSE (A number of instruction steps) END
Depalletizing
.PROGRAM DEPALLET 1 REMARK PROGRAM TO PICK OBJECTS FROM A PALLET REMARK CORNER AND CHUTE LOCATIONS ARE TAUGHT SETI MAXCOL = 4 SETI MAXROW = 3 SETI ROW = 1 SETI COLUMN = 1 SET PICK = CORNER SHIFT PICK BY 20.00, -20.00, 60.00 OPENI 10 MOVE PICK DRAW 0, 0, -25.00 COLSEI DRAW 0, 0, 25.00 MOVE CHUTE OPENI GOSUB PALLET IF ROW LE MAXROW THEN 10 .END
.PROGRAM PALLET
REMARK SUBROUTINE FOR LOCATIONS SETI COLOUM = COLUMN +1 IF COUMN GT MAXCOL THEN 20 SHIFT PICK BY 50.00, 0.00, 0.00 GO TO 10 20 SETI ROW = ROW +1 IF ROW GT MAXROW THEN 30 SHIFT PICK BY -150.00, -30.00,0.00 SETI COLUMN =1 30 RETURN .END
WELDING INSTRUCTIONS
WSET 1 = 13, 54.3, 63 A welding speed of 13 mm/s, welding voltage of 54.3% and welding current of 63 % for welding condition 1
WSTART : starts the welding under present welding conditions and weaving conditions (set by WSET and WVSET)
WEND : inactivates a welding start signal
1 2 3 4 5 6 7 8 9 10 11 12 13 14
WELD CURVE WSET 1 = 10, 40, 50 WSET 2 = 8, 35, 60 WSET 3 = 12, 40, 55 WVSET 1 = 5, 5 WVSET 2 = 10, 7, 2, 0, 1, 2, 0 15 MOVE X1 16 MOVE X2 17 WSTART 1, 1 18 MOVES X3 19 WEND 0.5 20 WSTART 2 21 MOVES X4 22 CIRCLE X4, X5, X6 .END MOVES X7
CIRCLE X7, X8, X9 MOVES X10 WEND 0.5 WSTART 3, 2 MOVES X11 CRATERFILL 0.8, 3 WEND 0.5 MOVE X12
DESCRIPTION OF A CONTROLLER
A controller is the brain behind the functioning of a robot . The picture below shows the latest IRC5 controller of ABB .
BUTTONS ON A FLEXPENDANT
THE END_EFFECTOR
The tool that is attached to the Tool Mounting Flange of the robot is known as the end_effector , it may be cutting tool, drill bit, gripper (vacuum, pneumatic or servo), welding gun, hemming tool, glue gun etc.
PNEUMATIC GRIPPER
A WELDING TORCH
A SPOT WELDING
A VACUUM GRIPPER
ROBOT SELECTION
The characteristics of robots generally considered in a selection process include:
Size of class Degrees of freedom Velocity Drive type Control mode Lift capacity
Repeatability Right-left traverse Up-down traverse In-out traverse Yaw Pitch Roll Weight of the robot
ROBOT SELECTION
1. Size of class: The size of the robot is given by the maximum dimension (x) of the robot work envelope. Micro (x < 1 m) Small (1 m < x < 2 m) Medium (2 < x < 5 m) Large (x > 5 m) 2. Degrees of freedom. The cost of the robot increases with the number of degrees of freedom. Six degrees of freedom is suitable for most works.
2004
50
ROBOT SELECTION
3. Velocity: Velocity consideration is effected by the robots arm structure.
Rectangular Cylindrical Spherical Articulated
4. Drive type:
Hydraulic Electric Pneumatic
2004 51
ROBOT SELECTION
5. Control mode:
Point-to-point control(PTP) Continuous path control(CP) Controlled path control 6. Lift capacity:
2004
52
ROBOT SPECIFICATION
ABB robots are specified using a designation IRB say for example, IRB140, IRB1400, IRB2400, IRB1600, IRB6600, IRB340 etc.
Some important specifications to look for in a Robot are: 1.Payload 2.Reach 3.Supplementary load. 4.Speed
OPERATING MODES
MANUAL
Robot can be jogged at less than 250 mm/s Enabling device needs to be pre_ _ssed Programmed speed is not followed.
MANUAL 100%
Robot can be jogged at less than 250 mm/s Enabling device and Hold to Run button needs to be pressed Programmed speed is followed.
AUTOMATIC
Robot cannot be jogged No need of enabl_ ing device or hold to run button Programmed speed is followed.
COORDINATE SYSTEMS
A coordinate system consists of an origin O and three mutually perpendicular axes X, Y, and Z. It is used to specify the position of a point in space The various types of coordinate systems used in a Robot are: THE BASE COORDINATE SYSTEM. THE WORLD COORDINATE SYSTEM. THE TOOL COORDINATE SYSTEM. THE WORK OBJECT COORDINATE SYSTEM.
COORDINATE SYSTEMS
JOGGING
Jogging means manually moving a robot using the joystick on the flexpendant. Jogging cannot be done in auto mode. Jogging is used while teaching a robot points in space.
JOGGING
From ABB main menu select jogging.
JOGGING WINDOW
MODES OF JOGGING
Jogging can be done in three modes: Axes mode Linear mode Reorient mode
AXIS MODE
We can jog axes 1-3 or axes 4-6 at one go. The position format shows the angular position of each joint in degrees or radians.
LINEAR MODE
In linear mode the TCP moves in a straight line. The TCP can move parallel to either the x-axis or the y-axis or the z-axis of the selected coordinate system of the robot which can be the base,world,tool or workobject coordinate system. The position format shows the position of the TCP w.r.t the coordinate system selected in mm and orientation of tool in Quaternions or Euler Angles. During linear jogging orientation of tool remains same.
REORIENTATION MODE
In reorientation mode the TCP of the selected tool remains at a fixed positon in space. However the orientation of the tool about that fixed point changes.
INCREMENTAL MODE
QUICKSET MENU
The quickset menu can be used for easy selection of jogging modes and setting the speed.
TOOL DEFINITION
TCP DEFINITION
SOFT KEYBOARD
INSTRUCTION SET
To add a new instruction click on Add Instruction. The common instructions available can be classified under the following categories: Motion instructions. Program flow instructions. Assignment. Communication instructions.
INSTRUCTION SET
MOTION INSTRUCTIONS
MoveJ *,v500,z50,tool0; MoveL *,v1000,z20,tool1; MoveC *,*,v250,z40,gripper; MoveAbsJ *,v500,z40,torch;
MoveJ
MoveJ *,v500,z80,gripper; * Represents the Robtarget where the TCP of the selected tool is to be moved. V500 means that the TCP moves at a speed of 500 mm/s Z80 is the zone error i.e. 80 mm, if instead of z80 we select fine the zone error is zero. Gripper is the selected tool. TCP doesnot follow a straight line between initial position of robot and the robtarget.
MoveL
MoveL *,v500,z20,torch; Rest is same as MoveJ only difference being that the TCP of the selected tool moves in a straight line from the initial position of the robot to the robtarget.
MoveC
MoveC *,*,v1000,z100,cutter; The TCP of the selected tool moves in a circular arc joining the initial TCP position to the two robtargets respectively.
MoveAbsJ
MoveAbsJ *; Here the * represents a joint-target that is the angular positions of the 6 joints.
I/O BOARDS
The following picture shows an i/o board.