The MotionMind Engine is a general-purpose, real-time, object-oriented software system specifically designed for mobile robots. It has a main Java® part and a small hardware-dependent C part. The former consists of 33 classes with approximately 32,000 lines of code as of September 2010. There is no upper limit to the functionality of the MotionMind engine and its size grows as new functions are invented and installed.
To run a robot with the MotionMind engine,user program, using the MotionMind class functionality. Thus, MotionMind is not only robotic software, but it also is an object-oriented robot-control language at an abstract level. Sophisticated real-time robot functionality can be described in a compact and readable manner with this robot language.
a user can write an independent Java main program, called a
With its well-structured architecture, using the mathematical foundation of Symmetric Geometry, spatial-understanding capacity, and a vision of the future, MotionMind will become the standard robot engine for all high-performance mobile robots.
MotionMind keeps a record of every event, every motion, all sonar data, and all spatial data as it executes a user program. At the end of the execution, MotionMind can output all or some of the data as log files with names of your choice, at the user's request. MotionMind composes trajectories using three log files and a map. MotionMind/Swan can reproduce any motion using this motion-log file. If you send the file to your friend, he or she also can reproduce the motion on his or her robot.
User's Guide to Educational Robot: MME is available from MotionLab. It describes the open-to-the public part of MotionMind class definitions, including all user programs that have been developed for Swan.