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:
#######
If this helps you in your project(s), please give a star to this repository and Fast-Planner and mavros_controllers. Thank you!
#######
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.shscript in theinstallfolder to easily setup all dependencies as follows
cd ~/catkin_ws/src/px4_fast_planner/install
./setup.shThe 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.shNOTE: 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.
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.
- Open a termianl, and run the following command,
roslaunch px4_fast_planner px4_fast_planner.launchNOTE: 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/goaltopic 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"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
