基于激光雷达的差速AGV精确接驳方法研究

2023-11-20 07:13辛大欣曹鹏祥
传感器与微系统 2023年11期
关键词:角点位姿激光雷达

闫 照,辛大欣,曹鹏祥

(西安工业大学电子信息工程学院,陕西 西安 710021)

0 引 言

近年来,自动导引车(automatic guided vehicle,AGV)被广泛应用到零部件装配、仓储物流、码头装卸等需要频繁运送物料的领域[1]。在货物装配运送过程中,AGV 与传送带、工作台等进行近距离接驳。为保证装卸时货物不发生掉落,需尽量减少与工作台之间的停靠距离[2]。但因为差速AGV无法横向移动和物理尺寸的限制,停靠间隙往往过大,不能满足装卸货物的精度要求。

针对这个问题,文献[3]采用激光反射信标加测距光电的方法进行AGV的精确定位,并采用双三角差分控制算法保证快速精确进入接驳位置,但该方法只适用于纵向接驳,具有很大的局限性。文献[4]提出了通过双磁钉绝对定位结合基于视觉的色带导引定位方法,最终实现机器人的绝对定位。文献[5]提出应用磁条导向,磁卡进行定位控制,最终采用专用的滚动导向组件完成二次补偿,解决了AGV与工作平台的精确接驳问题。但文献[4,5]只适用于人工预设固定轨迹的情况,人工成本高、鲁棒性差。文献[6]提出了仿侧方位停车的之字形控制方法,采用视觉定位结合重复原地旋转加直线的横向接驳轨迹解决了差速AGV无轨迹横向接驳的问题。由于摄像头视角限制,调整次数过多,且路径曲率变化不平滑。虽然,针对AGV 接驳问题,学者们做了大量的研究,但是如何高效准确横向接驳仍然是一个具有挑战性和研究价值的问题。

本文提出一种基于激光雷达的AGV 精确接驳方法。接驳方法由精确定位和轨迹规划两部分组成。首先,对雷达数据的线段分割、特征识别和自定位确定AGV 在接驳过程中位姿。然后,采用基于最小接驳半径的不等半径算法,完成差速AGV近距离横向接驳轨迹规划。本文所提算法,可取代原有的人工装卸,在快递物流分拣和零部件装配等领域的货物自动装卸中具有广泛的应用前景。

1 横向接驳模型分析

工业生产中,AGV因载荷需求一般采用矩形差速六轮结构,其中,包括2 个主驱动轮,4 个随动轮[7]。在与工作平台横向接驳过程中,如图1(a)所示,AGV 居于两侧的差速驱动轮与前端轮廓相差了AGV 长度1/2 的距离。当AGV随驱动轮作圆周转向时,前端轮廓也在以更大的半径做圆周运动,图1(b)中阴影部分为前端轮廓所经过的区域。可以看到,前端轮廓轨迹明显与运行轨迹存在偏差,即转向偏差。

图1 差速AGV模型分析

AGV的宽度为w,长度为l,AGV的整体的转向半径为r,外驱动轮的转向半径为r+w/2,转向偏差为d,有

由式(1)可知,转向偏差d与差速AGV 自身尺寸和转向半径有关。依据工业中AGV实际尺寸,最大转向偏差范围为0.18 ~0.59 m,而接驳停靠间隙一般要求在0.1 m 以内,显然并不能满足装卸货物时接驳精度要求,故须精确接驳算法来完成差速AGV精确接驳。

2 精确接驳算法

2.1 精确定位算法

2.1.1 总体定位算法

本文提出一种基于角点识别的精确定位算法,通过在接驳目标点前方放置矩形物体产生3个具有特定关系的角点特征,作为导引AGV 进入接驳位置的参考角点,如图2所示。

图2 AGV定位示意

定位算法分为3个步骤,首先,需要使用激光雷达扫描获得的点集,通过计算斜率差[8]对其进行初步分割;然后,对分割后属于同一直线特征的数据直线拟合,根据相邻拟合直线间夹角和角点间距离筛选识别出特定参考角点[9];最后,根据直线角度偏差和参考角点坐标求取AGV 自身位姿。

2.1.2 线段分割

受文献[10]启发,提出了一种基于计算斜率差对雷达数据进行分割的方法,如图3 所示,激光雷达数据是以O点为原点,逆时针等间隔依次排列的P1,P2,P3,…,对应的距离为d1,d2,d3,…。根据相邻2个数据的距离大小,由距离短的点Pi向距离长的点Pi+1做垂线交于点P′i,则αi为障碍物与Pi+1P′i的夹角。

图3 扫描点示意

由几何关系可得

在近似时根据相邻两数据距离值选取其中较小值与间隔角度φ的弧长作为斜率的分母,减小了近似误差。令ki=tanαi,则有

斜率差Δk计算公式为

当i点前后相邻的数据点在同一条直线时,斜率差变化不大;而当i为角点时,该点的斜率差会因前后数据属于不同的直线而产生较大的波动,即当|Δk(i)|>Δkth,|Δk(i)|>|Δk(i-1)|且|Δk(i)|>|Δk(i+1)|时,则认为i点即为分割点。其中,Δkth根据多次实验验证后取值为1.0。

对于图4(a)所示的激光雷达原始数据,Δk(i)的值如图4(b)所示。可以看到,3 个数据点156,159 和168 在对应的Δk(i)有较明显的峰值,将该3 个数据点作为数据分割点,对雷达数据进行分割。

图4 环境测量原始数据与雷达数据分布

2.1.3 特征识别

经过数据分割后,采用最小二乘法[11]对激光雷达的数据拟合,设直线的方程为

式中αj为第j条拟合直线斜率;bj为第j条拟合直线截距。

将每一个激光点的极坐标系数据(di,θi)转换为直角坐标系数据(xi,yi),求解方法为

式中θi为第i束激光的角度,di为第i束激光测得的距离。

求解以下最优化问题

其中,对αj,bj分别求偏导

解得

拟合后的直线集合表示为

对相邻的直线求取直线间夹角

根据实际角点特征,通过90°+θth>θj>90°-θth筛除不符合条件的角点特征,将符合条件的角点特征对应的两条直线联立获得交点坐标(xj,yj)作为真实角点坐标,然后通过角点间的距离进一步识别出特定的3个角点。

2.1.4 自定位

在AGV初始位置建立全局坐标系,此时激光雷达局部坐标系与全局坐标系重合,识别出的A,B和C3 个角点坐标即为该角点的全局坐标。在初始位置AGV 与工作平台保持平行,AGV初始位姿(x0,y0,θ0)为(0,0,90°)。

在接驳过程中,可通过求取相同直线的角度变化求得AGV当前转过的角度[12]。由式(10)可得,激光雷达局部坐标系下拟合线段AB和BC与X轴的夹角分别为

则k时刻AGV的姿态角度差值θΔk为

式中θAB0,θBC0为初始时刻线段AB和BC的角度;θABk,θBCk为k时刻线段AB和BC的角度。

角点A在全局坐标系下的坐标有(xA0,yA0),在k时刻雷达坐标系下坐标是(xAk,yAk)。则由A角点在全局坐标系下k时刻的位移(xA′k,yA′k)为

同理可得到角点B,C对应的位移。由式(13)和式(14)可得,在全局坐标系下,k时刻的AGV坐标(xk,yk,θk)为

2.2 AGV接驳轨迹规划

为保证AGV可满足接驳误差要求实现横向接驳且不发生碰撞,参照文献[13]思想,本文提出了一种差速矩形AGV的不等半径接驳算法。

2.2.1 轨迹规划算法

针对AGV转向偏差问题,本文提出最小接驳转向半径概念,即差速矩形AGV以圆弧轨迹横向靠近工作平台时,接驳转向轨迹半径必须满足大于或等于的最小半径。最小接驳转向半径Rcmin由式(1)可得

本文路径规划算法将接驳轨迹中的最小转向半径圆弧轨迹的替换为最小接驳转向半径圆弧轨迹,然后根据AGV起始位姿反向求得与最小接驳半径圆弧相切且满足约束条件的逼近轨迹圆弧。

改进不等转弯半径平行泊车的参考路径如图5 所示。AGV的初始位姿为S0(x0,y0,θ0),终点位姿为Sd(xd,yd,θd),其中θ0,θd均为π/2。首先以O1为圆心,R1为转向半径,转过α角度到达点C。随后再以O2为圆心,Rcmin(最小接驳转弯半径)为半径作转向运动,再次转过相同角度最终到达目的地Sd(xd,yd,θd)。

图5 轨迹规划算法

由几何分析可得

将自定位中获取的AGV初始位姿和目标最终位姿,以及式(16)代入式(17)即可求得AGV所需转过的角度α和第一段圆弧半径R1的值,从而完成横向接驳路径规划。

2.2.2 约束空间的生成

由于实际过程中可能会发生与工作平台碰撞或者公式无解的情况,还需要对整个轨迹规划添加约束[14]。

由于物料运送的需要和成本的考虑,仅在AGV前端设有一个激光雷达,扫描范围为270°,且为提高AGV 在狭窄环境下的运动能力,一般与障碍物距离阈值为0.1 m[15]。为满足定位要求和保证安全,在横向逼近的过程中,运动方式只考虑前进和差速转向,AGV 在横向逼近的过程中,最小的转弯半径Rmin应为0.85 m。

不等转弯半径路径规划方法约束条件主要包括2 个:1)2个阶段的转弯半径均需大于等于AGV 最小转弯半径Rmin,即R1&R2≥Rmin;2)在整个接驳的过程中,AGV的前端外顶点P(xp,yp)不能碰到工作台,即xp<xA且yp<yA。在接驳过程中,只有同时满足以上2 个条件的轨迹才能成功接驳。

3 仿真结果分析

3.1 仿真试验方法

研究选用激光雷达采集模拟环境数据,通过分析软件对原始激光雷达数据进行分析。在室内中搭建模拟接驳环境,如图6 所示,在接驳位置前方放置长为32 cm、宽为28 cm的矩形物体作为特定角点特征,实验中各参数分别为:Δkth=0. 8,θth=3°,车长1 m,车宽0. 7 m,车轮半径0.1 m,工作台坐标范围为(2 ~3,1)、(3,7.5 ~1),AGV 横向接驳的停靠间隙为0.05 m。

图6 模拟接驳环境

3.2 精确定位结果分析

如图7(a)所示,可以看出,在非角点处两算法斜率差相同,而在A,B,C对应的168,159,156 等处斜率变化剧烈的角点附近,本文算法较文献[10]算法斜率差更大,角点特征更易识别分割。

图7 精确定位结果

特别注意的是,155,156 点的|Δk(i)|均大于Δkth,且|Δk(155)-Δk(154)|>|Δk(156)-Δk(154)|,故真实的角点应当在155,156点之间,且离两点均相对较远,此时本文算法斜率差之差更加明显。与文献[10]算法相比,本文算法保持了计算简单、计算量小的优点,更增加了抗干扰能力,更易分割。

对分割后的数据进行特征识别,结果如图7(b)所示。在AGV接驳过程中的选中4 个不同位置进行A,B,C3 个角点特征的识别。为验证定位精度,本文通过计算3 个角点间距离与真实值的误差来评价定位效果。

如表1所示,AB距离的偏差范围为[-0.008,0.009],BC距离的偏差范围为[-0.004,0.004],AC距离的偏差范围为[-0.003,0.005],偏差范围和标准差都为最大的AB距离均小于0.01 m。

根据角点特征求取全局坐标系下激光雷达在4个不同位置位姿与实际位姿对比,定位误差如表2所示,本文算法平均定位误差在0.0072 m左右,最大定位误差为0.009 4 m,也可以保证在0.01 m范围内。由此可见,本文提出的基于角点特征精确定位算法误差可以满足AGV 在接驳过程的定位精度要求。

表2 本文算法定位误差

3.3 轨迹规划结果分析

如图8所示,当使用最小转向半径作为最后阶段的转向半径时,因转向偏差大于停靠间隙要求,导致在按照精度要求接驳时,AGV 前端轮廓与工作平台发生碰撞,如图8(a),(c)所示,文献[13]算法无法完成横向接驳;而本文算法规划路径根据自身物理尺寸和要求停靠间隙计算得最小接驳半径,作为最后阶段的转向半径,可根据AGV 当前位姿规划一条转向偏差小于停靠间隙要求的路径,如图8(b),(d)所示,本文算法可成功完成横向接驳。

图8 算法规划轨迹对比

4 结 论

本文介绍了一种基于激光雷达的差速AGV 定位接驳方法。通过实验验证了接驳算法中提出的数据分割算法在特征提取上的准确性和优越性,使得角点和AGV自身定位误差均小于0.01 m,能够满足定位精度要求。再根据仿真对比,本文算法规划出的接驳轨迹能够实现差速AGV的近距离横向接驳,验证了本文所提出算法的可行性。

猜你喜欢
角点位姿激光雷达
手持激光雷达应用解决方案
法雷奥第二代SCALA?激光雷达
基于激光雷达通信的地面特征识别技术
基于激光雷达的多旋翼无人机室内定位与避障研究
基于FAST角点检测算法上对Y型与X型角点的检测
基于边缘的角点分类和描述算法
基于共面直线迭代加权最小二乘的相机位姿估计
基于CAD模型的单目六自由度位姿测量
基于圆环模板的改进Harris角点检测算法
小型四旋翼飞行器位姿建模及其仿真