GithubHelp home page GithubHelp logo

xijunke / mbplanner_ros Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ntnu-arl/mbplanner_ros

0.0 1.0 0.0 90.43 MB

Motion-primitives Based Planner for Fast & Agile Exploration

License: BSD 3-Clause "New" or "Revised" License

CMake 1.35% C++ 93.64% C 5.01%

mbplanner_ros's Introduction

mbplanner_ros

Install and run:

  • Follow the instructions in mbplanner_ws for installation.
  • Launch the planner:
roslaunch mbplanner mbplanner_m100_sim.launch

This will launch the planner with the rviz visualizer with the UI which can be used to trigger the planner.
Alternately, the planner can be triggered by calling the respective rosservices as follows:
Start planner: rosservice call /planner_control_interface/std_srvs/automatic_planning "{}"
Stop planner: rosservice call /planner_control_interface/std_srvs/stop

  • We provide 4 different gazebo simulation environments which can be found in the planner_gazebo_sim package. The world file for the desired environment needs to be specified in the mbplanner_m100_sim.launch file here:
<arg name="world_file" default="$(find planner_gazebo_sim)/worlds/pittsburgh_mine.world"/>

We also support the environments published by DARPA for the Subterranean Challenge - Cave Circuit. In order to use those environments, the models and worlds need to be downloaded from another package: subt_cave_sim. To compile this package:

catkin build subt_cave_sim

And use the mbplanner/launch/mbplanner_m100_sim_cave.launch file:

roslaunch mbplanner mbplanner_m100_sim_cave.launch

Select the mapping framework

The planner supports two mapping frameworks: Voxblox and Octomap

Voxblox

By default, the planner is compiled with Voxblox. Voxblox can be used with two mapping modes, Euclidean Signed Distance Fields (ESDF) and Truncated Signed Distance Fields (TSDF). By default TSDF is used in which the distance (to the closest occupied voxel) of a voxel is truncated to a fixed value.
In order to switch to ESDF make the following changes:
In the file planner_common/include/planner_common/map_manager_voxblox_impl.h comment the following line:

#define TSDF

In the file mbplanner/launch/mbplanner_m100_sim.launch comment the following line:

<remap from="global_planner_node/tsdf_map_in" to="mbplanner_node/tsdf_map_out"/>

Uncomment the following line:

<!-- <remap from="global_planner_node/esdf_map_in" to="mbplanner_node/esdf_map_out"/> -->

Octomap

To compile with Octomap, set the flag USE_OCTOMAP to 1:

catkin build -DCMAKE_BUILD_TYPE=Release -DUSE_OCTOMAP=1 mbplanner

Also change the config to Octomap in the mbplanner/launch/mbplanner_m100_sim.launch file Replace:

<arg name="map_config_file" default="$(arg voxblox_config_file)"/>

With:

<arg name="map_config_file" default="$(arg octomap_config_file)"/>

Tutorial:

You could find a short tutorial on the plannning algorithm and the overall architecture on our website: Link

Reference:

If you use this work in your research, please cite the following publication.

@inproceedings{mbplanner2020,
  title={Motion Primitives-based Agile Exploration Path Planning for Aerial Robotics},
  author={Dharmadhikari, Mihir and Dang, Tung and Solanka, Lukas and Loje, Johannes and Nguyen, Huan and Khedekar, Nikhil and Alexis, Kostas},
  booktitle={2020 IEEE International Conference on Robotics and Automation (ICRA)},
  year={2020},
  organization={IEEE}
}

Please contact us for any question:

mbplanner_ros's People

Contributors

mihirdharmadhikari avatar tungdanganh avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.