39.2 ROBOT TYPES
39.2.1 Basic Robotic Systems
The basic components of a robot are,
Structure - the mechanical structure (links, base, etc). This requires a great deal of mass to provide enough structural rigidity to ensure minimum accuracy under varied payloads.
Actuators - The motors, cylinders, etc. that drive the robot joints. This might also include mechanisms for a transmission, locking, etc.
Control Computer - This computer interfaces with the user, and in turn controls the robot joints.
End of Arm Tooling (EOAT) - The tooling is provided be the user, and is designed for specific tasks.
Teach pendant - One popular method for programming the robot. This is a small hand held device that can direct motion of the robot, record points in motion sequences, and begin replay of sequences. More advance pendants include more functionality.
39.2.2 Types of Robots
Robots come in a wide variety of shapes, and configurations.
The major classes of robots include,
arms - fixed in place, but can reach and manipulate parts and tools
mobile - these robots are free to move
39.2.2.1 - Robotic Arms
Typical joint types are,
Revolute - rotary joints often driven by electric motors and chain/belt/gear transmissions, or by hydraulic cylinders and levers.
Prismatic - slider joints in which the link is supported on a linear slider bearing, and linearly actuated by ball screws and motors or cylinders.
Basic configurations are,
Cartesian/Rectilinear/Gantry - Positioning is done in the workspace with prismatic joints. This configuration is well used when a large workspace must be covered, or when consistent accuracy is expected from the robot.
Cylindrical - The robot has a revolute motion about a base, a prismatic joint for height, and a prismatic joint for radius. This robot is well suited to round workspaces.
Spherical - Two revolute joints and one prismatic joint allow the robot to point in many directions, and then reach out some radial distance.
Articulated/Jointed Spherical/Revolute - The robot uses 3 revolute joints to position the robot. Generally the work volume is spherical. This robot most resembles the human arm, with a waist, shoulder, elbow, wrist.
Scara (Selective Compliance Arm for Robotic Assembly) - This robot conforms to cylindrical coordinates, but the radius and rotation is obtained by a two planar links with revolute joints.
39.2.2.2 - Autonomous/Mobile Robots
The robots discussed up to this point have concerned `arms' that are fixed to the floor. Another important class of robots are autonomous, and free to move about the workspace.
Typical applications are,
- nuclear accident cleanup
- Automatic Guided Vehicles in factories
39.2.2.2.1 - Automatic Guided Vehicles (AGVs)
These are typically wheeled robots that carry payloads through a factory.
They navigate using,
- wires embedded in floors
- light sources or reflectors
- colored tapes on the floor
39.2.3 Commercial Robots
Some specifications for commercial robots are given below
39.2.3.1 - Seiko RT 3000 Manipulator
In general
Maximum payload 5kg (11 lb)
Repeatability (based on constant temp., load, speed) +/-0.025mm (+/- 0.001 in.)
Operating Temperature 0C to 40C (32F to 104F)
Humidity (based on constant temp. load, speed) 20% to 90%
Power Requirements 200-240 VAC
A-axis
Z-axis
Resolution 0.0005 in (0.012mm)
max. speed 14 in/sec (360 mm/sec)
max. force 23.3-35.2 lbs (10.6-16.0 kg)
R-axis
Resolution 0.001 in (0.025mm)
max. speed 29.5 in/sec (750 mm/sec)
T-axis
The workspace is pictured below,
39.2.3.2 - DARL Programs
All DARL comments follow ' at any position on a line.
Statements are ended with a colon, and as long as colons are used, more than one statement can be used on a line.
Line numbering is required for DARL programs.
Dimensions are given in millimeters in the programs.
Commas and spaces are treated as equivalent.
A sample program is given below with comments for explanation,
39.2.3.2.1 - Language Examples
First, points can be defined in programs, they can also be defined by moving the robot to the location and storing the value. This allows the robot to accurately find points without measuring. It also means that points location values don't need to appear in programs, they are stored in memory.
A example that uses for-next, if-then, goto and gosub-return commands is shown below. These commands are very standard in their use.
A example that uses motion is shown below. The `move' command causes a motion to another point by only turning the needed joints. `moves' causes a more complex motion resulting in a straight line tool motion between points. `movec' allows a circular interpolation dictated by three points (the start, and the two given). The shave command forces the robot to fully complete a motion and stop before going to the next point. The sync command will move the robot, but keep the gripper in the original position relative to the real world.
|
A example that defines tool location offsets is shown below. This is particularly useful for a robot that has more than one tool attached. The normal tool location is on the end of the arm. With multiple tools attached we will have multiple tool center points. We can have a tool definition for each one of these. Note that the x-axis is the normal forward for the tool. The tool axis can only be changed in the x-y plane (or the plane perpendicular to the gripper rotation).
|
A example that uses pallet commands is shown below. Basically a pallet allows us to create an array of points (it does the calculations). We can then give a location on a pallet and move to that point. The basic pallet definition requires that we indicate the number of rows and columns. We also need to define the physical locations of the rows and columns. We do this by giving an origin point, and then defining where the first row and column end. To use the pallet location we can simply refer to the pallet location index.
A example that defines and uses new frames is shown below. We define a new frame of reference by using points. The first point becomes the new origin. The second point determines where the new x-axis points. The z-axis remains vertical, and the y-axis is shifted appropriately.
A example that uses simple inputs and outputs is shown below. Note that there are two connectors for I/O. The main or `E'xternal connector is on the main controller box. The other I/O lines are on the `G'ripper. We can check the states of inputs and set the states of outputs. The `+' sign indicates inputs/outputs high (5v) and the `-' sign indicates low (0V). The ranges for input points are ie0-ie15, ig0-ig7, and for output points oe0-15, og0-7. The search command allows us to move the robot until an input is activated. This is useful when attempting to find a part by touching it.
39.2.3.2.2 - Commands Summary
A summary of the commands is given below,
39.2.3.3 - Mitsubishi RV-M1 Manipulator
In general
Maximum payload 1kg (2.2 lb)
Repeatability (based on constant temp., load, speed) +/- 0.3mm
Operating Temperature 5C to 40C
Humidity (based on constant temp. load, speed) 10% to 85%
Power Requirements 120/220/230/240 VAC
waist
shoulder
elbow
wrist pitch
wrist roll
The workspace is pictured below,
39.2.3.4 - Movemaster Programs
All comments follow a semi-colon at any position on a line
Statements are ended with a colon, and as long as colons are used, more than one statement can be used on a line.
Line numbering is required.
Dimensions are given in millimeters in the programs.
A sample program is given below with comments for explanation,
39.2.3.4.1 - Language Examples
The example below shows how points are defined and used. Please be aware that point location values are not normally defined in a program. Normally they are programmed by hand, and then when the program is run, it refers to them by number (from 1 to 629)
The example below shows how we can define and use pallets. The definition of a pallet covers a number of lines to define the pallet size and then the location. We must also define points to indicate where the pallet lies in space. For the example below these points would have to be position numbers 20 (pallet origin), 21 (origin to end of first column), 22 (origin to end of first row), 23 (origin to diagonal corner of pallet). Note: if using pallet #3 these counters would be 30-33, and point 3 would move.
The example below shows some of the position commands. These positions are normally defined outside the program by moving the robot to desired locations. These positions are not always absolute, and in some cases will act as displacement vectors.
The example below shows some of the counter and branching functions. These tend to use a status register approach - for example, a value to be compared will be loaded on one line, the next line will compare it and a branch instruction will occur on the specified condition. For-next loops have been constructed as part of this example.
The example below shows how to use various gripper and I/O functions. There are eight input bits and 8 output bits available.
39.2.3.4.2 - Command Summary
A summary of the motion commands is given below,
A summary of the program control commands is given below,
A summary of the IO commands is given below,
39.2.3.5 - IBM 7535 Manipulator
In general
Maximum payload 6kg (13.2 lb)
Repeatability (based on constant temp., load, speed) +/-0.05mm (+/- 0.002 in.)
Operating Temperature 10C to 40.6C (50F to 106F)
Humidity (based on constant temp. load, speed) 8% to 80%
Theta 1 axis
Range 0 to 200 degrees +/- 1deg.
Low speed (note: this is set by a switch)
max. speed 700 mm/sec (28 in./sec)
max. speed 1100 mm/sec (43 in./sec)
max. speed 1450 mm/sec (57 in./sec)
Theta 2 axis
Range 0 to 160 degrees +/- 1deg.
Low speed (note: this is set by a switch)
max. speed 525 mm/sec (21 in./sec)
max. speed 825 mm/sec (32 in./sec)
max. speed 1000 mm/sec (39 in./sec)
Roll axis
Range +/- 180 degrees +/- 1.5 deg.
Holding Torque 35 kg-cm (30.4 in.-lb.)
Maximum load centered on Z-Axis 6 kg (13.2 lb)
Maximum speed 3.7 rad/sec (210 deg./sec. +/-5%)
Rotating Torque 14 kg-cm (12.2 in-lb)
Max. load inertia 0.1 kg-m**2 (0.074 slug-ft**2)
(Note: effects of off centre loads not
considered, and lower maximum)
Z-Axis
Maximum Payload 6.0 kg (13.2 lb)
Resolution Not Applicable
Compressed Air
Maximum Pressure 6 kg/cm**2 (85 psig)
Conditioning Must be moisture free, as through a
moisture separator, and filtered with
The workspace is shown below,
39.2.3.6 - AML Programs
All AML comments start with two dashes `--' at any position on a line
Statements are ended with a semi-colon, and as long as semi-colons are used, more than one statement can be used on a line.
Line numbering is done by the AML Editor
the free form variables/identifiers must: start with a letter; be up to 72 characters in length; use letters numbers and underscores, except in the last position.
Statements have the general form,
A sample program is given below with comments for explanation,
A summary of the commands is given below,
A summary of some of the keywords is,
39.2.3.7 - ASEA IRB-1000
In general
maximum payload (for a 200mm tool offset) 6 kg
Maximum moment of inertia 2.5 Nm (dynamic)
Maximum static moment 12 Nm (static)
accuracy at wrist +/- 0.20mm
Axis 1
Axis 2
Axis 3
range +/-25 deg. to -40 deg.
Axis 4
Axis 5
Gripper
Pneumatic 2 solenoid valves are located in the
upper arm, and can be operated by
electrical There is a four pole electrical outlet
in the upper arm for use with more
advanced grippers having search
39.2.4 Unimation Puma (360, 550, 560 Series)
In general,
- an articulated arm with 3 dof for positioning, and 3 dof for orientation
- left/right arm configurations are possible
- uses DC servo motors for drive
- uses 110-130 VAC, 50-60Hz, 1.5KW
- RS-232C port for dumb terminal
- programming language is VAL
joint 1 (Waist)
max slew rate 1.9 rad/sec.
maximum static torque 9.9Nm
joint 2 (Shoulder)
max slew rate 1.8 rad/sec.
resolution .00009 rad/bit
maximum static torque 14.9Nm
joint 3 (Elbow)
max slew rate 2.6 rad/sec.
resolution .000146 rad/bit
maximum static torque 9.1Nm
joint 4 (Wrist Rotation)
max slew rate 8.7 rad/sec.
resolution .000181 rad/bit
maximum static torque 1.5Nm
joint 5 (Wrist Bend)
max slew rate 5.6 rad/sec.
resolution .000199 rad/bit
maximum static torque 1.4Nm
joint 6 (Flange Rotation)
max slew rate 5.2 rad/sec.
resolution .000247 rad/bit
maximum static torque 1.1Nm