MRTA Sim

A custom python simulator for testing multi-robot task allocation algorithms.

It is modular in nature, and every robot, goal/task location, charging station is loaded in as a node.
Every node can be expanded to  maintain additional properties as required.
A list is maintained for every type of node.
Maintaing every node's  poisition as x-y coords enables  continuous space plaanning instead of disreetized.
In every iteration of update loop, the robots move towards their goal by velocity*dt amount.
After the action, multiple checks regarding  battery charge, task completion, etc are performed and lists updated.

2  GUI's : PyGame and matplotlib.
Despite implementing advanced blitting in matplotlib, the pygame gui is still faster.

Obstacles not incroporated,  can  represent use cases such as those of drone surveilance  or serach and rescue, where a limited number of drones  have multiple tasks sites to attend,  and also a limited number of charging stations  which they need to occasional attend. Can be used check emperical statistics of  deployed algorith, such as time for task completion, percentage of task completion,  number of bots with dead batteries, etc.

MRTA_run1.mp4

An older version of the code.
This was based on discreet rasterization.
Any image can be loaded as an occupancy grid.

Robots, tasks, charging station nodes were overlayed on this oocupancy grid.

Base A* was implemented and collision checks are implemented for formulation.