APP下载

智能车与四旋翼飞行器相融合的导航避障系统的设计

2019-07-03苏宁馨张自强余浩

上饶师范学院学报 2019年3期
关键词:信标小车飞行器

苏宁馨,张自强,余浩

(安徽新华学院电子通信工程学院,安徽合肥230081)

近年来随着人工智能,汽车制造以及通信技术的交织融合,使得导航系统的智能化成为行业发展的必然趋势。智能车与四旋翼飞行器相融合的导航避障系统的设计也成为现如今行业技术研究的重要目标和方向,较之传统行业中智能车独立导航避障系统,与四旋翼飞行器相融合后,无疑扩大了航线视野的范围和广度,同时也揭开了空中与地面相结合的导航避障设计的新局面和新思路。目前国内外对四旋翼飞行器机械结构,飞行模式以及智能车自动导航避障问题的研究已取得了较为丰富的成果,本系统设计中融合了两者的发展优势,在未来导航避障的应用领域上必然带来新的突破[1]。

1 系统总体设计

智能车四旋翼导航系统的设计主体主要包括:智能车和四旋翼飞行器两大部分:(1)飞行器部分采用大疆精灵飞行器,并搭载STM32F767IGT图像处理单元作为飞行器平台的主要核心模块。(2)智能车部分则采用新CI车模,并使用32位微控制器MK60FX512VLQ15作为核心控制单元,同时结合速度编码器、红外超声波测距、陀螺仪、电机、陀机等其他硬件部分,共同构造智能车部分[2]。系统总体设计框图如图1所示。

系统工作原理是:系统空中部分先是通过四旋翼飞行器上安装的红外摄像头MT9V032采集路面信息,经STM32F767图像处理单元进行数据处理,使用NRF2.4G无线通讯模块传输至智能车。智能车在接收了飞行器平台数据后,进行陀螺仪角度采集和计算、红外超声波避障计算、电机驱动输出等系统控制流程,实现一套具有识别目标位置,自主路径规划,行驶速度合理选择的导航及避障系统的设计[2]。

图1 系统总体设计框图

2 系统硬件部分设计与优化

2.1 NRF24L01 无线收发模块

NRF24L01无线传感模块是系统无线数据传输和接受的重要桥梁,是联系空中和地面数据通信的重要纽带,也是区别传统单车导航避障系统设计的一大特色。在飞行器平台和智能车模块中都需要使用。NRF24L01无线传感模块在本系统中接收和传输数据的主要工作流程是:当飞行平台将空中采集的图像信息进行数据转换后,通过NRF24L01发射给小车时,需要先将飞行器平台上的NRF24L01配置为发射模式,接着把接收节点地址TX_ADDR和有效数据TX_PLD按照时序,由SPI口写入NRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可。小车上安装的NRF24L01无线模块这时则设置成接受模式,接收空中NRF24L01模块发来的信息,传输给小车的主控制单元MK60FX512VLQ15,并进行后续的数据处理。NRF24L01无线传输模块的电路图如图2所示。

2.2 四旋翼飞行平台的设计

2.2.1 STM32F767 核心处理器

飞行平台上使用的STM32F767核心板,其板载资源十分丰富,能够独立使用并应用在不同领域的电子自动化设计中。其主频达到216MHZ,并配有dcmi接口,可以提高采集效率。STM32F767核心板的性能稳定,接口丰富,设计灵活,其采用4层板设计,单独地层和电源层,传输和处理数据速度快,稳定性高,运行可靠。在本系统设计中其主要承担的任务是:在飞行平台上,处理来自红外摄像头MT9V032采集的路面图像数据,并结合NRF24L01无线传感模块,将数据传输给地面的智能车。STM32F767核心板如图3所示。

图2 NRF24L01无线收发模块

图3 STM32F767核心板

2.2.2 四旋翼飞行器设计

四旋翼飞行平台上的模块主要有摄像头数据采集、处理和无线传输单元。设计中飞行器平台的图像采集和处理模块对整个导航避障系统工作的稳定性和高效性起着重要的影响[3]。设计过程中综合对比后采用了STM32F7+红外广角摄像头MT9V032摄像头的方案。

飞行器上采用红外广角摄像头,其加入的红外滤光片,既能够减少自然光的干扰,减小误判;又能够提高分辨率,以保证飞行平台能够采集并传输最为优质的图像画面及数据分析。本系统中飞行平台图像处理主控板设计如图4所示。

2.3 智能车平台的设计

2.3.1 MK60FX512VLQ15 微处理器

MK60FX512VLQ15现如今是K60系列微控制器中应用最为广泛的一款芯片。它具有丰富的模拟、通信、定时和控制外设。这款微处理器能够提供可选的单精度浮点单元、NAND闪存控制器和DRAM控制器,很多引脚都是功能复用引脚。在系统智能车平台的设计中,我们将其选为主控制单元使用,它将结合NRF2.4G无线通讯模块,速度传感器、车模角度传感器、测距传感器等电路,完成一系列的数据传输及处理工作,最终控制智能车实现导航,避障功能。智能车中使用的MK60FX512VLQ15核心板如图5所示。

图4 飞行平台图像处理主控板设计

图5 MK60FX512VLQ15核心板

2.3.2 智能车平台设计

系统智能车模块主要完成航线行驶和避障两项任务,平台主要有主控制板和电机驱动板。为了减小电机驱动电路带来的干扰,设计中将控制部分和电机驱动分开来完成。主控制板上主要完成信号采集、处理和电机控制作用[4]。系统智能车部分主要包括:电源稳压电路、NRF24L01无线接口电路、速度编码器电路、电机驱动电路等。结合各模块电路的设计后,智能车硬件完成实物如图6所示。

智能车模块中的传感器部分是系统实现导航避障功能的重要保障。智能车传感器的分布根据车模结构及机械结构理论分析,结合系统实际需求而定,主要包括:速度传感器、车模角度传感器、测距传感器等。速度编码器我们采用了M-T3D2512线编码器模块,在系统工作中主要控制和反应电机的转速。L3G4200D三轴数字陀螺仪传感器模块用于测量智能车的角速度,以判断车的运动状态,从而为智能车制定出较优的路径规划。防陀螺仪电路如图7所示。

图6 智能车硬件设计实物图

图7 陀螺仪电路

系统测距和避障模块采用了三个超声波与两个GP2Y0A21YK0F红外测距传感器。红外模块检测距离时,电压将会发生明显变化,通过模数转换后将数据传输给主控芯片进行处理分析,以便小车识别障碍物及距离。考虑到如果行驶区域不平整或者检测到点亮的信标灯时,信标灯的光源对红外对管有一定的干扰,在系统中又添加了超声波模块辅助检测,以减少和排除干扰[3]。

电机驱动使用的是全桥式MOS管驱动集成电路,IR7843理论允许最大电流为161A,完全可以满足智能车设计电机的正转、反转等基本操作。电机驱动电路如图8所示。

图8 电机驱动电路

3 系统软件部分设计

高效精良的软件设计是系统平稳运行的基础。智能车四旋翼导航避障系统中飞行器平台采用的是红外广角摄像头MT9V032采集路面图像信息,图像采集及校正处理就成了软件设计的核心内容,设计过程中这部分工作主要采用Matlab软件进行图像校正工作。系统导航避障功能的整个程序设计开发是在IAR Embedded Workbench IDE下进行。系统软件设计部分主要分为如下几个方面。

3.1 目标与车体位置识别及优化处理

3.1.1 原始图像的采集和校正

飞行平台利用广角摄像头MT9V032提取的图像信息主要包括:目标中心点坐标、车头目标中心点坐标以及车尾中心点坐标。系统图像采集时会出现边缘杂点、边缘线,光线、远处图像不清楚以及图像变形等问题;除此之外使用的广角摄像头也会造成图像产生的桶形失真相对严重,并且沿着镜头半径方向向边缘移动,畸变越来越严重,这使得摄像头看到的信息不真实。

为了解决上述问题,系统利用了Matlab软件进行图像校正。摄像头采集的原始图像是一个二维数据矩阵,矩阵的每一个元素对应一个像素点。由于桶形变换要操作每一个像素点,运算数据庞大,在软件设计中使用Matlab生成了一份桶形畸变校正表,主控制芯片只要查表找点即可,节约了大量时间,处理完的图像更加趋向于真实情况,图像处理实测前后对比如图9所示。

图9 摄像头采集的原始图像(左)与变换后的图像(右)对比

3.1.2 目标识别

目标识别方面通过STM32F767核心处理器寻找每一行的白色区域(即目标区域)的中心点及长度,然后与上一行的白色区域比较是否为同一区域,如果“是”便累加长度,中心点求平均,如果“否”便创立新的目标区域。这样逐行扫描下去直到结束,为了提高扫描速度,设计中将逐行扫描更改为跳跃式扫描,只需要扫描原始图像的一半数据量,减少了一半的扫描时间,同时又滤除了一些孤立的杂点[5]。目标识别流程图如图10所示。

图10 目标识别流程图

3.1.3 路径规划

小车在完成了识别目标之后,能否以最短的时间到达目标位置,与小车的速度和路径都有着密切的关系,因此,以一个最合理、最高效的路径完成行驶是最为关键的。对于路径的优化,我们从以下两个方面来完成:一是增加视场的长度和宽度。根据实验分析,当飞行器飞得较高,采集到的图像视场较宽广时,通过摄像头采集到的目标图像产生的畸变较小,小车会以一个比较好的路径驶向目标;二是相对角度处理。飞机平台在采集图像信息处理并传输给小车时,采集到的信息只是三个从小到大排序的坐标信息,以及检测到目标的数量信息。小车通过判断最小的信标与另外两个信标的距离,判断哪个是信标灯,哪个是车头,然后算出车尾与车头相对图像的角度以及车尾与信标灯相对图像的角度,并将两个角度作差处理,然后取-180到+180度范围,从而算出小车与信标的角度差。

3.2 智能车主要控制算法

在智能车的转向和速度控制方面使用了经典的PID控制算法,并配合理论计算和实际参数补偿的办法,使智能车能够稳定快速行驶并避障。根据舵机和电机工作内容不同,分别加以说明。法

3.2.1 舵机控制算法

系统中利用摄像头采集到的图像数据,计算出来的角度是存在一定的偏差,在数据计算时采用将车模位置分段,由于舵机存在比较大的滞后,采用了PD进行闭环,让舵机可以更快的响应,在转向时,根据不同的偏差,给定不同的kp值和τ值[6-7]。PD算法参考公式1所示。

3.2.2 电机控制算法

小车行驶途中,根据不同的路况,摄像头采集到的图像和计算出来的每个角度的偏差是不同的,实际设计过程中可以根据不同的偏差,将路况进行分段考虑,以给定适合的速度。车头朝向信标偏差很小时,可以给一个较快的速度,使小车在直道上加速;当偏差越来越大时,适当的降低小车的速度,以便让小车完成避障或转弯的工作。在电机控制算法中使用了PID算法进行闭环,具体算法公式参考公式(2),在多次实验观测中不断改变kp、τ和Ti,以使小车行驶速度根据路况达到最优状况[6-7]。

4 系统实现

在系统的实现中,采用在路面放置不同的信标小灯,每点亮一个小灯,就告知小车目标位置,在对避障功能的验证中,把暂时不点亮的信标灯作为小车运动过程中的阻碍,这种做法还能够检测小车对光感的适应能力和反应速度。下面分别介绍系统的实验结果:

4.1 系统导航功能的实现

在实验场地上,放置了3个信标小灯,其中点亮的小灯作为目标灯,小车会根据飞行器传输过来的数据进行目标识别路径规划,朝着信标灯行驶。同时智能车还可以通过路面信息,调整速度,以区别直道和弯道的行使状态,如图11和图12所示。

图11 智能车识别目标进行路径规划

图12 智能车逐渐驶向目标完成系统导航

4.2 系统避障功能的实现

在完成第一盏灯的目标识别后,将其熄灭,并改变亮灯的位置,点亮最左边的小灯,而中间的信标灯则看为障碍物,系统会通过目标识别和计算路径,自动完成避障并驶向新的目标灯,如图13和图14所示。

图13 智能车识别新的目标

图14 智能车成功避障驶向新信标位置

5 结论

智能车与四旋翼飞行器相融合的导航避障系统,硬件部分采用MK60FX512VLQ15微控制器作为智能车主控制单元,STM32F767IGT作为飞行平台图像处理单元,并结合NRF24L01无线传输模块,红外线超声波传感模块,舵机控制模块,电机驱动模块等关键电路,共同完成系统核心电路的设计[8]。软件设计部分利用Matlab软件对原始图像进行了处理和校正,整个程序设计开发在 IAR Embedded Workbench IDE下进行,智能车的转向和速度控制方面,利用了经典PID控制算法,并配合理论计算和实际参数补偿的办法。系统在完成调试和测试之后,运行平稳灵活,导航避障功能完整实现。该系统的设计方案和实现成果获得了2017年第十二届全国大学生“恩智浦”杯智能汽车竞赛中,创意组国赛一等奖的骄人成绩。

猜你喜欢

信标小车飞行器
高超声速飞行器
大车拉小车
自制小车来比赛
一种基于置信评估的多磁信标选择方法及应用
刘老师想开小车
两轮自平衡小车的设计与实现
RFID电子信标在车-地联动控制系统中的应用
复杂飞行器的容错控制
基于信标的多Agent系统的移动位置研究
神秘的飞行器