Skip to content

Team-Robo/D-Lite

Repository files navigation

srl_dstar_lite

A move_base global_planner plugin implementing the D* Lite path-planning algorithm. D* Lite efficiently replans in the presence of unexpected or dynamic obstacles, making it suitable for navigation in changing environments.

Features

  • ROS nav_core::BaseGlobalPlanner plugin for move_base.
  • Incremental planning using D* Lite for fast replanning after map changes.
  • Compatible with standard ROS navigation stack.

Brief background

D* Lite is an incremental search algorithm introduced by Koenig & Likhachev (2002). It reuses previous search results to compute updated paths quickly when the environment changes.

Requirements

  • ROS navigation stack (nav_core and move_base)
  • Eigen3 (libeigen3-dev)
  • Boost >= 1.46
  • C++17 or later (configured via the package CMakeLists)

Install system dependencies (example)

  • Replace $ROS_DISTRO with your ROS distribution (e.g., noetic, melodic)
    sudo apt-get update
    sudo apt-get install -y libeigen3-dev libboost-dev ros-$ROS_DISTRO-navigation
    

Installation

  1. Clone into your catkin workspace src folder:
    cd ~/catkin_ws/src
    git clone <repository-url>  # replace with the actual repository URL
    
  2. Build the workspace:
    cd ~/catkin_ws
    catkin_make  # or catkin build
    

Build notes

  • Ensure dependencies are available (see Requirements).
  • If using colcon or a different workspace tool, adapt build commands accordingly.

Usage

  • To use this planner with move_base, set the base_global_planner parameter to:
    "srl_dstar_lite/SrlDstarLite"
    

Example YAML snippet (costmap and planner parameter excerpt)

# Replace with your usual navigation parameter file
planner_server:
  base_global_planner: "srl_dstar_lite/SrlDstarLite"

Example launch snippet (launch file)

<!-- minimal launch snippet for move_base integration -->
<launch>
  <!-- ...existing move_base and costmap config ... -->
  <param name="base_global_planner" value="srl_dstar_lite/SrlDstarLite"/>
  <!-- ...existing code... -->
</launch>

Credits and license

  • Built on ideas from Luigi Palmieri and core algorithms from Koenig & Likhachev (D* Lite).
  • Include an appropriate open-source license file in the repository (e.g., BSD, MIT). This README does not change licensing — make sure a LICENSE file is present.

References

  • Koenig, S. and Likhachev, M., "D* Lite", 2002.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors