15. Other Industrial Robots


This chapter discussed other industrial robots.


15.1 Seiko RT 3000 Manipulator


• In general

Degrees of freedom 4

Maximum payload 5kg (11 lb)

Repeatability (based on constant temp., load, speed) +/-0.025mm (+/- 0.001 in.)

Weight 108kg (237 lb)

Operating Temperature 0C to 40C (32F to 104F)

Humidity (based on constant temp. load, speed) 20% to 90%

Power Requirements 200-240 VAC

Other 50-70 psig air


• A-axis

motion revolute

Range +/-145 degrees

Resolution 0.005 deg.


max. speed 150 deg/sec

max. torque 383. in.lbs


• Z-axis

motion linear

Range 4.72 in (120mm)

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

motion linear

Range 11.8 in (300mm)

Resolution 0.001 in (0.025mm)


max. speed 29.5 in/sec (750 mm/sec)

max. force 40 lbs


• T-axis

motion revolute

Range 290 degrees

Resolution 0.003 deg.


max. speed 90 deg/sec

max. torque 358. in.lbs


• The workspace is pictured below,




15.1.1 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,
 - 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.
 - Commands Summary


• A summary of the commands is given below,


































15.2 IBM 7535 Manipulator


• In general

Degrees of freedom 4

Maximum payload 6kg (13.2 lb)

Repeatability (based on constant temp., load, speed) +/-0.05mm (+/- 0.002 in.)

Weight 99kg (218 lb)

Operating Temperature 10C to 40.6C (50F to 106F)

Humidity (based on constant temp. load, speed) 8% to 80%


• Theta 1 axis

motion revolute

Range 0 to 200 degrees +/- 1deg.

Resolution 0.00459 deg.

Low speed (note: this is set by a switch)

max. speed 700 mm/sec (28 in./sec)

max. load 6 kg(13.2 lb)

Medium speed

max. speed 1100 mm/sec (43 in./sec)

max. load 6 kg(13.2 lb)

High speed

max. speed 1450 mm/sec (57 in./sec)

max. load 1 kg(2.2 lb)


• Theta 2 axis

motion revolute

Range 0 to 160 degrees +/- 1deg.

Resolution 0.009 deg.

Low speed (note: this is set by a switch)

max. speed 525 mm/sec (21 in./sec)

max. load 6 kg(13.2 lb)

Medium speed

max. speed 825 mm/sec (32 in./sec)

max. load 6 kg(13.2 lb)

High speed

max. speed 1000 mm/sec (39 in./sec)

max. load 1 kg(2.2 lb)


• Roll axis

motion revolute

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)

Resolution 0.36 deg.


• Z-Axis

motion prismatic

Range 75 mm (2.95 in.)

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,







15.2.1 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,











15.3 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)

weight 125 kg

accuracy at wrist +/- 0.20mm


• Axis 1

joint type revolute

range 340 deg.

speed 95 deg/sec

actuator servo


• Axis 2

joint type revolute

range +/-40 deg.

speed 0.75 m/sec

actuator servo


• Axis 3

joint type revolute

range +/-25 deg. to -40 deg.

speed 1.1 m/s

actuator servo


• Axis 4

joint type revolute

range +/- 90 deg.

speed 115 deg/sec.

actuator servo


• Axis 5

joint type revolute

range +/- 180 deg.

speed 195 deg/sec

actuator servo


• Gripper

Pneumatic 2 solenoid valves are located in the

upper arm, and can be operated by

the programs.

electrical There is a four pole electrical outlet

in the upper arm for use with more

advanced grippers having search




15.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

- weight 120 lb

- repeatability 0.004in

- RS-232C port for dumb terminal

- 32 parallel I/O lines

- memory 16K

- programming language is VAL


• joint 1 (Waist)

joint type revolute

range 315°

max slew rate 1.9 rad/sec.

resolution .0001 rad/bit

maximum static torque 9.9Nm


• joint 2 (Shoulder)

joint type revolute

range 320°

max slew rate 1.8 rad/sec.

resolution .00009 rad/bit

maximum static torque 14.9Nm


• joint 3 (Elbow)

joint type revolute

range 300°

max slew rate 2.6 rad/sec.

resolution .000146 rad/bit

maximum static torque 9.1Nm


• joint 4 (Wrist Rotation)

joint type revolute

range 575°

max slew rate 8.7 rad/sec.

resolution .000181 rad/bit

maximum static torque 1.5Nm


• joint 5 (Wrist Bend)

joint type revolute

range 235°

max slew rate 5.6 rad/sec.

resolution .000199 rad/bit

maximum static torque 1.4Nm


• joint 6 (Flange Rotation)

joint type revolute

range 525°

max slew rate 5.2 rad/sec.

resolution .000247 rad/bit

maximum static torque 1.1Nm



15.5 Practice Problems



2. Write a short program to direct a robot to pick up and put down a block. Assume the points have already been programmed with the teach pendants.

a) Write program for the IBM 7535.

b) Write program for the Seiko RT-3000.




10. You have been asked to write a program for a Seiko RT-3000. The program is to pick up a part at point T1, move to point T2, and then load the part into a pallet. The robot should then return to point A to pick up then next part. This should continue until the pallet is full.


T1 = (300, 300, 20)

T2 = (-300, 300, 0)

Pallet has 6 rows and 7 columns

Pallet origin T3 = (300, 0, 0)

Pallet end of row T4 = (350, 0, 0)

Pallet end of column T5 = (300, 60, 0)




11. An IBM 7535 industrial robot is to be used to unload small 1 lb. cardboard boxes (5” by 4” by 1”) from a conveyor, and stack them in a large cardboard box (20” by 8” and 2” deep). After the large box is loaded, it will be removed automatically and replaced with an empty one. The conveyor will be controlled by a robot output, and it will be stopped when an optical sensor detects a small box. When the box is full the conveyor will be stopped and a light turned on until an unload button is pushed. The entire system uses a start and stop button combination. The stop button is not an e-stop, but it will stop the cycle after the small box is placed in the large box.

a) Layout the position of the conveyor, sensor, large box and robot so that all positions can be reached. Indicate critical points of objects.

b) Design a robot gripper to pick up the boxes.

c) Develop a flow chart for the robot operations.

d) Write an AML program for the flowchart.






12. Repeat the previous problem for the Seiko RT-3000 robot.







14. The IBM 7535 robot arm moves its TCP to point (-450, 250)mm at speeds programmed by ‘payload(5)’ and decelerates from the resultant speed to zero in 0.5 seconds. The tool has a mass of 1.5 kg with its center of gravity at 3cm from the TCP and transfers a mass of 4kg with its C.G. at 5cm from the TCP.

a) determine the inertia torque about the theta1 axis showing all correct units

b) compare the value in a) with a maximum inertia torque estimated from decelerating a 6kg mass from 1100mm/s to zero in 0.5 sec.

c) Estimate the combined error at the CG of the load due to theta1 and theta 2 resolution



15.6 Laboratory - Seiko RT-3000 Robot



Introduction to the Seiko RT-3000 robot and programming methods.



This laboratory will involve a basic tutorial on the use of the robot, including safety. The students will have prepared a program for the robot ahead of class. During the laboratory the robot will be programmed and tested using the prepared programs. A simple accuracy and repeatability test will be conducted.



1. Use Netscape Communicator to access the robots in the laboratory, explore the site.

2. Review the note section on the Seiko RT-3000. After this use the on-line robot to write a simple test program.

3. Write a program to pick up pop cans at one point, and put them down at another point. This program should repeat five times in a row. Test the program on the robot.




1. Examine the robot and all associated cables, including the pneumatics. Make sure the settings match the manual specifications.


2. Examine the buttons on the front and connectors on the back of the controller box. Match these up to the input/output points. Determine if these are TTL, sourcing, or some other type.


3. Turn on the robot and use the teach pendant, with the commands below, to control the robot.


4. Turn the robot controller off, connect it to a computer, and then turn it back on. Turn the servo power on and then type in the command home. The robot will move and find its reference position. You may then type in commands at the prompt.


5. Program some points using the ‘here’ command. (refer to manual).


6. Enter the simple program below to move between the programmed points. Add in commands that will open and close the gripper.


7. Add lines the the program that will turn on/off outputs and examine inputs. Use the appropriate electrical equipment to test the new parts of the program.


8. Enter and test your prelab program with no parts present. Set up the parts and run the program again. Cooperate with the other group and add a part present sensor to the part pickup point, connect it to the robot, and add a line to the program to wait for the part.

9. Move to the other robot and complete the other part of the first step.

10. For the robot you are currently using, put the robot in an extended position (tool far away from the base). Set up a dial gauge indicator so that it touches a solid point on the tool. Set the gauge so that it reads zero. Move the robot away and back to the same position, and read the value from the dial gauge indicator. Repeat this process to get 10 readings.

11. Position the robot so that the tool is in the middle of the workspace. Take similar measurements to those in step 3.


Submit (individually):

1. A copy of your prelab program.

2. A copy of the final program with the part detector sensor.

3. Statistical estimates of repeatability for both positions.




15.7 Tutorial - Seiko RT-3000 Robot


1. Look at the robot and controller. Indentify the controller, teach pendant (programming terminal) and robot.


2. Turn on the robot power and look at the programming terminal. There should be a message that says " ". If there are any error messages inform the instructor.


3. Turn on the servo motor power by pressing the ’Servo ON’ button on the front of the controller. After this the robot can be moved to the home position with the ’HOME’ command. After the robot goes through the startup procedure it will be ready for use.


4. The robor joints can be moved with the arrows on the right side of the keyboard. Move each joint and observe the range of motion.