ai-winter/python_motion_planning

Motion planning(Path Planning and Trajectory Planning/Tracking) of AGV/AMR:python implementation of Dijkstra, A*, JPS, D*, LPA*, D* Lite, (Lazy)Theta*, RRT, RRT*, RRT-Connect, Informed RRT*, Voronoi, PID, DWA, APF, LQR, MPC, RPP, Bezier, Dubins etc.

解决的问题

该项目解决机器人运动规划问题:从起点到目标点计算一条安全、无冲突的路径,然后将该路径转化为符合机器人运动学和动力学特性的轨迹。它提供了一系列知名的路径规划和轨迹优化算法,并附带控制器,使机器人能够沿规划路径运行。

工作原理

代码库分为多个模块:path_planner(图搜索、采样搜索、混合搜索)、controller(路径跟踪控制器)、traj_optimizer(曲线生成器)、common(环境、机器人、工具函数、可视化工具)。它使用基于网格的世界表示(2D 和部分 3D),并模拟机器人行为。可视化工具基于 matplotlib。控制器通过一个玩具物理模拟器进行测试,支持两种机器人类型:圆形全向机器人和差速驱动机器人。

适用人群

希望实验经典运动规划算法、比较其行为、并在轻量级模拟环境中测试控制器的机器人学学生、研究人员和爱好者。它也可作为算法细节的参考实现,其 ROS C++ 和 MATLAB 对应版本使其成为跨语言学习工具。

主要亮点

  • 实现了流行的图搜索规划器(Dijkstra、A*、JPS、Theta*、Lazy Theta*)、采样规划器(RRT、RRT*、RRT-Connect)和 Voronoi 混合规划器
  • 提供路径跟踪控制器(Pure Pursuit、PID、APF、DWA、RPP),并配有 2D 模拟器
  • 包含轨迹优化器(三次样条、BSpline、多项式、贝塞尔、Dubins、Reeds-Shepp)
  • 可通过 pip install python-motion-planning 轻松安装,并提供带教程的在线文档
  • 持续开发中,未来计划支持 N-D 控制器、机械臂规划和 ROS2

相关

  • 项目
  • 项目
  • 项目
  • 项目