Skip to content

offbaording package to integrate rtabmap and px4 with external planner, such as fast planner, on ros noetic

Notifications You must be signed in to change notification settings

DavidePatria/rtabmap_fast_planner_px4

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Intro

The purpose of this project is to simulate a drone navigating in an indoor environment, supplied with a visual SLAM and a path planner of choice. The used version of px4 is v1.12.3

This repository contains a few ros subpackages, both tested on noetic. Please refer to the readme files in the subpackages for details.

Sources

original repositories of some components and that gave inspiration to the present project:

  • rtabmap SLAM and example of offboard control with px4 directly repo
  • fast planner that only works on melodic
  • fork of fast planner oriented towards integration with px4 on melodic
  • integration of px4, fast planner that uses geometric controller, but were the controlle is not tuned properly, so the drone stumbles and ends upside down and unfortunately it only works on melodic

Required packages

to setup your workspace for the simulation do the following:

  • clone the geometric controller from https://github.com/DavidePatria/mavros_controllers, making also sure to have the required dependencies.
  • clone this repo, making sure to check every package readme to install the required dependencies
  • build the container, based on ubuntu 18.04 and ros melodic, to run Fast-Planner from the folder located in this repo, following the instrucions in its readme

Important notes

The rtabmap_drone_example mentioned above already containes a 2D planner based on move_base (sorry for the alliteration), which is not enough for the purpose of this work, this is why it has been removed and another planner has been added.

Launching simulation

The launch files needed for everything but fast planner are inside rtabmap_drone.

Simulation with fast planner

Firsly, to launch the gazebo simulation and spawn the drone use roslaunch rtabmap_drone gazebo.launch vehicle:=iris_depth world:=small_house gui:=false For a list of available worlds look into ./rtabmap_drone/worlds/ and pass the name of the file as an argument when roslaunching. Note that only some of the available worlds have been throuhly tested, this meaning that problems strictly related to a specific world, such as collision during spawn, might be present. The worlds present in the launch file mentioned above have been tested and necessary adjustments have been taken.

The gui option is set to false since the slam has rviz that can do the job of showing the position of the drone in the map, but it can also be set to true.

The above launch file and the ones called from it contain some specific setting depending on the used world file since position [0;0;0] is not always free and the drone needs to be spawned in a particular configuration.

To launch the slam algorithm and the other required nodes use where the arguments are set to the specific values. roslaunch rtabmap_drone slam.launch offb:=false control:=true vehicle:=iris_depth rtabmapviz:=true

where vehicle can be iris_depth, which is the normal depth camera equipped iris from px4, which requires a modified rcS file to fuse slam position and deactivate geolocalization.

In another terminal launch geometric controller, not using its own launch file, but the file in these packges roslaunch rtabmap_drone geometric_controller.launch

Using two different terminal inside the container (be sure to build and source the right workspace) launch the planner and the visualizer (which is already setup properly for fast-planner

roslaunch plan_manage kino_replan.launch
roslaunch plan_manage rviz.launch

small project navigation tip

grep NOTE in the project, case sensitive, to get some bookmarks and important notes

About

offbaording package to integrate rtabmap and px4 with external planner, such as fast planner, on ros noetic

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published