The software consists of three main applications (so far). This makes it easy for each of the three original designers to work on their own area of interest
The AI implementation of the Leaf personality, written by Bruce, is the focus of control over the robot. This program is written in Lisp.
We are using RoboRealm (roborealm.com) and openCV for vision.
Alex is writing the microcontroller software as well as the Navigation and Control software for the laptop. (I'm going to call this the "N&C" software for the future)
The applications will communicate via messages through shared memory in dll's initially. There are other methods of communication which may be evaluated in the future.
All software, except that in the microcontroller will run in a laptop computer under Windows XP, Vista or 7.
Free compilers are available for both the Lisp and N&C code which run in the laptop. The microcontroller compiler is not free, but almost nobody has shown any interest in changing that code. Ask on the mail list if you want more details for the micro compiler.
The free lisp compiler is the LispWorks Personal Edition available at http://www.lispworks.com/downloads/.
The free C++ compiler is the Microsoft Visual C++ 2010 Express Edition available at http://www.microsoft.com/express/vc/ .
See documentation included with software downloads for instructions on how to install the software into your computer.
For more about the software packages,
The AI program in Lisp generating Leaf's personality, motivations, etc.
Note: the instructions for installing Lisp tell you to install the SAPI 5.1 speech API. This is correct for Windows XP but is unnecessary for Vista or Windows 7. In fact if you do install SAPI 5.1 to these versions of Windows, you will corrupt the already built in version of the SAPI.
N&C: A C/C++ program performing general control and navigation functions.
RComm: Transfers data messages between N&C and Lisp
Utilities: Various support programs
Microcontroller: The real-time code performing sensor gathering, motor PID control, low level navigation and any other I/O. This is programmed in C
Note: For API information between the N&C software and Lisp, see "How it works" under the N&C link above. For the API between N&C and the microcontroller, see the "Microcontroller software user's manual" under the Microcontroller link above.