README for eBug version 1.0 (Last Update: 10/27/2000) Written by Yoichiro Endo (Mobile Robot Lab, Georgia Tech) --------------------------------------------------------------------- WHAT IS EBUG? eBug (Emulated Sowbug) is software that emulates the schematic sowbug proposed by Edward C. Tolman in 1939. You can find more details on Tolman's schematic sowbug in the following document: http://www.cc.gatech.edu/aimosaic/robot-lab/publications/icra-2001-endo-arkin.ps.Z --------------------------------------------------------------------- HOW TO COMPILE EBUG? The following systems are required to compile eBug: - RedHat Linux 6.0 or higher - GNU gcc 2.91.66 (egcs 1.1.2) or higher - RedHat Motif 2.0 or LessTif 0.88.x Compilation Procedure: 1.) Change the directory to the source directory. cd src 2.) Remove any binary or object files came with this distribution. make veryclean 3.) Compile it. make all The procedure above will allow eBug to compile only with the simulation capability. eBug, however, also can be run on real robots (ActivMedia Pioneer AT, RWI Urban Robot, etc.), and can react with color objects using Cognachrome Vision System (Newton Research Labs.). eBug supports the control of those components through HServer, a part of MissionLab. MissionLab is software being developed at Mobile Robot Lab, Georgia Tech. This eBug distribution does not include HServer, and if you are interested in running eBug on the real robots, please download the source code for MissionLab from the following address, and copy the source code of HServer to your ebug/src/hserver/. http://www.cc.gatech.edu/aimosaic/robot-lab/research/MissionLab/ Moreover, in order to communicate with HServer, eBug utilizes IPT, a communication toolkit being developed at Carnegie Mellon University, and the eBug distribution does not include the source code of IPT. You can find the source code of IPT in the MissionLab distribution, or the latest version of IPT can be obtained from the following ftp site. Please copy the source code of IPT to your ebug/src/ipt/. ftp://ftp.cs.cmu.edu/afs/cs.cmu.edu/user/jayg/ftp/ Once you copied the source code for HServer and IPT, you can compile eBug with the real robot control capability with the following command from ebug/src/ directory: make ebug_hserver --------------------------------------------------------------------- HOW TO RUN EBUG? In order to run eBug, change the current directory to the work directory of eBug (ebug/work/). In this directory, you should find the robot configuration files (*.bot) and stimulus configuration file (*.stm). eBug can be invoked by the following command. ebug -[rnlNtSHLvdh] -R where the command line options are: -r Load the default robot "sowbug00.bot". -R Load the specified robot. -n Do not load the default robot. -l Load the default stimulus "light01.stm". -N Do not load the default stimulus. -t Show the robot trails. -S Enable the simulation mode. -H Enable the real robot mode. (Run IPTServer and HServer first.) -L Log the robot data to "ebug.log". -v Show the version number. -d Enable the debug mode. -h Display usage. If you wish to change the default setup of eBug (e.g., change the default robot name), change the default options defined in main.cc and compile it again. By default, without specifying any option, the default robot "sowbug00.bot", and default stimulus "light01.stm" will be loaded when ebug is executed. You can observe how the robot reacts with the stimuli by clicking the run button (the button labeled with a black triangle). You can stop the robot anytime by clicking the pause button (the button labeled with two vertical lines). If you want to add more stimuli, click left mouse button in the field. You can also change their types, status, and size by clicking them with left, middle, and right mouse buttons, respectively. These stimuli can be saved in a file by typing 's' in the field, and can be loaded again by clicking the load-stimulus button (the button labeled with a light bulb figure). If the robot gets stacked, you can either reset it by clicking the reset button (the button labeled with a bended arrow figure), or exit the program by clicking the exit button (the button labeled with a large "X"). --------------------------------------------------------------------- ACKNOWLEDGEMENT eBug was developed under the direction of Prof. Ronald C. Arkin, the director of Mobile Robot Lab, Georgia Tech. eBug was originally created after modifying William C. Halliburton's Braitenberg Vehicle simulator. You can still observe how it worked by running eBug with any vehicle**.bot (e.g., "ebug -R vehicle00.bot"). --------------------------------------------------------------------- COPYRIGHT All rights of eBug are reserved by Georgia Tech Research Corporation (GTRC). Please read the COPYRIGHT file for more details. --------------------------------------------------------------------- CONTACT eBug is created solely for the academic purpose, and it is not supported nor maintained regularly. However, if you wish to contact the author, send email to Yoichiro Endo . ---------------------------------------------------------------------