李晓宇 徐纪洋 马飞
(上海联适导航技术股份有限公司,上海 200000)
人工智能(Artificial Intelligence,AI),是计算机科学的一个分支,其是根据了解人类的思想,并能以人类智能相似的方式做出反应的智能机器[1]。随着该技术的发展,人们逐渐将该技术运用于扫拖地机器人[2]、电气自动化控制[3]、军事[4]、计算机网络[5]以及中国医学等方面[6],近年来人们将该技术应用于汽车上的无人驾驶方面[7]。
无人驾驶在实现上可分为2个步骤。对地理环境的探知,车辆要能够按照要求在规定路径行驶,这需要地理定位的技术支持,这一部分可以使用北斗卫星定位技术来解决[8]。同时路径的规划也要能够规避路径上已经知道的固定障碍物,以免引起行驶安全性问题;路径确定后的控制技术,使车辆能够在规划好的路径上精确行驶,不能出现比较大的偏差。无人驾驶车辆的路径规划问题,就是在要工作的地块形状下,规划出无人驾驶车辆能够遍历整个工作地块、没有障碍物碰撞的一条安全行驶路径。
李宁等提出一种基于遗传算法(genetic algorithm,GA)的自主避障控制算法应用于电动汽车上,解决了传统算法只能在横向避障的缺陷[9]。程越等为了实现无人驾驶拖拉机在直线作业时的实时避障路径规划功能,通过仿真发现规划的路径跟踪控制精度更高的算法是基于5次多项式函数的路径规划算法,更易于跟踪控制[10]。
目前,无人驾驶车辆采用的工作路径规划在作业时多需要人工干预,如在遇到需要转弯、掉头、规避障碍物时需要人工控制车辆完成动作,耗费人力,受时间、环境等客观条件限制,在面对大面积工作地块进行标准化作业时,驾驶员受生理条件限制无法长时间按标准完成工作,限制了作业效率。
为了解决上述问题,本设计的目的在于为自动驾驶系统根据工作地块提供一条可以遍历整个地块,实现无漏作业,又可以绕过障碍物的自动路径规划方法。该方法仅需采集工作地块形状和障碍物位置,就可自动规划出行驶路径,无需其它人工代价,一次信息采集后,针对同一地块下次作业时无需再做信息采集工作,方便简单,降低人工成本,可绕过障碍物,保障作业安全。
采集工作地块地理信息,获得多边形顺序坐标点,以规定安全边界距离将多边形向内部缩进;以当前工作车辆位置为参考,以与多边形顶点距离最近的为下一个目标点,以此点相邻较长边,生成路径待定点并生成路径;遇到障碍物通过平移待定点绕过障碍物,并能通过比较左右平移距离获得较优路径,通过平移路径待定点生成下一组路径,直至路径能够遍历整个工作地块;通过采集地块和障碍物坐标后,可在路径生成的时候根据障碍物坐标自动生成带有避障路径的行驶路径。
由上述基本原理可得,利用本设计的无人驾驶带避障的路径规划方法可以极大提高无人驾驶作业的效率和作业安全性,并且操作方便简单,降低人工成本。
本设计提供了一种无人驾驶的带避障的路径规划方法的流程图,如图1所示。
建立地块地理模型。预先对将要作业的地块进行地理信息采集、障碍物地理信息采集,建立地块地理模型。采集地块顶点坐标。顺、逆时针绕地块采集地块多边形顶点坐标,根据将要作业的地块,顺或逆时针预先采集地块特征点。边界缩进。将地块多边形按照工作时离地边界安全距离Threshold向内部缩进,生成边界特征点。依次获取边界特征点。获得当前车辆所在位置坐标点,取相距车辆最近的边界特征点,取最长的一条为参考线段。生成路径待定点。在此线段上生成路径待定点,遍历此组路径待定点,是否有在障碍物圆形内。遍历路待定点。通过遍历路径待定点即可确定路径特征点,将路径特征点首尾相接即为规划完成的路径。
根据图1所示流程图,具体说明路径规划和生成的实施步骤如下。
采集地块信息确定车辆行驶误差,记为Bias;确定车辆安全边界距离,记为Threshold;确定车辆工作宽度,记为Stride。通过手持、车载定位设备,顺、逆时针绕着工作地块采集地块多边形顶点坐标和地块中的障碍物坐标以及大小。
以安全距离向内缩进如图2所示。
以离地边界安全距离Threshold为基准向地块多边形内部进行缩进,缩进采用解析几何方法,使用矢量法实现,生成边界特征点。将工作地块多边形记为四边形,即PP[2]、CP[1],将顶点向内部缩进,实现多边形缩进效果,以P[1]点为例,L为平行线间距离,即缩进距离,α为P[1]P、P[1]P[2]夹角,Pnew点为P[1]点缩进后的生成点,Pnew坐标可用向量运算得到,计算公式:
(1)
以当前车辆最近点为起点获得当前车辆所在位置坐标点,记为P[0];取距P[0]最近的边界特征点,记为P[1]。地块多边形顶点为顺序采集,计算P[1]相邻的2个点与P[1]的距离,取最长的1条为参考线段(或手动选取某一邻点取参考线),记为P[1]P[2]线段,另一个邻点记为P。
根据车载机具宽度确定路径间隔,记为Stride,设定工作时离地边界安全距离设为Threshold,以车载机具宽度、行驶误差的差值,记为real Stride;以当前车辆所在目标点为起始点,记为P[0];计算P[0]与所有边界特征点的距离,以距离最短的点为下一目标点,记为P[1],P[0]为路径特征点的第1个点;所有边界点为顺或逆时针顺序采集,计算P[1]相邻的2个点与P[1]的距离,取最长的1条为参考线段(或手动选取某一邻点取参考线),记为P[1]P[2]线段,另一个点记为P,在此线段上以Stride/10的间隔生成路径待定点。
判断车辆绕过障碍物路径生成示意图如图3所示。
是否有在障碍物圆形内,如有加上1个不在圆内的点、下1个不在原内的点组成障碍物点,此组点先向左平移,直至此组点没有在障碍物圆内的点,若都在边界内则保留,超出边界则放弃,向右平移判断,若向左、向右平移都在边界内则,取平移距离较短的一组,取头尾2个路径待定点、取障碍物点头尾点,加入路径特征点。
以真实路径间隔real Stride为间距、以P[1] P方向生成平行的另一组路径待定点,判断此组路径待定点是否有超出边界的点,有则删去。如路径待定点没有超出边界的点,则在此组路径待定点两端按照Stride/10(可按实际情况设置此项)的距离生成路径待定点,如生成的路径待定点在边界内则加入路径待定点组。
判断此组路径特征点是否有超出边界的点、生成的路径特征点是否在边界内,判断点是否在多边形内,多边形可为凹多边形或凸多边形。判断方法:判断点的纵、横坐标是否超过多边形最大、小于最小纵横坐标,如超过最大、小于最小纵、横坐标则一定不在多边形内;以当前点向横轴正方向引出射线,若此射线与多边形各边相交的边数(非相交于端点)为奇数则点在多边形内,为偶数点在多边形外。
此组路径待定点取头尾2个路径待定点、取障碍物点头尾点然后逆序,加入路径特征点。重复生成平行路径待定点,至生成的平行路径待定点的个数小于2为止。最后以距离为判断条件最近的点为起始,将边界点依次加入路径特征点,用作边界工作路径,则全部路径特征点生成完毕。
判断车辆是否行驶过目标点示意图如图4所示。
到达目标点后的判断方法:判断行驶过程中车辆与目标点的距离,记为d,若小于设定阈值(由作业要求、车辆质量决定,人为设置),认为到达目标点;以A:(X0,Y0),B:(X1,Y1)组成的线段为路径,车当前点P:(X,Y),车辆由A驶向B为例,计算向量的夹角余弦值,若小于0,则超过目标B。
本设计通过采集地块和障碍物坐标后,可在路径生成的时候根据障碍物坐标自动生成带有避障路径的行驶路径,极大提高了无人驾驶作业的效率和作业安全性。所以本设计可以用于含有障碍物的封闭地块中农用机械无人驾驶作业的路径规划。