郭大山 于艳 李壮 徐树生 张柏博
摘 要:在山地丘陵地带果树植保机飞行过程中,拥有对地形的全感知能力显得尤为重要,丘陵地带植保机作业过程中,地形起伏较大,需要植保机具有避障能力。基于激光雷达的无人机避障系统使用激光雷达作为主传感器,机载电脑融合IMU所给出的飞机状态量信息,综合评判飞行器所处的状态,通过对比和预测飞机状态实现对障碍物的躲避。
关键词:激光雷達;场势能算法;地形跟随;避障;无人机
DOI:10.16640/j.cnki.37-1222/t.2019.05.146
0 引言
近年来,农用植保无人机发展迅速。与传统人工施药方式相比,植保无人机喷洒速度快效率高,能有效的降低人工成本,提高工作效率。由植保机械代替人工喷洒农药将是未来农业的发展趋势。但是目前适用于平原大田作物的植保机因无法进行有效的地形跟随和避障并不适合在山地丘陵地区进行果树植保作业。制约我国果树植保行业无人机推广的主要瓶颈问题已由飞行平台与控制系统的稳定性问题转化为无人植保机智能化程度低、环境感知功能缺失的问题。完善的自主避障系统将能够在很大程度上减少因人员操作失误造成的无人机损坏,增加作业效率。本文主要利用pixhawk飞控与HOKUYO UST-30LX激光雷达完成植保无人机自主避障的功能并做出相应的算法优化。
1 系统构架与工作原理
本文研制了一种新型的适用于植保无人机上的基于激光雷达的避障系统,这套避障系统由激光雷达、Intel mini计算机系统(以下简称机载计算机)、USB转GPIO端口控制模块、供电模块构成,其系统拓扑图如下图所示:
无人机避障系统使用激光雷达模块获取周围点云信息,激光雷达模块可以直接输出所探测到的周围15M范围以内的障碍物的点的位置信息、角度信和距离信息到计算机中,机载计算机通过处理激光雷达所给出的信息生成真实环境数据,提供给避障程序做避障判定,程序判定需要进行避障以后,发送相应的控制代码和障碍物位置信息给飞行控制系统,飞行控制系统自行判断是否需要进行避障,是否按照激光雷达避障系统所给出的避障操作进行避障。并且返回若干个真值给避障系统,供给避障系统做下一次的判断使用。
在这套激光雷达避障系统中,机载计算机起到对所收集的所有信息进行汇总处理的一个作用,因为linux不是实时操作系统,需要对linux系统打补丁使它具有实时操作系统的特性,在毫秒级系统时间内完成对程序系统树优先级的判定和检测,对比激光雷达所给出的数据信息完成对障碍物位置的判定和距离检测,同时给飞控输出障碍物位置信息和避障指令,机载计算机通过Mavlink协议获取飞控实时的状态量,会有一定的延迟。为了能缩短避障指令执行所需要的时间,我们把控制飞行器避障的过程交给飞控来完成。
机载计算机只提供必要的障碍物信息和经过计算以后的躲避障碍物所规划的路线,飞控通过融合本身GPS信息、IMU所给出的倾斜角度信息、加速度信息判断躲避障碍物的路线是否拥有可执行力,如果判断按照目前状态会撞击到障碍物,就按照机载计算机所给出的路径进行回避。如果飞控根据当前姿态计算并不会撞上障碍物,就会按照目前状态继续执行飞行任务。
2 避障系统硬件搭配
在硬件上,载机我们使用基于pixhawk2飞控的植保无人机,pixhawk2飞行控制系统搭载ardupilot3.5固件,可以实现跟机载计算机通过Mavlink通讯协议进行通讯。
避障感知系统使用HOKUYO-UTM-30LX激光雷达,可以实现0.35-30M距离内的比较精准的测距,超过0.35M距离激光雷达会输出一个激光点强度值,可以通过激光点强度值和位置信息的变换来进行真值点的及计算,排除0.35M以外的噪点,实现较为准确的距离的测算。
3 STM32控制算法实现
本方案采用激光雷达传感器获取飞行环境信息,对障碍物的相对距离、角度等进行计算。其优点为精度高,弱光环境下表现较好,有不同的防护等级,可在喷洒农药的环境下正常使用;缺点为易受强光干扰,成本较高。
如图2所示,激光雷达的发射器发射出一束激光,激光光束遇到物体后,经过漫反射,返回至激光接收器,雷达根据发送和接收信号的时间间隔乘以光速,再除以2,即可计算出发射器与物体的距离。
本项目选择了HOKUYO-UTM-30LX激光雷达作为传感器,配合无人机上搭载的微型计算机来完成避障。UTM-30LX拥有30m, 270°测量范围,扫描频率最高可达到40Hz,拥有IP64防护等级可以在喷洒药液的同时正常使用。激光雷达将扫描到的周围环境数据通过SCIP2.0协议输出到机载计算机中,使用Linux下的ROS机器人操作系统对避障信息进行处理、分类归纳。
ROS是一种分布式模块化的开源软件框架,可以运行在一个计算机上或者分布不同位置的多个计算机上。这些执行程序被按照功能包和功能包集的方式进行分组,统一管理发布的消息和每个消息处理模块所接受的消息,实现机器人研发过程中的代码复用,减轻工作量。
ROS系统完成整个避障消息的处理后会输出一个不具体的位置坐标,可以虚拟为一个可变化的空间向量,通过解析空间向量可以得知ROS系统所给出的具体避障角度和避障距离,机载计算机通过Mavlink协议跟飞控进行通讯,Mavlink协议中封装了关于飞控所接受的信息的种类和具体接受的方式。
在植保机自动避障控制中,使用了人工势场法定义运动规律和预测运动轨迹。人工势场法的基本思想就是将无人机在环境中的运动视为一种虚拟的人工场中的运动。障碍物对无人机产生斥力,形成斥力场,随着无人机远离障碍而减弱;目标对无人机产生引力,形成引力场。引力场和斥力场共同作用于无人机,使无人机不断调整自己运动的速度和方向,逐渐接近并最终安全达到目标。
如图3所示,无人机的目标位置为PG,且环境中存在障碍物 Oi (i1,2,3,n)n为障碍物的数目,无人机在位置p时的人工势场 Uart(p)可表示为目标势场 UG(p) 和障碍势场 U(p) 的和,进而得出作用于无人机的抽象力 F(p) 为:
势场函数的选择比较灵活,一般具体情况具体设计。建立的目标势场和障碍物势场函数如下:
其中:k、为常数;是无人机到障碍物的最短距离,为一阈值。
首先,根据障碍物的距离和方向计算斥力,根据目标点距离和方向计算引力,最后计算合力大小和方向,确定合力以后,把合力转化成转化成无人机的速度矢量,通过MAVlink协议,将速度设定值发送给飞控,通过控制速度来实现避障。
初期对算法进行了实际测试,实验环境室外,飞行器静止悬停在墙壁前,测试人员操控无人机以2米每秒的速度飞向墙壁,在距离墙壁5m处,无人机检测到障碍,执行避障任务,在距离墙壁2.3米处速度降为0并开始后退,最后悬停在距墙壁5m处,实现避障。
在对障碍物距离测定上,如果激光点超过20M就会出现一定的误差,机载电脑通过获取IMU的数据,得到飞行器的姿态信息,通过两次、三次扫描同一位置的激光点数据做加速度计的数据融合,得到激光点位置的几个相對位置,在视场图上经过点校验表现出来,几个不同值之间进行联合平差运算,取得泊松分布中最靠近0.7位置的点为真值点输出,用来降低20M外数据噪点量,提升数据质量,提高测量精度。
4 试验结果和过程分析
如图所示,激光雷达在进行扫描的时候会扫描每一个激光点所到达物体的时间接受回激光接受器的时间,在实际激光雷达工作做工中所扫描的点可以简略认为是一个270度的面,每个面上每间隔0.25度就有一个点,激光雷达得到这个点距离本身的具体位置和这个点与激光雷达的夹角。
避障系统中的激光雷达首先扫描每个点到本身激光雷达的角度和距离信息,然后获取飞控IMU的数据姿态,根据数据姿态的三维空间中进行向量累加,判定单点重复扫描误差2CM以内时,确定这个点是一个真值点,并标注这个点为障碍物点,通过累计扫描从而形成一个视场图,标注出来每个障碍物与激光雷达本身的距离。
在综合IMU的数据以后,实现对物体距离方位的感知。在外场测试过程中因为周围环境比较空旷,所以机载计算机需要处理的数据量较小,可以非常迅速的实现外场环境视图的扫描和搭建,超过20m距离的激光点认为是无限远距离,距离10M以内的障碍物并且在飞行器航路上的点认为是障碍物,可以获取比较好的避障效果。
5 结论
基于激光雷达的避障系统可以使得无人机有效的躲避障碍物,通过ROS系统环境的搭建可以实现简单便捷的避障设计,在比较短的时间上完成避障操作,经过外场试验测试在非强光条件下避障效果较好。
山东省农机装备研发创新计划项目,项目编号2017022620076
作者简介:郭大山(1995-),男,山东人,本科,初级工程师,研究方向:农机测试技术。