AtsushiSakai/PythonRobotics

Python sample codes and textbook for robotics algorithms.

View on GitHub ↗Jump to charts ↓Open shareable report →

AtsushiSakai/PythonRobotics has 30k+ stars and 7k+ forks on GitHub, is written in Python, and was last pushed on Oct 14, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 30 minutes ago
Added to GitGenius on May 26th, 2026
Created on March 21st, 2016
Open Issues & Pull Requests: 62 (+0)
GitHub issues: Enabled
Number of forks: 7,416
Total Stargazers: 30,721 (+1)
Total Subscribers: 541 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 9.2 days
Mean response time: 83.1 days
90th percentile: 241.2 days
Tracked items: 52

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 16
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 425 days
Stale 30+ days: 13
Stale 90+ days: 12

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 2
Events in 7 days: 4

Top labels

  • help wanted (11)
  • enhancement (3)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

PythonRobotics is a comprehensive Python code collection and accompanying textbook focused on implementing robotics algorithms with an emphasis on clarity and practical applicability. The repository serves as both an educational resource and a reference implementation for students and practitioners working in robotics, autonomous navigation, and control systems.

The codebase implements algorithms across six major robotics domains. Localization algorithms include Extended Kalman Filter localization, Particle Filter localization for sensor fusion, and Histogram Filter localization for 2D position estimation. The mapping section covers Gaussian grid mapping, ray casting grid mapping, LIDAR to grid map conversion, k-means object clustering, and rectangle fitting for vehicle detection. SLAM implementations include Iterative Closest Point matching using singular value decomposition and FastSLAM 1.0 for feature-based simultaneous localization and mapping.

Path planning represents the most extensive section, featuring Dynamic Window Approach for 2D navigation, grid-based search methods including Dijkstra and A* algorithms, D* and D* Lite algorithms for dynamic replanning, Potential Field algorithms, grid-based coverage path planning, Particle Swarm Optimization, State Lattice Planning with biased polar and lane sampling variants, Probabilistic Road-Map planning, multiple RRT variants including RRT*, RRT* with Reeds-Shepp paths, and LQR-RRT*, along with quintic polynomial planning, Reeds Shepp planning, LQR-based path planning, and optimal trajectory planning in Frenet frames.

Path tracking algorithms include move-to-pose control, Stanley control, rear wheel feedback control, Linear-Quadratic Regulator speed and steering control, Model Predictive Control, and Nonlinear Model Predictive Control with C-GMRES. The repository also covers specialized domains including N-joint arm control to point targets with obstacle avoidance, drone 3D trajectory following, rocket-powered landing, and bipedal locomotion planning with inverted pendulum models.

The project maintains strict dependencies on core scientific Python libraries: NumPy, SciPy, Matplotlib, and cvxpy. Development infrastructure includes pytest for unit testing, mypy for type checking, sphinx for documentation generation, and pycodestyle for code style enforcement. The repository runs continuous integration across Linux, macOS, and Windows platforms.

The project emphasizes educational accessibility by designing code for easy comprehension of algorithmic fundamentals while selecting widely-used and practical algorithms. A comprehensive online textbook and animation GIF repository provide mathematical background and visual demonstrations of each algorithm's behavior.