Overview
The latest distribution is version 1.9b
In this document:
Related information:
Introduction
Welcome to the JavaBots information page, located at
http://www.cc.gatech.edu/~tucker/JavaBots
JavaBots was developed at Georgia Tech's Intelligent Systems
and Robotics Group by
Tucker Balch.
JavaBots is a system for developing and running
multi-robot control systems on mobile robots and in simulation.
JavaBots is freely distributable. It may be used for education
and research without restriction. Please see
the
EDU/gatech/cc/is/COPYRIGHT.html for detailed copyright information.
The document you are reading is also included with the JavaBots
distribution in EDU/gatech/cc/is/docs/index.html .
The distribution is composed of several Java packages and applications
for multiagent mobile robotics research. Except for the applications,
our packages are named
EDU.gatech.cc.is.*, following the Java standard
to avoid conflicts with other people's classes and methods.
Example JavaBot applications:
|
|
Real-time Control of Mobile Robots
The JavaBotHard application can be used to control
Nomadic Technologies' Nomad 150 robots. These robots,
Lewis and Clark, won the multiagent "Find Life on Mars"
event at the AAAI-97 Mobile Robot Competition using
JavaBot software.
|
Simulation
The same control systems can be tested in simulation and
run on mobile robots. In this simulation
two Nomad 150 robots (black) forage
for red and blue attractors, which
they collect and return to the color-coded bins.
They are running the same control system used on
Lewis and Clark.
|
|
|
RoboCup JavaSoccer
Two teams of five robots attempt to kick and push
a golf ball across the opposing team's goal.
This simulation follows the RoboCup specifications
for small real robot league play
|
IS Robotics Pebbles Simulation
A simulation of the Pebbles was recently completed. Support
for Pebbles hardware was recently completed, but is not yet included
in the distribution.
|
How to Install JavaBots
Note: these instructions are the same as for installing JavaSoccer. If
you install JavaBots, you have installed JavaSoccer as well.
- Required software: make sure you have
Java 1.1
or later installed on your computer.
The distribution will not run with earlier versions.
If you have Java, but aren't sure of the version, type
"java -version". You also need
unzip
to unpack the distribution.
You will need gmake
if you want to modify and recompile.
- Make a directory for the distribution.
- Put the distribution (
distribution.zip) in the directory.
- unzip distribution.zip . Don't use the "-a" option, sometimes
unzip will confuse class files as text.
If, later on you find the source looks garbled, try
'unzip -a distribution.zip "*.java"' to just unzip the source.
Not sure if Winzip
supports this (if you have trouble, get the real
unzip).
- Set your CLASSPATH environment variable to point to
the directory where you unzipped the distribution.
So, for example, if you installed the distribution in
/home/you/java and you use csh you would set CLASSPATH with
the following command:
setenv CLASSPATH .:/home/you/java
Other shells and/or operating systems use similar commands
to set the CLASSPATH.
- Run the demos.
cd /home/you/java/JavaSoccer
./demo
cd /home/you/java/Forage
./demo
cd /home/you/java/Pebbles
./demo
Troubleshooting
- If you get the error message:
error: zipfile probably corrupt
while trying to unzip the distribution, you probably
either got a bad copy while downloading, or your version
of unzip is too old.
Unzip v5.12 works properly
while v5.1 has been known to complain, but still
unpack the distrbution.
The distribution was compressed with Zip v2.1, please let me
know if you have this problem.
- If you get the error message:
Can't find class JavaBotSim.JavaBotSim
then your CLASSPATH probably doesn't point properly to the
/home/you/java directory. Try Step 5 again.
- If you get the error message:
java.lang.NoClassDefFoundError: JavaBotSim/SimulationCanvas
at JavaBotSim.JavaBotSim.(JavaBotSim.java:79)
at JavaBotSim.JavaBotSim.main(JavaBotSim.java:199)
This was a known problem on v1.3 and earlier, get the latest
distribution. If you have 1.4 or later, you may have one of these problems:
your CLASSPATH may not point properly
to the /home/you/java directory.
Try Step 5 again. This might also be caused by a corrupted download
or unzip operation. Try getting a new copy of the distribution from
the webpage or just unzipping again. You may have unzipped with the
"-a" option, try it without.
- If you get the error message:
Unable to initialize threads: cannot find class java/lang/Thread
then you are probably running Java 1.0.2 instead of Java 1.1.
You can check that by typing "java -version".
- If you get the error message:
./demo: java: not found
make sure java is in your PATH somewhere, and that Java 1.1 is installed
on your system.
- If the program runs but the source code looks like gibberish,
try unzipping again using the -a option (Step 4). This option may
not be available on older versions of unzip or on WinZip. I suggest
you get the
real unzip.
- Finally, try
typing the contents of the demo file directly as a command line:
java JavaBotSim robocup.dsc 511 300
Compatiblity and Customization
As the name implies, most of the software is written in Java. Standard
Java coding practices and conventions apply. We have compiled and run
all the software on Linux, Solaris and Irix. Although the native
code compiles in all these places, we've only tested it under Linux.
To make compiling with dependencies little easier, the distribution
includes a gmake-based Makefile with the following functionality:
- make all To compile all Java. This is may not even
necessary since the distribution includes
Java 1.1 binaries.
- make native To compile the native methods.
You may need to change some of the exported
symbols in the Makefile for this to work.
- make clean To remove all junk not necessary to run programs.
- make veryclean To remove everything not necessary to compile.
- make documentation To javadoc-ify
- make distribution To zip a distribution into archive/distribution.zip
- make binary To zip a minimun set of binaries into archive/binary.zip
- make backup To zip a backup into archive/backup.zip
Documentation
Currently JavaBots is documented primarily using javadoc. A
more complete user guide is a future goal.
Here are links to the javadoc-generated documentation:
JavaBots E-mail List
If you think you'll be using JavaBots for a long time, subscribe to
the JavaBots list by sending mail to majordomo@cc.gatech.edu
with the line
subscribe javabots-help
in the body. You can unsubscribe by sending the message:
unsubscribe javabots-help
If you have any problems, send e-mail to the list and we'll see what we can do.
javabots-help@cc.gatech.edu