Algorithms
Last updated
Last updated
Robotics systems rely on a rich toolbox of algorithms for sensing, estimation, control, planning and perception. Below is a comprehensive survey-organized by function-of core methods used in modern robots, with links to further reading.
Moving Average & Savitzky–Golay Filters: Simple smoothing techniques for sensor signal conditioning
Butterworth & Chebyshev Filters: Frequency-domain filters for removing high-frequency noise
PID (Proportional–Integral–Derivative): Ubiquitous feedback controller for setpoint tracking
LQR (Linear Quadratic Regulator): Optimal state-feedback controller minimizing a quadratic cost
MPC (Model Predictive Control): Online optimization of control signals subject to constraints
H∞ Control: Robust control design against modeling uncertainties
Feedforward / Inverse Dynamics: Calculates required joint torques for planned accelerations
Dijkstra’s Algorithm: Guaranteed shortest paths on weighted graphs
PRM (Probabilistic Roadmap): Builds a graph of collision-free configurations offline for query planning
RRT★ / PRM★: Asymptotically optimal variants of RRT and PRM
Genetic Algorithms: Evolutionary search for path optimization in complex cost landscapes
Firefly & Particle Swarm Optimization: Nature-inspired metaheuristics for global path and parameter tuning
EKF-SLAM: Maps landmarks with Gaussian estimates via EKF
Graph-SLAM: Poses and landmarks jointly optimized in a large factor graph
ORB-SLAM / LSD-SLAM: Visual SLAM systems using ORB features or direct image alignment
Gauss–Newton & Levenberg–Marquardt: Nonlinear least-squares solvers for bundle adjustment and calibration
Gradient Descent & Stochastic Gradient Descent: Iterative minimization for learning and control parameter tuning
Convex Optimization (CVX): Fast solvers for quadratic and semidefinite programs in control and state estimation
SIFT / SURF / ORB: Feature detection and description for landmark recognition and place recognition
FAST & Shi–Tomasi Corner Detectors: Lightweight keypoint extractors for real-time tracking
Lucas–Kanade & Horn–Schunck Optical Flow: Dense and sparse methods for image motion estimation
RANSAC: Robust model fitting (e.g., fundamental matrix estimation) in the presence of outliers
CNNs (Convolutional Neural Networks): Deep learning models for object detection and semantic segmentation
YOLO / SSD / Mask R-CNN: Real-time detection and instance segmentation frameworks
Reinforcement Learning (Q-Learning, DQN, PPO): Autonomous policy learning from interaction rewards
Gaussian Processes: Nonparametric models for regression and uncertainty quantification in terrain modeling
Support Vector Machines (SVM): Classification of sensor or vision data in low-dimensional feature spaces
By combining these algorithms-choosing the right filter for robust sensing, the optimal controller for precise motion, and the most suitable planner for agile navigation-robots can perceive, plan, and act reliably in complex, dynamic environments.
Kalman Filter: Optimal linear estimator for fusing motion models and noisy measurements (e.g., IMU + odometry)
Extended Kalman Filter (EKF): Nonlinear extension of the Kalman Filter for mapping and SLAM
Unscented Kalman Filter (UKF): Deterministic sampling approach to nonlinear state estimation
Particle Filter / Monte Carlo Localization: Uses a set of random samples (particles) to represent arbitrary distributions for robot pose
FastSLAM / Rao–Blackwellized Particle Filter: Combines particle filters with per-feature Kalman filters for efficient SLAM
A★ (A-Star): Heuristic search combining Dijkstra with best-first bias for efficient grid and graph planning
D★ / D★ Lite: Incremental replanning in dynamic or partially known environments
RRT (Rapidly-Exploring Random Trees): Sampling-based planner for high-dimensional spaces
Ant Colony Optimization: Swarm-intelligence-inspired heuristic for shortest path discovery
FastSLAM: Leverages particle filters for robot pose and separate Kalman filters for landmarks