4 Other resources

4.1 Overview GUI

The head project comes with three essential GUIs. They can be started with the mcagui command. The GUIs are located under: ${MCA2_HOME}/projects/armar3/etc/gui

4.1.1 Command GUI

The command GUI provides the low level access to the controllers. Resetting and stopping the head is performed using this GUI.

To initialize all joints and reset the head position press the Reset Head button. Only perform reset if the emergency stop is not pressed. (and the head is running) Otherwise stop the head using the stopHead and stopcans commands and restart from scratch.

The execution toggle decides whether simulation mode or execution on the head is enables. In order to work on the head set ‘’’execution toggle to on’’’ after resetting.

  ~/mca2.4 > mcagui ${MCA2_HOME}/projects/armar3/etc/gui/HEAD_COMMAND.mcagui &
Image of the Head Command GUI

Image of the Head Command GUI

4.1.2 Head GUI

The head GUI lets you control the head joints. Therefore, select Head Manual in order to control the head via the GUI. In order to give control back to a scenario, deselect Head manual. You can choose between different kinematic modes of the head. Depending on the mode (forward kinematics, inverse kinematics) the head can be controlled with the sliders in cartesian or joint space.

In order to control the head assure that head is resetted correctly and Execution Toggle is set to on. If Execution Toggle is off, only simulation is available.

  ~/mca2.4 > mcagui ${MCA2_HOME}/projects/armar3/etc/gui/HEAD_GUI.mcagui &
Image of the head GUI

Image of the head GUI

4.1.3 Scenario GUI

The scenario GUI lets you select different scenarios on the head (including your implemented scenarios).

Assure that ‘’’Head Manual’’’ is disabled in order to let scenario take control of the head (see above).

  ~/mca2.4 > mcagui ${MCA2_HOME}/projects/armar3/etc/gui/HEAD_SCENARIO.mcagui &
Image of the scenario GUI

Image of the scenario GUI

4.2 Frequent errors

4.2.1 CAN setup Errors

When calling startcans the following line is displayed:

CanReadBuffer: Out of bounds

or something like:

can msg (3,22) 77 filtered out

First call

 > cat /proc/pcan

which should show something like this:

*------------- PEAK-System CAN interfaces (www.peak-system.com) -------------
*-------------------------- Release_20120726_n (7.7.0) ----------------------
*---------------- [mod] [isa] [pci] [dng] [par] [usb] [net] -----------------
*--------------------- 1 interfaces @ major 249 found -----------------------
*n -type- ndev --base-- irq --btr- --read-- --write- --irqs-- -errors- status
 0    pci can0 fe8e0000 016 0x0014 0001e3d9 0000079e 0001e708 0000000c 0x0002

Check the last two columns errors and status. If errors are greater than zero, there were transmission errors.

The first possible solution to solve this problem is by turning off the head and reloading the pcan driver:

 > rmmod pcan

If the error is persistent, you should look up the status code in the pcan documentation. Setting baudrate not supported by SocketCAN errors

It is possible that you receive the following message during startup of MCA

Open SocketCAN(can0): Setting baudrate is not supported by SocketCAN, set via insmod when loading linux driver. 

In this case you can try to set the baudrate of the CAN device via the command

echo "i 0x0014 e" > /dev/pcan0

This command assumes that the head is connected to the CAN device called pcan0.

4.2.2 DSP not found

When calling startcans the following line is displayed:

No UCoM  is responding to reset command! You have to check CAN-Access!!
  1. Check if the CAN cable is connected to the correct port on the control PC.

  2. Check if the head is turned on.

  3. Check the DSP control boards on the inside of the head. Are the green and orange LED shining? If not, the power supply of the UCOM boards is probably broken. Check all wires that carry the supply voltage.

  4. Open the head base. Is the green LED of the 5V power supply shining? If not the DC-DC converter is broken.

  5. Check if the LEDs of the DSP control board in the base is shining. If not check the wires that carry the supply voltage.

  6. Check the CAN Hight and Low wires that are connected to the DE-9 socket.

4.3 Remote access

Since MCA is using TCP as means of communication, it is possible to connect mcagui and mcabrowser to MCA handlers that run on different machines in the network.

For this to work you need to modify the file ~/mca2.4/etc/hosts.allow (on the machine that runs the MCA handler) and add the IP of the host that should have access to the MCA parts.