Biorobotics Laboratory BioRob
Towards an improved framework for YaMoR
Semester Project
|
The Biologically Inspired Robotics Group (BIRG) of the Swiss Federal Institute of Technology in Lausanne (EPFL) is working on modular robotics. We developed a Java application called Bluemove to remotely control the first version of the YaMoR modules using Bluetooth. The user can directly describe the position sent to the servos in a graphical manner. However, despite the fact that the user can drag the control points in a trajectory, he can only do that with a single curve at once. We tried to find new ways to improve the control via a scripting and plugins system with a graph interface. The user can then explore complex behaviors which were not possible with the first version of the application. Moreover, the commands can be mapped to the keyboard. As testing new robots can be a tedious job, we also worked on a 3D simulator that receives information from our Bluemove application and allows the user to quickly try various configurations in a virtual world.
Eve - The YaMoR simulator
Professor Ijspeert suggested that it would be
convenient to have a simulator where one could test the trajectories
drawn in Bluemove. Previous works on YaMoR simulation were done by Yvan Bourquin and Daniel Marbach but they focused on evolution and exploration of new configurations. Interaction with the user was mainly restricted to setting initial parameters for the evolutionary algorithms. Our simulator aims at filling the gap between the user and the virtual robot while it is moving. The current version of our simulator works with the same configuration during runtime (ie. no morphological evolution) but the way the modules are connected can be quickly changed to conduct a new simulation.
We used Irrlicht as the 3D engine for the simulator and ODE for the physics. Communication is done using XML-RPC.
|
Further improvements of Bluemove
Bluemove
allows to draw trajectories for each unit. The user can change the keys
positions while playing allowing a kind of real-time control of the
modular robot. We are able to reproduce basic gaits or speed control as
demonstrated on the serpent video. However, these manipulations are quite limited as it is only possible to move one trajectory key at a time. The idea of plugins and real-time control is to have higher level functions which act on the whole curve or a set of curves. For example, the user could set an amplitude filter on a given trajectory. We can go a step further and change the amplitude parameter while playing the timelines. This parameter could be obtained from another curve output (coupled oscillators) or from an user input such as keyboard or mouse events. With the combination of multiple filters, inputs, generators and outputs, it is now possible to control the movements of a modular robot in a very flexible way. | |
Download
- Project report: report-final-summer.pdf (2.7 MB)
- Project presentation: slides-final-summer.pdf (0.6 MB)
- EVE, source code and libraries: eve-1.0-src-libs.tar.bz2 (6 MB)
- Quake III files (single map from demo version), this file is mandatory for EVE, copy it to the /bin/data directory but do not unzip it: pak0_lite.zip (15 MB)
- Quake III files (all maps from demo version), if you want more levels, you can use the full package of demo version: pak0.zip (external link) (45 MB)
- Archived student projects
- Alain Dysli
- Alexandre Tuleu
- Anurag Tripathi
- Ariane Pasquier
- Aïsha Hitz
- Barthélémy von Haller
- Benjamin Fankhauser
- Benoit Rat
- Bertrand Mesot
- Biljana Petreska
- Brian Jimenez
- Christian Lathion
- Christophe Richon
- Cédric Favre
- Daisy Lachat
- Daniel Marbach
- Daniel Marbach
- Elia Palme
- Elmar Dittrich
- Etienne Dysli
- Fabrizio Patuzzo
- Fritz Menzer
- Giorgio Brambilla
- Ivan Kviatkevitch
- Jean-Christophe Fillion-Robin
- Jean-Philippe Egger
- Jennifer Meinen
- Jesse van den Kieboom
- Jocelyne Lotfi
- Julia Jesse
- Julien Gagnet
- Julien Nicolas
- Julien Ruffin
- Jérôme Braure
- Jérôme Guerra
- Jérôme Maye
- Jérôme Maye
- Kevin Drapel & Cyril Jaquier
- Kevin Drapel & Cyril Jaquier
- Loïc Matthey
- Ludovic Righetti
- Lukas Benda
- Lukas Hohl
- Lukas Hohl
- Marc-Antoine Nüssli
- Martin Biehl
- Martin Riess
- Martin Rumo
- Mathieu Salzmann
- Matteo Thomas de Giacomi
- Matteo Thomas de Giacomi
- Michael Gerber
- Michel Ganguin
- Michel Yerly
- Mikaël Mayer
- Muhamed Mehmedinovic
- Neha Priyadarshini Garg
- Nicolas Delieutraz
- Panteleimon Zotos
- Pascal Cominoli
- Pascal Cominoli
- Patrick Amstutz
- Pedro Lopez Estepa
- Pierre-Arnaud Guyot
- Rafael Arco Arredondo
- Raphaël Haberer-Proust
- Rico Möckel
- Sacha Contantinescu
- Sandra Wieser
- Sarah Marthe
- Simon Blanchoud
- Simon Capern
- Simon Lépine
- Simon Ruffieux
- Simon Rutishauser
- Stephan Singh
- Stéphane Mojon
- Stéphane Mojon
- Sébastian Gay
- Vlad Trifa
- Yvan Bourquin