New ports on iCub

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

Port names for the control task

You'll be getting images from iCub (the one sitting next to Giorgio) on the following ports:

 /icub/left/img (to track, this is the dominant eye)
 NOT YET AVAILABLE: /icub/right/img (in case you need it for stereo)

These ports are available on the main network to everybody. Please be gentle and use the 'mcast' protocol to save bandwidth. The images are 160(w) by 120(h). You cannot send the output to the robot(s) directly. You can use this port to test your tracking algorithm before connecting to the robot.

Controlling the robot

The philosophy beyond this task is described in The Kibitzer and The Controller.

To control the robot you have to physically connect your laptop computer to the robot network. We set up a little point to point connection where one end is your laptop :) and the other the robot controller. There is a red cable sitting next to the robot (iCub).

The controller IP address is: 192.168.0.1 and you can configure your machine with any other IP address in the same subnetwork range. E.g. 192.168.0.30. Set the netmask to 255.255.255.0.

Try:

 ping 192.168.0.1 

from your computer to check everything is ok once connected.

The yarp server is running at this same address. Please check the location of your yarp.conf file by typing:

 yarp conf

Edit the yarp.conf file and replace your old server IP address (e.g. 10.0.0.11) to 192.168.0.1.

Try again:

 yarp where

just to make sure everything is ok with the server. The same server also runs a grabber with port name (images of size 160 by 120):

 /icub/left/img

and a set of processes to control the head. The controller accepts a Bottle or Vector in the format requested for the previous task Output your target. Currently the controller uses only:

  • the target position, to steer gaze toward the target
  • the image width and height to adjust the controller gains

The port name is:

 /icub/target

Locally you need to connect with the tcp protocol. The controller expects data arriving quickly enough (nearly frame rate, 25-30 data vectors per second).

Please disable any firewall you might be running on your laptop.

Issues

On iCub the neck pan motor does not move coherently at the moment, the motor itself is problematic since it is the wrong type (purchased by mistake). Sorry for the inconvenience, there nothing we can do at the moment.

Other projects

Beside the tracker, if you would like to develop something different (that perhaps integrates into the basic controller rather than being exclusively in control) then please discuss it with us.