This is the cpp implementation of the PythonRobotics
- 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.)
$ mkdir build
$ cd build
$ cmake ../
$ make -j 8
Find all the executable files in build/bin.
- Localization
- Extended kalmam filter
- Particle filter
- Histogram filter
- Mapping
- Gaussian grid map
- SLAM
- FastSLAM 1.0
- Path Planning
- Path Tracking Control
- Aerial Navigation
- Drone 3D Trajectory Following
- Rocket Powered Landing
- green line: the groundtruth trajectory
- black line: dead reckoning
- red points: observations (e.g. GPS)
- blue line: estimated positions
- green line: the groundtruth trajectory
- black line: dead reckoning
- red points: landmarks
- blue line: estimated positions
- blue point: the start point
- red point: the goal point
- blue point: the start point
- red point: the goal point
- red circle: the start point
- blue circle: the goal point
- black circle: obstacles
- blue circle: the target point
- red circle: the robot
The dynamic window approach to collision avoidance
This part is based on the bicycle motion model.
- blue circle: the target point
- red circle: the initial point
- blue circle: the target point
- red circle: the initial point
- 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
- black line: the planned spline path
- red circle: the position under lqr control
- black line: the planned spline path
- red circle: the position under lqr control