一种无人机图像数据叠加技术与实现

0 引言
目前,无人机航摄系统已从研究阶段进入到实际应用阶段[1]。无人机在飞行时,依靠无线图像传输系统和遥控系统将飞行图像、相关数据传输到地面。其中,遥控系统负责将指令传达给无人机,无线图像传输系统则负责将无人机相机上的实时画面和飞控数据等重要信息传送到地面站。为了避免相互干扰,这两套系统采用不同频率的无线电进行通信,这样无人机就可以在超出操作者视野可及的范围继续飞行和执行操作。
在无线图像传输系统中,相机实时采集的图像和飞控数据不能直接叠加显示在屏幕上,这时候就需要使用OSD(On Screen Display)视频字符叠加模块(以下简称OSD 模块),将图像和飞控数据叠加输出。
1图像与飞控数据叠加原理
无人机图像与飞行数据传输系统硬件部分主要包括图传模块和OSD模块,软件部分采用MavLink(Micro Air Vehicle Link)协议并通过MinimOSD获取相关飞行数据。
1.1图传模块
无人机影像系统主要由相机和图传模块构成。相机上的微型摄像头用于采集目标图像信息[2],其自身的像素决定了拍摄图像的清晰程度。值得一提的是,相机并非单独工作,而是要与无人机云台共同工作。
无人机云台的主要作用对象就是相机,通过对相机姿态的调节,保证航拍无人机在飞行中能够获取稳定并且清晰的画面。
图传的任务是将航拍无人机所拍摄的画面实时、稳定地发射给地面无线遥控接收设备。在图像传输过程中,首先,通过图像处理算法对图像进行增强处理,例如:通过电子稳像,去除视频中存在的抖动、晃动等因素,使视频画面过渡更加平稳;然后,利用2.4GHz或是5.8GHz无线技术对图像进行传输。相对于2.4GHz技术,5.8GHz技术采用了更高频段的信号,具有更高的传输速率和带宽,但信号的频率越高,穿透力越弱,故衰减较明显,避障能力弱。
图1为5.8GHz图传发射机工作原理。
图1  5.8GHz图传发射机工作原理
MCU(Microcontroller Unit),即微控制单元。它将图传PCB板上各种外接的接口,例如:内存、A/D转换、PLC,整合在单一芯片上,作用类似于CPU,根据不同情况,进行不同的控制以及资源的分配。隔热杯
Transceiver,即无线电收发两用机,用于发送和接收信号,在图传的收发过程中,起到桥梁的作用。实验室用振荡器
PA(Power Amplifier),即功率放大器,它是能输出大功率信号的放大电路。因为图传模块的输出端
要负载OSD 模块和云台相机,所以需要对小信号的功率进行放大,使负载能够被正常驱动,这就需要使用PA模块。
LDO(Low Dropout Regulator),即低压差线性稳压器。它是一种线性稳压器,能够调节输出电压,使输出端的负
硅凝胶贴膜
一种无人机图像数据叠加技术与实现
曾舒婷  夏庆锋  王  辰  朱  烨
(南京大学金陵学院信息科学与工程学院,南京,210089)
摘 要
毛发收集器在现代航拍无人机中,OSD模块成为无人机硬件中一个极为重要的组成部分。它可以将飞行器的各项性能数据及环境指标实时传输到地面,即OSD模块可实时返回风速仪、高度仪、陀螺仪、电量监控等模块的数据。本文提出一套完整的图像数据传输显示方案,并实现了航拍无人机的图传任务。无人机飞行航拍实验结果表明,图传电路及软件设计正确,且图像及数据传输匹配,可应用于航拍无人机教学。
关键词:无人机,图传系统,OSD模块, MavLink协议
本文为2016
年南京大学金陵学院重点教学改革研究项目“基于新闻无人机的创新实训课程研究”的研究成果,项目编号:
0010521608。
载能够在工作电压内运行。在本文介绍的无人机系统中,图传模块和云台相机的工作电压均小于电池的输出电压,LDO 在图传环节对电压进行调节,保证图传系统的稳定运行。
当MCU下达发送图传信号的指令后,图像数据首先从云台相机传输到OSD模块,最后到达MCU。在接收到数据后,MCU调动发射器发送信号,发送出去的小信号经过放大电路,功率得到增强,达到能够驱动负载的程度。同时,LDO对电池的电压进行调节,使图传系统在工作电压范围内正常运行,确保数据的稳定可靠。最后,信号被发送出去,并被图传接收机收到。
5.8GHz图传接收机工作原理如图2所示。
图2  5.8GHz图传接收机工作原理
LNA(Low Noise Amplifier),即低噪声放大器,作用与PA类似,对信号功率起到放大的作用。由于其自身噪声低,故对信号的干扰比较小,使接收端能够得到质量较好的画面。
当接收机收到来自发射机的信号,经过信道的传输,信号会有所衰减,为了能收到高质量的信号,笔者将信号经过放大电路,增大其功率,最后由接收机的MCU收到。在进行信号处理后,MCU下达显示图像的指令,从而在接收机的显示屏上看到飞行画面,实现无人机的FPV(First Person View,第一人称主视角)。
1.2 OSD模块
硬件方面,主控芯片采用Atmega328,字符叠加芯片则采用MAX7456。Atmega328具有32KB的Flash,2KB的SRAM 以及1KB的EEPROM(Electrically Erasable Programmable Read -Only Memory,电可擦除只读存储器);MAX7456可以存储256个字符,同时可以实现PAL信号或者是NTSC信号的字符叠加。
软件方面,MinimOSD采用MavLink通信协议,在串口上获取封装为MavLink协议的飞行数据,并将其显示在视频输出之上,而且支持用户自行设置显示信息的版式和内容。
OSD模块正面如图3所示。
图3  OSD模块正面
图3中,左侧芯片是Atmega328,这是一块开源飞控项目中十分常见的周边模块,它通过内置模块UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器),以端口0(RX)和端口1(TX)与外界进行通信。
图3右侧芯片是MAX7456,这是一块专门用来叠加视频信息显示的芯片,又被称为单通道随屏显示发生器,集成视频驱动、同步分离器、视频开关以及EEPROM[3]。通过使用这种芯片,笔者可以在动态
视频上附加上需要的特定图形。此处,该芯片可以提供256个525线和625线标准的可编程颜字符,大大降低了系统成本。
将OSD模块和飞控系统、图传模块以及相机相连接,具体接线图如图4所示。
图4  OSD整体部件接线图
图传模块和相机的标准输入电压都为5V,但OSD模块的标准电压则为12V,所以依靠图传模块上导出的+5V 电压满足不了OSD电压要求。因此,笔者从无人机的飞控平台上的I2C口接出一个+5V的电压来驱动OSD模块。
笔者将OSD模块按照正负相对,进出方向对应的规则进行连接,如图4所示连接方式。其一端接在飞控系统上,另一端与图传发送器、相机相连接。通过在飞控系统上读取各部件的参数,再逐个叠加到图传画面上,最后通过图传发射器发送出去,在接收装置上便可以实现最简易的OSD。
在软件方面,主要实现Pixhawk OSD的二次开发。基于MinimOSD2.0源码,采用MavLink协议用于地面站与微型飞行器之间的通信,可使用Arduino对OSD代码进行调整,从而实现界面的定制。
1.3 MavLink协议原理
开源飞控与开源软件同样遵循GNU(GNU's Not Unix)协议,开放源代码与硬件目前已经非常成熟[4]。
MavLink协议于2009年发布,是一种广泛应用于地面站(Ground Control Station)和微型飞行器(Micro Aerial Vehicle)之间的通信协议。其遵循LGPL(GNU Lesser General Public License)开源许可,在串口通信的基础上实
MCU
Transceiver LNA
现了更为高级的开源通信协议。该协议是由头文件构成的编码库,可以高效地封装由C语言组成的数据结构。
图5为MavLink数据包的基本结构。
图5  MavLink数据包的基本结构
Mavlink数据包长度在8-263 字节之间,协议的尾部存在着8位CRC校验位(CKA为低四位,CKB为高四位),当微型无人飞行器和地面站之间使用不同版本的MavLink 时,双方会由于校验码不一致而导致通信失败,而其最大程度上避免了不同版本的MavLink之间通信带来的各种潜在问题。
当使用MavLink协议封装消息包时,MavLink会根据本
地使用的MSG数据帧获取到该MSG消息所包含的LEN信息,这时地面站软件也会根据其本身的状态信息,填写数据包中的SYS和COMP数据帧。当数据报文填写完毕生成数据包时,该协议会自动添加STX,并且在上一次使用的消息包的SEQ序列码上增加1作为本次数据包的序列码,若此时SEQ对应数字超过255,则会重置为0并重新开始封装。CKA和CKB会在PAYLOAD消息写完后、数据包封装之前,依据尾部的CRC循环冗余校验码算法,计算得出并自动封装进入数据包内。
营养块
在整个消息数据包的封装流程中,只有 MSG 数据帧和 PAYLOAD 两项内容需要修改。
2 OSD叠加数据显示主要过程
OSD叠加数据显示的实际操作过程主要分为:熟悉MinimOSD工作流程,修改MinimOSD源码、修改字库、刷写字库以及固件。
2.1 MinimOSD工作流程
MinimOSD的工作流程如图6所示。
当程序启动后,调用setup()函数,首先需要初始化MavLink协议,之后设置端口号以及通信的波特率、初始化MAX7456的驱动程序,并将其置位为高位启动;接着使用readPanelSettings()函数调用OSD_Config.h中储存的EEPROM数据,最后启用loop主循环。
当飞控系统出现反馈请求时,返回相应的飞控数据,read_mavlink()调用MAVLink.ino文件中关于数据包的定义,并对数据包进行解析,writePanels()则针对特殊飞行数据调用OSD_Panels.ino文件中字符绘制的函数。
图6  MinimOSD的工作流程
以代码来实现更改OSD叠加显示为例,以下是当无人机飞控收到MavLink协议响应时的反馈:
if(enable_mav_request == 1){
osd.clear();
osd.setPanel(3,10);
osd.openPanel();
osd.printf_P(PSTR(""));
osd.closePanel();
当收到响应后,OSD首先进行清屏操作,然后使用setPanel函数选定目标数据的打印位置,同时打开OSD的显示功能,接着打印想要输出的字符串,打印完成后,关闭OSD显示功能。
2.2字库修改及刷写
本文使用的字库文件为MinimOSD2.2版本,如图7所示,一共有256个字符,分为16行16列,以16进制标识,即为0x00到0xFF。
7  字库具体内容MavLink Frame—8-263 bytes
如果想自定义字库文件的图标,需要使用MAX7456 Charwizard 软件,在右侧画板上拖写,就能改变字库文件特定位置的图标。绘制完毕后,点击最右侧底部的Save Character 进行保存。
无人机上电启动后,OSD 会在初始化界面显示一个相机图标和当前OSD 版本号,如图8所示。
图8  字库文件绘制功能图8红框中的相机图标便是调用上述字库文件中的绘制功能实现的,打印字符在函数代码上有两种方法:一种是osd.printf()函数,它可以向MAX7468的选定位置输出想要的字符,但是不可以输出字符串,也不可以调用字库里的自定义图标;另一种是使用osd.printf_P(PSTR())函数,PSTR 解析字符串可以对字库进行索引,该相机图标是使用如下代码来实现的:
osd.printf_P(PSTR("\x00\x00\x00\x00\x00\x00\xBA\xBB\xBC\xBD\xBE|\x00\x00\x00\x00\x00\x00\xCA\xCB\xCC\xCD\xCE));
在这个字库文件中,0x00表示空格,0xBA 即为相机图标左上角对应的图标,|表示换行,\xBA\xBB 是Arduino 源码中对应的写法。
将MinimOSD 源码按照要求修改之后进行编译,Arduino 会生成一个hex 固件文件,将其与mcm 的字库文件一同用OSD_config 刷写进OSD 模块,一般情况下选择先刷写字库再刷写固件。若是字库刷写不进去,那就选择先刷写固件,再刷写字库,再次刷写固件,刷写过程才算完成。
3图传系统硬件实现
当字库文件和固件都准备完毕后,将TTL 下载器和OSD 模块连接准备刷写。TTL 端连线分别是DTR RXD TXD +5V GND,OSD 端连线则是DTR TXD RXD +5V GND,两个模块的接收端和发送端相连。这里需要注意:使用OSD_config 刷写字库,需要在Video Mode 中将原视频制式改为PAL 制式,同时相机上也要将原视频制式改为PAL 制式,否则OSD 的叠加数据将会显示在屏幕之外。
图9为无人机飞行之后的图传数据。
图9  无人机图传数据界面
图9中,左上角第一行为空速,第二行为飞行速度,第三行数据表示无人机当前的电池电量占比为89%,第四行数据表示无人机工作电压为2.99V,第五行数据表示无人机工作电流为6.66A,最后两行数据分别表示无人机的飞行距离为8m、海拔高度为2m。
右上角数据是无人机当前的经纬度具体数值:北纬32.178°,东经118.704°,中间位置显示飞行器朝向为北偏西;右下角显示机体温度为34.7°C。这些数据说明无人机图传模块、数传模块、OSD 和相机工作都正常。
4 结语
综上所述,本文介绍了航拍无人机图像及其数据传输系统的硬件、软件的实现方案。在硬件方面,将OSD 模块与图传相机相连,可直接将飞行数据叠加到实时飞行图像上;在软件方面,实现了Pixhawk OSD 的二次开发。软硬件相结合,实现了无人机实时飞行图像叠加数据,同时修改了MinimOSD 上显示数据贫乏和布局混乱的缺点,为学生入门和无人机改良提供基础方向。
无人机飞行航拍实验结果表明,图传电路及软件设计正确,且图像及数据传输稳定,飞行数据可依据需求叠加到图像上,也可应用于航拍无人机教学。
参考文献
[1] 刘鹏,彭艳鹏,邹秀琼,等.我国无人机航摄系统现状和前景[J].地理空间信息,2010,8(4):4-6,161.
[2] 高珍,邓甲昊,孙骥,等.微型无人机图像无线传输系统方案与关键技术[J].北京理工大学学报,2008,28(12):1078-1082.[3] 汪辉,王昌明,宋高顺,等.基于MAX7456的字符叠加系统设计[J].电子设计工程,2010,18(7):181-183.[4] 孟颖,张贵阳,魏晓马,等.基于APM 飞控制作的MAVLink 通信协议分析[J].电子世界
,2014(23):101-102.
>510669

本文发布于:2024-09-22 01:52:21,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/140203.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   图像   模块   图传   系统
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议