基于北斗定位的无人机路面检测系统分析
2023-02-19闫宇航金冶纯徐中林
闫宇航,金冶纯,徐中林
(沧州师范学院,河北沧州, 061001)
1 设计背景
本次设计研究一种基于机器深度图像识别和北斗定位的路面检测报警系统,实现无人机对路面损坏信息以及防护林火灾情况的自主判定并定位损坏以及事故地点位置,上报至终端控制器,为路面检修工作提高效率。
本系统的应用场景包括:
(1)路面异物检测:在高速公路中,有异物落下或者撞死的动物遗体等物品,道路养护人员不能及时发现及清理[1],可以派出本系统的无人机在道路上空进行检查,通过视觉识别,自主判别与汽车模型不相似的异物,并通过实时图传技术上报控制端,提前做出预警。
(2)防护林火灾检测:在公路附近存在的防护林容易出现火灾的情况,并且不易发现,通过无人机用红外摄像头在空中进行检测,识别火焰模型,及时地做出预警,发送火灾的消息。
(3)公路事故堵塞情况预报:在公路行驶中,可以通过无人机的巡航摄像头视觉检测识别道路上汽车的密度,以此来判断道路中行驶情况,若检测出道路拥堵,可发送拥堵信息传输给后面的往来车辆,避免更大的拥堵情况,使交通情况得到缓解。
根据设计需要,由于飞行距离远,回传数据工作量大,实时数据传送可能造成数据堵塞,延迟等系列不利因素,因此无人机在工作时需要自主飞行。在地面工作人员根据地图信息设置好巡航路线的经纬度。即起点,途经点,终点。对指定路段进行巡视识别。此时BDS定位系统显得尤为重要。
2 无人机选型
■2.1 无人机选型
民用无人机可分为固定翼机、单旋桨直升机、多旋翼飞行器等。近年来,四旋翼无人机在农业生产、精细化巡检、国防和社会安全等方面有着广泛使用并发挥了重要的作用。但是根据设计需求,采用旋翼式无人机进行测试时,我们发现其续航里程远远不能达到检测需求标准,尤其以常见的大疆四旋翼航拍无人机为例,通用空中滞留时间一般为20~30分钟,往返距离也不足30公里,更何况无人机还需给摄像头和BDS定位模块供电,其续航里程还将会大大下降。
通过测试设计比对之后采用固定翼后推式无人机,对于续航里程问题能够得到很大的缓解。一般的固定翼无人机,即使使用纯电动驱动,巡航时间也轻松突破2个小时。
图1 固定翼无人机设计图
采用固定翼无人机进行实际飞行时,只需通过北斗导航系统沿着指定的路线自主飞行即可,无需飞行人员操控。因此对于遥控距离也没有特定的要求,测试距离可以达到数百公里,完全适用于偏远地区,其次对于高速公路而言, 也不存在着90度急转弯等特殊路段,固定翼无人机完全可以胜任远距离公路巡检。
在本次检测系统设计中就采用了固定翼无人机为主体,树莓派进行图像处理并结合BDS定位系统,快速实现异常路面的定位和信息上报。
■2.2 系统整体搭建
无人机的核心飞控和传感器放置在整个机架的中心位置,摄像头放置在中心位置的下方。在实际飞行时,多种传感器实时接收无人机的飞行姿态和位置数据,并传输给控制模块,根据给孔算法,解算出各种控制数据驱动舵机,来调整飞行方向、路线、飞行高度,采用BDS定位模块设定巡检路线,使用高度计,标定无人机飞行的高度,空速计计算飞行的速度,三轴加速度传感器+磁场计控制飞行高度以及姿态稳定调整。飞机前部采用摄像头或者激光测距进行自主避障。
2.2.1 姿态解算
完成无人机的姿态解算具体办法是将各个位置的方向或加速度传感器得到的数据通过MCU计算转换成姿态角,一般有欧拉角表示法、方向余弦矩阵法以及四元数表示法等运算方法。但是三者与机体角速度存在不一样的关系,欧拉角与机体角速度(陀螺仪)是奇异且非线性的关系;旋转矩阵与机体角速度(陀螺仪)是不奇异且维数高的关系;四元数与机体角速度(陀螺仪)是不奇异且维数适中的关系。通过分析计算,最终为了节约MCU资源,减少计算量以及避免万向节锁死等问题,设计中采用了四元数表示法进行无人机的姿态解算。四元数表示法不需要考虑坐标换算的中间过程,只需要考虑原始坐标系与无人机实时产生的实际坐标系的关系,即可进行全姿态解算。
定义四元数等式:
具有如下关系:
四元数为:
四元数中无人机的定点转动用W表示,即认为原始坐标系通过一次转换即可得到机体坐标系。在四组关系中[x,y,z]表示方向向量,是原始坐标与实际坐标的变化矩阵。因此,姿态矩阵可由四元数表示为:
再由四元数进行反解得:
通过上述计算,可得出三姿态的欧拉角,进而完成姿态解算的任务。通过数据分析过程,无人机的自主控制系统可以实现三个姿态角(俯仰角、滚转角、偏航角)的稳定控制,保证闭环姿态系统能够在实际应用中具有期望的动态特性,进而使无人机沿受控的航迹方向飞行。
但是,实际飞行环境中会受到来自外界的不确定性因素干扰,如:参数误差、测量噪声等未进行建模因素的动态影响。所以,必须要考虑系统的抗干扰性能。因此在此次设计中,将每一个通道中都引入适当的观测器和控制器对不确定性因素的影响进行估计和补偿,以此来保证四旋翼无人机在干扰条件下依然能够对其设定的理想姿态的有效追踪。其流程如图2所示。
图2 实际运转流程图
2.2.2 控制系统
飞行控制系统(Flight control system),无人机的CPU系统,是无人机的核心部件。其功能是发送各种指令,处理外设传回的数据[2],如偏航、悬停,各种姿态变化都是由传感器将无人机的数据传回飞控,再由飞控通过运算和判断下达指令,完成动作和姿态调整。
本次的设计中,主控采用PixHawk飞行控制器作为主控单元[3],IMU(惯性测量单元)作为信息的提供者。搭配树莓派4B与摄像头完成图像采集与信息处理。并通过MJPG-streamer来进行数字图传,以此来辅助客户端。控制系统在整机中的通信如图3所示。
图 3 飞行控制系统
3 传输功能
■3.1 BDS定位应用
我国自行研制的全球卫星导航系统—BDS导航定位系统,可提供导航、高精度定位等服务.在数据通信方面,其还具备短报文通信功能,精度可达厘米级别,测速精度0.2m/s。
其中BDS系统可以通过数据链来完成对移动基准站实时发送的RTK差分来修正数据[4]。通过北斗 RTK 信息和卡尔曼滤波融合SINS,实时解算在基准站的固定坐标系中无人机的坐标及航向、姿态、速度等参数[5],通过这些参数很快计算出无人机和基准站之间的距离,引导无人机完成精确路面裂缝检测作业。
利用北斗卫星导航系统的上述导航定位优势,可为路面裂缝精确分类提供高精度的经纬坐标,为后续的路面的精确养护提供精确的经纬度信息,具有重要的社会经济现实意义。
在无人机上安装北斗定位部分,选择采用SKG1223定位模块获取定位信息,SKG1223是一款高性能的导航定位模块,支持北斗二号、三号的 B1L/B1C/B2A 三频卫星接收,能够更好地消除高阶电离层延迟的影响,固定在无人机上,在露天的环境中定位更快、精度更高。
另外,该模块拥有-162dBm 的跟踪灵敏度,使得模块在信号较弱的山区环境下依然能够提供精准位置服务。BDS定位模块与主控树莓派的通信接口采用UART串口方式,并采用NMEA-0183协议输出的定位信息[6]。该协议采用ASCII码传输模块定位信号,并通过串口通信将信息传输回主控芯片,最后借助数据传输模块将经过代码解析后的定位信息传送到终端监测中心。
系统定位经过验证之后,能够获取精确定位数据,之后可以通过GIS软件来绘制我们定位信息的图像,增强数据的可视性。
图 6 安装图片
■3.2 GPRS/GSM通信
GPRS/GSM通信方式,广泛应用在物联网/车载/电力环境检测等领域范围,本系统采用A6 GPRS模块,其是一款GPRS数据传输核心模块,提供串口转GPRS/短信息/语音通话等信息传输功能,在远程通信的设备端断开网络连接,客户端无法接收数据时,系统将采用GPRS/GSM通信的方式进行每次评估检测定位数据以短信形式传输,做到实时传送。
图4 模块图片
图 5 A6 GSM模块
本系统中主控树莓派与A6 GSM模块配合实现数据发送。选用gammu作为短信发送工具,而A6 GSM模块需要进行相关的设置才可正常使用。在树莓派上要彻底禁用串口的console登录功能,之后可以执行GSM模块的激活步骤,sudo gammu-config,端口写ttyAMA0,波特率选择at115200,其余默认。最后保存,此时返回GSM模块的相关信息,等待配置完成,就能实现短信的发送。sudo gammu sendsms TEXT “对方手机号码”-text“英文内容”,在手机号码后加一个参数“-unicode”可以实现中文支持。
通过以上的步骤配置并测试好树莓派GSM短信通信功能,随后将树莓派和GSM模块安装在无人机主控上方,在实际飞行工作中,需要实时短信发送GPRS所采集到的位置信息,保证在信息接收的即时性。
■3.3 MJPG实时图传
本次设计中,对于远距离传输采用较为新颖的MJPGstreamer来进行数字图传。MJPG-streamer可以通过HTTP和其他的方式访问linux上面的兼容摄像头,并且MJPG-streamer图像传输流畅度比较高,从而做到远程视频传输的效果。
在地面控制端,将遥控、MJPG实时图传和BDS位置通知集成为APP形式,便于控制,为地面控制人员及时掌控路面裂缝信息提供可视化的解决方案。系统所需的APP采用Qt软件进行编写,Qt编写之后的应用,可以多次编译到不同终端平台,如Windows、MAC、Android、iOS等。搭建好Qt软件所需的环境后,进行构建APP测试并进行下一步的APP实际创建。
首先搭建环境以及硬件设备连接,安装好MJPGStreamer,并进行相关代码的分析:络socket发送出去 */
完成PC端树莓派环境的搭建,Enable(启用)树莓派摄像头,供电开机。
启用摄像头支持,然后选择Interface Options,选择Camera然后按回车,再次回车,重启树莓派就完成了设置。在接收端可以创建一个.html文件就可以直接打开网址http://<树莓派ip>:<port>/javascript.html进行视频实时追踪。效果如图 7所示。
图 7 实时图传效果
■3.4 红外识别
在防护林火灾检测部分采用基于红外摄像头的监控平台,利用热成像原理,通过接收物体发射的红外线,将被测目标物体表面的红外辐射转变成视频信号,同时接收被探测目标自身辐射的热能,并将其转换成反映目标特征的实时物体表面的热图像,来监测火灾及其他异常事件,是结合现今行业发展水平的集成化,网络化的红外热成像公路防护林监控的解决方案。
当火灾发生后,尤其是森林火灾的情况下,火焰产生的烟雾很大,往往遮盖了真正的着火点,以及火灾的蔓延趋势。红外热像仪有很强的穿透烟雾的能力,可有效地发现真正的着火点,以及火灾的蔓延趋势,因此,可用于指挥救火,尽量减少经济、人员的损失。而森林火灾在地面火被扑灭的情况下,在地下往往还存在地下火的情况,因此,经常会出现死灰复燃的情况。红外热像仪可通过监控火灾后森林地表的温度,及时发现地表温度的异常,确定地下火可能存在的地点。
4 检测算法分析
在路面裂缝的识别中,传统识别模式大多采用图像处理的方法,对图像进行灰度化、二值化以及裂缝边缘检测,常用Canny和Roberts边缘检测算子[7],但采用这几种方法均会出现大量图像处理过程,效率较为低下且准确率不高。本次介绍中采用CNN网络模型,只需要进行裂缝图像的灰度化,一般可直接进行模型训练,CNN能够自主学习并完成分类目标,压缩了图像处理时间,并且能够快速地完成分类。
本次设计中所实现的功能是对路面异物以及裂缝、防护林失火情况进行识别判断,对两种识别功能分别构建算法识别,应用到MCU,并结合GPRS/GSM通信方式报警提醒地面控制端及时处理为此设计出能够对路面图像进行提取计算完成识别的方法。采用深度卷积神经网络对路面异物、裂缝数据进行学习,开发框架使用Keras,通过Python编程。
路面基本特征信息的识别和提取,采用多层感知机和深度卷积神经网络共同对路面裂缝图像分析,如图 8所示。首先,将一定数量的路面裂缝图像进行灰度化、标签化和归一化处理,形成训练集。随后使用训练后的模型对测试集判断预测,将多层感知机和深度卷积神经网络两模型效果进行对比。
图 8 路面物体识别
■4.1 原始数据收集
在采集原始路面信息数据时,每一类路况采集400张照片,主要对路面的完好路况以及龟裂路况进行了采集,在采集过程中保证图像的质量和大小一致,将影响模型训练结果的因素降到最低。
■4.2 数据预处理
原始数据采集后不能够直接进行使用,需要进行特殊化标准处理,筛除相关图像,来提高神经网络的训练速度。
在采集数据之后,在保证每一类路况照片分辨率降低的情况下,不会影响裂缝的分布特征的前提下,统一进行照片的分辨率降低处理工作。
完成分辨率减低后,进行图片标签化处理。针对四类路面信息图片,采用批量处理程序进行标签化的工作。完好路况采用0_x.jpg系列统一命名,横向裂缝路况采用1_x.jpg系列统一命名,纵向裂缝路况采用2_x.jpg系列统一命名,龟裂路况采用3_x.jpg系列统一命名。图像对比如图9所示。
图9 矩阵图
随后生成路况数据集,使用OpenCV接口进行处理,完成图像标签与图像数据信息的对应,写入csv文件。
■4.3 卷积神经网络训练
在选择卷积层数时,对应的层数越多,则最终拟合出的结果模型效果越好,但是针对此次设计中是小批量的数据,不需要过高的层数,所以最终选取了5层的卷积网络结构来进行训练。各层参数如表 1所示,为了防止出现过拟合的情况,增加了Dropot层[8],以此来完成神经元随机失活的功能,保证良好的测试集结果。
表 1 结构参数
得到准确的识别模型后,进行实验验证,随机选取200张图像(55张完好路况,43张横向裂缝路况,48张纵向裂缝路况,54张龟裂路况),卷积神经网络对测试集路面图像的预测和分类准确率平均为98.9%。较为准确,能够完成分类任务。