Ingredients for autonomous construction
Most research in robotics focuses on a specific problem: building better hardware, implementing new algorithms, or demonstrating a new task. Combining all these state-of-the-art ingredients into a single system is the key to making autonomous robots capable of performing useful work in realistic environments. With this in mind, Stéphane Magnenat walks us through all the steps needed to perform autonomous construction using the marXbot in the video below. To make the task challenging, the building blocks from which robots build towers are distributed throughout the environment, which is riddled with ditches that can only be overcome by using these same building blocks as bridges. Because there are few building blocks, the robot has to figure out how to move the blocks in an near-to-optimal way so that it can navigate the environment while still building the tower. Furthermore, the robot does not have any information about its environment beforehand and can only use limited computational resources, as is often the case in realistic robot scenarios.
Solving this challenge requires an integrated system architecture (see figure below) that leverages modern algorithms and representations. The architecture is implemented using ASEBA, which is an open-source control architecture for microcontrollers. The low-level implements reactive behaviors such as avoiding obstacles and ditches or grasping objects. The high-level instead takes care of mapping the environment (using a version of FastSLAM), path-planning and reasoning.
The authors hope that such an integrated approach could help shed light on the capabilities required for intelligent physical interaction with the real world.