I am very interested in further summarizing all the pathfinding algorithms.
This repository is progressing toward the long-term goal of implementing 100 pathfinding algorithms.
总进度:100 / 100 已实现(100%),其中 100 个附带演示动图。
IMPLEMENTED [####################] 100% 100/100
DEMO GIF [####################] 100% 100/100
更新时间:2026-07-05
该部分对应 Search_3D/ 的 Three.js 3D 群体无人机寻路与避让展示,覆盖全局搜索 / 采样、轨迹优化、分布式避让、反应式场方法、学习类与集中式协调等 37 个 3D 空中算法编号。
当前进度:37 个 3D 空中算法条目已建档,其中 37 个已实现、0 个近似实现。
3D IMPLEMENTED [####################] 100% 37/37
3D APPROXIMATE [--------------------] 0% 0/37
| 状态 | 数量 | 代表算法 |
|---|---|---|
| 已实现 | 37 | A01-A08、B01-B06、C01-C08、D01-D05、E01-E05、F01-F05 |
| 近似实现 | 0 | - |
- 基础搜索 (Uninformed Search)
- 001 广度优先搜索 (Breadth-First Searching - BFS)
- 002 深度优先搜索 (Depth-First Search - DFS)
- 最短路径与启发式搜索 (Shortest Path & Heuristic Search)
- 003 贪婪最佳优先搜索 (Greedy Best-First Search - GBFS)
- 004 Dijkstra 算法
- 005 Bellman-Ford 算法
- 006 SPFA 算法
- 007 Flow Fields(流场寻路)
- 008 A* 算法 (A* Algorithm)
- A* 变体与扩展 (A* Variants & Extensions)
- 009 双向 A* (Bidirectional A*)
- 010 加权 A* (Weighted A*)
- 011 分层 A* (Hierarchical A* - HPA*)
- 012 并行 A* (Parallel A*)
- 013 Hybrid A*
- 实时/动态启发式搜索 (Real-time/Dynamic Heuristic Search)
- 014 LRTA* (Learning Real-time A*)
- 015 Repairing A*
- 016 LPA* (Lifelong Planning A*)
- 017 ARA* (Anytime Repairing A*)
- 018 RTAA* (Real-time Adaptive A*)
- D* 家族 (D* Family)
- 019 D* (Dynamic A*)
- 020 Lazy D*
- 021 Focused D*
- 022 D* Lite
- 023 Anytime D*
- 024 Field D*
- 任意角度路径规划 (Any-Angle Path Planning)
- ThetA* 家族 (ThetA* Family)
- 导航网格任意角规划 (Navmesh Any-Angle Pathfinding)
- JPS 家族 (Jump Point Search Family)
- 032 JPS (Jump Point Search)
- 033 JPS+
- 034 JPS++
- 035 欧几里得 JPS (Euclidean JPS - EJPS)
- 036 分层 JPS (Hierarchical JPS - HJPS)
- 037 动态 JPS (Dynamic JPS)
- 038 JPS-Lite
- 039 地标 JPS (Landmark JPS)
- 040 自适应 JPS (Adaptive JPS)
- 041 格网规划 (Lattice Planning)
- 042 预生成四边形格子搜索 (Quadrilateral Cell Graph Search)
- 043 预生成六边形格子搜索 (Hexagonal Cell Graph Search)
- 044 NavMesh 多边形搜索 (NavMesh Cell Graph Search)
- 045 Havok AI 通道图寻路 (Havok AI Corridor Map Pathfinding)
- 046 层级格子搜索 (Hierarchical Cell Search)
- 047 动态预生成格子图搜索 (Dynamic Cell Graph Search)
- 048 随机路径规划 (Random Path Planning - RPP)
- 快速扩展随机树 (Rapidly-Exploring Random Trees - RRT)
- 049 基础 RRT (Basic RRT)
- 050 目标偏向 RRT (Goal-bias RRT)
- 051 RRT-Connect
- 052 动态 RRT (Dynamic RRT)
- 053 RRT-Dubins (考虑运动学约束)
- 最优快速扩展随机树 (Optimal RRTs)
- 054 rrt star
- 055 rrt start smart
- 056 rrt sharp
- 057 Informed RRT*
- 058 FMT*
- 059 BIT* batch informed trees
- 060 ABIT* advanced batch informed trees
- 061 AIT* (Adaptively Informed Trees)
- 062 Anytime-RRT*
- 063 Closed-loop RRT* (CL-RRT*)
- 064 Spline-RRT*
- 065 LQR-RRT**
- 066 蚁群优化 (Ant Colony Optimization - ACO)
- 067 遗传算法 (Genetic Algorithm - GA)
- 068 粒子群优化 (Particle Swarm Optimization - PSO)
- 069 人工势场法 (Artificial Potential Field - APF)
- 070 动态窗口法 (Dynamic Window Approach - DWA)
- 071 向量场直方图 (Vector Field Histogram - VFH)
- Voronoi 图方法 (Voronoi Diagram Methods)
- 072 基础 Voronoi 图 (Basic Voronoi Diagram)
- 073 Voronoi 场 (Voronoi Field)
- 074 加权 Voronoi 图 (Weighted Voronoi Diagram)
- 075 模糊 Voronoi 图 (Fuzzy Voronoi Diagram)
- 076 自适应 Voronoi 场 (Adaptive Voronoi Field)
- 077 多项式曲线 (Polynomial Curves)
- 078 贝塞尔曲线 (Bezier Curves)
- 样条曲线 (Spline Curves)
- 081 时间弹性带 (Timed Elastic Band - TEB)
- 082 Dubins 曲线 (Dubins Curves)
- 083 Reeds-Shepp 曲线 (Reeds-Shepp Curves)
- 084 车辆路径问题 (Vehicle Routing Problem - VRP)
- 085 PID 控制器 (PID Controller - for path following)
- 086 线性二次型调节器 (Linear Quadratic Regulator - LQR)
- 087 模型预测控制 (Model Predictive Control - MPC)
- 基于速度障碍 (Velocity Obstacle - VO) 的方法
- 088 速度障碍 (VO)
- 089 相互速度障碍 (Reciprocal Velocity Obstacles - RVO)
- 090 混合相互速度障碍 (Hybrid Reciprocal Velocity Obstacles - HRVO)
- 091 最优相互碰撞避免 (Optimal Reciprocal Collision Avoidance - ORCA)
- 092 行人最优相互碰撞避免 (Pedestrian ORCA - PORCA)
- 093 椭圆相互速度障碍 (Elliptical Reciprocal Velocity Obstacles - ERVO / EORCA)
- 基于搜索的冲突解决 (Search-Based Conflict Resolution)
- 094 冲突驱动搜索 (Conflict-Based Search - CBS)
- Sharon, Stern, Felner, Sturtevant (2012, 2015)
- 095 分层协作 A* (Hierarchical Cooperative A* - HCA*)
- Silver (2005)
- 096 窗口化分层协作 A* (Windowed HCA* - WHCA*)
- 094 冲突驱动搜索 (Conflict-Based Search - CBS)
- 基于社会力模型 (Social Force) 的方法
- 098 凸集图规划 (Graph of Convex Sets - GCS / GCS*)
- 099 多智能体凸集图规划 (Multi-Agent Graph of Convex Sets - MGCS / MGCS*)
- 100 多智能体多目标规划 (Multi-Agent Multi-Objective Planning - MAMOP)
一、图搜索算法 (Graph Search)
| # | 算法 | 状态 | # | 算法 | 状态 |
|---|---|---|---|---|---|
| 001 | BFS | ✅ | 022 | D* Lite | ✅ |
| 002 | DFS | ✅ | 023 | Anytime D* | ✅ |
| 003 | GBFS | ✅ | 024 | Field D* | ✅ |
| 004 | Dijkstra | ✅ | 025 | Theta* | ✅ |
| 005 | Bellman-Ford | ✅ | 026 | Lazy Theta* | ✅ |
| 006 | SPFA | ✅ | 027 | S-Theta* | ✅ |
| 007 | Flow Fields | ✅ | 028 | Enhanced Theta* | ✅ |
| 008 | A* | ✅ | 029 | Multi-Agent Theta* | ✅ |
| 009 | Bidirectional A* | ✅ | 030 | Adaptive Theta* | ✅ |
| 010 | Weighted A* | ✅ | 031 | Polyanya | ✅ |
| 011 | Hierarchical A* (HPA*) | ✅ | 032 | JPS | ✅ |
| 012 | Parallel A* | ✅ | 033 | JPS+ | ✅ |
| 013 | Hybrid A* | ✅ | 034 | JPS++ / Bidirectional JPS+ | ✅ |
| 014 | LRTA* | ✅ | 035 | Euclidean JPS (EJPS) | ✅ |
| 015 | Repairing A* | ✅ | 036 | Hierarchical JPS (HJPS) | ✅ |
| 016 | LPA* | ✅ | 037 | Dynamic JPS | ✅ |
| 017 | ARA* | ✅ | 038 | JPS-Lite | ✅ |
| 018 | RTAA* | ✅ | 039 | Landmark JPS | ✅ |
| 019 | D* | ✅ | 040 | Adaptive JPS | ✅ |
| 020 | Lazy D* | ✅ | 041 | Lattice Planning | ✅ |
| 021 | Focused D* | ✅ |
二、预生成格子图搜索 (Precomputed Cell Graph)
| # | 算法 | 状态 | # | 算法 | 状态 |
|---|---|---|---|---|---|
| 042 | Quadrilateral Cell Graph | ✅ | 046 | Hierarchical Cell Search | ✅ |
| 043 | Hexagonal Cell Graph | ✅ | 047 | Dynamic Cell Graph | ✅ |
| 044 | NavMesh Cell Graph | ✅ | 045 | Havok AI Corridor Map | ✅ |
三、基于采样的路径规划 (Sampling-Based)
| # | 算法 | 状态 | # | 算法 | 状态 |
|---|---|---|---|---|---|
| 048 | RPP | ✅ | 058 | FMT* | ✅ |
| 049 | Basic RRT | ✅ | 059 | BIT* | ✅ |
| 050 | Goal-bias RRT | ✅ | 060 | ABIT* | ✅ |
| 051 | RRT-Connect | ✅ | 061 | AIT* | ✅ |
| 052 | Dynamic RRT | ✅ | 062 | Anytime-RRT* | ✅ |
| 053 | RRT-Dubins | ✅ | 063 | CL-RRT* | ✅ |
| 054 | RRT* | ✅ | 064 | Spline-RRT* | ✅ |
| 055 | RRT*-Smart | ✅ | 065 | LQR-RRT* | ✅ |
| 056 | RRT# | ✅ | 057 | Informed RRT* | ✅ |
四、智能优化算法 (Intelligent Optimization)
| # | 算法 | 状态 | # | 算法 | 状态 |
|---|---|---|---|---|---|
| 066 | ACO | ✅ | 068 | PSO | ✅ |
| 067 | GA | ✅ |
五、反应式与几何规划 (Reactive & Geometric)
| # | 算法 | 状态 | # | 算法 | 状态 |
|---|---|---|---|---|---|
| 069 | APF | ✅ | 074 | Weighted Voronoi | ✅ |
| 070 | DWA | ✅ | 075 | Fuzzy Voronoi | ✅ |
| 071 | VFH | ✅ | 076 | Adaptive Voronoi Field | ✅ |
| 072 | Basic Voronoi | ✅ | |||
| 073 | Voronoi Field | ✅ |
六、基于曲线与运动学的规划 (Curve-Based & Kinematic)
| # | 算法 | 状态 | # | 算法 | 状态 |
|---|---|---|---|---|---|
| 077 | Polynomial Curves | ✅ | 081 | TEB | ✅ |
| 078 | Bezier Curves | ✅ | 082 | Dubins Curves | ✅ |
| 079 | Cubic Spline | ✅ | 083 | Reeds-Shepp Curves | ✅ |
| 080 | B-Spline | ✅ | 084 | VRP | ✅ |
七、基于模型的控制与规划 (Model-Based Control)
| # | 算法 | 状态 | # | 算法 | 状态 |
|---|---|---|---|---|---|
| 085 | PID | ✅ | 087 | MPC | ✅ |
| 086 | LQR | ✅ |
八、多智能体路径规划 (Multi-Agent / MAPF)
| # | 算法 | 状态 | # | 算法 | 状态 |
|---|---|---|---|---|---|
| 088 | VO | ✅ | 094 | CBS | ✅ |
| 089 | RVO | ✅ | 095 | HCA* | ✅ |
| 090 | HRVO | ✅ | 096 | WHCA* | ✅ |
| 091 | ORCA | ✅ | 097 | UE5 AI Avoidance | ✅ |
| 092 | PORCA | ✅ | |||
| 093 | ERVO / EORCA | ✅ |
九、其他规划方法 (Other Methods)
| # | 算法 | 状态 | # | 算法 | 状态 |
|---|---|---|---|---|---|
| 098 | GCS / GCS* | ✅ | 100 | MAMOP | ✅ |
| 099 | MGCS / MGCS* | ✅ |
python 3.12 or 3.13
pip install -r requirements.txt每个算法都是一个可独立运行的脚本,例如 / Each algorithm is a standalone script, e.g.:
python Search_2D/008_Astar.pySearch_2D/: standalone algorithm demo scripts and generated GIF previews.common/: shared demo infrastructure, including the reusable 2D grid environment.benchmarks/: timing and path-length metrics helpers used by demos and tests.tests/: import smoke tests and layout compatibility checks.tools/: repository maintenance checks, including README status validation.
每个 demo 都是独立脚本。一个轻量级 smoke 测试会在无界面(headless)后端下导入全部
Search_2D/NNN_*.py,以捕获跨所有 demo 的语法 / 导入 / sys.path 问题,而不会触发会阻塞的动画与 GIF 代码。
The demos are standalone scripts. A lightweight smoke test imports every
Search_2D/NNN_*.py demo under a headless backend to catch syntax / import /
sys.path breakage across all demos, without running their blocking
animation/GIF code.
pip install -r requirements.txt pytest
pytest tests/tools/check_readme_status.py 校验本 README 的 2D 状态表与磁盘上的文件(实现与演示 GIF)保持一致;tools/check_search3d_status.py 校验 3D 空中算法的根 README 进度、Search_3D/README.md 状态表与 Search_3D/src/main.js 元数据保持一致 /
checks that the 2D status tables stay consistent with files on disk, and that the 3D aerial algorithm status metadata stays consistent across README files and source code:
python tools/check_readme_status.py
python tools/check_search3d_status.pyGitHub Actions 会在每次 push 与 pull request 时于 Python 3.12 / 3.13 上运行 smoke 测试 / GitHub Actions runs the smoke test on Python 3.12 and 3.13 for every push and pull request.
部分算法家族附带更详细的中文笔记 / Longer notes for some algorithm families live in doc/:
- D* 家族 (D* family)
- JPS (Jump Point Search)
- RRT 家族 (RRT family)
- Repairing A*
- Theta* 家族 (Theta* family)
- Voronoi 图方法 (Voronoi diagram methods)
- 速度障碍 (Velocity Obstacle - VO)
ZJU Prof. FeiGao
Some code references
https://github.com/zhm-real/PathPlanning
https://github.com/ai-winter/ros_motion_planning
AI assistance has been used in this article
2025-05-10 Claude 3.7/4, Doubao, ChatGPT for in-depth research and Manus.
2026-05-17 iteration: updated with Codex and ChatGPT 5.5.
Manual review and inspection.
This project is licensed under the Apache License, Version 2.0.
When redistributing this project or substantial portions of it, you must keep
the copyright notice, the LICENSE file, and the NOTICE attribution file as
required by Apache-2.0.
Required attribution: 100pathfinding-algorithms by bailehang.


































































































