ICub instructions: Difference between revisions
Line 80: | Line 80: | ||
Use this button with great care, as it cuts power to all motors and controllers abruptly! In particular, be ready to hold Chico from his head and forehead, because the upper part of his body might fall upon losing power. | Use this button with great care, as it cuts power to all motors and controllers abruptly! In particular, be ready to hold Chico from his head and forehead, because the upper part of his body might fall upon losing power. | ||
To start using the robot again, it is convenient to quit and restart all the software components and interfaces; refer to [#Switching on the robot]. | To start using the robot again, it is convenient to quit and restart all the software components and interfaces; refer to [[#Switching on the robot]]. | ||
== Starting YARP components == | == Starting YARP components == |
Revision as of 13:18, 9 September 2009
This article explains how to manage Chico for demos and experiments alike. We will describe the hardware setup that accompanies our iCub, how to turn things on and off, and how to run demos.
An older version of this article can be found here: Innovation Days 2009.
Setup
The demo inventory consists of:
machine | notes | IP address, username |
---|---|---|
Chico the robot (duh) | has a pc104 CPU in its head | 10.10.1.50, icub |
icubsrv Dell XPS laptop | don't worry about this machine, just keep it switched on. It contains a hard disk that gets mounted by Chico's read-only CPU at boot time | 10.10.1.51, icub |
chico3 Tsunami 17" laptop | we will use this machine for YARP and all demo management | 10.10.1.53, icub |
Below Chico's table, from top to bottom we have:
what | notes | IP address, server name |
---|---|---|
iCubBrain chassis | contains two servers used for computation | 10.10.1.41 (icubbrain1), 10.10.1.42 (icubbrain2), icub |
Xantrex XFR 35-35 | thin power supply unit, to power pc104 and some motors | - |
Xantrex XFR 60-46 | thick power supply unit, to power most motors | - |
APC UPS | uninterruptible power supply | - |
Switching on the robot
- Check that the UPS is on
- Turn on icubsrv (Dell XPS laptop)
- Turn on chico3 (Tsunami 17" laptop), which we will use to actually control the demos
- Turn on the Xantrex power supply units
- Turn on the green switches behind Chico
- Safety hint: first turn on the pc104 CPU switch, wait for it to be alive and only then switch the motors on
- Another safety hint: wait for the four purple lights on each board to turn off and become two blue lights – at this pointy you can start iCubInterface
- Start the needed YARP components with the Cluster Manager GUI: one instance of
yarpserver
plus all necessary instances ofyarprun
(one per each machine that will do computation) - Depending on which demo you want to execute, you will probably need to start iCubInterface and the cameras
- Depending on your demo, you might need to power up icubbrain1 (left half of server chassis) and/or icubbrain2 (right half)
Shutting off the robot
- Stop your demo software and the cameras with the respective application manager GUIs
- Go to the pc104 iCubInterface shell windows and stop the program hitting ctrl+c, just once. Chico will thus move its limbs and head to a "parking" position. (If things don't quit gracefully, hit ctrl+c more times and be ready to hold Chico's forehead since the head may fall to the front.)
- Stop
yarpserver
and theyarprun
s with the Cluster Manager GUI - Turn off the two green switches. Pay attention when turning off the 'Motors' switch: if iCubInterface was not stopped properly in the previous steps, then be ready to hold the robot when turning that switch
- Turn off the Xantrex power supply units
- Turn off chico3 (Tsunami 17" laptop)
- If necessary, turn off icubsrv (Dell XPS laptop) and the UPS
Stopping the robot with the red emergency button
The emergency button, as the name suggests, is to be used for emergencies only. For example:
- When the robot is about to break something
- When some components make nasty noises that suggest they are going to break
Use this button with great care, as it cuts power to all motors and controllers abruptly! In particular, be ready to hold Chico from his head and forehead, because the upper part of his body might fall upon losing power.
To start using the robot again, it is convenient to quit and restart all the software components and interfaces; refer to #Switching on the robot.
Starting YARP components
Launch the graphical Cluster Manager application on the chico3 laptop, by typing this in a terminal:
cd $ICUB_ROOT/app/default/scripts ./icub-cluster.py $ICUB_ROOT/app/$ICUB_ROBOTNAME/scripts/vislab-cluster.xml
yarpserver
Click 'Run' to launch yarpserver
on chico3. The light above the 'Stop' button will become green.
yarprun
Now we are ready to start yarprun
on all the machines we need (necessary for several YARP modules distributed on different machines to communicate with one another). In the 'Select' column, make sure that only the following machines are selected with a red light:
- chico3
- pc104
- icubbrain1
Click 'Run Selected' and wait a bit so that all machines can turn on their green 'On' light. The pc104 can be slow and, sometimes, unpredictable (if it doesn't find the yarpserver
, you will need to write the following line into yarp conf: 10.10.1.53 40000
).
Do all the selected machines have their 'On/Off' switch green by now? If so, proceed to the next step. If not, click on 'Check All' and see if we have a green light from the pc104 at this point. You should see something like this:
Other components
Many demos and programs assume that components such as cameras, the iCubInterface driver or the facial expression driver have been launched. Here is how to run these blocks.
Cameras
Open a chico3 console and type:
cd $ICUB_ROOT/app/default/scripts ./manager.py $ICUB_ROOT/app/$ICUB_ROBOTNAME/scripts/cameras_320x240.xml
Alternatively, the second command can use the cameras_640x480.xml
configuration instead, if you need a larger resolution.
iCubInterface
This program controls the motors and reads the inertial sensors. In practice, all demos assume that iCubInterface is already running in the background.
To start iCubInterface, unlock the red button switch and type this on a pc104 console:
iCubInterface --config $ICUB_ROOT/app/iCubLisboa01/conf/icubSafe.ini
and wait for all boards to answer (which takes around 1 minute); after that, you are ready to move on.
Keep the pc104 shell window open or minimize it; you will use it again when you quit iCubInterface. For instructions about quitting, refer to section #Shutting off the robot below.
There is a GUI application to interact with iCubInterface and command robot joints. Just invoke it from the display machine with:
robotMotorGui
Facial Expressions
Open a pc104 console and type:
cd $ICUB_DIR/app/faceExpressions/scripts ./emotions.sh $ICUB_DIR/app/iCubLisboa01/conf
Specific demos
Refer to Innovation Days 2009 for now.