This semester project focuses on the problem of online locomotion learning in Roombots, a modular robot developed at the BioRobotic Laboratory of EPFL- École Polytechnique Fédérale de Lausanne.
The software is developed in C++ and use OpenFramework toolkit. The development environment is CodeBlock IDE integrated with Open-Framework version 007 on Ubuntu 11. The below figure illustrates the GUI of the software which contains 6 main sections:
1. RED section: Kinect Settings.
2. YELLOW section: Bluetooth Settings.
3. GREEN section: EXPERIMENT.
4. WHITE section: Visual Monitor.
5. ORANGE section: Program status and messages.
6. BLUE section: Bluetooth Send/ Receive data.
Fig.1: The Graphical User Interface of the experimental software
Fig.2: The diagram illustrating the tracking algorithm which based on the background subtraction algorithm on IR-Images data.
The robots are tested in a square area of 2mx2m. The distance travelled in one experiment time (30s) is measured by tracking the centroid of the blob of Roombots by a Kinect fixed to the ceiling. The distance travelled is fed to PSO algorithm as the fitness value.
Fig.3: Experiment setup
Optimization process result
Fig.4: Fitness value of 10 PSO particles along 8 iterations. The fitness values are generally increasing along the iterations. A high fitness value means a good result. The fitness values are coded by the color bar with red as the highest value and blue as the lowest value. At the first iteration, every particle has a fitness value of 0.
A good gait:
Fig.5: A good gait with a fitness value of 324 in average or 121.5cm (i.e a speed of 4.05cm/s).
The best gait:
Fig.6: The best gait with a fitness value of 395 in average or 150cm (i.e a speed of 5cm/s).
Gait evaluation videos:
Midterm Presentation: Midterm presentation_Nguyen The Anh.pdf
Final Presentation: Final presentation_Nguyen The Anh.pdf
Final Report: Final_Report_Nguyen The Anh.pdf
Experimental Software Manual: Experimental Software Manual_Nguyen The Anh.pdf