Biorobotics Laboratory BioRob

Using Bluetooth to Control a YaMoR Modular Robot

Semester Project
Winter 2004-2005
Cyril Jaquier - Kévin Drapel
Supervisors: Professor Auke Ijspeert, Alessandro Crespi, Andres Upegui

The Biologically Inspired Robotics Group (BIRG) of the Swiss Federal Institute of Technology in Lausanne (EPFL) is working on modular robotics. Computer simulations are mainly used but prototypes also exist. Most of them are controlled by a wired connection. This project aimed at finding how the wires could be replaced by a Bluetooth connection on the YaMoR robot units. Wireless communication allows better freedom of movements and ease of use. Although complete autonomous unit is the final aim, a centralised Java application is used to control every module.


The YaMoR units were designed by Elmar Dittrich who was in charge of the mechanical aspects (motor, case, materials). Rico Moeckel then worked on the electronic parts (power supply, Xilinx FPGA and Bluetooth boards), the control software in VHDL for pulse wide modulation and the Bluetooth protocol. Despite the fact that a Bluetooth support was available on each module, a real interface between a computer and the modules was still missing. It was obviously necessary to provide a direct wireless communication between the PC and the robot. With low budget in mind, the solution based on Bluetooth had to be simple and easy to install.

We were also in charge of ordering and assembling the rest of the modules. The goal was to mount seven units to form a robot in a piconet network before the end of the semester. We directly ordered additional components to reach a total of 20 units.


Another point which had to be reevaluated was the software used to communicate with the modules. Jean-Philippe Egger had written a Java application called Java-Motion where the user could draw trajectories. Elmar Dittrich slighty modified this application to fit with the modules. We decided to write a new application from scratch using concepts already present in Java-Motion but without its limitations. Our application called Bluemove allows the control of an unlimited amount of units. Trajectories can be linear or smooth and composed of an infinite set of keys. Although it is used to control YaMoR units with Bluetooth, Bluemove can easily be adapted to use other communication types and modules. Basic features such as project saving and opening or console messages are present. This application is written in Java and currently works with Linux. However, it should run under other operating systems.


Modular robots examples

Here are some modular robots we created. Most of them were inspired from Elmar Dittrich work. At the time of the making of the videos, we only had two working modules at disposal. However we added two passive units to some modular robots and thus got interesting configurations.


This modular robot starts on the side, stands up and then starts moving.


This basic robot moves its tail upside down, this is somehow an inverted and simplified version of 2-standup


The "Ben" is a kind of moving arch with two legs and a sliding motion.


This robot heavily uses a pendulum effect to move forward. A small modification of the frequency may increase the "horse" gait


A nice configuration with an aligned row of modules which can either move forward and backward in a lateral motion


The "Trebuchet" has an oscillating head. The name comes from the siege weapon used against castle and powered by gravity.