Skip to content

Probabilistic path planning for multi-robot systems. Published in CONNECCT 2021 & Elseiver 2021.

Notifications You must be signed in to change notification settings

SarthakJShetty/Weight

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Weight

Probabilistic path planning for heterogenous UAV swarms.

⚠️ Code is buggy ⚠️

1.0 Introduction:

  • 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.

Weight-Based Exploration
Figure 1.1 Weight-Based Exploration

2.0 Simulations:

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. alt text Figure 2.1 ROS Graph of the simulation environment

3.0 Results:

3.1 Simulation Results:

  • The ROS simulation environment is as shown below. The UAV is an 3DR Iris Quadcopter, running a mavros node on a PX4 Autopilot board.
ROS Simulation Environment
Figure 3.1 Simulation Environment on ROS

3.1.1 Lawn-Mower Results:

Here, the UAV attempts to find the survivor using the lawn-mower.

UAV Lawn-Mower Trajectory in Simulation
Figure 3.2 UAV Lawn-Mower Trajectory in Simulation
UAV X Coordinate Variation UAV Y Coordinate Variation UAV Z Coordinate Variation
alt text
Survivor X Coordinate Variation Survivor Y Coordinate Variation Survivor Z Coordinate Variation
alt text

3.1.2 Weight-Based Results:

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 Weight-Based Trajectory in Simulation
Figure 3.3 UAV Weight-Based Trajectory in Simulation
UAV X Coordinate Variation UAV Y Coordinate Variation UAV Z Coordinate Variation
alt text alt text alt text
Survivor X Coordinate Variation Survivor Y Coordinate Variation Survivor Z Coordinate Variation
alt text alt text alt text

3.2 Physical Testing Results:

  • 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.

alt text Figure 3.4 UAV used for Physical Testing

3.2.1 Lawn-Mower Results:

Trajectory Trajectory X-Y Projection
alt text alt text
UAV X Coordinate Variation UAV Y Coordinate Variation UAV Z Coordinate Variation
alt text alt text alt text
Survivor X Coordinate Variation Survivor Y Coordinate Variation Survivor Z Coordinate Variation
alt text

3.2.2 Weight-Based Results:

Trajectory Trajectory X-Y Projection
alt text alt text
UAV X Coordinate Variation UAV Y Coordinate Variation UAV Z Coordinate Variation
alt text alt text
Survivor X Coordinate Variation Survivor Y Coordinate Variation Survivor Z Coordinate Variation
alt text alt text alt text

4.0 References:

[¹] - 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.

5.0 Citation:

@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}
}

About

Probabilistic path planning for multi-robot systems. Published in CONNECCT 2021 & Elseiver 2021.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published