FINAL REPORT

Project: Visual Simulation Environments & Robot Drivers
Student Researchers: Maralee La Barge, Emily Greenfest, Sarah Klaum
Advisor: Deepak Kumar
Institution: Bryn Mawr College


The goal of our project was to write a Macintosh virtual simulation of the Khepera robot, based loosely upon work done by Olivier Michel, University of Nice, which was written for the UNIX environment. Completing the project involved three major steps:

1) developing an application for the Macintosh OS
2) modeling the physical Khepera robot accurately in a virtual environment
3) learning how to interface with a physical Khepera robot through the serial port.

First, developing an application for the Macintosh involved learning PowerPlant (part of the Metrowerks Code Warrior IDE), a collection of wrapper classes that hide the foundation level details of the operating system. We were unfamiliar with the package at the beginning of the project. Due to lack of tutorial resources on PawerPlant, we spent more time learning this development environment than we might have otherwise. By the end of the first semester, we had completed a smaller project similar to what we hoped to attain with the Khepera simulation. It brought to life the "Grid World" agent, an AI model of stimulus response behaviors defined in Nils Nilsson's text, Artificial Intelligence: A New Systhesis. Our GridWorld is freeware, available for downloading at:

http://mainline.brynmawr.edu/~mlabarge/darts/GridWorld.html

Through GridWorld, we learned essential ingredients for the Khepera simulation, such as creating a single-window graphics interface and menu handling, as well as the more advanced task of thread management. While these ideas were applied to the more complex Khepera simulation, completing the full project included the additional task of learning how to implement a multi-window GUI, as well as the facility of saving, opening, and printing files.

The second step involved developing an accurate virtual model of the physical Khepera robot. This portion of the project initially relied heavily on Michel's implementation. However, as our project progressed, it became increasingly clear that the mathematical representation of the Khepera robot used in the UNIX simulation was incorrect in some areas. Consequently, we found it necessary to undertake the challenging task of developing new mathematical models for collision detection, sensor readings, and robot motion. At this time, collision detection has yet to be perfected, but our simulation currently models most behaviors of the physical Khepera more accurately than the UNIX version.

Third, learning how to interface with the physical Khepera through the serial port proved to be the most challenging (and least successful) portion of our project. The task, which differed from other two as it involved unfamiliar hardware concepts, was made more difficult by a lack of current information. Consequently, the serial port interface to the physical Khepera is still incomplete.

In sum, we feel that we have accomplished the majority of the work we set out for ourselves. At this time, we have implemented a working Macintosh simulation for the Khepera robot. The simulation, which provides a fully functional GUI interface, allows users to create a virtual world with which the model robot may interact and to write a program controlling that interaction. User defined programs can utilize provided library functions that hide the inner workings of the simulation. We hope that future students may be willing to undertake the task of completing the project in full.

Department of Mathematics & Computer Science
Bryn Mawr College
101 N. Merion Ave
Bryn Mawr, PA 19010