cs1567 gumstix build environment

A build environment has been set up on the server machine in the lab (calculon). This machine can be accessed through the lab's router (gw-botlab.cs.pitt.edu) which forwards ssh traffic to it. It will only accept ssh connections from inside the computer science department (not the University network, ssh connections from WIRELESS-PITTNET will be denied), meaning you will have to ssh from either one of the other desktop machines in the botlab or from a laptop connected to the botlab's wireless.

Once on an appropriate machine, issue the following command:

ssh <username>@gw-botlab.cs.pitt.edu

Where <username> is your CSSD username. Our server is set up to allow you to log on with your CSSD username and password, but in order to access any of the files in your CSSD homedirectory, you will have to first run the following command:

klog

Which will again prompt you for your CSSD password.

The archive stored here contains the source code to the API written for last spring's class by Dr. Chiarulli, as well as an example program and a very hand makefile. Documentation for the API can be found online at Dr. Chiarulli's website for last spring's class. You can download the archive containing the API source code and example code with the following command:

wget www.cs.pitt.edu/~nlf4/pittcreate-api.tar.bz2

First this archive must be decompressed. This can be done with the following command:

tar jxvf pittcreate-api.tar.bz2

As an example, here is how to compile the example program provided. First you will have to change your working directory to the example directory in "pittCreate-API".

cd pittCreate-API/example

Read over the Makefile in this directory, and edit the robot variable to be the robot you'll be running the example on. To compile the example program just run

make

If this completes without error, you're ready to copy it to the robot. First find the robot you wish to run the program on and make sure it is on and has an active connection to the botlab wireless. If this is not the case, first turn the robot on (if the Roomba power button isn't working, use the extra green button added to the top of the robot). After the robot beeps, you should be able to see an orange light from between the metal shield (where the turret is attatched) and the Roomba, itself. Once you see blue light there instead, the robot is connected to the botlab wireless and is ready to go. If after a couple minutes, the light hasn't turned blue, turn the robot off and back on again using the power button (whichever one worked before).

Now that your target robot is up and running, use the Makefile to send the executable to the robot by running

make install

Now, in order for the robot to actually run this program, you will need to open a shell on it and run the executable.

ssh csbot@<botname>

Where <botname> is either optimus, hal, johnny5, rosie, or pris, whichever robot you had the Makefile copy the executable. From this shell, go ahead and run the example program (Simple_diagnostic).

./Simple_diagnostic

Note that at the next boot, everything in the home directory will be erased, so if you write a program that produces any output to a file on the bot, you will have to copy it off (with scp, for example) before you turn the robot off.



roomba serial api:

The Roomba serial API (which is further abstracted by the Pitt Create API) can be found here. You may find it much easier to implement certain functionality on the robots using the serial API directly as opposed to the Pitt Create API.



setting up your own gumstix build environment:

Follow the documented procedure here. The robots are configured to used revision 1578, so you will need to check that version out from svn. Also note we are targetting the Gumstix Verdex XL6P with a 600MHz processor. Some of the build dependencies will not still be available online, but I have gathered them in this archive (not that this is uncompressed, so you will want to untar its contents using the command "tar xvf buildroot_deps.tar"; the "j" had been to tell tar to undo the bz2 compression applied to the archive), you will have to place them in the "dl" folder in the svn folder for build root.