Mobile control interface for modular robots

Motivations

As Roombots prototypes – and modular robots prototypes in general evolve, the necessity of having an interface to efficiently control them increases.
By now, software tools for modular robots exist but are generally adapted foronly part of the work that can be done with them. For example people from the Biorobotics Laboratory use a robotic simulation environment, that seems to be well adapted for simulation, and development tasks, but it is maybe not the better tool to control a real modular robot.
So it would be interesting to have a tool that is designed for modular robots, with ability to run ether in simulation mode or in command mode, with a two ways communication channel(command the robot and get feedback).
Such a tool should be used during the development process to compare the observed to the expected behavior of Roombots, and provide a way to stop everything in case of failure.
Another use of a dedicated interface that can be imagined is a mode in which a lay user can play with the robot, without having to understand how it works.
 

Implemented application

After having tried to define the specifications of an ideal interface to control Roombots, I started to implement it.

The goal of this tool is to provide a visualisation of Roombots, and to allow the user to select objects in order to modify the value of degrees of freedom of the modules, and state of active connection mechanisms.

The application has been written in C++. It use Ogre3D as render engine and the Qt framework. Doxygen documentation of the code can be found below.

 

Screenshot of the Roombots Cockpit in action.