onlytailei / CppRobotics

cpp implementation of robotics algorithms including localization, mapping, SLAM, path planning and control
MIT License
1.83k stars 490 forks source link
algorithms cpp localization planning robotics

CppRobotics

This is the cpp implementation of the PythonRobotics

Requirment

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

ekf

Probabilistic Robotics

Particle Filter Localization

pf

Probabilistic Robotics

Path Planning

Dijkstra

A star

RRT

Dynamic Window Approach

dwa

The dynamic window approach to collision avoidance

Model Predictive Trajectory Generator

This part is based on the bicycle motion model.

mptg

Cubic Spline Planner

csp

State Lattice Planner

slp

State Space Sampling of Feasible Motions for High-Performance Mobile Robot Navigation in Complex Environments

Frenet Frame Trajectory

frenet

Optimal Trajectory Generation for Dynamic Street Scenarios in a Frenet Frame

Path Tracking Control

LQR Steering Control

lqr_steering

LQR Speed and Steering Control

lqr_full

MPC Speed and Steering Control

mpc