APP下载

无人机在室内环境中自主飞行与避障

2021-03-12胡向阳张瑷涵

软件导刊 2021年2期
关键词:圆环卡尔曼滤波障碍物

吕 倩,陶 鹏,吴 宏,胡向阳,张瑷涵

(上海工程技术大学电子电气工程学院,上海 210600)

0 引言

微型飞行器(Micro Air Vehicle,MAV)与其它空中机器人相比,由于四旋翼飞行器机械和控制的简单性、高机动性及低入门、低成本的特点,备受学术界和工业界青睐,近年来成为研究热点。随着MAV 飞行控制技术的日趋成熟及GPS 技术在民用领域的普及,MAV 在空中操纵[1]、智能监视和侦察(Intelligent Surveillance and Reconnaissance,ISR)[2]、航空摄影、结构检测[3]、机器人应急[4]、建筑[5]和计算机视觉[6]等领域应用广泛,相关研究也推动了四旋翼飞行器的进一步发展。

无人机高度依赖周围环境实际测量数据的准确性。在室外环境中可利用良好的GPS 信号,在实验室环境中可使用超宽带(Ultra Wide Band,UWB)技术[7]或通过适当放置的特殊标签获悉环境实况。然而在飞行过程中,实际环境是动态的,GPS 信号也可能因建筑物遮挡等因素中断或处于较弱的信号状态,而放置标签又只能在已知环境下采用。针对以上问题,本文提出一种仅依靠无人机机载计算机在无GPS 的未知环境中,实现无人机自主飞行、规避障碍物与穿越特定障碍物的方法。

计算能力有限的纯机载传感平台地图构建工作可以使用激光测距仪实现[8]。由于激光扫描匹配限制及计算能力有限,该方法仅限于慢速飞行情况,且由无人机携带的体积小、重量轻的激光测距仪仅能测量单个平面中的距离,因此该方法需要对环境进行简化假设。

随着计算能力的增长和更高效算法的提出,将视觉用于无人机状态估计成为可能[9]。为了最小化无人机机体重量与飞行过程中的功率消耗,可以仅使用单个向下或向前的摄像机。MAV 中大多数单目视觉算法[10]依赖于并行跟踪与建图(Parallel Tracking and Mapping,PTAM)。然而,PTAM 主要应用于增强现实,在大规模复杂环境中操作还需多次修改。随着视觉算法的改进和小型计算机可用计算能力的增长,相机现已成为无人机检测与识别环境障碍物的首选传感器。

视觉导航的出现解决了无GPS 信号或弱GPS 信号下无法准确获取无人机位置与姿态的难题,但仅依赖于相机传感器识别障碍物准确度不高,而且会由于光线明暗、距离远近不同等原因导致识别错误。本文通过融合更多机载传感器测得的数据,更真实地反映无人机及其周围环境的状况,从而获得真实准确的信息,为无人机在室内等无GPS 或弱GPS 信号下的飞行与避障提供保障。

1 硬件平台设计

硬件平台设计的指导原则是保证无人机快速灵活地飞行。为达到20m/s 的速度,要求飞行器必须在大多数传感器检测距离(约20~25m)内使无人机速度减为0,这意味着平台必须能达到10m/s2的加速度。为保证飞行器可在保持高度的同时达到该加速度,飞行器推力重量比约为1.5。为了在高加速阶段保证飞行器有一定的控制力,该平台需具有足够的推力,故在满载时提供给飞行器的推重比需超过2.0。

在对现有平台进行调研的基础上,最终选择DJI M600飞行平台,包括飞行器、电机、螺旋桨和速度控制器,该组合非常符合硬件平台性能要求。每个DJI 3510 发动机和螺旋桨组合具有大约1.6kgf 的额定最大推力,则四旋翼配置总推力约为6.4kgf。

飞行平台采用DJI Guidance 视觉传感器导航系统,该系统视觉处理模块为64g,视觉传感模块为43g,每根VBUS 线缆为11.6g。该平台相机采用大疆禅思X4S,型号为ZENMUSE X4S,重量为253g。飞行平台还使用了加速计,陀螺仪,气压计等其它传感器。板载计算机采用妙算MANIFOLD。基座平台由DJI M100 飞行器及其飞控系统A1 组成,质量约为1.6kg;加上传感器和计算负载,平台重量为2.1kg。为达到飞行时间要求,需选择合适的电池,同时需保证平台最大总质量在3kg 左右。

由于无人机电池是能量和功率密度高的基于锂聚合物化学的电池。DJI M100 推进系统需额定电压约为22.2V。鉴于此,可用的主要设计选择是电池容量。典型的锂聚合物电池比能值在130~140Wh/kg,四旋翼机悬停所需功率约为200W/kg,所以对于总质量在3~3.5kg 左右的平台,功耗为600~700W。假设电池整体效率约为60%,从电池供电到螺旋桨机械功率输出,电池5min 飞行时间能量容量约为69.4~83.4Wh。在实践中,为了保护电池使用寿命,不会消耗电池全部容量,需为不可预见的情况预留一些容量。假设使用电池额定容量的80%,则需要电池能量容量为86.8~104.1Wh。使用135Wh/kg 的平均比能值,期望电池质量在0.64~0.77kg 之间,这与整个平台总质量预算非常吻合。根据可用电池容量,选择TB47D 型号电池,以便在性能和续航能力方面提供一定灵活性。该型号电池容量为4 500mAh,电池整体重量为600g,电池能量为99.9Wh。无人机飞行平台如图1 所示。

Fig.1 UAV hardware platform图1 无人机硬件平台

2 传感器数据融合

在无人机平台上有多个传感器,每个传感器均提供机器人状态信息。例如加速计测量无人机加速度,经积分运算后可获得无人机速度与位移;陀螺仪测量角速度,积分运算后可获得角度;气压计与高度传感器可测量飞行高度等。此外,传感器以不同速率提供输出,例如,以40hz 的速度运行单目摄像机,以20hz 的速度运行向下的高度传感器,以200hz 的速度运行加速计。主要利用卡尔曼滤波器变体完成传感器融合任务,将这些信息合并成无人机整体状态的一致估计。四旋翼飞行器旋转自由度决定了无人机是一个非线性系统,需使用扩展卡尔曼滤波器(Extended Kalman Filter,EKF)或无迹卡尔曼滤波器(Unscented Kal⁃man Filter,UKF)。由于UKF 具有较好的处理系统与非线性的优点,且计算量增加较少,所以选择UKF 执行传感器融合任务[11]。

图2 为运行在无人机上的UKF 模块数据输入和输出流程。根据相机传感器拍摄到的视频数据识别环境中的障碍物,再根据加速计、气压计、大疆视觉传感导航系统DJI Guidance、陀螺仪等其它机载传感器测量得到的数据,经无迹卡尔曼滤波融合数据后控制无人机飞行方向、距离与飞行速度,从而避开障碍物。

Fig.2 Data flow of UAV unscented Kalman filter图2 无人机无迹卡尔曼滤波数据流

UKF 使用的状态向量为:

其中,p 是无人机在真实世界的位置坐标,p˙为无人机在真实世界的速度,bα是加速度计偏移,bω是陀螺仪偏移。使用ZYX 公约的欧拉角φ、θ 和ψ 表示方向,φ、θ 和ψ分别是横滚、俯仰和偏航,欧拉角十分简洁,因此用以表示方向。由于四旋翼无人机横滚和俯仰角不会大于90°,故在该情况下使用欧拉角时不会受万向锁问题影响。

UKF 包括预测步骤和多个更新步骤。根据惯性测量单元(Inertial Measurement Unit,IMU)等传感器测得的数据进行预测,更新步骤用于对预测值进行修正。由于加速度计与陀螺仪的测量在机体坐标系中,而位置和速度在世界坐标系中,所以预测步骤是非线性的,需要利用估计的方向将测量从机体坐标系转换到世界坐标系。

假设迭代状态为k,xk(维数n)具有均值和协方差Pk,用具有均值和协方差Qk的过程噪声(维度p)对其进行扩充,从而创建增广状态与协方差矩阵。

再将无迹变换应用于增广态,生成一组sigma 点。

其中L=n+p是增强状态的维度,λ是缩放参数。

然后,利用过程模型传播这些sigma 点,其中输入为加速度计与陀螺仪测量值。

每当新的传感器测量值Yk+1到达时,即运行滤波器更新步骤。首先,以与预测步骤相同的方式生成一组新的sigma 点。

除了用于预测步骤的IMU 之外,对于UKF 的每个传感器输入均有一个单独的测量函数h(x,n),当从任何一个传感器接收到输入时,将执行完整的更新步骤。

考虑到在跨越障碍物时高度传感器的跳跃问题,UKF保持了一个内部基本高度参数。如果高度传感器输出与期望值相比有跳跃,则UKF 假设基础高度已改变,并使用新的基础高度作为高度传感器的参考级别,较好地处理了传感器输出跳变。该方法局限性在于当高度变化缓慢时,机器人只会相对于基础高度保持所需高度,并且会随着基础高度的升降而上下移动。

由机载传感器获得的数据经无迹卡尔曼滤波进行数据融合后,可使无人机获取的环境信息更详细,若只依靠单个传感器片面测量飞行器某方面数据,则无法感知飞行器与环境的整体状态,无人机也无法精确判断障碍物和控制飞行方向及飞行速度,这将导致无人机无法精准避障,因此需与机载传感器信息融合。

3 实验结果

3.1 仿真平台实验

为测试系统性能,在开源自动驾驶仿真平台Air⁃Sim[12-13]上进行仿真实验,仿真环境如图3 所示。该平台模拟真实世界复杂未知环境,无GPS 与全球导航卫星系统(Global Navigation Satellite System,GNSS)信号,无人机需要避开大型建筑物、密集树木、废旧汽车、路障等障碍物,并按照数字顺序依次穿越红色圆环,保证不碰撞圆环和其它障碍物,不漏穿错穿圆环。

Fig.3 Simulation test environment图3 仿真测试环境

机载相机传感器采集经过处理的仿真场景图像,如图4—图6 所示。图4 为实物图,图5 为深度图,图6 为分割图。将相机采集到的视频数据进行分割[14],如图6 所示,可区分可供无人机自由飞行的空旷区域、无人机需穿越的障碍圈与其它必须避开的无关障碍物。

Fig.4 Simulation platform scene acquired by camera图4 相机获取的仿真平台场景

Fig.5 Depth image图5 深度图

无人机避开障碍物、穿越障碍圈的过程为:保证远离除圆环之外的障碍物,并且需识别圆环;在开始之后进行4次判断,首先判断是否成功起飞,如果失败则进入起飞失败策略重新起飞,如果成功,则摄像头开始启动;在飞机前行的同时根据摄像头拍摄的图像开始识别与检测,判断是否发现圆环,若未发现圆环,飞机向左或向右移动,如果发现圆环,则飞机向圆环方向移动并开始穿越圆环;最后判断是否穿越成功,如果穿越成功则记入成功数目,否则进入穿越圆环失败策略。仿真流程图如图7 所示。

Fig.6 Segmentated image图6 分割图

Fig.7 Simulation test flow图7 仿真测试流程

为完成该测试,系统不仅需准确避障,还需识别场景中特定红色障碍圈。在仿真环境中所有障碍圈的颜色为红色,并形成一块特殊标识的连通区域,采用两边扫描法识别并标记图片中所有连通区域。利用HSV 颜色空间识别红色区域,再使用霍夫变换等方法检测需要穿越的圆环位置与半径,确保无人机尽可能从圆环中心穿过,避免与障碍物碰撞。图8 为无人机在仿真平台中穿越红色障碍圈时刻。

Fig.8 Moment of UAV successfully crossing red obstacle circle in simulation environment图8 仿真环境中无人机成功穿越红色障碍圈时刻

3.2 硬件飞行实验

在现实世界中无人机穿越障碍圈的时刻如图9 所示。由于现实中有诸多不稳定因素,包括光线明暗变化、无人机传感器精度有限等一系列问题,造成穿越障碍圈的动作不能保证百分之百成功,但在现实世界中若测试参数设置合理,光线明暗适中,则可准确识别并成功穿过障碍圈。

Fig.9 Moment of UAV successfully crossing red obstacle circle in reality图9 现实世界中无人机穿越障碍圈时刻

4 结语

本文设计了一种基于单目摄像机与IMU、DJI Guidance 等传感器的无人机自主飞行及避障系统,并使用无迹卡尔曼滤波融合多传感器信息,实现无人机与周围环境信息区分、识别与检测。在仿真平台使用虚拟无人机与传感器,在现实世界中使用自主搭建的硬件平台,分别针对自主起飞、避开障碍物、穿越障碍圈等任务进行实验。经微软AirSim 仿真平台实验与现实世界实验验证,该系统可精确避开无关障碍物,稳定完成穿越指定障碍圈、目标识别、场景搜索、自主起飞与降落等飞行任务。

猜你喜欢

圆环卡尔曼滤波障碍物
加权全能量最小的圆环形变
猪圆环病毒病的发生、诊断和防治
一例鸭圆环病毒病的诊断
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
圆环上的覆盖曲面不等式及其应用
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
基于模糊卡尔曼滤波算法的动力电池SOC估计
基于扩展卡尔曼滤波的PMSM无位置传感器控制
基于自适应卡尔曼滤波的新船舶试航系统