Source Code

(back to main page)

As requested by a few people I have posted the source code to both the simulator and the map editor.  I would highly recommend reading the FAQs below before downloading it.

The code is provided as is, without any warranty.  Some parts are nicely written and well commented and some are not.  You could do anything you want to it, as long as you don't claim it as your own, or profit from it.  The only documentation available is from thesis.pdf and I would highly recommend reading it before looking at the source code.

Map editor source code

Simulator source code

FAQs

I want to use the simulator to simulate my own robot.  How should I get started?

The first thing is to read thesis.pdf, especially the chapter on the robot API.  I would recommend leaving the the robots shape as is.  It is very possible to change the size of the robot and sensor placement with the map editor but some parts are hard coded, or not tested to work in perhaps other situations.  As for editing the code, delete everything the AIExplorer class except the macros.  The AIExplorer class is where most of the AI code is, and is the code that was actually ported to the robot as seen by the video.  Then place your own source code in the class using the API to control the robot.

Why are some parts of the source code rushed, and lacking comments?

I had 7 months to do the entire robot project, while taking nearly a full course load at university.  Out of the time spent around half of it consisted of building the robot which was very time consuming.  The software rushed and not all parts especially some Q&D components such as dialog boxes were not properly commented.

Is there ever going to be a programmers manual to the source code?

Probably not.

Why won't the source code compile (html help errors, d3d errors)?

I compiled the code under visual C++ 6.0 with both the html help and direct X 8.0 library included.  You have to include these in order to compile the simulator.

What is up with the AIExplorer file and its macros?

The robots embedded compiler is a c compiler, so it was necessary to be able to port the code over to a c compiler so these macros were necessary.