Skip to content

How to start the robot

Dorian Goepp edited this page Jun 27, 2017 · 13 revisions

Starting up the robot is easy.

See this video tutorial (with iCubDarmstadt01) to see the steps.

Starting iCub

Some preliminary notes

  • When the robot is started, we can keep the PC104 powered all day - if you leave, just to be sure, press the red button.
  • You have to be at least two persons to launch the robot with one of you near the robot to catch it if it falls.
    TODO: Give a picture with the location to maintain the robot.
  • You can connect up your laptop to the server by taking an Ethernet cable plugged on the iCub Network and by using the command "yarp namespace /iCubNancy01". When the server from the ICUB01 computer is launched, you can join it with the command line: yarp detect --write. If it does not work, you have to use the command line yarp conf 10.0.0.1 10000. Now if you use the command yarp namelist you should see the server.
  • The left leg of the robot seems to be have some issues with the PID values (it often shakes). You might need to stop the PID controller that seems to provoke this problem. To do that, use the yarpmotorgui, go to the left-leg tab and click the IDLE button.
  • At any step, if there is some errors (motor or communication problems with the robot), you have to write them down in the notebook near to the ICUB01 computer. Don't forget the date and put a little description of what happened. The best should be to put an issue in Github / icub-support (https://github.com/robotology/icub-support) with the details of the problem, to fix the errors of our robot.
  • To avoid mistakes, the terminal background of the robot's head computer is white (otherwise, it is black on the local computer).

How to launch the robot

  1. Turn on the two power supplies of the robot and wait a little bit until they stabilize (power supplies information here).
  2. Login into the PCs.
  3. When ICUBSRV is attributed an IP address, switch on the CPU button (but only this one) and wait a little.
  4. Wait a little (~ 40s) during the boot of the robot.
  5. Double click on the PC104 logo on ICUBSRV's desktop. It will open a terminal on the PC104 (the computer in the robot's head).
    If it fails, if you cannot open yarpserver and so on, stop the PC104 (sudo power off) and switch off the CPU button. Wait a bit and switch it on again then try to do this step again.
  6. Verify the emergency button is activated, switch on the motors button and wait until the blinks of the LEDs are stabilized. Be patient, because there often are some errors during the boot of the controller cards of the motors.
    If there are some errors during these boots, switch off the second button, wait a little and switch on again.
  7. On the ICUB01 computer, open a terminal in the folder and use the command line:
cd software/src/icub-scripts  
sh icub_launchApplicationGUIS.sh

This script will launch some functionalities. It uses clusterConfig.xml which will connect up all computers (PC104, ICUBSRV and ICUB01) to the server. The clusterManager and the yarpmodule manager are also launched.
8. On the clusterManager, check the server (click the check button). Then, if the check-box is not checked, click the run button. Check the server again, the connexion should be successful (check-box checked). Then, the yarpserver exists. Then click on the "run selected" button to connect other machines and check them to verify the connection. That's all for the manager.
9. On the ICUBSRV computer, open a new terminal (caution, do not use the PC104 one) and launch yarpmanager. Then, you can try the predefined applications. Often, you should launch the yarplogger to see all the errors and warnings that happens. This yarplogger is in the application IcubStartup_Head_V2. Be careful to launch only this module (click right on yarplogger, and run). If you click on the button play in the menu bar, you will launch all things without control. So don't do it. You might need to launch the iKinCartesianSolver if you use Cartesian position controller.

Remark: on the PC104 terminal (the white one), you can read some information and see if there is errors. The yarplogger GUI gives other pieces of information to complete it. I advise you to keep selected only the errors ones (not the warning and so on) because otherwise, there is too much information to be readable.

  1. You can now release the emergency stop button.
  2. On the PC104, launch yarpRobotInterface. Some error messages might appeared. In that case, stop yarpRobotInterface, use the command yarp clean, then position the robot manually in a equilibrium state before switching off the motors. Wait a little and launch it again.
  3. Now, you can launch yarpmotorgui on the ICUB01 PC in a new terminal. Through this interface, you can change the orders that are given to the robot's motors to avoid some errors and to replace it correctly. You can also see and change the current compliance/interaction mode.
  4. Now, you can launch whatever you want.
  • Applications can be loaded in yarpmanager from the folder /home/icub/software/src/icub_applications/icub-xml on ICUB01. The main applications are in NANCY: icub_STARTUP_HEAD_v2
  • Usually, you will need to launch the iKinCartesianSolver for the limb(s) you have to control. Moreover, if you want to have information about the torques launch the wholebodyDynamics and the imufilter programs. To do that, select one by one the programs, click right on it and click on "run". Then, click on "connect".

Caution: Don't click on "play" on the menu bar, because it will not launch only the selected program but all program at the same time.

You should also launch icubGui on the ICUB01 PC, to see the robot in simulation. Thanks to this simulation, you will see if there are problems with the robot (visible if the simulated robot does not do the same movement than the real robot. Moreover, if the arrow above the robot's head is not totally vertical, you have a problem with the inertial information).