开源软件名称(OpenSource Name): onlytailei/CppRobotics开源软件地址(OpenSource Url): https://github.com/onlytailei/CppRobotics开源编程语言(OpenSource Language):
C++
98.2%
开源软件介绍(OpenSource Introduction): CppRobotics
This is the cpp implementation of the PythonRobotics
Requirment
cmake
opencv 3.3
Eigen 3
CppAD / IPOPT (for MPC convex optimization ) install tips
ROS (To make the repo lightweight :). Yet, we may still need it for 3D visualization. )
Build
$ mkdir build
$ cd build
$ cmake ../
$ make -j 8
Find all the executable files in build/bin .
Table of Contents
Localization
Extended Kalman Filter Localization
green line: the groundtruth trajectory
black line: dead reckoning
red points: observations (e.g. GPS)
blue line: estimated positions
Probabilistic Robotics
Particle Filter Localization
green line: the groundtruth trajectory
black line: dead reckoning
red points: landmarks
blue line: estimated positions
Probabilistic Robotics
Path Planning
Dijkstra
blue point: the start point
red point: the goal point
A star
blue point: the start point
red point: the goal point
RRT
red circle: the start point
blue circle: the goal point
black circle: obstacles
Dynamic Window Approach
blue circle: the target point
red circle: the robot
The dynamic window approach to collision avoidance
Model Predictive Trajectory Generator
This part is based on the bicycle motion model.
blue circle: the target point
red circle: the initial point
Cubic Spline Planner
State Lattice Planner
blue circle: the target point
red circle: the initial point
State Space Sampling of Feasible Motions for High-Performance Mobile Robot Navigation in Complex Environments
Frenet Frame Trajectory
black line: the planned spline path
red circle: the obstacle
blue circle: the planned trajectory
green circle: the real-time position of robot
Optimal Trajectory Generation for Dynamic Street Scenarios in a Frenet Frame
Path Tracking Control
LQR Steering Control
black line: the planned spline path
red circle: the position under lqr control
LQR Speed and Steering Control
black line: the planned spline path
red circle: the position under lqr control
MPC Speed and Steering Control
black line: the planned spline path
blue line: the passed path
yellow cross: the reference trajectory for MPC
(To compile this part, you need to uncomment the related lines in CMakeLists.txt and install CppAD and IPOPT .)
请发表评论