Skip to content

leonardocfor/multi-robot-vicsek

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

multi-robot-vicsek

The software uses MPI (a standard supercomputing computing library) and DroneKit to allow a set of vehicles (drones, rovers, etc) to move as a "bird's swarm" using a simplified version of the Vicsek model.

Each vehicle is to be executed on an independent computer, virtual machine, companion computer etc., running ArduPilot SITL or MAVProxy correspondingly. Moreover, all the computers are to be set as a High Performance Robotic Computing Cluster, see here for the configuration of a simple HPRC cluster

The software can be used in real vehicles running ArduPilot (e.g. PX4 boards, etc) with little modification.

Requirements

pip install dronekit geographiclib pymavlink
apt-get install python-matplotlib python3-matplotlib

License

To use this software, please cite the article Towards High Performance Robotic Computing

Disclaimer

The user of this software accepts that possible damages to moving vehicles can occur and release the author(s) of this software of any complaint or reclamation.

  1. Simplified Vicsek model: The software does not currently consider the noise feature in the Vicsek model
  2. Required modifications for real vehicles: The software does not currently include conflict detection

Usage

To execute the software, launch the following command:

mpirun -np X --rankfile <rankfile> python parallelVicsek.py -v <vehicleType> -s <simTime> -t <telemetryFolder>

Where

X = Quantity of vehicles 
vehicleType = <drone, rover>
simTime = Simulation time in seconds
telemetryFolder = Shared folder in the HPRC cluster 

Finally the rankfile is used to execute a single MPI process per vehicle (HPRC node). An example is the following:

rank 0=<hostname_vehicle_1> slot=0
rank 1=<hostname_vehicle_2> slot=0
rank 2=<hostname_vehicle_3> slot=0
rank 3=<hostname_vehicle_4> slot=0
rank 4=<hostname_vehicle_5> slot=0

Checkout a video example in here: HPRC Swarming with 4 UAVs

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages