With this software you can simulate in 3D a mobile robot in a maze. Included are the maze layout and robot used in the c’t robot contest. Also included is a full installer/uninstaller.
Download Robot Simulator (400kb)
To install, run the downloaded file. To unistall, select uninstall from the Start menu.
Robot Simulator Uses’ Manual
Manual updated to build 011023:003
Robot Simulator Program Keys
F12: Toggle full screen/window
R: Reload scene configuration
1-9,0: Select object, object 1 is the robot.
Left/right arrow: Turn object left/right
Up/down arrow: Move object forward/backward
F1-F6: Select camera (keep pressed until view changes). Cameras can at a fixed position or can be mounted on a object.
A/D: Turn camera left/right.
W/S: Move camera forward/backward.
Page up/down: Move camera up/down.
Home/End: Turn camera up/down.
The scene configuration is stored in the text file config.txt in the working directory. The following commands can be used in the configuration file. A command is aways on a separate line and starts with the command name, followed by the command arguments. Units are in meters. Blank lines are ignored. Any characters appearing after the hash (#) character are considered comments.
|Camera camno posx posy posz rotz lookup objno||Define a camera at position and rotation. If objno>0 then the camera is bound the object with that objno. Last camera defined is the active camera upon startup.|
|ObjectStart objectno||Start an object definiton block. Last object defined is the active object upon startup.|
|Position posx posy posz||Set object positon|
|Orientation rotx roty rotz||Set object orientation|
|Collision limit||Turn on collision detection for this object. Limit is the radius within no other object can approach this object.|
|PushMatrix||Push current transformation matrix on stack|
|Translate x y z||Translate position|
|Rotate deg axisx axisy axisz||Rotate along axis|
|Color r g b alpha||Set color|
|DrawBox sizex sizey sizez||Draw box at current position|
|DrawDisk radius thickness no_segments||Draw a disk around the z-axis|
|DrawBase width lenght height thickness||Draw base plane in coloridx 0, with walls around it.|
|DrawWall x1 y1 x2 y2 height thickness||Draw a wall.|
|PopMatrix||Pop transformation matrix from stack|
|ObjectEnd||End object definiton|
The program uses 3D collision detection between objects and walls. Objects are represented for collision detection purposes by a sphere centered at objects Position, with radius set with the Collision command. Collision betweens between objects will move the object collided into in the same amount as the moving object.