This is the source code for the University of Pennsylvania's entry for
the Robocup 2005 Legged League competition.

It includes a subset of the perl-5.8.0 source distribution for
building the embedded microperl library.  We are releasing the code
freely under the GNU General Public License (GPL).  If you use any of
this code in your projects, we ask that you properly acknowledge its
source.

It should compile under Sony's OPEN-R SDK (tested with OPEN-R version
1.1.5 on the Linux and MacOS X platforms).  Assuming you built the
cross compilers under /usr/local/OPEN_R_SDK, you should just be able
to type "make install" from the top directory to build the modules
under ers7/MS/OPEN-R.  Otherwise, you will have to edit the Makefiles with
the correct directory information.

There are two OPEN-R modules that will be built under MS/OPEN-R/MW/OBJS:
ROBOTCOM.BIN: Main module that includes the embedded Perl interpreter,
  vision and sensor interfaces, walk routine, and world model.
SNDCOMM.BIN: Module that can play and record PCM samples.

To properly configure the dog, you can modify the following files
under MS/OPEN-R/MW/DATA/P.  All these files are ASCII text files
that you easily edit or generate.
*.CAM: These contains the camera settings and color detection tables.
*.MOT: These files contain the joint angles for different motions.
*.WAV: Wave files to play on the speaker.

The behavior of the dog is controlled by the Perl scripts in
MS/OPEN-R/MW/LIB/PERL5.  The main entry point is the script "main.pl"
which changes the dog's role based upon the HOSTNAME set in your
WLANCONF.TXT file.  The other files are Perl object-oriented scripts
that implement the behavior state machines, inter-robot communication,
and hooks into the OPEN-R variables and functions that interface to
the robot hardware.

TOP LEVEL DIRECTORIES
----------------------------------------------------------------------

* CDTMaker
  Scripts for generating color maps

* EffectorComm
  Legacy module for queueing and sending joint commands to OPEN-R

* RobotComm
  Main module containing code for vision, localization, locomotion, etc

* SimPerl
  a simple Matlab-based simulator for behavior code

* SoundComm
  Module that handles all sound processing

* TinyFTPD
  The tinyftp program

* UDPComm
  Module that abstracts UDP communications

* common
  Useful header files 

* ers7	 
  Build directory (also contains Perl behavior code)

* matlab_robocup05
  Miscellaneous code for interfacing Matlab to the Aibo

* util
  Helpful Perl scripts
