Skip to content

A collection of nodes to serve as a 3D navigation stack for my drone

License

Notifications You must be signed in to change notification settings

slaghuis/nav_drone

Repository files navigation

Drone Navigation

Based on the ROS2 Navigation Framework and System this is an attempt at building non-planar navigation stack. The primary differences are:

  • All navigation is done using a speed dependent polar histogram around the robot. This is achieved by mainaining a dome of varying size around the robot that is informed from an octomap. This replaces the costmap as used in the ROS2 Navigation Framework.
  • All planners and controllers are 3D spactially enabled. This allows the drone the fly over or under an obstacle, rather than the long way around.
  • This packages still does not use Lifecycle Nodes. One day...

All coding was started from scratch, but I referrenced a lot of the work done by the contributors to the ROS2 Navigation Framework and System. Where appropriate I retained all licenase agreements. I do believe this effort is in the spirit of open source code. Please feel free to copy, use and alter my code. If you sell it, please consider me.

Depencencies

BehaviorTree.CPP

The navigation server depends on the BehaviourTree.CPP library

Octomap Server

All mapping activities is done using the Octomap server.

sudo apt-get install ros-foxy-octomap-server

The map can be initiated through a file upload at startup, an empty map can be populated by providing a pointcloud publisher, or both. This allows for SLAM capability.

Eigen

The costmap is built on a matrix leveraging the Eigen libraries. Eigen is a lightweight C++ template library for linear algebra.

sudo apt-get install libeigen3-dev

Code Status

This is still a work in progress. This code has flown in a simulator using the Regulated Pure Pursuit Controller. The code has not flown in real life yet. (18/11/2022)

About

A collection of nodes to serve as a 3D navigation stack for my drone

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages