论文部分内容阅读
随着科学技术的发展,移动机器人的路径规划技术受到科研人员的广泛关注。目前全局路径规划存在计算过于复杂,规划出的路径有时不利于机器人行驶等问题;此外局部路径规划也存在实时性不高的问题。为了解决这些问题,本文以基于ROS的TurtleBot移动机器人平台为研究对象,对移动机器人的路径规划技术进行了理论分析和仿真研究,并完成了导航硬件、软件系统的搭建和路径规划的实验验证。针对传统全局规划算法存在的折点多,路径不光滑且搜索栅格点过多等问题,本文在地图构建与定位基础上使用A*算法作为全局路径规划的搜索算法,在MATLAB中采用GUI设计算法仿真界面,对全局规划算法有三处改进,其一在openlist添加阈值N,若搜索次数大于N且最先插入的节点未扩展,将此节点设为最高级优先扩展,这种方法减少了搜索栅格点的数量、降低了规划时间,可以避免陷入局部最小值,在一定程度避免陷入局部最小值,防止无法规划出路径问题;其二使用基于Floyd算法和A*算法结合的路径规划去除多余节点,从而降低了折点尖锐程度;最后对路径进行几何优化处理,并得到光滑路径。改进后的A*算法使得仿真路径减少了5个单位长度。在全局路径规划成功的基础上针对机器人面对未知障碍物的避障问题使用DWA算法局部路径规划,在MATLAB仿真地图上对其进行验证,并对DWA算法轨迹评价函数的三个指标(角度评价指标α、速度评价指标β、障碍物距离评价指标γ)进行优化,仿真结果表明当α(28)0.012,0β(28),(28)4.0γ时,局部路径规划实时性最优。为了完成导航系统实验,首先集成了Kinect、Kobuki底盘等硬件实验平台,搭建了基于ROS的导航系统总体框架,对各节点进行方案设计,然后在global_planner功能包中编写C++代码对全局路径规划的A*算法进行节点设计,主要添加了AstarExpansion::Floyd()和AstarExpansion::smoothing()改进算法函数;同时针对DWA算法的局部路径规划,在dwa_local_planner功能包中设计DWA算法节点;此外,在前述基础之上使用python编写多目标点导航脚本,实现自主导航。最后,在基于ROS的机器人平台下,完成了A*算法全局路径规划实验、DWA算法局部路径规划避障实验和多目标点导航实验,并对实验结果进行了分析。通过对改进后的A*算法进行仿真,验证了该算法可以有效地减少路径长度,并使路径更加光滑;随后对参数优化后的DWA算法进行仿真,其结果表明该算法可以提高局部规划的实时性。最后在Gmapping算法地图构建的基础之上,基于ROS机器人平台的导航系统实验验证了路径规划的可行性。仿真和实验基本一致证明本论文的路径规划技术能够很好地运用于移动机器人导航。