Using the Scout Robots


[ Back to the cs474 Home Page ]

Overview

The scout robots are a simple differential drive base equipped with sonar and bumpers. (Note: the current exemplar we have is not yet fully functional --- you cannot access the bumpers and the odometry is not correct. ) The robot is attached directly to Plutonium which I have moved to the 5th floor of Dunham labs. I'll arrange to give you 24 hour access to this area for the remainder of the term.

Some Rules of the Road

Using real robots requires some care and attention to detail. While playing with devices that move and spin is fun, they are generally hard, heavy, and fast. This mean they can hurn you as well as themselves and their environment. Here are a few rules for your own safety and that of the robots:

  1. Never attempt to access the robots or run them while you are not in room with them. Never allow others to be in the room while you are running the robot unless they are very aware of what it is doing.
  2. In the event of an emergency, hit the large red button on top of the robot --- killing your program does not immediately stop the robot. The red button does.
  3. Write your programs CONSERVATIVELY. A fast or poorly controlled robot is a dangerous robot. It is likely to inflict damage on itself and others. Always make sure the speeds you send are bounded and of moderate magnitude.
  4. Robot betteries need to be charged occasionally --- if you notice the robot moving more slowly than normal or it starts to emit a keening sound, then it needs to be recharged IMMEDIATELY. Trying to run on low batteries merely destroys the batteries.
  5. Always turn off the robots when they are not in use.

How to Turn on the Scouts

As noted above, the robots are directly connected to Plutonium via a radio ethernet link. You'll notice that there is a modem attached to Plutonium and another atop the robot. Generally, you should be able to switch on the robot and run programs without any trouble. You might notice that occasionally the first couple of commands get dropped --- this is due to some unavoidable connection delay in the modems. Hence, it is a good idea to include a couple of "null" commands (e.g. tell the robot to move at zero velocity) at the start of the program to make sure everything is up and going before you commence your real work.

How to Get a Program to Talk to the Scouts

In order to have your progam communicate with the scout, you merely need to recompile using -lrscout instead of -lscout. This library is compatible with the simulation library in every respect except it'll make the real robot move instead of the simulated one. Note that you DO NOT NEED NSERVER to run the Scout. In fact, there is currently no way to use Nserver with the Scouts.

What to do if Nothing Happens

Occasionally, the robot will not respond even after a lengthy period of time. Generally, this is because of a complete breakdown of the ethernet protocol used by the robots. In this case, do the following:

  1. Turn off BOTH the robot and the modem (the latter requires unplugging it; there is no power switch).
  2. Turn on the modem attached to Plutonium. You should see the green "master" light come on.
  3. Turn on the robot.

If this doesn't rescue your program, then something more disastrous has happened and you should contact me or the TA.


If you have comments or suggestions, email me at hager@cs.yale.edu .