Skip to content

Optimization-based real-time path planning for vehicles.

Notifications You must be signed in to change notification settings

kintzhao/path_optimizer_2

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

roslaunch path_optimizer_2 demo4.launch


ros::Subscriber map_sub = nh.subscribe("/map", 1, mapCb);
ros::Subscriber path_sub_ = nh.subscribe("/move_base/GlobalPlanner/plan", 2, pathCb);

path_optimizer_2


This is a newer version of my path planning ROS package for autonomous driving vehicles 👉path_optimizer.
haha.png

Improvements

  • Higher success rate in dense/complicated environments.
  • Simpler problem formulation.
  • Candidate result when no collision-free solution exists.

Simulation

(1) Simulation in dynamic environment
(2) Simulation with complex static obstacles

Dependencies

  • ROS Kinetic (Ubuntu 16.04) or Melodic (Ubuntu 18.04);
  • Other dependencies: glog, gflags, osqp-eigen, grid_map
  • Put these ROS packages in your ros workspace: ros_viz_tools, tinyspline_ros.
    These dependencies (except for ROS) can be installed by running script/install_deps.sh.

Usage

A png image is loaded as the grid map. You can click to specify the global reference path and the start/goal state of the vehicle.

roslaunch path_optimizer_2 demo.launch

(1) Pick reference points using "Publish Point" tool in RViz.

  • Pick at least six points.
  • There are no hard and fast rules about the spacing of the points.
  • If you want to abandon the chosen points, just double click anywhere when using the "Publish Point" tool.
  • You can replace gridmap.png with other black and white images. Note that the resolution in demo.cpp is set to 0.2m, whick means that the length of one pixel is 0.2m on the map.
  • In application, the reference path is given by a global path or by a search algorithm like A*.

选点.gif

(2) Pick start state using "2D Pose Estimate" tool and pick goal state using "2D Nav Goal" tool.

  • Currently, it's not strictly required to reach the goal state. But this can be changed.
  • The start state must be ahead of the first reference point.

规划.gif

About

Optimization-based real-time path planning for vehicles.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 96.9%
  • Shell 1.9%
  • CMake 1.2%