Using Pico

From Control Systems Technology Group
Revision as of 16:29, 18 September 2013 by SDries (talk | contribs) (→‎Test)
Jump to navigation Jump to search


Make sure to ALWAYS obey the following rules:

  • If PICO is not connected to the power supply, always hold the emergency switch (Tyro remote) and keep an eye on the robot. If you only have the slightest idea that something may go wrong, press the red button. You can release the emergency switch by turning the red button clockwise.
  • If PICO is not driving around, always:
    • Plug in PICO's power supply. The batteries only last about 3.5 hours and we need at least 5 test hours per day.
    • Plug then laptop's power supply
  • Fill in the log book! Make sure you at least write down your name, what you tested and if any problems occured during testing.

You should test on the MSL soccer field. Pico will be in the robotics test area (the room opposite of the MSL socces field). You can get the key by asking one of the students in the robotics lab.

Setting up your software

Your software runs on PICO's laptop. The computer inside PICO is connected to this laptop through a dedicated wired network. You will use an external laptop (dev-laptop) to connect to the PICO laptop through the wireless RoboEarth network. To get your software up and running, on the dev-laptop:

  • Connect to the RoboEarth network (see the network icon in the upper-right corner).
  • Open a terminal, and type sshpicolaptop, to connect to PICO's laptop via SSH.
  • cd to ~/ros/emc/groups/emc<your_group_number>
  • Do an svn up. You will be prompted for your group's account name and password.
  • Build your package(s)
    • If you get a cmake error that your paths are incorrect, it might be the case that you also checked in the (auto-generated) build files (i.e., the build folder in the package). Then you should:
      • Build with the --pre-clean flag:
        rosmake --pre-clean
        , and
      • Remove the build folder from the SVN!

Following your software from the dev-laptop

  • Connect to the RoboEarth network (see the network icon in the upper-right corner).
  • If you use your own visualisation:
    • Open a terminal, and cd to ~/ros/emc/groups/emc<your_group_number>
    • Do an svn up. You will be prompted for your group's account name and password.
    • Build your package(s)
  • If you use Rviz:
    • Open a terminal and run rviz

If you do not use the SVN

  • Please start doing so! It is so useful once you are used to it (for managing your project, tracking changes, working on different computers, etc...), and setting up your software on the laptop will be a piece of cake!
  • You will have to transfer your package to the laptop in another way, e.g. using webmail or a USB stick. When you do, make sure to put your package in the ~/ros/emc/groups folder.


  1. Switch on the robot (use the switch on its back). It is ready to use once you see its 'eyes' on the display.
  2. On the dev-laptop (so not the laptop on PICO's back), run sshpicolaptop
  3. Run pstart
  4. Test whether you have a working connection with PICO:
    • Open a terminal and run sshpicolaptop
    • rostopic list
      should give an overview of Pico's ROS topics
    • rostopic echo /pico/odom
      should output Pico's odometry information
  5. Hold the emergency switch, and keep an eye on the robot.
  6. Unplug Pico from the power supply
  7. Run your software
  8. NB if Pico is not driving:
    1. Press and release the emergency button to make sure it's off
    2. Check your topics:
      rostopic echo /pico/cmd_vel
      should output the commands you send to PICO

To debug and develop:

  • You can use Rviz to visualize the laser data, camera images, etc.
  • Eclipse is installed on the laptop and you are free to use it to improve / debug your package(s).
  • It may be useful to record topics such that you can play and analyse them off-line, so be sure to check out the rosbag command on the ROS wiki. You may encounter problems when replaying the data due to time differences between the recorded topics and current time. To also simulate the ROS time (setting it to the time of recording), set the ROS parameter use_sim_time to true:
    rosparam set use_sim_time true
    Furthermore when playing the data, make sure rosbag outputs the time of recording using the --clock option:
     rosbag play <BAG FILE> --clock


When you stop testing:

  1. Switch off Pico (simply use the switch at the back)
  2. Put Pico back at the table
  3. Plug in the the power supply
  4. Remove your package from the laptop:
    cd ~/ros/emc/groups
    rm emc<GROUP_NUMBER> -rf
  5. Switch off the laptop
  6. Put Pico back in the robotics test area, lock it, and hand the key to one of the students in the lab