Simulation of different kind of Robots in a 3D visualisation scene
under Borland Developement Studio 2006 and OpenGL

How to
Simulate Robot using a physical model and act on them using an user friendly 3D visulaisation tool.
Executable and some sources are provided.

New synchronous linear motor : MSlin

Let's start for presenting a screen capture of the application :

Robots : General view

We ca see diffents robots, named :
We act on them by selecting the robot in the drop list than use the numerical pad.
Each robot has its own commands.
A yellow triangle (with its shadow on the ground) represents the target view point. This view point can be moved in the 3 directions and we can rotate the camera up and down, left and right around it.

The camera view can be changed using the mouse but also using the keyboard modes:

Mouse (simpler way to move around) : Keyboard : Other tasks:

Robot4 : 2-wheel drive robot (robot à traction avant, 2 roue directrices)

robots_4h robots_4c

The arrows on the grey floor represent the motion force FT (blue), the friction force Ffr (red) and the speed V (green).
The Robot4 can advance, turn, go backwards. It also has an automatic mode in which he apply a sequences of FT and stearing.

Select the robot4, (they may be 2 on the scene, they are numbered on top of them), start the Animation mode (key 'A') then sytart using the numerical keypad :

RobotK : Khepera robot

robots_kh robots_kc

This robot is a model of the Khepera. We can act on the speed of each wheel (forward and reverse).
The arrows represent the wheel speed (blue) and the robot speed (green) of the khepera.



View of Monocycle (a one wheel robot withan inverted pendulum motorised and connected to this wheel)



View of Bicycle (a two wheels robot with an inverted pendulum, a motor on each wheel) / Segway
Still under developpement...

MRVlin : Switched reluctance linear motor (moteur à réluctance variable linéaire)

robots_mrvh robots_mrvc

View of MRVlin (a switched reluctance linear motor with active plots colored by phase. The plot get lighter when the corresponding coil is powered.
We can simulate different physical models and different paths (Rail) (curved, linear... see Menu Run/Options MRV /rail).

The arrows represent the z-direction Fz (blue), the x-direction force Fx (red) , the plane x-z resulting force Fxz (magenta) and the speed V (green).


MRVlin : Version expérimentale.

MRVlin version capteur infrarouge MRVlin version batterie

MSlin : Synchronous linear motor

View of MSlin, a permanent magnet synchronous linear motor with active plots colored by phase. The Hall effect sensors get lighter when they are activated (over a magnet : North or South) as a consequence, Hall indicators turn to 1 or 0 (see text above the MSlin). Then a Sector variable is computed and the correct 2 phases are fired to allow the current flowing into them.
We notice that the conductors being over the magnets (on the photo : a, cp, ap, c) are in lighter color, indicating that they are powered.
The conductor which is not in front of the magnet has no current.
The text above the MSlin indicates in which direction the current flows (1 or -1) into the conductors a, cp, b, ap, c, bp.
This is a 120° control also knows as 6 sectors control of BLDC motor.
The arrows represent the x-direction force Fx (red) and the speed V (green).

Keys (numerical keypad) :

MSlin : Version expérimentale.

MSlin V2 détail des roulements, des encoches, de l'isolant et du bobinage MSlin comparaison V2 et V1 MSlin V2 avec carte de commande et de puissance ainsi que l'écran LCD et le pendule inverse MSlin état des sondes Hall

Download :
The problem is that I use this software for educational project and I can not give the full sources. You have to contact me individually.
However, you can download directly a part of it translated in Visual C++ 6 / VS 2005 (updated VS 2013) which is given to students as a beginning base for their project. We then ask them to add classes representing robots with different behaviour and complexity.   Sources in Visual Studio 2005 / C++ (outdated).   Sources in Visual Studio 2013 / C++ (Updated 22/01/2020, Unicode).

For a direct use click below :   The full executable, ready to use.

Back to homepage

Last update : 15 december 2006