The JavaBots FAQ

I'm compiling these questions as people ask them. Send e-mail if you have another question.

  1. What is JavaBots?

    JavaBots is a system for developing and running multi-robot control systems on mobile robots and in simulation. JavaBots is freely distributable, but it is copyrighted by the Georgia Tech Research Corporation. JavaBots was developed at Georgia Tech's Intelligent Systems and Robotics Group by Tucker Balch, Juan Carlos Santamarķa and David Huggins.

  2. How do I get the JavaBots distribution?

    Download it from http://www.cc.gatech.edu/~tucker/JavaBots

  3. How do I install JavaBots?

    Instructions are on the main page: http://www.cc.gatech.edu/~tucker/JavaBots

  4. What software do I need to install and run JavaBots?

    Unzip and Java 1.1 or newer. You need gmake if you want to (elegantly) revise and recompile.

  5. Where can I find the meaning and arguments to the keywords used in the dsc-files?

    Probably the best source is the example file in Forage/forage.dsc. It is fairly well documented.

  6. What happens after the dsc-file is read? How is the machinery started? In which order are TakeStep() methods called. When is draw called?

    1. Each robot's control system TakeStep() method is called.
    2. Each physical object in the simulation's TakeStep() method is called.
    3. Each object in the simulation's draw() method is called.

    Robots have two components, the physical part and the control system part. Both have TakeStep() methods that are called on every cycle.

  7. I want to make multiple simulation runs without intervention. How can I restart the simulation and save results?

    Use the "timeout" and "trials" keywords in the description file. "timeout 10000" for example, will run the simulation for 10 seconds, then terminate the simulation. If you also add a "trials 100" statement, then your simulation will run 10 seconds 100 times. Note that the trialEnd(), trialInit() and quit() methods of your control system will be called at the appropriate times. This allows you to log data and open and close files as the need arises. quit() is only called once at the end of the simulation.

    You may also want to run your simulation using JavaBotSimNoGraphics instead of JavaBotSim. This program runs about 10 times as fast but with no graphics.

  8. Can I run JavaBotSim without the graphics?

    Yes. Use the JavaBotSimNoGraphics application instead of JavaBotSim. The command line is

    java JavaBotSimNoGraphics description_file

  9. Why are all the objects and robots in the simulation created twice?

    This was a bug in JavaBots prior to version 1.5. It has been fixed.