Repolode
AtsushiSakai

AtsushiSakai/PythonRobotics

一个包含定位、建图、SLAM、路径规划与控制等机器人算法的 Python 示例代码库与教材。

Star
30,754
Fork
7,422
未关闭 Issue
64
最近提交
昨天

这是什么?

PythonRobotics 收录了一系列广泛使用的机器人算法 Python 示例实现,并配有在线教材,讲解每种算法的数学背景。项目注重可读性,每个示例都保持简洁,便于读者理解算法的基本思路,而不是面向生产环境的完整实现。

代码按问题领域组织。定位部分包括扩展卡尔曼滤波、粒子滤波和直方图滤波;建图部分涵盖栅格地图、激光雷达转栅格图和 k-means 聚类。SLAM 部分有 ICP 匹配和 FastSLAM 1.0;路径规划包括 A*、Dijkstra、RRT 系列、PRM 以及 Frenet 坐标系下的轨迹生成;路径跟踪则有 Stanley、LQR 和模型预测控制等控制器。此外还包含机械臂导航、四旋翼轨迹跟踪、火箭垂直着陆和双足机器人落脚点规划。

大部分示例为二维或简化仿真,并生成动画演示。项目需要 Python 3.13 及 NumPy、SciPy、Matplotlib、cvxpy 等依赖,可通过 conda 或 pip 安装。

核心功能

  • 01覆盖定位、建图、SLAM、路径规划、路径跟踪与控制等领域。
  • 02包含扩展卡尔曼滤波、粒子滤波、A*、Dijkstra、RRT、Stanley 和 MPC 等示例。
  • 03示例以易读为目标编写,并生成动画仿真结果。
  • 04配有在线教材,讲解每种算法背后的数学原理。
  • 05依赖较少,主要使用 NumPy、SciPy 和 Matplotlib 等常见库。

适用场景

  • 在大型系统中实现机器人算法之前,先通过示例理解其工作原理。
  • 在仿真环境中原型验证路径规划器或路径跟踪控制器。
  • 借助可运行的示例讲授机器人学相关课程。
  • 在相同场景下对比多种定位或 SLAM 方法的表现。

快速上手

  1. 1

    克隆仓库

    git clone https://github.com/AtsushiSakai/PythonRobotics.git
  2. 2

    使用 pip 安装所需库

    pip install -r requirements/requirements.txt
  3. 3

    在对应目录中运行任意 Python 示例脚本

使用前须知

  • 运行示例代码需要 Python 3.13.x。
  • 这是用于学习的示例代码集合,而不是可直接用于生产的打包库或机器人软件栈。
  • 许可证显示为 NOASSERTION,复用前请查看仓库中的许可证文件。

标签

常见问题

PythonRobotics 是什么?
一个包含定位、建图、SLAM、路径规划与控制等机器人算法的 Python 示例代码库与教材。 PythonRobotics 收录了一系列广泛使用的机器人算法 Python 示例实现,并配有在线教材,讲解每种算法的数学背景。项目注重可读性,每个示例都保持简洁,便于读者理解算法的基本思路,而不是面向生产环境的完整实现。
PythonRobotics 可以免费使用吗?用的什么许可证?
PythonRobotics 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
PythonRobotics 还在维护吗?
活跃维护中。PythonRobotics 最近一次提交是在 2026年10月19日。
PythonRobotics 适合用来做什么?
在大型系统中实现机器人算法之前,先通过示例理解其工作原理。 在仿真环境中原型验证路径规划器或路径跟踪控制器。 借助可运行的示例讲授机器人学相关课程。 在相同场景下对比多种定位或 SLAM 方法的表现。
PythonRobotics 怎么安装和运行?
克隆仓库: git clone https://github.com/AtsushiSakai/PythonRobotics.git 使用 pip 安装所需库: pip install -r requirements/requirements.txt 在对应目录中运行任意 Python 示例脚本
在哪里获取 PythonRobotics?
源代码和安装说明在 GitHub 上:https://github.com/AtsushiSakai/PythonRobotics

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目