AtsushiSakai/PythonRobotics

Python sample codes and textbook for robotics algorithms.

What it solves

PythonRobotics provides a comprehensive, easy-to-read collection of Python implementations for fundamental robotics algorithms. It bridges the gap between theoretical textbooks and practical application by providing runnable code for localization, mapping, SLAM, path planning, and control.

How it works

The project is structured as a series of standalone Python scripts and an accompanying online textbook. It implements a wide array of robotics techniques using minimal dependencies (primarily NumPy, SciPy, and Matplotlib) to ensure the code remains accessible and focused on the algorithm's logic rather than complex software architecture.

Who it’s for

It is designed for students, researchers, and engineers who want to understand the basic ideas of robotics algorithms through practical examples and visual simulations.

Highlights

  • Localization: Includes Extended Kalman Filter (EKF), Particle Filter, and Histogram Filter.
  • Mapping: Implements Gaussian grid maps, ray casting, and k-means object clustering.
  • SLAM: Features Iterative Closest Point (ICP) matching and FastSLAM 1.0.
  • Path Planning: Covers a vast range of algorithms including A*, Dijkstra, RRT*, PRM, and Dynamic Window Approach.
  • Path Tracking: Provides controllers like Stanley control and Model Predictive Control (MPC).
  • Specialized Navigation: Includes examples for arm navigation, aerial drones, and bipedal planners.

Related

  • Project
  • Project
  • Project
  • Project
  • Project