39. Commercial Robot Labs

39.1 Microbot

The Microbot is a small 5 axis robot, using stepper motors. The controlling computer is in the base, and uses a 6502 microprocessor. This computer has two serial ports (RS232) which can be used to connect to dumb terminals, or PCs. There is a Basic like programming language which allows users to directly control the robot, or write programs to do so. Inside the robot, the stepper motors drive the robot through the use of gears, and pulleys. This arrangement allows for a great deal of backlash in the robot. (Try pushing the robot, and you will notice the play).

The use of stepper motors has a number of implications. Common stepper motors divide one rotation of a shaft into 200 divisions. The motor controller can then accurately position the shaft. This means once the absolute position of the robot has been determined, a certain number of motor steps, in either direction will result in a known position. This mode of control means that feedback sensors are not required for the robot (although a calibration step is required before motion). The stepper motors are not very strong, and if their ‘slip torque’ is overcome, then they will lose their position, and without feedback the robot position will be in error until recalibrated.

The only feedback to the controlling computer is for the gripper closed. There is a small spring loaded contact switch which will indicate when the is a large force between the gripper fingers. This allows objects of unknown size to be picked up, but not broken.

A teach pendant is available with the Microbot. This teach pendant allows a user to program the robot without the use of languages, or other computers. The teach pendant allows the user to move joints, then record robot positions. When the robot positions are played back in sequence, they can perform some valuable manipulation.

In general this robot is very simple, and of no industrial use, but it displays many important considerations for full size robots.

Practice: Try programming the robot to pick up a block from one location, move it to another, then move it back again. You will notice some of the problems the robot has picking up the block.

39.2 CRS Plus Robot

The CRS Plus is also a 5 axis robot, capable of carrying payloads of up to 2 Kg. It is run by DC servo motors, which allow a smoother form of control, via chains, and gears (these result in less backlash). While the Microbot is packaged in complete unit, the CRS Robot is much more modular. The basic modules shipped with the robot are 1) the controller, 2) the Robot, 3) the teach pendant, 4) the pneumatic gripper, and a separate air valve, and 5) Cables for connecting devices, and connecting to a terminal, or PC. While this robot may also be programmed like the robot, it is intended to be run with a computer or terminal.

The Controller is based on the 8086 microprocessor (found in early versions of the IBM PC), and the unit also has an 8087 math coprocessor. There are two serial ports (RS232) available on the controller, which may be used in a variety of configurations. The controller also has a number of parallel data lines for control of other devices in the workcell, such as a pneumatic vice, and a conveyor. The controller is designed to work off a normal 120 AC supply, and it handles power supply for the robot motors.

39.3 Basic Demonstration Steps

1. Discuss Microbot, and show simple programming. Allow students to move robot to feel backlash, and stepper motor slip.

2. Go to CRS robot, and discuss robot in general terms. Show controller, wires, hoses, robot, gears, chains, and allow students to move robot and feel backlash and DC servo motor for comparison. Servo motors and encoders are discussed.

3. Set up PC as terminal, then, power up robot. Point out that the controller is on, but the robot arm does not have power yet. Give power to arm, (point out the separate power on for safety) then calibrate the robot home position. The robot is positions using the ‘manual’ command with the teach pendant, then the ‘home’ command is used to zero the robot.

4. Basic motion commands for the controller are displayed using the commands ‘joint’, ‘ready’, ‘manual’, ‘motor’, ‘limp’, ‘nolimp’, ‘jog’.

5. The other I/O capabilities of the robot are shown using ‘open’, ‘close’, ‘output 2’, to control the gripper, and the pneumatic vice respectively.

6. Robot position feedback is displayed using the commands ‘w0’, ‘wz’ ‘status’, to show various positions in encoder pulses, degrees, Cartesian coords.

7. The joint control algorithms are discussed, and the effect of gain parameters on the PID controllers is demonstrated by varying the gain with the command ‘gain 0’. (The parameters are changed from 8,.25,100 to 5,.25,100 for one long sweep of the arm, and vibrations will be noticed because of controller overshoot). Discuss effects, and attempt to give practical implications. The tradeoff of speed and accuracy should be obvious here.

8. Programming is discussed using the program lists in the machines. The concept of memory instead of disk is used. Programs are displayed, listed. etc using commands ‘free’, ‘dir’, ‘listp’, ‘edit’, ‘run’. A simple program is run for demonstration, and listed. (Also the RAPL language is compared to Basic)

9. The use of points for enhancing programming is discussed. A list of points are shown using ‘listl’, and then the ‘approach’, ‘depart’, ‘move’, and ‘move ,s’ commands are used to move to points by reference. ‘teach’ and ‘here’ are used to instruct the robot where the points are.

10. Positioning accuracy is measured using a sheet of paper taped to the table. A pen is put into the robot gripper, and then a straight line motion is made. The distance measured will be slightly different due to accuracy, and the line will wiggle because of control problems.

11. Repeatability is measured by putting a displacement gauge dial on the milling machine bed. The robot is moved back, and forth to touch the gauge, and the readings are taken. The values will vary because the robot is not a perfect device, and is prone to variations between motions.

12. The students will then ‘teach’ a set of points for pegs in the workcell (from set ‘p’ to set ‘q’, using tool orientation ‘tool pegtool’). The points will then be used to run the ‘pegs’ program. The students should notice failures to pick up pegs due to friction, positioning problems, etc. A Short discussion follows. Different modes are used for teaching, ‘manual joint’, ‘manual cylindrical’, and ‘limp’.

13. A sheet of paper is taped down, and the robot is outfitted with a pen. Four points are then taught to the gripper (point set ‘r’ and ‘tool weldtool’). The ‘weld’ program is then run, and the robot traces out the path with straight line, and continuous motion. In both cases the paths are not perfect, due to controller action. The program is run again to show the repeatability of the process.