Probabilistic path planning for heterogenous UAV swarms.
-
This repository contains files related to the "Multi-UAV Swarm for Search & Rescue" project, undertaken at the Mobile Robotics Laboratory in the Indian Institute of Science, Bengaluru.
-
We compared the performace of this model to the conventional lawn-mower model, both in simulation and physical environments. Our model outperforms the conventional algorithms ¹.
-
The exploration model here is based on the novel "Weight Based Probabilistic" path planning algorithm ², described in the figure below.
2.1. Trigger the ENVIRONMENT
. This launches mavros
, mavlink
& the prototyping environment:
sarthak@Cipher:~/catkin_ws/src$ ./environmentlaunch.sh
This triggers the mavros
node to control the UAV and sources
the catkin
environment.
2.2. The OFFBOARD
control for the autonomous traversal of the environment can be triggered using the quad_node
node.
sarthak@Cipher:~/catkin_ws/src$ rosrun quad quad_node
2.3. Trigger the survivor model by invoking the quad_observer_node
.
sarthak@Cipher:~/catkin_ws/src$ rosrun quad quad_observer_node
The velocity of the survivor has been set in variables.hpp
, and can be varied accordingly. For our tests, we set this velocity to either 0.3 or 0.6 m/s.
2.4. A subber.py
script has been created to subscribe to the UAV's and the survivor's position, which are described as ROS topics.
sarthak@Cipher:~/catkin_ws/src/quad/include/quad/plotter$ python subber.py
The script subscribes to topics of the form, /uavX/mavros/global_position/local
& /uavX/survivor_position
for plotting.
Note: X referes to a variable number of UAVs that can be deployed using this stack.
2.5 The ros_graph
of the simulation environment is shown below.
Figure 2.1 ROS Graph of the simulation environment
- The ROS simulation environment is as shown below. The UAV is an 3DR Iris Quadcopter, running a
mavros
node on a PX4 Autopilot board.
Here, the UAV attempts to find the survivor using the lawn-mower.
Figure 3.2 UAV Lawn-Mower Trajectory in SimulationUAV X Coordinate Variation | UAV Y Coordinate Variation | UAV Z Coordinate Variation |
---|---|---|
Survivor X Coordinate Variation | Survivor Y Coordinate Variation | Survivor Z Coordinate Variation |
---|---|---|
The UAV starts out following the lawn-mower pattern, then follows the probabilistic pattern upon receiving a stream of messages from the quad_observer_node
.
UAV X Coordinate Variation | UAV Y Coordinate Variation | UAV Z Coordinate Variation |
---|---|---|
Survivor X Coordinate Variation | Survivor Y Coordinate Variation | Survivor Z Coordinate Variation |
---|---|---|
- The UAV used for the physical testing is as shown below, similar to the Iris Quadcopter used in the simulation environment. We use a PX4 Autopilot here as well.
Figure 3.4 UAV used for Physical Testing
Trajectory | Trajectory X-Y Projection |
---|---|
UAV X Coordinate Variation | UAV Y Coordinate Variation | UAV Z Coordinate Variation |
---|---|---|
Survivor X Coordinate Variation | Survivor Y Coordinate Variation | Survivor Z Coordinate Variation |
---|---|---|
Trajectory | Trajectory X-Y Projection |
---|---|
UAV X Coordinate Variation | UAV Y Coordinate Variation | UAV Z Coordinate Variation |
---|---|---|
Survivor X Coordinate Variation | Survivor Y Coordinate Variation | Survivor Z Coordinate Variation |
---|---|---|
[¹] - Ravichandran, Rahul., Debasish Ghose and Kaushik Das. UAV Based Survivor Search during Floods. In International Conference on Unmanned Aircraft Systems (ICUAS), pages 1407–1415, 2019.
[²] - Shetty, Sarthak J., Rahul Ravichandran, Lima Agnel Tony, N. Sai Abhinay, Kaushik Das, and Debasish Ghose. Implementation of Survivor Detection Strategies Using Drones. arXiv preprint arXiv:2003.12559, 2020.
@article{Shetty-et-al-2020,
title={Implementation of Survivor Detection Strategies using Drones},
author={Sarthak J. Shetty and Rahul Ravichandran and Lima Agnel Tony and N. Sai Abhinay and Kaushik Das and Debasish Ghose},
publisher={arXiv pre-print},
note={\url{https://arxiv.org/abs/2003.12559}},
year={2020}
}