Skip to content

Improved Search-Based Quadrotors Motion Planning with Motion Primitives

License

Notifications You must be signed in to change notification settings

ucas-zihaowang/improved_mpl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 

Repository files navigation

improved_mpl

Improved Search-Based Quadrotors Motion Planning with Motion Primitives

Abstract

Search-based motion planning with motion primitives is a complete and optimal method, and it can generate dynamically feasible, collision-free, smooth trajectories in dense environments.

To improve the computational efficiency of this method, we focus on the motion primitive graph search method and collision detection method, and propose three improvements:

  • design an admissible heuristic function that considers environmental obstacles

  • propose two motion primitive cost penalty strategies

  • propose a novel collision detection method with linear complexity based on Sturm's Theory In structured obstacle environments

Version

  • [Stable Version] This is a stable version, but may exists bugs. If you find them, please contacts the author by emails: wangzihao191@mails.ucas.edu.cn

Installation

Running Environment:

  • ubuntu 20

  • ros noetic

  • cmake: minimum 3.21.0

Prerequisite Package:

  • eigen, yaml, opencv, sdl
sudo apt install -y libeigen3-dev libyaml-cpp-dev libopencv-dev libsdl1.2-dev libsdl-image1.2-dev
  • kd tree:

nanoflann

Usage

Build and Complile

git clone --recursive https://github.com/ucas-zihaowang/improved_mpl.git
cd  improved_mpl
catkin_make -DCMAKE_BUILD_TYPE=release
source devel/setup.bash

Example:

  • parameter: in src/slplanner_plus/config/parameter_xxx.yaml

  • running for different instances

cd improved_mpl
roslaunch slplanner_plus test_slplanner_demo_by_corridor.launch
roslaunch slplanner_plus test_slplanner_demo_by_corridor_penalty.launch
roslaunch slplanner_plus test_slplanner_demo_by_corridor_penalty.launch
roslaunch slplanner_plus test_slplanner_demo_by_corridor_with_yaw.launch
roslaunch slplanner_plus test_slplanner_demo_by_corridor_with_yaw_penalty.launch
  • others

experiment_demo: can visualize the instances by rviz

slplanner_plus: for different map

roslaunch slplanner_plus test_slplanner_demo_by_clcbsbenchmark.launch
roslaunch slplanner_plus test_slplanner_demo_by_tmpmap.launch

Acknowledgment

Our project refers to the following work, and we point out their contributions here.

motion_primitive_library

mpl_ros

About

Improved Search-Based Quadrotors Motion Planning with Motion Primitives

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published