The A465 Robot Homepage


Contents


Introduction

We intent to use the CRS-A465 robot in the field of active vision. Our present goal is to extend the already existing TROL robot control library in order to provide real time control of the robot. Similar work has been done at the Universiy of Surrey, but for a UNIMATION PUMA robot (see http://www-cmp.felk.cvut.cz/software/Puma/puma.htm).


System Overview

Where to find the robot software

At the CMP, all program files related to the A465 can be found in the Novell Domain: A465DIR = y:\software\crs.
The TROL subdirectory is TROLDIR = y:\software\crs\trol

Before you start the system

Be aware that a robot is a potentially dangerous device. The arm may move in an unexpected way and at great speed. Before activating a robot control programm or starting a command line session, make sure that nobody is standing in the robot's way. Always select a moderate (approx. 10 or lower) speed setting, especially if you are testing out some new positions. Special care has to be taken if other equipment (e.g. a camera) is mounted on the robot arm or objects are placed in the robots workspace. If you are not 100% sure of what you are doing, keep a hand near one of the red emergency stop buttons and be prepared to push it. You have been warned!

How to start the system

The CRS A465 is a 6 DOF industrial robot with 0.05 mm repeatability. It's located in the CMP-laboratory at Karlovo nam. 13, room no. 130. There you will also find the manufacturer-supplied documentation, and it would be a good idea to have a closer look at it (especially at the programming manual) before you start playing with the robot. The ON switch is located at the left side of the front panel of the controller box (see figure). After the power switch is on, the LCD-display should read "A1". Wait a few seconds and then push the ARMPOWER-button in right upper corner of the front panel; a green light should now appear on the button. There is a small input device called "teach pendant" which is connected to the controller; it can be used to move the robot manually, but will not be described here. Log on the PC located next to the controller. To gather some experience with the robot, you can use either the manufacturer-supplied terminal emulation (ROBCOMM utility) or the TROL command line interpreter (CLI). Be aware, however, that the commands APPRO(ACH) and DEPART behave somewhat differently in both environments. First, TROL CLI allows for full 6 DOF approach or depart vectors (wheras ROBCOMM is restricted to translations along the tool X-axis). Second, translations/rotations in TROL are calculated strictly w.r.t. the TOOL frame; this means in practice, that TROL approach/depart vectors have the opposite signs (directions) of their ROBCOMM counterparts.

The next step should be to home the robot by issuing the HOME command. During the homing process, the robot is looking for his so called homing switches, which are used for initilization of positional sensing (by finding the zero-position of the incremental optical encoders attached to each link). It is very IMPORTANT that you don't forget this step, otherwise all absolute positional commands are meaningless and may lead to quite unexpected results. If you have a tool (e.g.) a gripper mounted on the arm, you should now use the TOOL (ROBCOMM) or the SETTOOL (TROL) command to inform the controller that a tool is mounted an what dimensions it has. If you forget to do this, all cartesian positions refer to the center of the tool flange of the arm and not to the tooltip. That means the next time you command the arm to move to cartesian location, the controller will move the center of the tool flange - and not the tool tip - to this location, what will most probably result in a collision of the arm with the object that was intended to be manipulated by the tool. If you don't use cartesian coordinates, however, you won't have to care about the tool transformation.

How to turn the system off

The robot arm should be moved into a position that will cause no collisions with objects inside the workspace during its next homing sequence. Therefore, a very good (and safe) choice is the HOMING-position of the arm (just call HOME again). After the arm has been "parked" in a safe position, you can switch off the controller.

Troubleshooting


Programming

The A465 is normally programmed in the BASIC-like RAPL-II language, which is easy to learn and which is well suited for the implementation of typical industrial applications. RAPL-II is, however, not well suited for programming more complex (e.g. 3D Vision) tasks; for this reason, we've developed our own control library called TROL. The TROL Installation and User's Guide is available electronically.

There exist - w.r.t. kinematic robot arm control - several levels of complexity in robot vision (the following discussion assumes that the camera is rigidly mounted on the last arm segment of the robot):

  1. Start Stop Mode
    After the arm has attained a given position and orientation, a camera frame is grabbed. A simple demo program which moves the arm to several teached and precomputed locations comes with the TROL package (directory TROLDIR\example\exp1). If you have BorlandC 5 or later installed, you can easily build and run this example under 32bit Windows using the project file TROLDIR\example\exp1\WIN32\exp1w32b.ide.
  2. Continuous Mode
    The arm travels with constant velocity along a route determined by a set of given positions, without stopping at each position. Here, for the first time, we face the problem of camera-arm-synchronization: what was the position and orientation of the arm (and thus of the camera) during exposure?
  3. Image Driven Mode
    Position and velocity of the arm depend solely on the observed scene, e.g. real time tracking of a moving object.


Page maintained by Thomas Melzer, email: melzer@prip.tuwien.ac.at