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
相关
- 项目
- 项目
- 项目
- 项目