Warning: array_merge() [function.array-merge]: Argument #2 is not an array in /home/h/pq/html_prj/_website.php on line 19
prj.perquin.com

Hardware/Software Projects


Robot Simulator

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.

Screenshots

Robot Simulator Uses' Manual

Manual updated to build 011023:003

Robot Simulator Program Keys

GENERAL
ESC: Quit
F12: Toggle full screen/window
R: Reload scene configuration

OBJECT MANIPULATION
1-9,0: Select object, object 1 is the robot.
Left/right arrow: Turn object left/right
Up/down arrow: Move object forward/backward

CAMERA CONTROL
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.

Scene Configuration

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.

Configuration Commands
Camera camno posx posy posz rotz lookup objnoDefine 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 objectnoStart an object definiton block. Last object defined is the active object upon startup.
Position posx posy poszSet object positon
Orientation rotx roty rotzSet object orientation
Collision limitTurn on collision detection for this object. Limit is the radius within no other object can approach this object.
PushMatrixPush current transformation matrix on stack
Translate x y zTranslate position
Rotate deg axisx axisy axiszRotate along axis
Color r g b alphaSet color
DrawBox sizex sizey sizezDraw box at current position
DrawDisk radius thickness no_segmentsDraw a disk around the z-axis
DrawBase width lenght height thicknessDraw base plane in coloridx 0, with walls around it.
DrawWall x1 y1 x2 y2 height thicknessDraw a wall.
PopMatrixPop transformation matrix from stack
ObjectEndEnd object definiton

Collision Detection

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.

Disclaimer: By using any material obtained from this website you expressly acknowledge and agree that such use is at your sole risk.
Copyright ©2001-200666666 Perquin, All rights reserved.