
Evolutionary hide and Seek
Overview
As part of the Advanced Robotics course at ITU, we embarked on a project using the Thymio robot platform to simulate a game of hide and seek. Our goal was to teach two adversarial groups of robots—seekers and hiders—how to catch or evade each other.
Initially, we employed reinforcement learning to train the robots. H owever, we soon discovered that this technique was inadequate for developing long-term strategies. Consequently, we switched to evolutionary learning, which proved more effective for this purpose.
We used computer vision (CV) to detect colors, enabling both groups to identify each other. Our implementation was relatively straightforward but surprisingly reliable compared to more complex approaches attempted by other groups.
Insights
- Evaluating the Reality Gap: The project underscored the importance of assessing the difference between simulation and real-world environments. Simplifications that seem minor can have significant impacts, and overly complex modeling can slow down simulations without necessarily improving accuracy.
- Creativity in Computer Vision: Our simple yet reliable CV approach demonstrated that sometimes, less is more. Creativity and differences in approach in CV solutions can often outperform more sophisticated but less robust methods.
- Learning solutions will always find edge cases that you never thought of and do something that you did not intend
Links
The projects code can be found here.
Here is a visualization of our simulation for one generation of robot groups. The red agent is the seeker, the square in the middle represents a safe zone, and the dotted line marks the arena’s outer bounds:
Extras
We also made a robot that solves sokuban levels as part of this course. It was built and controlled with Lego Mindstorm and it was a great introduction to the importance of component placement and other such design considerations.