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 &
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 &
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 &
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.
4.2.1.1 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!!
Check if the CAN cable is connected to the correct port on the control PC.
Check if the head is turned on.
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.
Open the head base. Is the green LED of the 5V power supply shining? If not the DC-DC converter is broken.
Check if the LEDs of the DSP control board in the base is shining. If not check the wires that carry the supply voltage.
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.