# Collaborative Path Planning (supplemented [Amira's page](https://fab.cba.mit.edu/classes/865.21/topics/path_planning/collaborative.html) from 2021) - ["A review of collective robotic construction"](https://robotics.sciencemag.org/content/4/28/eaau8479) is great introductory article about collective robotic construction (CRC) and path planning, the following image is from the paper and summarizes how collective robotic construction depends on and is at the intersection of many other fields: <img src="./img/collaborative/summary.png" width="50%"/> <img src="./img/collab_nature.png" width="100%"/> Collective construction exists across many scales and colony sizes in the animal kingdom, as approximately outlined in the graph. These have inspired a variety of CRC systems spanning the spectrum of centralized to decentralized coordination, which, in turn, is strongly linked to the type of platform and material chosen. The bottom right photo shows what has yet to be achieved with CRC: construction with readily available, arbitrary materials. - One of the key decisions when designing a collaborative/swarm construction system is whether **centralized** or **distributed** control will be used for the path planning. In the paper ["Algorithmic Approaches to Reconfigurable Assembly Systems"](http://cba.mit.edu/docs/papers/19.02.algoreconfig.pdf) there is a comparison between two approaches and the following chart summarizes when each approach is advantageous. Centralized algorithms work best for smaller systems, when there is very low probability of failure, or when accuracy/speed is crucial therefore there is a need for large central computational resources to optimize the process. However, for larger systems, distributed approaches will be cheaper, scalable and more fault tolerant. <img src="./img/collaborative/comparison.png" width="80%" /> <br> - An example for a multi-agent centralized robot construction system is discussed in this paper: ["Material-Robot System for Assembly of Discrete Cellular Structures"](http://cba.mit.edu/docs/papers/19.07.materialrobot.pdf). <img src="./img/collaborative/robotic-assembly-1.gif" width="42%" /> <img src="./img/collaborative/robotic-assembly-4.gif" width="33%" /> <br> The centralized system is aware of the location of the deployed robots at each timestep t (based on the previously calculated paths) and uses this when performing the next path search. If no such path exists, the robots wait for a certain amount of timesteps until a path is cleared. We call this strategy spatiotemporal scheduling, <img src="./img/collab_multiple.png" width="70%" /> <br> - the distance field of the target shape to be built is used to get the construction sequence for the building blocks. The centralized systems creates a spatio-temporal map to assign tasks to different robots. <img src="./img/collaborative/distance.png" width="86%"/> - An example for a distributed multiagent construction system is "Termes". In the paper ["Designing Collective Behavior in a Termite-Inspired Robot Construction Team"](https://science.sciencemag.org/content/343/6172/754.full). Inspired by termites and how they use stigmergy and local cues to build large structures, the agents use a height map of the desired target structure to create a set path (that all the robots follow) with local rules on when to build/deposit material. <img src="./img/collaborative/termes.png" width="60%"/> This is an approach derived from the classically insect-inspired notion of stigmergy in which, instead of any explicit broadcast or oneto-one communication between agents, all communication is implicit via the joint manipulation of a shared environment. Particular focus on qualitative stigmergy where actions are triggered by qualitatively different stimuli, such as distinct arrangements of building material.Robots add bricks to the structure in response to existing configurations of bricks. - Moreover, force aware distributed robotic construction was explored in detail in Nathan Melenbrink paper: ["Local force cues for strength and stability in a distributed robotic construction system"](https://link.springer.com/article/10.1007/s11721-017-0149-2) <img src="./img/collaborative/force2.png" width="70%"/> <br> <img src="./img/collaborative/force1.jpg" width="35%"/> <img src="./img/collaborative/force3.gif" width="35%" /> <br>