LiJiangnanBit / Path_optimizer
Licence: mit
Real-time path planning for vehicles.
Stars: ✭ 156
Projects that are alternatives of or similar to Path optimizer
2019-UGRP-DPoom
2019 DGIST DPoom project under UGRP : SBC and RGB-D camera based full autonomous driving system for mobile robot with indoor SLAM
Stars: ✭ 35 (-77.56%)
Mutual labels: robotics, autonomous-driving
Cherry Autonomous Racecar
Implementation of the CNN from End to End Learning for Self-Driving Cars on a Nvidia Jetson TX1 using Tensorflow and ROS
Stars: ✭ 294 (+88.46%)
Mutual labels: robotics, autonomous-driving
l2r
Open-source reinforcement learning environment for autonomous racing.
Stars: ✭ 38 (-75.64%)
Mutual labels: robotics, autonomous-driving
Pythonrobotics
Python sample codes for robotics algorithms.
Stars: ✭ 13,934 (+8832.05%)
Mutual labels: robotics, autonomous-driving
Pointcnn
PointCNN: Convolution On X-Transformed Points (NeurIPS 2018)
Stars: ✭ 1,120 (+617.95%)
Mutual labels: robotics, autonomous-driving
FusionAD
An open source autonomous driving stack by San Jose State University Autonomous Driving Team
Stars: ✭ 30 (-80.77%)
Mutual labels: robotics, autonomous-driving
sparse-scene-flow
This repo contains C++ code for sparse scene flow method.
Stars: ✭ 23 (-85.26%)
Mutual labels: robotics, autonomous-driving
Matlabrobotics
MATLAB sample codes for mobile robot navigation
Stars: ✭ 332 (+112.82%)
Mutual labels: robotics, autonomous-driving
Deepseqslam
The Official Deep Learning Framework for Route-based Place Recognition
Stars: ✭ 49 (-68.59%)
Mutual labels: robotics, autonomous-driving
Autorally
Software for the AutoRally platform
Stars: ✭ 595 (+281.41%)
Mutual labels: robotics, autonomous-driving
Awesome Robotic Tooling
Tooling for professional robotic development in C++ and Python with a touch of ROS, autonomous driving and aerospace.
Stars: ✭ 1,876 (+1102.56%)
Mutual labels: robotics, autonomous-driving
Mrpt
⚡️ The Mobile Robot Programming Toolkit (MRPT)
Stars: ✭ 1,190 (+662.82%)
Mutual labels: robotics, autonomous-driving
Autonomousdrivingcookbook
Scenarios, tutorials and demos for Autonomous Driving
Stars: ✭ 1,939 (+1142.95%)
Mutual labels: robotics, autonomous-driving
Rosnodejs
Client library for writing ROS nodes in JavaScript with nodejs
Stars: ✭ 145 (-7.05%)
Mutual labels: robotics
Urdf Viz
visualize URDF/XACRO file, URDF Viewer works on Windows/MacOS/Linux
Stars: ✭ 149 (-4.49%)
Mutual labels: robotics
Stereo Odometry Soft
MATLAB Implementation of Visual Odometry using SOFT algorithm
Stars: ✭ 145 (-7.05%)
Mutual labels: robotics
Libcanard
A compact implementation of the UAVCAN/CAN protocol in C for high-integrity real-time embedded systems
Stars: ✭ 151 (-3.21%)
Mutual labels: robotics
Extrinsic lidar camera calibration
This is a package for extrinsic calibration between a 3D LiDAR and a camera, described in paper: Improvements to Target-Based 3D LiDAR to Camera Calibration. This package is used for Cassie Blue's 3D LiDAR semantic mapping and automation.
Stars: ✭ 149 (-4.49%)
Mutual labels: robotics
Ssl slam
SSL_SLAM: Lightweight 3-D Localization and Mapping for Solid-State LiDAR IEEE RA-L 2021
Stars: ✭ 144 (-7.69%)
Mutual labels: robotics
path_optimizer
This ROS package generates feasible paths for non-holonomic vehicles.

Simulation videos
(1) Simulation in dynamic environment
(2) Simulation with complex static obstacles
Run demos
0. Install dependencies and build
- ROS kinetic on Ubuntu 16.04
- OpenCV 3
mkdir -p workspace/src && cd workspace/src
git clone [email protected]:LiJiangnanBit/path_optimizer.git
sudo bash path_optimizer/scripts/install_deps.sh
cd ..
catkin build path_optimizer
source devel/setup.bash
install_deps.sh will install other dependencies (Those already installed will be skipped). These dependencies include:
- ipopt 3.12.4
- cppad 20180000.0
- google benchmark
- glog
- gflags
- osqp-eigen
- grid_map
- ros_viz_tools
- tinyspline_ros.
1. Demo
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 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.pngwith other black and white images. Note that the resolution indemo.cppis 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*.
(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.
2. Benchmark test
This is a computation time test.
rosrun path_optimizer path_optimizer_benchmark
Usage
Refer to demo.cpp
The parameters that you can change can be found in planning_flags.cpp.
How it works
Refer here.
- Take inputs (red dots):
- (Optional) Use B spline curve fitting to make the path continuous and then search around it for a more reasonable reference path (yellow dots).
This step can be skipped by changing settings.
- Smooth the reference path using IPOPT (yellow curve).
- Represent the path planning problem as a QP and solve it using OSQP.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].



