本文主要是介绍机器人规划算法——基于A-star和CostMap膨胀地图的全局规划(附Github源码链接),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
这段时间,笔者用c++写了一套机器人局部避障算法,并工程落地,机器人可以正常避障,避障所采用的技术方案是A*+TEB算法。并取得一定成果,后续还要针对复杂的场景继续优化。主要涉及到技术模块有:
(1) costmap:代价地图模块,分为静态层和障碍物层以及膨胀层,静态层将读取地图信息并根据机器人内切半径进行膨胀,障碍物层是根据搭载的传感器检测到的障碍物点云并且以机器人内切圆半径进行膨胀。
(2)全局规划器:这部分规划部分主要是A根据costmap规划一条路径。
(3)局部规划器(控制器):使用TEB去跟踪A生成的全局规划路径。同时具有局部避障能力。
(4)状态机:负责统筹costmap和全局规划器以局部规划器。
之前做过局部规划器的技术分享机器人控制算法——局部规划器TEB算法原理及C++可视化仿真。
本次就做全局规划器和静态代价地图的分享。
全局规划器
这个部分就是A*算法,网上很多教程。
代价地图
这块很复杂,请直接参见我的技术系列文章:
Costmap文献阅读——Layered Costmaps for Context
这篇关于机器人规划算法——基于A-star和CostMap膨胀地图的全局规划(附Github源码链接)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!