• Stars
    star
    220
  • Rank 180,422 (Top 4 %)
  • Language
    Shell
  • License
    MIT License
  • Created over 4 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Integration of Fast-Planner with PX4 autopilot for multi-rotor fast navigation with obstacle avoidance

px4_fast_planner

Integration of Fast-Planner with PX4 for planning real-time collision-free and obstacle-free trajectories in bounded environment. This allows you to fly a multi-rotor drone ( equipped with a PX4 autopilot, depth camera, and on-board computer) autonomously while avoiding obstacles.

This packges provides installation and launch files required for running PX4 with Fast-Planner through mavros_controllers package. A modified vresion of Fast-Planner (for Ubuntu 18 + ROS Melodic) is used.

Video:

px4_fast_planner

#######

If this helps you in your project(s), please give a star to this repository and Fast-Planner and mavros_controllers. Thank you!

#######

Installation

This setup is tested on Ubuntu 18 + ROS Melodic

  • Clone this package into your ~/catkin_ws/src
cd ~/catkin_ws/src
git clone https://github.com/mzahana/px4_fast_planner.git
  • You can use the setup.sh script in the install folder to easily setup all dependencies as follows
cd ~/catkin_ws/src/px4_fast_planner/install
./setup.sh

The script will ask if PX4 is to be installled or not. You would likely want to skip this if you are doing the setup on an on-board computer. To do that, just pass n to the setup.sh script when asked

cd ~/catkin_ws/src/px4_fast_planner/install
./setup.sh

NOTE: you may need to provide credentials to sudo when prompted, for the script to continue

The setup.sh script install PX4 v1.10.1, mavros_controllers package, and modified Fast-Planner package.

Installation inside docker container

You can setup the system inside a docker container that already has Ubuntu 18 + ROS Melodic + PX4 frimware v1.10.1. Use this repository to setup docker and required container, then install setup px4_fast_planner as mentioned above.

Running in Simulation

  • Open a termianl, and run the following command,
roslaunch px4_fast_planner px4_fast_planner.launch

NOTE: It may take some time to download some Gazebo world models in the first time you run the simulation

  • To command the drone to fly to a target pose, publish a single message to the /move_base_simple/goal topic as follows
rostopic pub --once /move_base_simple/goal geometry_msgs/PoseStamped "header:
  seq: 0
  stamp:
    secs: 0
    nsecs: 0
  frame_id: ''
pose:
  position:
    x: 19.0
    y: 15.0
    z: 3.0
  orientation:
    x: 0.0
    y: 0.0
    z: 0.0
    w: 1.0"

Notes

TO ADD

  • Some notes related to tuning parameters of the availabe planners
  • Some notes related to the limitations of the available planners
  • Instructions to run the setup on real drone

More Repositories

1

mavros_apriltag_tracking

This package implements methods to enable a PX4-powered multi-rotor to track a moving vehicle.
Python
125
star
2

siyi_sdk

Python implementation of the SDK of SIYI camera-gimbal systems
Python
50
star
3

jetson_vins_fusion_docker

Docker files and scripts to setup and run VINS-FUSION-gpu on NVIDIA jetson boards inside a docker container.
C
33
star
4

px4_pid_tuner

Python script for system identification and tuning of PX4 PID loops based on PX4 logs (ulog only).
Python
30
star
5

mavros_trajectory_tracking

Accurate trajectory generation and tracking with interface to PX4 autopilot
CMake
28
star
6

MATMAV

MATLAB interface toolbox for PX4 autopilot.
C
12
star
7

px4_indoor_navigation

Punch of ROS nodes for indoor navigation using PX4 autopilot, mainly in OFFBOARD mode.
Python
10
star
8

px4_ros2_humble

A Docker development environment for PX4 + ROS 2 Humble
Shell
9
star
9

jetson_svo_docker

A Docker image for the SVO Pro (visual inertial odomotery/SLAM) package, for Nvidia Jetson boards.
CMake
8
star
10

multi_target_kf

A ROS package with an implementation of a linear Kalman filter for multi-target state estimation.
C++
8
star
11

dlp

Implementation of Distributed Linear Program in Multi-agent Pursuit-Evasion Game
C++
6
star
12

containers

Contains some docker containers
Shell
6
star
13

lstm_trajectory_prediction

This repo provides scripts to train and test LSTM models for position trajectory prediciton
Python
5
star
14

mav_controllers_ros

The purpose of this repo is to provide a ROS2 implementation of multiple micro aerial vehicles (mav) controllers.
C++
5
star
15

px4_octune_ros

A ROS package for interfacing OCTUNE pacage with PX4. This package allows using OCTUNE to automatically tune PX4 controllers
Python
4
star
16

d2dtracker_drone_detector

A ROS package with nodes that implements drone detection using neural netowrk and depth maps.
Python
4
star
17

arducam_ros2

This package interfaces Arducam cameras that support v4l2 to ROS 2
Python
4
star
18

ZLAC8030L_CAN_controller

A Python package for CANopen communication with the ZLAC8030L motor driver
Python
3
star
19

jetson_vins_fusion_scripts

A ROS package that contains scripts for running VINS-FUSION-GPU on NVIDIA Jetson boards.
CMake
3
star
20

octune

This repository contains an implementation of online and real-time linear control tuning using backprobagation algorithms.
Python
3
star
21

quadcopter-python

Simple quadcopter simulation and visualization in Python
Python
2
star
22

Image_Live_Stream

This application allows live stream of images captured from camera (e.g. webcam) through network using UDP. It also includes MATLAB routines to allow receiving streamed images in MATLAB
C++
2
star
23

csi_camera_ros

A ROS package that interfaces CSI cameras (e.g. Raspberry Pi camera) to ROS. Tested on Xavier NX
CMake
2
star
24

d2dtracker_system

This ROS 2 package is used to setup and run the D2DTracker system on hardware (mostly Nvidia Jetson boards))
Python
2
star
25

bezier_trajectory_fitting

some Python scripts to implement bezier curve fitting which can be used for trajectory prediction.
Python
2
star
26

d2dtracker_trajectory_prediction

A ROS package with nodes that implement real-time drone trajectory predicitons using adaptive model selection and evaluation techniques.
C++
2
star
27

formation

Task assignment and planning for multi-robot formation
Python
2
star
28

drone_hunter_sim

Simulation package for a drone hunter system.
Jinja
2
star
29

riot_uav_sim

UAV simulation environment for RIOT lab
CMake
1
star
30

voxl2_setup

This repo provides instructions regarding the setup of VOXL2 flight controller on a quadcopter.
Shell
1
star
31

d2dtracker_jetson

This package can be used to set up the D2DTracker system on Nvidia Jetson paltforms.
Shell
1
star
32

drone_trajectories

This repository containes example trajectories and some processing scripts to segment them inorder to prepare them for further training process.
Python
1
star
33

usb_camera_ros

ROS Package that contains launch files and seetings to interface USB (UVC) cameras with ROS
CMake
1
star
34

image2text

Docker image wth CUDA11.7 for testing text extraction from images
Shell
1
star
35

swarm_system

Complete software stack needed to setup a completely autonomous AAAL drone system
Shell
1
star
36

trajectory_generation

ROS package that contains implementation of trajectory generation methods such as Model Predictive Control methods.
C++
1
star
37

image_splitter_ros

A package for splitting single ros2 image topic into multiple image topics.
C++
1
star
38

zlac8030l_ros

ROS driver for the ZLAC8030L motor controller
Python
1
star
39

vins_raspberrypi

Visual inertial odometry software for Raspberry Pi
Shell
1
star
40

track_and_label

A script to automate image dataset labeling. Images are asusmed to be extracted from a video.
Python
1
star
41

d2dtracker_sim

ROS 2 simulation packge of the D2DTracker system
Python
1
star
42

rtsp_camera

ROS 2 node that captures an RTSP (Real Time Streaming Protocol) video stream with minimal latency using GStreamer
C++
1
star
43

ros_to_rtmp

ROS package that can be used to stream a ROS image topic to RTMP server.
CMake
1
star
44

trajectory_mamba

Trajectory Prediction using Mamba
Shell
1
star
45

drone_path_predictor_ros

A set of algorithsms that predict 3D drone trajectories in real time with integration with ROS 2.
Python
1
star
46

uav_dataset_generation_ros

This is a ROS 2 package for automated generation of large UAV synthetic datasets. It currently supports generation of synchronized 3D position trajectories, GPS coordinates, IMU readings, RGB and depth images.
Python
1
star
47

dynonet_trajectory_prediction

Scripts to prepare datasets, and train/test a DynoNet network for trajectory predicgtion.
Python
1
star