# atsushisakai/pythonrobotics

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/atsushisakai-pythonrobotics).**

29,772 stars · 7,317 forks · Python · NOASSERTION

## Links

- GitHub: https://github.com/AtsushiSakai/PythonRobotics
- Homepage: https://atsushisakai.github.io/PythonRobotics/
- awesome-repositories: https://awesome-repositories.com/repository/atsushisakai-pythonrobotics.md

## Topics

`algorithm` `animation` `autonomous-driving` `autonomous-navigation` `autonomous-vehicles` `control` `cvxpy` `ekf` `hacktoberfest` `localization` `mapping` `path-planning` `python` `robot` `robotics` `slam`

## Description

PythonRobotics is a comprehensive collection of modular robotics algorithms and educational simulations designed for autonomous navigation, state estimation, and motion control. The project provides a library of standalone implementations for path planning, localization, mapping, and kinematics, serving as a resource for researchers and students to experiment with foundational and advanced robotic theories.

The project distinguishes itself through an algorithm-centric design where each module functions as an isolated script, allowing for independent testing and clear pedagogical demonstration. Every implementation is explicitly mapped to academic literature or foundational robotics textbooks, ensuring that the mathematical models and control strategies remain verifiable and accurate. Users can execute these scenarios within a decoupled simulation environment that maintains its own internal state and control loops, requiring no external dependencies.

The capability surface covers a broad range of robotic domains, including aerial navigation, bipedal locomotion, and multi-joint arm control. It features extensive toolkits for probabilistic sensor fusion, environmental mapping, and trajectory tracking, all powered by high-performance numerical computation. Real-time geometric animations and state estimations are rendered directly from simulation data using standard plotting libraries.

## Tags

### Hardware & IoT

- [Algorithm Libraries](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/algorithm-libraries.md) — Provides a comprehensive library of fundamental algorithms for autonomous robotic systems.
- [Kinematics](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/motion-planning-control/kinematics.md) — Provides interactive simulation tools for multi-joint robotic arm control, including end-effector positioning and obstacle avoidance.
- [SLAM Algorithms](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/localization-mapping/slam-algorithms.md) — Implements simultaneous localization and mapping using feature-based particle filtering and iterative point cloud matching.
- [Motion Planning Toolkits](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/motion-planning-control/motion-planning-toolkits.md) — Calculates optimal paths and motion profiles for mobile robots and manipulators.
- [Navigation Frameworks](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/motion-planning-control/navigation-frameworks.md) — Provides a modular framework for obstacle avoidance and trajectory generation.
- [Path Planning Algorithms](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/motion-planning-control/path-planning-algorithms.md) — Implements diverse path planning methods including sampling-based and optimization-driven approaches.
- [Probabilistic Localization](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/localization-mapping/probabilistic-localization.md) — Provides Kalman, histogram, and particle filters for robot position estimation.
- [Sensor Fusion](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/localization-mapping/sensor-fusion.md) — Combines noisy sensor data with probabilistic filtering for robot localization.
- [State Estimation Libraries](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/localization-mapping/state-estimation-libraries.md) — Provides probabilistic algorithms for sensor fusion and robot localization.
- [Control Systems](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/motion-planning-control/control-systems.md) — Path tracking simulation with iterative linear model predictive speed and steering control. Reference - documentation - Real\-time Model Predictive Control \(MPC\), ACADO, Python \| Work\-is\-Playing ([source](https://cdn.jsdelivr.net/gh/AtsushiSakai/PythonRobotics@master/README.md))
- [Kinematic Path Planning](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/motion-planning-control/kinematic-path-planning.md) — A sample code with Reeds Shepp path planning. Reference - 15.3.2 Reeds\-Shepp Curves - optimal paths for a car that goes both forwards and backwards - ghliu/pyReedsShepp: Implementation of Reeds Shepp curve\. ([source](https://cdn.jsdelivr.net/gh/AtsushiSakai/PythonRobotics@master/README.md))
- [Path Tracking Control](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/motion-planning-control/path-tracking-control.md) — Implements LQR, MPC, and feedback steering for autonomous vehicle guidance.
- [Sampling-Based Motion Planning](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/motion-planning-control/sampling-based-motion-planning.md) — This is a path planning simulation with LQR-RRT\*. A double integrator motion model is used for LQR local planner. Reference - LQR\-RRT\*: Optimal Sampling\-Based Motion Planning with Automatically Derived Extension Heur ([source](https://cdn.jsdelivr.net/gh/AtsushiSakai/PythonRobotics@master/README.md))
- [Kinematics Simulators](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/kinematics-simulators.md) — Models multi-joint robotic arms and bipedal systems for movement simulation.
- [Environmental Mapping Techniques](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/localization-mapping/environmental-mapping-techniques.md) — Provides grid-based occupancy, ray casting, and geometric shape fitting for spatial awareness.
- [Bipedal Locomotion Planning](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/motion-planning-control/bipedal-locomotion-planning.md) — Optimizes footstep sequences for stable walking using inverted pendulum models.
- [Hybrid Motion Planning](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/motion-planning-control/hybrid-motion-planning.md) — Path planning for a car robot with RRT\* and reeds shepp path planner. ([source](https://cdn.jsdelivr.net/gh/AtsushiSakai/PythonRobotics@master/README.md))
- [Potential Field Methods](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/motion-planning-control/potential-field-methods.md) — This is a 2D grid based path planning with Potential Field algorithm. In the animation, the blue heat map shows potential value on each grid. Reference - Robotic Motion Planning:Potential Functions ([source](https://cdn.jsdelivr.net/gh/AtsushiSakai/PythonRobotics@master/README.md))
- [Trajectory Generation](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/motion-planning-control/trajectory-generation.md) — This is optimal trajectory generation in a Frenet Frame. The cyan line is the target course and black crosses are obstacles. The red line is the predicted path. Reference - Optimal Trajectory Generation for Dynamic Stree ([source](https://cdn.jsdelivr.net/gh/AtsushiSakai/PythonRobotics@master/README.md))
- [Aerial Navigation Simulators](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/aerial-navigation-simulators.md) — Simulates three-dimensional trajectory following and rocket-powered landing maneuvers.
- [Point Cloud Registration](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/localization-mapping/point-cloud-registration.md) — Provides 2D Iterative Closest Point matching using singular value decomposition. ([source](https://cdn.jsdelivr.net/gh/AtsushiSakai/PythonRobotics@master/README.md))
- [Steering Control Strategies](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/motion-planning-control/steering-control-strategies.md) — Provides Stanley steering control implementations for autonomous path tracking. ([source](https://cdn.jsdelivr.net/gh/AtsushiSakai/PythonRobotics@master/README.md))

### Software Engineering & Architecture

- [Robotics Algorithms](https://awesome-repositories.com/f/software-engineering-architecture/robotics-algorithms.md) — Provides modular, standalone implementations of core robotics algorithms for educational purposes.
- [Path Planning Algorithms](https://awesome-repositories.com/f/software-engineering-architecture/path-planning-algorithms.md) — Implements A* algorithm for 2D grid-based shortest path planning. ([source](https://cdn.jsdelivr.net/gh/AtsushiSakai/PythonRobotics@master/README.md))
- [Simulation Frameworks](https://awesome-repositories.com/f/software-engineering-architecture/simulation-frameworks.md) — Ships a decoupled simulation environment for testing robotic scenarios without external dependencies.
- [Kalman Filter Localization](https://awesome-repositories.com/f/software-engineering-architecture/kalman-filter-localization.md) — Implements Extended Kalman Filter algorithms for robotic localization. ([source](https://cdn.jsdelivr.net/gh/AtsushiSakai/PythonRobotics@master/README.md))
- [Particle Filter Localization](https://awesome-repositories.com/f/software-engineering-architecture/particle-filter-localization.md) — Provides sensor fusion localization using particle filter algorithms. ([source](https://cdn.jsdelivr.net/gh/AtsushiSakai/PythonRobotics@master/README.md))
- [Aerial Navigation Simulations](https://awesome-repositories.com/f/software-engineering-architecture/aerial-navigation-simulations.md) — Provides a 3D trajectory following simulation for quadrotor aerial navigation. ([source](https://cdn.jsdelivr.net/gh/AtsushiSakai/PythonRobotics@master/README.md))
- [Arm Navigation Simulations](https://awesome-repositories.com/f/software-engineering-architecture/arm-navigation-simulations.md) — Simulates robotic arm navigation with integrated obstacle avoidance. ([source](https://cdn.jsdelivr.net/gh/AtsushiSakai/PythonRobotics@master/README.md))
- [Bipedal Planning Simulations](https://awesome-repositories.com/f/software-engineering-architecture/bipedal-planning-simulations.md) — Simulates bipedal footstep planning using inverted pendulum models. ([source](https://cdn.jsdelivr.net/gh/AtsushiSakai/PythonRobotics@master/README.md))
- [Histogram Filter Localization](https://awesome-repositories.com/f/software-engineering-architecture/histogram-filter-localization.md) — Demonstrates 2D localization using histogram filter probabilistic grid mapping. ([source](https://cdn.jsdelivr.net/gh/AtsushiSakai/PythonRobotics@master/README.md))
- [Lidar Mapping](https://awesome-repositories.com/f/software-engineering-architecture/lidar-mapping.md) — Converts 2D Lidar range measurements into occupancy grid maps. ([source](https://cdn.jsdelivr.net/gh/AtsushiSakai/PythonRobotics@master/README.md))
- [Rocket Landing Simulations](https://awesome-repositories.com/f/software-engineering-architecture/rocket-landing-simulations.md) — Simulates 3D trajectory generation for rocket-powered landing scenarios. ([source](https://cdn.jsdelivr.net/gh/AtsushiSakai/PythonRobotics@master/README.md))
- [Gaussian Grid Mapping](https://awesome-repositories.com/f/software-engineering-architecture/gaussian-grid-mapping.md) — Demonstrates 2D Gaussian grid mapping for robotic environments. ([source](https://cdn.jsdelivr.net/gh/AtsushiSakai/PythonRobotics@master/README.md))
- [Manipulator Control Simulations](https://awesome-repositories.com/f/software-engineering-architecture/manipulator-control-simulations.md) — Provides an interactive simulation for N-joint robotic arm end-effector control. ([source](https://cdn.jsdelivr.net/gh/AtsushiSakai/PythonRobotics@master/README.md))
- [Ray Casting Mapping](https://awesome-repositories.com/f/software-engineering-architecture/ray-casting-mapping.md) — Implements 2D ray casting techniques for grid map generation. ([source](https://cdn.jsdelivr.net/gh/AtsushiSakai/PythonRobotics@master/README.md))
- [Sampling-Based Planning](https://awesome-repositories.com/f/software-engineering-architecture/sampling-based-planning.md) — Demonstrates biased polar sampling techniques for robotic path planning. ([source](https://cdn.jsdelivr.net/gh/AtsushiSakai/PythonRobotics@master/README.md))

### Part of an Awesome List

- [Scientific Computing](https://awesome-repositories.com/f/awesome-lists/ai/scientific-computing.md) — Compilation of robotics algorithms.
- [Control Theory Libraries](https://awesome-repositories.com/f/awesome-lists/devtools/control-theory-libraries.md) — Comprehensive collection of robotics algorithms and control simulations.
- [Robotics Algorithms](https://awesome-repositories.com/f/awesome-lists/devtools/robotics-algorithms.md) — Comprehensive collection of robotics algorithms implemented in Python.
- [Robotics Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/robotics-frameworks.md) — Collection of robotics algorithms implemented in Python.
- [Reference Lists](https://awesome-repositories.com/f/awesome-lists/learning/reference-lists.md) — Python sample code for robotics algorithms.
- [Robotics Education](https://awesome-repositories.com/f/awesome-lists/learning/robotics-education.md) — Collection of sample code for common robotic algorithms.
- [Scientific Computing](https://awesome-repositories.com/f/awesome-lists/learning/scientific-computing.md) — Listed in the “Scientific Computing” section of the Awesome Python awesome list.

### Education & Learning Resources

- [Educational Robotics Libraries](https://awesome-repositories.com/f/education-learning-resources/educational-robotics-libraries.md) — Provides instructional simulations for teaching autonomous navigation concepts.

### Scientific & Mathematical Computing

- [Numerical Libraries](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/numerical-libraries.md) — Performs core mathematical operations and linear algebra using high-performance array processing.
- [Nonlinear Optimization Solvers](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/optimization-solvers/nonlinear-optimization-solvers.md) — A motion planning and path tracking simulation with NMPC of C-GMRES Reference - documentation ([source](https://cdn.jsdelivr.net/gh/AtsushiSakai/PythonRobotics@master/README.md))
- [Metaheuristic Optimization](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/optimization-solvers/metaheuristic-optimization.md) — This is a 2D path planning simulation using the Particle Swarm Optimization algorithm. PSO is a metaheuristic optimization algorithm inspired by bird flocking behavior. In path planning, particles explore the search spac ([source](https://cdn.jsdelivr.net/gh/AtsushiSakai/PythonRobotics@master/README.md))

### Development Tools & Productivity

- [Robotics Prototyping Environments](https://awesome-repositories.com/f/development-tools-productivity/robotics-prototyping-environments.md) — Provides a simulated environment for testing path planning and control algorithms.

### Graphics & Multimedia

- [3D Math and Geometry Toolkits](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/3d-math-and-geometry-toolkits.md) — Renders real-time geometric animations and state estimations from simulation data using standard plotting libraries.
