Problem statement: A multi agent task execution problem, where two bots are expected to coordinate and play an audio file simultaneously in an efficient manner. The arena consists of obstacles and chords to be played by the robot.
Method: A given audio file is decoded using FFT in a laptop and fed to one of the robots. It then plans the task for each of the robots to play a particular chord based on the shortest distance that each robot can reach from its last played note location to achieve the task. It minimizes the cost of execution by each robot. Map of the arena is fed into each of the robots. The robots know the initial position of the other bot in the arena and the position gets updated as soon as the robot reaches the next node.
The notes have to played in a sequence. In case one of the bots reach the position earlier before the other bot plays the previous note, it waits for the previous bot to play it and then continues. While traversing the arena the robots encounter obstacles. It is detected using a sharp IR sensor that each robot is equipped with. Once an obstacle is detected the bot goes to its previous node and the map gets updated. It also sends the updated map information to the other robot. The bot which detects the obstacles re-plans the task for execution and sends the updated task to the other robot. The other bot stops the execution of any task and starts with updated task. When the bots are about to go through the same node, one of the bot waits till the other one passes by. This way the robots don't collide with each other. The robots used were Firebird V containing ATmega 2560, a sharp IR, IR proximity sensors and a DC Motor of 75rpm with wheel encoders.