This is a tutorial for the MOSIG M2 class, based on Luc Steels’ Mars Explorer robot, itself based on Brooks’ subsumption architecture. The goal is to design a robots fleet to efficiently gather rock samples in a planet. Constraints are that robots cannot exchange messages with each other, and they do not know the position of the rock samples. The only thing they know is that rocks tend to be clustered.
- Implement the environment, a central base, and randomly placed rock samples
- First step: implement a subsumption architecture for robots with basic rules to randomly explore and gather rocks, but without taking advantage of the clustering of rocks. Solution
- Now add a “clustering level” parameter that determines how the rocks are dispatched in the environment (in a more or less clustered way).
- Second step: update your subsumption architecture to take advantage of the clustering of rocks. Solution.
- Compare performance of robots with various architectures: random exploration, Steels’ exploration, or other algorithms of your idea. Which outputs should you measure?
- Also consider robustness of your fleet: what happens if robots fail?