Skip to content

This project develops code for autonomous drone navigation in urban areas. Using trajectory planning, the drone maintains height while navigating from start to goal. It detects obstacles with LIDAR and evades them to reach the goal, entering hovering mode upon arrival.

Notifications You must be signed in to change notification settings

hadar-hai/AutonomousDroneNav

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python 3.8.0 NumPy Matplotlib pandas

Autonomous Drone Navigation in an Urban Environment

Teaser.mp4

Hadar Hai, Technion - Israel Institute of Technology

The objective of this project is to develop a codebase that enables autonomous navigation for drones within urban settings using a trajectory planning algorithm. The autonomous drone will initiate its flight from a designated start position and maintain a constant height while navigating the most efficient route towards a specified goal position. Upon reaching the goal, the drone will enter a hovering state, signifying its arrival at the destination.

The drone's LIDAR sensor will be utilized to detect obstacles obstructing its flight path, thereby preventing a direct route to the goal position. Upon identifying such obstacles, the drone is required to implement an evasion strategy, circumventing the obstruction until a clear pathway to the goal is achievable.

Table of Contents

Requirements

The code is intended to be used on Windows 10 machines, and on a compact version of AirSim.
Therefore, if the normal AirSim installation does not work, please contact us for the slim version.

Install the Python environment.

  1. Create an environment.
python -m venv venv 
venv\Scripts\activate.bat
pip install wheel
  1. Install the AirSim Python API dependencies.
pip install numpy msgpack-rpc-python matplotlib pandas shapely pyqt5 
  1. Install AirSim Python API.
pip install airsim
  1. Install conda.
  2. Create a conda environment: conda create --name autDrone python=3.8
  3. Activate the environment: conda activate autDrone
  4. Install the AirSim API package: pip install numpy msgpack-rpc-python matplotlib pandas airsim

How to Use

  1. Make sure that the AirSim application is up and running.
  2. Run main.py using your desired path, e.g.:
python main.py --start_x -700 --start_y -1100 --end_x -1216 --end_y -372 --height -50

Examples

We provide in the Examples directory several navigation examples in video format, using different heights and different paths used, for the following navigation paths:

1703086169 1703085626 1703085327 1703085112

Sources

Acknowledgements

We thank Hila Manor for contributing the needed resources for running the project.
The project was created as a part of course CS236927 of Computer Science faculty, Technion.

About

This project develops code for autonomous drone navigation in urban areas. Using trajectory planning, the drone maintains height while navigating from start to goal. It detects obstacles with LIDAR and evades them to reach the goal, entering hovering mode upon arrival.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages