Innovation Days 2009: Difference between revisions

From ISRWiki
Jump to navigation Jump to search
m (→‎Cameras: fix link)
(→‎iCubInterface: moved paragraph to other article)
Line 19: Line 19:
=== iCubInterface ===
=== iCubInterface ===


This program controls all of Chico hardware (except cameras). In practice, all demos assume that iCubInterface is already running in the background.
''Moved to [[iCub demos#iCubInterface]].''
 
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.
 
To stop iCubInterface, type ctrl+c 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.)


== Before every demo ==
== Before every demo ==

Revision as of 13:48, 2 September 2009

In this page we explain how we took care of Chico during the Innovation Days 2009 exhibition that occurred in the Feira Internacional de Lisboa from 18 to 20 June 2009. Check out the iCub demos article, too.

Setup

Moved to iCub demos#Setup.

Starting YARP components

Moved to iCub demos#Starting_YARP_components.

Other components

Cameras

Note: for the old "./cameras start" method consult Innovation Days 2009/Archive. Following, we will only list the new method based on an Application Manager GUI and XML files.

Information now moved to iCub demos#Cameras.

iCubInterface

Moved to iCub demos#iCubInterface.

Before every demo

  • 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 GUI: one instance of yarpserver and all necessary instances of yarprun, one per machine
  • Depending on which demo you want to execute, you will probably need to start iCubInterface and the cameras (this is explained below, in every demo subsection)
  • Depending on your demo, you might need to power up icubbrain1 (left half of server chassis) and/or icubbrain2 (right half)

Yoga demo

  iCubDemoY3 --config /app/demoy3/fullBody.txt

Facial expressions

  • Start the facial expression driver on the pc104:
  cd $ICUB_DIR/app/faceExpressions/scripts
  ./emotions.sh $ICUB_DIR/app/iCubLisboa01/conf
  • Start the facial expression demo by typing one of these two sequences on any machine:
  $ICUB_DIR/app/faceExpressions/scripts/cycle.sh

or

  yarp rpc /icub/face/emotions/in
  set all hap // full face happy
  set all sad // full face sad
  set all ang // full face angry
  set all neu // full face neutral
  set mou sur // mouth surprised
  set eli evi // eyelids evil
  set leb shy // left eyebrow shy
  set reb cun // right eyebrow cunning
  set all ta1 // mouth talking position 1 (mouth closed)
  set all ta2 // mouth talking position 2 (mouth open)

Ball tracking and reaching demo

Note: for the old (manual) method, see Innovation Days 2009/Archive. Here we report the new method based on the Application Manager GUI and an XML file.

This demo uses the left eye and the right arm of Chico. Assumption: left eye is running at a resolution of 320x240 pixels. Attention: make sure that the launcher uses icubbrain2 (32bit) or any of the 32-bit Cortexes for the kinematics computation.

These dependencies will be checked by the GUI:

You need to set the color parameters of the camera using the framegrabberGui (left eye) to the following. Be careful, though, that the first time that you move any slider the action typically does not work. You have to move the slider first to a random position and then to the desired one.

 brightness 0
 sharpness 0.5
 white balance red 0.474
 white balance blue 0.648 
 hue 0.482
 saturation 0.826
 gamma 0.400
 shutter 0.592
 gain 0.305

On chico3 type:

  cd $ICUB_ROOT/app/default/scripts
  ./manager.py $ICUB_ROOT/app/demoReach_IIT_ISR/scripts/isr/demoReach_IIT_ISR_RightHand.xml

Notes:

  • the aforementioned XML file configures a system that moves the head and right arm of the robot. There exist also an XML file for moving juste the head and the left hand (demoReach_IIT_ISR_LeftHand.xml), one which moves just the head (demoReach_IIT_ISR_NoHand.xml) and one which only starts the tracker, so it moves nothing (demoReach_IIT_ISR_JustTracker.xml).
  • you still need to set the camera parameters using framegrabberGui, we're trying to make that automatic.

Pausing the Ball Following demo

You can do this by disconnecting two ports (and connecting them again when you want to resume the demo).

Note that this will only stop the positions from being sent to the inverse kinematics module (and thus, almost always, it will stop the robot). The rest of the processes (e.g., the tracker) will keep running.

  • Pause (from any machine)
  yarp disconnect /icub/LeftEyeToRoot/ballPositionOut /iKinArmCtrl/right_arm/xd:i
  • Resume (from any machine)
  yarp connect /icub/LeftEyeToRoot/ballPositionOut /iKinArmCtrl/right_arm/xd:i

Quitting the Ball Following demo

  • Disconnect all ports. Careful: this will stop the robot.
  cd 13.FIL
  ./7.disconnect_all.sh
  • Quit/Kill the processes of the demo, in any order.

SIFT Object Detection and Tracking demo

Ignore this for now, as some libraries are not compiling. [controlGaze2 COMPILATION TO BE FIXED ON THE SERVERS - PROBLEMS WITH EGOSPHERELIB_LIBRARIES and PREDICTORS_LIBRARIES]

Assumptions:

On any machine, run:

  $ICUB_ROOT/app/$ICUB_ROBOTNAME/scripts/controlGazeManual.sh
  $ICUB_ROOT/app/$ICUB_ROBOTNAME/scripts/attentionObjects/noEgoSetup/CalibBothStart.sh

On any machine (preferably one of the icubbrains, at this task is computationally heavy) type:

  $ICUB_DIR/app/$ICUB_ROBOTNAME/scripts/attentionObjects/noEgoSetup/startSiftObjectRepresentation.sh

If you want to change the configuration, do:

  nano -w $ICUB_DIR/app/$ICUB_ROBOTNAME/conf/icubEyes.ini

Attention system demo

Assumptions:

Please note: we will run all the modules of this demo on icubbrain1 (64bit), unless specified differently.

Start the following module:

  cd $ICUB_ROOT/app/attentionDistributed/scripts
  ./camCalibRightManual.sh

Then:

  cd $ICUB_ROOT/app/attentionDistributed/scripts/
  ./salienceRightManual.sh

Then:

  cd $ICUB_ROOT/app/attentionDistributed/scripts
  ./egoSphereManual.sh

Then:

  cd $ICUB_ROOT/app/attentionDistributed/scripts
  ./attentionSelectionManual.sh

Then:

  cd $ICUB_ROOT/app/attentionDistributed/scripts/
  ./controlGazeManual.sh

And finally, but this time on chico3:

  cd $ICUB_ROOT/app/attentionDistributed/scripts
  ./appGui.sh

Press 'check all ports and connections', followed by pressing '>>' buttons (becoming green), in all the tabs of the GUI.

Now, in the 'Salience Right' tab of the GUI, press 'Initialize interface' and move the thresholds a bit (e.g., the 'intensity' one).