UPMC iCub project/Starting iCub

From Wiki for iCub and Friends
Jump to navigation Jump to search

To start using iCubParis01 in ISIR, please follow this guidelines. If you have troubles, ask Serena.

Starting yarp and pc104

  • on macsi03, execute the script launching all the GUIs
 sh Desktop/launchApplicationGUIs.sh


  • look at the icub cluster GUI: if there are green ticks on some machines or on the yarpserver, this means there's an old yarpserver or some yarpruns still working (and probably pending); in this case, it is better to stop them and restart them all.

First, be sure there are no pending ports left (or worse, persistent connections), so open a terminal and perform a

  yarp clean --timeout 0.8

to eventually clean pending ports. Then as a precaution, stop the yarpruns on the machines first (selecting the corresponding checkboxes and then clicking "stop selected"), then stop the yarpserver clicking on its stop button.

Give power to the motors of iCub

  • power the motors of the robot: press the red button (the "fault", aka mushroom red button) then turn on the green switch named "motors" (left)
  • release the red button: it was just a precaution
  • you can now launch the iCubInterface

Launching iCubInterface

From pc104 (recommended)

  • open a pc1404 terminal, using the shortcut provided in macsi03 (or the terminal opened previously), launch iCubInterface
  iCubInterface --from FILE_PATH

which is generally

  iCubInterface --from /usr/local/src/robot/iCub/main/app/robots/iCubParis01/conf/iCubInterface.ini

for the balancing configuration the command is

  iCubInterface --from /usr/local/src/robot/iCub/main/app/robots/iCubParis01/conf/balancing/iCubInterface.ini

Using the GUI (not recommended)

  • in the icub-app list, select the GUI called CartesianSolver.xml, then click on the iCubInterface. Eventually, you can click to start all modules.


Important!! once you launch the iCubInterface, pay attention to the calibration procedure: first the robot move the head and the arms, then closes fingers, opens fingers, then roll the head, closing the eyes. The head pitch is working fine only when the iCub doesn't wear the head covers: this is a known issue of the platform. Thus, if you are calibrating with the head cover, you should experience some delay in the head pitch/yaw calibration and a little more noise in the pitch motor. Also some oscillations when going to the zero pose of the head. This is normal. If you want to use the head for pose estimation/accurate vision I advise to remove the covers completely. If you need the cover to have the nice face and do HRI, use only the front cover.

Important!! if some parts do not calibrate (e.g. known issue with left arm), please report it immediately to Serena.

  • if there's the case, you can dump the log (stderr and stdout) in a file on the pc104
  iCubInterface --from /usr/local/src/robot/iCub/main/app/robots/iCubParis01/conf/iCubInterface.ini >log.txt 2>&1

then copy it via scp, into macsi03 for example

  scp icub@pc104:log.txt log.txt

Checking robot status

  • check with the robotMotorGui if all interfaces to the joints are fine. open a terminal in macsi03 and type

all joints should be in position mode, that is a green tile for each joint. Check if all the encoders values are coherent with the values of the joints. If some joints are idle (yellow tile) or there's a mismatch, please report immediately to the administrator (Serena)

  • if you didn't launch the iCubGui together with the iCubInterface (previous steps), in the icub-app list, select the GUI called CartesianSolver.xml, then click on the iCubGui, then "connect": you should check the status of all networks. if you see some asterisks it is normal: they should disappear once you launch the wholeBodyDynamics module. if they don't disappear, please report immediately to Serena
  • you can now use the robot

Important! it is mandatory that there must be always one hand ready to push the emergency red button of the iCub: if something weird happens, if he's too fast in movements, if he collides with objects or self and is moving in position or velocity mode (i.e. impedance or torques are not enabled), then the red button must be immediately pushed. When doing this, the robot usually falls down like a stone, so there must be someone ready to "take" it and prevent a rough fall which can be dangerous.