Skip to content

SkydropDroneDeliveries/skydrop_drone

Repository files navigation

skydrop_drone

Introduction

SkyDrop is an automated UAV delivery system designed for a specific apartment building. This system allows parcels to be delivered from the apartment gate/security room to the destination apartment balcony by a UAV.
The complete system consist of an autonomous UAV system and a dashboard to send commands to the UAV. This repository contains the implementation related to the autonomous UAV system.

Technologies: Gazebo Simulator | Ardupilot | ROS | Dronekit Python | C++

This work is based on the work done by Brunner et al., 201912. In our project, we are trying to improve their work further more by considering the suggestions mentioned by them in their research paper along with our own ideas.

Setting up the local environment

The following tools and softwares should be installed in the local machine.

Learning materials for technologies

Instructions to clone the project to local machine

Step 01: Create a catkin workspace. (We can skip this step as we already created a workspace when we installed MAVROS).
For more delatis visit ROS wiki: create a ROS workspace using catkin_make.
Here we use catkin build instead of catkin_make.

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin init
catkin build
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

Step 02: Clone the project inside the src directory of the catikin workspace.

cd ~/catkin_ws/src
git clone [email protected]:SkydropDroneDeliveries/skydrop_drone.git

Step 03: Rename the directory from skydrop_drone to skydrop.

mv skydrop_drone skydrop

Step 04: Set model path for Gazebo models.

echo "export GAZEBO_MODEL_PATH=${GAZEBO_MODEL_PATH}:$HOME/catkin_ws/src/skydrop/models" >> ~/.bashrc

Step 05: Build the project.

cd ~/catkin_ws
catkin build

Step 06: Update the global variables.

source ~/.bashrc

Instructions to run the project

We need multiple terminals to run the project.

Terminal 01: Launch the Gazebo world

roslaunch skydrop <requiredWorldsLaunchFileName>.launch 

Replace the <requiredWorldsLaunchFileName> with the launch file name of the world that you wish to open in Gazebo.

Terminal 02: Launch the Ardupilot SITL

roscd skydrop
cd scripts
./startsitl.sh

Terminal 03: Start MAVROS to get telemetry data from the Flight Control Unit (FCU).
NOTE: Wait until startsitl.sh script completes its work before starting the MAVROS.

roslaunch skydrop apm.launch

Footnotes

  1. Research Paper of Brunner et al. work: Link to the research paper
    Brunner, G., Szebedy, B., Tanner, S. and Wattenhofer, R., 2019, June. The urban last mile problem: Autonomous drone delivery to your balcony. In 2019 international conference on unmanned aircraft systems (icuas) (pp. 1005-1012). IEEE.

  2. GitHub Repository of Brunner et al. work: Link to the repository

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •