| Robot Programming Code
Carnegie Mellon University
I am starting to release all of our useful robot programming code for the consumption of the courageous among you.
Here, finally, is a zipped example for using a USB camera directly from Java. The trick is to make use of the JMF, or Java Media Framework, which is available here. You will want to download, for instance, the JMF 2.1.1 release and use it as instructed in our instructions. This USB solution supercedes the C-based SDK that we all used to use from Logitech and that is archived a few paragraphs down on this page.
Here is a zipped set of examples of our 16x62 code for controlling Nomad Scouts in Mobile Robot Programming Laboratory.
Here is a zipped example of communication between the Cerebellum 16f877 pic board and the CMUcam. There are plenty of comments in the code, so just click here for a zip file. Note that the cmucam example is up to date, but you should really use cerebv2.c and .h rather than cereb.c and .h.
Here is a zipped example of communication between the Handyboards used in BotBall (running Interactive C) and the CMUcam. Plenty of comments in the code, so just click here for a zip file.
Here is a software module for making programming the Cerebellum easy. This code is all designed to compile under the C2C programming environment. WARNING: Use only C2C version 4.1.7e, especially if you're at CMU! In general, this is an up-to-date version of the Cereb distribution, this is version 4.1. I support this for CMU users but for others in the wide open world you are welcome to download this and use it at will. Click here for a zip file. Please note-- if you're at CMU, you also have a right to the install files and the C2C key. For this information contact me directly.
NOTE: The following USB driver and example is accessible for archival reasons only. Don't use this. It is too old. Instead use the Java solution further up this page! Here is an easy way to use a USB Camera to do computer vision on a notebook computer - for a mobile robot, of course! Click here for a zipped Visual C++ 6.0 project that includes all the source code as well as a README pdf document that describes things. Click here for just the documentation.
This is a zipped Microsoft Visual C++ 5.0 project and a Symantec Visual Cafe Java project that you might like. It implements a simple serial port interface, via the C dll, in Java. So now your Java programs can do things like talk through all of your machine's serial ports. Just click here.
Here is a zipped executable (for Windows 95 and NT) that
communicates with a scout, allows you to turn on and off the sonars,
displays the sonar pings graphically, and allows you to use the keyboard
to joystick the robot around. Just click here.
The following is a WinZipped Visual C++ 5.0 project that implements a windows-based communication interface for the Nomad Scout robot. This is a windows interface-- there is no main(), but the part you need to look at is called RobotMain() and is located in robot.c. Simply unzip this code on your Windows 95 or Windows NT machine, connect up your Nomad Scout to serial port 1, and run the code. Examples meant for pattern matching are provided in robot.c.
WinZipped Nomad Scout PC-based windows interface
The following is a WinZipped Visual C++ 5.0 project that
implements a communication interface for the Nomad Scout robot that
does NOT use windows-- it just uses a console. So, this program
has a main(), like any ordinary C project.
WinZipped Nomad Scout PC-based console interface
The following is a WinZipped Symantec Java 1.1 project that implements
a communication interface for the Nomad Scout. This zipped archive contains
two important directories. CSIDE contains the source code for the DLL
that I made in Visual C++ 5.0 that communicates with the robot. JAVASIDE
contains the source code for an example Java program that controls the
robot using my DLL. This is great fun; enjoy!
WinZipped Nomad Scout Java interface with C DLL
The following is a WinZipped Symantec Java 1.1 project that
implements a *graphical* communication interface for the Nomad Scout.
Use this instead of the one above. Included in this zip is a robot
manual written by us for the Scout, including a step-by-step introduction
to Symantec Visual Cafe and a quick reference guide that we've put together.
WinZipped Graphical Nomad Scout Java Interface with Microsoft Word 6.0 reference manual and quickref
THIS is a Winzipped Symantec Visual Cafe project
for having your robot/computer speak with a speech synthesizer
made by microsoft research! You need this
and you also need to download and install Microsoft's speech
SAPI 3.0 SDK (or is it 4.0?), available at here. Enjoy!!! And note that
in the project directory there is a Word 6.0 file that describes how
it all works...
If you need the development environment where we made the C DLL (using Microsoft Visual C++ 5.0), then you should download this.
The following is a text file containing code for computing Hue, Saturation
and Intensity from RGB data. Color cameras are *very* useful, and Hue is
a great identifier to use when Saturation is high. Be warned, there are many
alternative equations for computing HSI-- this is just one of these many!
Code for computing HSI from RGB
[ The Robotics Institute | Carnegie Mellon University ]
|Last modified September 29, 1997 Illah R. Nourbakhsh ( firstname.lastname@example.org)|