基于ROS的农机智能体障碍物检测与匹配算法研究
2021-12-10赵光国孟福军岳胜如
赵光国,孟福军,岳胜如
(塔里木大学水利与建筑工程学院,新疆 阿拉尔 843300)
当农业智能机器人(农机智能体)工作环境中出现一些障碍物时,可能会导致农机智能体不能正常工作[1-3],需通过建立农机智能体自身运动模型及其工作环境的避障路径规划来指导农机智能体实现障碍物的顺利避障[4],并在避障完成后正常回到原始工作路径,因此有必要进行基于多传感器融合的障碍物检测与匹配算法研究。
1 障碍物检测与匹配算法研究
1.1 未知环境下激光地图的构建
使用激光扫描仪实现障碍物识别,需要将激光点的光斑间隔数据变换到对应坐标系下[5],如图1所示。其右前方区域有障碍物,激光雷达以一定间隔(0.5°)逐点扫描,记录此点与观测点的距离Di,同时记录对应的角度θi(与坐标x轴的夹角)。 变换公式如下:
(1)
其中:Di为第i个激光点到激光雷达的距离,θi为第i个激光点转换的角度:θi=i×0.5,(Xi,Yi) 则为第i个激光点转换的坐标(i=0,1,2,…,360)。
图1 坐标转换示意图Fig.1 Coordinate transformation diagram
1.2 障碍物匹配算法
1.2.1 障碍物检测方法流程
通过BDS与INS传感器获取农机智能体的位姿信息,并用激光扫描仪实时识别农机智能体与农田障碍物之间的相对位置关系。经过坐标转换后,得到障碍物的方位及其绝对坐标[6-7]。采用欧式聚类法实现激光数据的滤波、聚类及分割,分析采样周期内障碍物绝对位置,识别障碍物状态,方法流程如图2所示。
图2 方法流程图Fig.2 Method flow chart
1.2.2 障碍物识别与匹配
1.2.2.1 激光数据的滤波和聚类
由于田间环境因素复杂多变,噪声影响大,在获取到障碍物绝对坐标后,必须进行数据去噪处理。通过欧式聚类法实现聚类分割处理[8],在过滤后的点云数据基础上提取出障碍物部分点云集,进行坐标转换后,可测量到农机智能体前方一定范围内的障碍物。
具体方法如下:当激光点间距小于一定阈值时,说明相邻的两个激光点来自一个物体,反之,则表明来自不同的物体。聚类判断准则如下:
(2)
式中:Dn-1,n为两相邻激光点间的距离;δ为激光点聚类的间隔阈值,设为100 cm。
1.2.2.2 匹配潜在障碍物
通过欧式聚类和潜在障碍物的识别后,得到了m个独立的潜在障碍物,则可通过计算得到潜在障碍物中激光点数量、大小和位置[9]。
在激光点聚类过程中可以直接得到潜在障碍物中包含的激光点的个数。利用潜在障碍物所覆盖的区域面积来表达其面积尺寸,设定在激光坐标系下,潜在障碍物i中激光点坐标中X和Y方向上取值范围[Ximax,Ximin],[Yimax,Yimin]。障碍物的面积尺寸为:Ai=(Ximax-Ximin)(Yimax-Yimin)。把潜在障碍物想象成一个置于地面的圆心物体,则圆心可以用其所有激光点的间距和角度平均值计算:
(3)
其中:(Xi,Yi)为潜在障碍物i的质心,Di和θi为潜在障碍物i中n个激光点的间距和角度平均值。
经过激光点数据的坐标变换和聚类分割后[10],根据潜在障碍物及农机当前状态来判断障碍物类别:在采样周期内识别到同一障碍物中激光点个数和坐标基本不变,则可判断为相对静止的障碍物。当采样周期内检测到的激光点面积有一定的重合,子集合质心间的间距差不大时,可推断出识别的前后障碍物为同一障碍物,表明障碍物处于运动状态。
2 仿真模拟实验及分析
在ROS软件平台仿真工具包Gazebo中建立农机智能体仿真模型,并添加研究提出的匹配算法,进行避障仿真测试。以车辆的启动和运行控制点为路径规划的原点(0,0),要求试验车辆从起动点绕开障碍物到达目标点,图3为测试中仿真规划路线效果。图4为添加障碍物后仿真车实际行走路线效果。
图3 仿真规划路线Fig.3 Simulation planning route
图4 仿真车实际行走路线Fig.4 Actual walking route of the simulation car
试验结果:从前进路线可以看出,仿真车启动后先沿全局规划路径前进,当检测到障碍物后,程序启动避障模式,重新规划路径,实现对障碍物的绕行;仿真模型能够完成路径规划任务,并且能生成较为光滑的路径,基本满足试验要求。
3 结论
进行了一种基于传感器信息融合的障碍物识别与匹配算法研究,并结合仿真测试,验证了算法的有效性。在ROS机器人操作系统平台Gazebo仿真软件上,建立了障碍物识别模型并添加研究提出的匹配算法,在仿真模拟环境中,仿真模型车能够完成路径规划任务,基本满足试验要求。