Drona

A Programming Framework for Building Reliable Distributed Mobile Robotics Systems.




View Drona Source on Github » View Drona Software Stack Info Wiki »

Drona Team

  • Ankush Desai (Contact), University Of California, Berkeley.
  • Indranil Saha, IIT, Kanpur.
  • Shaz Qadeer, Microsoft Research, Redmond.
  • Prof. Sanjit Seshia, University Of California, Berkeley.

Acknowledgements

This work was supported in part by the TerraSwarm Research Center, one of six centers supported by the STARnet phase of the Focus Center Research Program (FCRP) a Semiconductor Research Corporation program sponsored by MARCO and DARPA.


Framework Demo

In this video, we provide an overview of how the framework can be used for interacting with PX4 firmware. We show how the programming language P can be used to program a simple drone software stack and drive a drone in jMavSim simulator. The generated trace during simulation is visualized live in a state-machine visualization tool DGML.
For more details about the source code executed on the PX4 firmware please visit https://github.com/Drona-Org/Drona/wiki/Drona-Software-Stack

ROS Simulation Demos

We present simulation videos for various configurations by varying the number of robots in the system and the grid size. The orange blocks in the workspace represent static obstacles and green blocks represent potential goal locations for the robot. During simulation tasks represented as (taskId, goalLocation) are randomly generated and sent to the robot. Each robot on receiving a task request, dynamically computes the path using the multi-robot motion planner implemented in Drona. The simulator uses ROS and Rviz

How to run these simulations? »

Demo of 8 Drones in a 16x16 grid (Watch in full screen mode)




Demo of 32 Drones in a 32x32 grid (Watch in full screen mode)




Demo of 64 Drones in a 64x64 grid (Watch in full screen mode)





Demonstrate Effect of delta on path planning

In this simulation, there are two robots that are assigned a task to go to a particular green location. The path on the left is shorter than the part on the right for both the robots. We conduct a series of experiments for different values of delta. (delta = 1, 2, 3). delta = 1 means that the drones must consider a time-step window of 1, delta = 2 means that the drones must keep a time-step window of 2. You could see that the drones keep sufficient distance among themselves and being conservative with respect to delta.
When delta = 3, the drone on right will have to wait/hower for a longer time which has an associated cost so it choose another path which turns out to be less costly. This demo demonstrate that our motion-planner considers time-synchronization error and in the presence of that computes the optimal path.



Demonstrate that the motion planner can perform 3D planning (Watch in full screen mode)

Demo of 32 Drones in 32x32x4 grid



Simple Drone Surveillance Mission on Astec Firefly

During this mission the drone is executing the generated code from drona framework. The task planner is continuously sending the next location in the grid to be surveyed and the drone visits that location and waits (may be takes an image :)) When the mission-completed message is sent by the task-planner the drone dynamically computes path to the home location and returns.