APP下载

基于ROS系统的自主导航机器人设计

2023-09-25陈锦儒林洁彬张成

电脑知识与技术 2023年23期
关键词:路径规划机器人

陈锦儒 林洁彬 张成

关键词:机器人;ROS系统;路径规划;自主导航

0 引言

随着社会对机器人技术的要求不断提高,移动机器人的应用环境复杂度逐步上升,如何提高机器人的高度自主控制性成为当下机器人研究热点。在抗击疫情中高度自主控制的移动机器人作为强大的抗疫资源,可用于定点空间消毒、配送食物与药品,甚至可运输重要待检物品等工作,从而减少医护人员的接触风险。为进一步探究机器人的自主性技术,以阿克曼结构的小车为载体,搭配树莓派与激光雷达设计一个具备SLAM与自主导航功能的移动机器人。该移动机器人可代替人工进行作业的移动装置,具有路径规划、运动控制等功能,能够实现一般环境下全线范围内自主导航[1]。目前应用于地图的路径规划算法中,常用的智能算法有蚁群算法、粒子群算法以及A*算法等[2-4]。针对自主导航的研究,采用激光雷达实现地图的构造,在路径规划过程中为避免采用单一的动态窗口算法(DWA)导致局部较优路径而并非全局最优困境问题,综合运用A*和DWA算法进行路径规划,通过融合A*算法优化局部路径规划算法,扩展搜索领域和消除同方向多余子节点,使移动机器人沿着全局最优路径方向搜索目标点[5-6]。

1 移动机器人的基本结构

移动机器人采用分层结构设计,顶层负责各传感器数据的获取、计算以及处理,底层接收上层的数据完成机器人的自主控制。机器人实体分成三层,在自主导航过程中,为了保证机器人的移动稳定,底盘结构采用了阿克曼转向机构。移动机器人在转向时,由于左、右转向轮的转向半径不同所造成的左、右转向轮转角不同,根据阿克曼转向几何设计转向机构,利用四连杆的相等曲柄,可以使内侧轮的转向角比外侧轮大大约2~4度,使四个轮子路径的圆心大致交会于后轴的延长线上瞬时转向中心,从而让机器人顺畅地转弯。移动机器人整体动力由后驱动轮输出,为了避免在复杂环境下后驱动轮同轴运转,底盘加装了转轴避震模块。其实物图见图1所示。

移动机器人控制系统采用上位机与下位机控制相结合的方式来实现地图构建与自主导航[7]。上位机控制系统采用树莓派4B为主控,搭载了Ubuntu18.04+ROS melodic操作系统,接收激光雷达提供的数据并构建地图,从而获取机器人的本体位姿数据,实现移动机器人的感知、路径规划,并输出机器人的运动控制信息等功能。下位机控制系统由STM32F103RCT6 最小系统为主控,包含电机与电机驱动模块、电机编码器、方向舵机模块以及显示模块等部分组成。机器人通过下位机与上位机的数据通信,下位机获取控制指令与机器人定位信息,输出PWM信号给电机驱动控制带编码器的电機转动,并根据电机的速度反馈回STM32 控制器来实现闭环控制,从而达到机器人自主导航控制的效果。为了随时监控移动机器人的运行数据,利用树莓派4B的Wi-Fi功能,同步传输机器人数据到PC机平台,实现移动机器人的远程操控和监测。其基本结构图如图2所示。

2 移动机器人系统

2.1 硬件系统

移动机器人硬件系统是实现环境位置的感知、路径的规划、运动控制与导航等功能,将整个硬件系统分为3层:远程操作系统、嵌入式控制系统、底层控制系统。移动机器人硬件系统组成如图3所示。

2.2 软件系统

机器人自主导航控制系统主要包括:可视化界面、环境地图的构建、机器人的实时位姿信息、导航的路径规划等单元模块。整套控制系统是基于ROS系统的基础上进行开发,主控核心采用树莓派4B接收各传感器返回的数据并进行相应的优化处理,根据构建的地图信息以及机器人的位姿数据从而实现机器人的自主导航的路径规划,并将规划好的路线数据通过串口通信的方式与STM32主控器传输数据,驱动机器人运动,实现自主导航。整个系统的运动控制软件架构如图4所示。

1) 可视化界面:RVIZ是ROS的三维可视化工具,以三维方式呈现ROS系统的消息,从而将数据进行可视化的表达。在系统中对机器人的各传感器数据、构建地图的任何实物进行尺寸、位置等属性的描述与显示,为了更加直观还可以使用图形化的方式呈现,实时显示机器人各环节传感器的数据,包括机器人的运动状态、地图环境等参数。

2) 环境地图的构建:机器人主要利用激光雷达对外部环境进行全方位的扫描,获取实时数据后运行通Gmapping算法进行数据的融合与处理,逐步构建出当前环境的全局地图信息。

3) 机器人的实时位姿信息:机器人的位姿信息分为两种:初始位姿已知的位姿跟踪和初始位姿未知的全局定位。位姿跟踪的前提是确定已知机器人的初始位姿信息,将机器人在运动的过程中通过观测到的特征数据与地图中的特征信息进行匹配对比,求解两者之间的差异,从而更新机器人的位姿数据,达到机器人定位的效果。而位姿跟踪通常采用扩展卡尔曼滤波器来实现功能,其过程主要包括三大部分:第一部分是根据机器人的运动模型预测机器人的位姿;第二部分是将观测信息与地图进行匹配计算;第三部分是根据预测后的机器人位姿以及匹配的特征计算机器人应该观测到的信息,并利用应该观测到的信息与实际观测到的信息之间的差距来更新机器人的位姿。

4) 路径规划:针对构建的地图环境实现路径规划的需求与特点,路径规划分为全局路线规划与局部路线规划两个阶段。第一阶段根据全局环境数据,利用一种基于混沌扰动的改进型蚁群算法,提高目标跟踪数据关联的处理速度,根据多目标数据关联问题的特点,将问题转化为组合优化问题,引入自适应混沌机制,建立数据关联模型,规划出全局最优路线规划。第二阶段结合全局规划的基础上,分局部规划,在机器人沿着所全局最优路径的规划行走时,同时结合机器人实时姿态信息与局部地图的关联,针对当前环境情况控制机器人运动,如果在运行过程中遇到障碍物,可协调控制策略完成局部路径规划算法规划出新的路径,绕开障碍物回到全局规划路径的规划路线后,继续转化局部路径规划,实现机器人的自主导航控制。

5) 电机的驱动控制:STM32F103主控系统在接收到树莓派4B发送过来的路径规划数据后,根据移动方向参数以及速度控制的指令,使用PID控制算法计算出两轮驱动速度以及方向舵机转向角度,并将驱动指令下发给电机驱动模块,实现自主导航。

6) TF坐标转换:机器人的坐标系即base_link坐标系(机器人的机体坐标系),odom坐标系即里程计坐标系,一般都是odme = base_link,map坐标系即固定坐标系(一般为机器人所处的大世界为同一个坐标系),laser坐标系即为激光雷达坐标系。主要是实现机器人以上坐标系之间的相互转换,将辅助定位模块得到的坐标系的定位数据转换成惯性坐标系下的定位数据,并将数据传递给Slam_Gmapping 模块。

7) 辅助定位模块:该模块的工作原理是通过采集驱动电机的编码器反馈的信息以及其惯性测量单元的数据,计算出机器人移动距离长度,再把该数据应用到机器人的位姿信息当中,同时将机器人的定位数据传递给TF坐标转换模块,实现构建的地图与机器人的相融合。

3 地图的构建与自主导航控制实验

自主导航指的是机器人从起点出发,通过感知环境信息自主识别障碍物并抵达预期目标点。自主导航需要解决的问题主要有环境地图的构建、机器人的定位以及运动的路径规划,其三者的技术关系图见图5。地图构建是指通过对传感器采集的环境特征信息进行处理绘制出的环境空间模型,进而对数据处理构建出环境空间模型;机器人定位是指以一种度量方式描述机器人在当前环境下的位姿;路径规划是根据已知环境地图为机器人规划出一条最优路径。

3.1 环境地圖的构建

在机器人自主导航技术中构建高精度的环境地图是很重要的一步,在ROS系统下驱动激光雷达运行Gmapping算法检测的数据将每个栅格的状态通过灰度值反映在栅格地图上从而构建出环境地图,其效果如图6所示。

Gmapping算法是一种基于RBpf粒子滤波算法使用2D激光雷达完成二维栅格地图构建的SLAM算法。RBpf粒子滤波算法将定位和建图分离,由于在建图过程中需要粒子数多,而且频繁执行重采样,从而导致计算量和内存消耗很大,粒子退化严重。为了解决上述问题,使用激光雷达的观测模型作为提议分布,Gmap?ping算法在RBpf粒子滤波算法的基础上,改进了提议分布和选择性重采样,减少粒子数以及重采样的次数,降低计算量和所需内存,提高算法的运行效率,基于RBpf粒子滤波的Gmapping算法流程图如图7所示。

3.2 机器人的自主导航实验

机器人自动导航过程中,构建的环境地图更新以及机器人的导航都需要机器人所在的环境位姿数据,需要先对机器人进行定位,综合构建的地图再进行路径规划,完成自主导航功能。机器人定位数据采用MCL算法实现,MCL算法将粒子分布于整个地图模型,并且这些粒子围绕在移动机器人周围跟随机器人移动,根据机器人运动状态消除不正确位置处的粒子,最后剩下代表机器人正确位置处的粒子,从而利用这批粒子完成机器人的全局位姿估计。

4 结束语

本研究是基于ROS系统设计了自主导航机器人控制系统,该控制系统包含两大部分,环境地图的构建和移动路径的规划。使用激光雷达获取环境信息,运用Gmapping算法构建地图模型;利用MCL算法对机器人进行环境的位置估计,对地图进行局部与全局的路径规划,从而实现机器人最优的自主导航路线。通过理论分析和实验测试验证了移动机器人的性能和控制算法的可靠性,解析了环境地图的构建与自主导航的工作原理,为移动机器人的高度自主性的研究提供了参考,基本满足机器人自主导航的研究要求,在复杂的环境下,自主导航算法还需要在后续的研究中进一步优化和完善。

猜你喜欢

路径规划机器人
机器人,让未来走近你
公铁联程运输和售票模式的研究和应用
基于数学运算的机器鱼比赛进攻策略
清扫机器人的新型田埂式路径规划方法
自适应的智能搬运路径规划算法
基于B样条曲线的无人车路径规划算法
基于改进的Dijkstra算法AGV路径规划研究
机器人来帮你
认识机器人
机器人来啦