Poindexter

Poindexter is an ABB IRB 340 FlexPicker robot, originally controlled by an RTSJ system developed by Sun Microsystems and Lund University.

 Poindexter has now moved to the RTS lab, and is currently having its control software re-written in C++.

 The original RTSJ controller code is available at https://github.com/RTSYork/flexpicker-rtsj, and the newer C++ controller code is at https://github.com/RTSYork/poindexter2.

 A YouTube video from JavaOne 2007 shows Poindexter in its prime as the "World's First Java-Controlled Industrial Robot".
Papers describing the original Java-based controller can be found here and here.

Safe Operating Procedure:

Please adhere to these instructions when operating the Flexpicker robot:

 Startup:

1) Ensure that all controls on the front panel are in the "off" position (servo amplifier power off, aux power off, enable switch OUT).

 

2) Connect three-phase power and switch on (turn the switch to the right). Note that the socket has an interlock; power cannot be enabled without a plug being connected, and the plug cannot be removed when power is on.

3) Switch on 24V aux power (black switch). Await servo drives booting and wait until the display shows the power of the servo drive (either 20 or 05):

4) Start control software on the target PC. Ensure correct communications can be established.
5) Prepare for startup. Ensure Poindexter's doors are closed and the microswitches have been correctly depressed. Ensure the area inside Poindexter's cage is free of extra items. Ensure the area around Poindexter is clear.
6) Enable servo amplifier power (red switch). Observe that the servo drives now have a 'P' (Powered) to the left of the display:

NOTE: Once Poindexter has power, it can potentially move (after the hardware safety has been disengaged). NEVER OPEN POINDEXTER'S DOORS WHEN SERVO AMPLIFIER POWER IS ACTIVE. NEVER PLACE BODY PARTS INSIDE POINDEXTER'S ENCLOSURE WHEN SERVO AMPLIFIER POWER IS ACTIVE.

7) Push in the enable switch on the control panel. Observe that the yellow "active" light has illuminated on the bottom of Poindexter:

NOTE: This light signifies that Poindexter is ready for operation, and that the hardware safety has been disabled. Poindexter can now be freely controlled from software. NEVER APPROACH POINDEXTER WHILE THIS LIGHT IS ON. DO NOT OPEN THE DOORS WHILE THIS LIGHT IS ILLUMINATED.

8) Control Poindexter from software as usual. When Poindexter is active and under software control, the 'P' at the left of each servo drive will change to an 'E' (Enabled).

Shutdown

The shutdown procedure for Poindexter is largely the inverse of the startup procedure. REMEMBER TO POWER DOWN POINDEXTER BEFORE LEAVING THE LAB.

1) Perform a switch-off from software and cease all software control of Poindexter. Observe that the servo drive has a 'P' at the left, not an 'E'.
2) Pull out the enable switch. Observe that Poindexter's active lamp has been extinguished.
3) Disable servo amplifier power (red switch). Observe that the servo drive no longer has a 'P' on the display.
4) Switch off 24V aux power. Ensure all servo drives power down.
5) Switch off three-phase supply. Optionally unplug Poindexter.

Note: If the expected behaviour (lights changing state, servo drive display not updating correctly) does not occur, power down Poindexter immediately and report the problem to someone in CSE/120 and/or faults.

Manually Moving Poindexter's Arms

Poindexter's arms can be moved manually if required. Do not attempt to move the arms against the servo brakes which are engaged when the robot is disabled and/or powered down. ONLY EVER MOVE POINDEXTER'S ARMS WITH THE 415V SERVO AMPLIFIER POWER OFF.

1) Ensure that the 24V aux power is ON and that the enable switch is OFF (out) and that the servo drive (415V) power is OFF.
2) Open Poindexter's doors.
3) In the centre of Poindexter is a black push button. Press and hold this button. This causes the brakes to release. It will also enable the fan, this is normal.
4) Move Poindexter's end effector to the required position.

Emergency Stop

If an emergency stop of Poindexter is required, disable either the servo drive (415V) power or the 24V aux supply. Poindexter will also perform an emergency stop if the doors are opened.

Troubleshooting

There are a few known errors which can occur when using Poindexter:

Warning n17 appears on servo drive screen: This signifies the servo drive has lost sync with the host computer in a non safety-critical context. This is normal when the drive is in PREOP state, since PDOs are not mapped and hence data cannot be supplied to the drive (and thus a sync cannot occur). This is also normal in SAFEOP when the master is starting to send data and synchronise with the drive. The drive will not move into OP state while this warning is active. Note that the drive will report this if data is arriving too late OR too early. Check that data is being sent at the rate programmed into SDO <TODO: SDO NUMBER>.

Error E28 appears on servo drive screen: The slave lost sync with the master. This will cause the drive to cease functioning and fall back to the SAFEOP state. This error will appear if data is not provided to the drive at a given rate in the OP state, or after a timeout in the SAFEOP state. This error must be cleared before the drive will operate again. This error will also appear if the controlling program quits without resetting the drive state to PREOP or INIT.

Error E29 appears on servo drive screen: The EtherCAT registers have not been configured correctly when attempting to change state. This is normally caused when a PDO SyncManager length does not match the expected PDO length EXACTLY.

The robot acts...strangely: The robot has before done weird behaviour when misconfigured. If strange behaviour occurs, ensure that the FMMU lengths match the respective SyncManager lengths exactly. It is not sufficient to write zeros to the remainder of the FMMU space.

Error(s) F04 and F06 appear on the servo drive screen: This is typically caused when the servo drive has lost feedback with the servo. Check the X1 resolver cables (the serial cables) and ensure they are plugged in.

The orange active light never illuminates: The enable circuit could not be closed. This could indicate the doors are not correctly closed, the door interlock is not connected to the control box, or the control box's enable switch is not depressed. This could also indicate a failure in any of these components.

The servo drives never turn on: Check the three-phase socket is turned on. If so, there are a set of circuit breakers in the back of Poindexter's control box. See Pete to get the keys to this to reset them.

Notes

NEVER ATTEMPT TO CIRCUMVENT ANY SAFETY FEATURES (DOOR INTERLOCK ETC). THIS WILL RESULT IN YOUR USAGE OF POINDEXTER TO BE IMMEDIATELY SUSPENDED.

NEVER ENABLE THE 415V SUPPLY WHEN THE LARGE XP1 POWER CABLE IS DISCONNECTED.

NEVER INSERT FOREIGN OBJECTS INTO THE XP1 SOCKET. THIS SOCKET CARRIES 415V.

POWER DOWN POINDEXTER IMMEDIATELY IF ANY CABLE DEGRADATION IS FOUND.

NEVER ENTER POINDEXTER'S CAGE WHEN THE 415V SERVO AMPLIFIER POWER SWITCH IS IN THE ON POSITION.

NEVER ENTER POINDEXTER'S CAGE WHEN THE HARDWARE SAFETY HAS BEEN DISABLED.