文/龍吉
經(jīng)過多年的發(fā)展,視頻疊加技術(shù)已經(jīng)非常成熟,常常在監(jiān)控攝像頭、攝像機、圖像處理上看到,如當(dāng)前日期、時間、地點、電池電量、位置等信息疊加在圖像上,讓用戶直觀了解設(shè)備的工作狀態(tài)等信息。這些信息的獲取,大部分是通過以下兩種方式,與主控制器通信間接獲?。煌饨有畔㈦娐分苯荧@取。如攝像機電池電量、剩余拍攝時間等信息就是通過和主控制器或者協(xié)處理器通信而獲得的信息并疊加到監(jiān)控屏幕上的;有些監(jiān)控攝像頭上的時間信息時外接時鐘電路直接獲取并疊加上去的。
目前國內(nèi)外使用最多的是OSD模塊都是起源于google上的minimosd項目。該項目版本截止于2012年,最終版本號為2.0,由于該年代技術(shù)限制,其硬件解決方案采用的是Atmel公司的ATMEGA328芯片作為主控芯片,具有32KB的Flash,2KB的SRAM和1KB的E2PROM,參與視頻字符疊加芯片采用美信(Maxim)公司的MAX7456,對于這樣的配置也僅僅相當(dāng)于Arduino的nano級別,因為內(nèi)部資源匱乏,功能僅完成對飛行數(shù)據(jù)的讀取并疊加在圖像中,雖然在后期托管在github上的minimosd-extra 2.4版本在原有版本的基礎(chǔ)上擴展了對MAVlink協(xié)議的支持,但是硬件系統(tǒng)仍沒有變化,造成了該模塊有很多局限性,比如在失去飛行圖像時無法正常疊加飛行數(shù)據(jù),即攝像頭輸出圖像丟失時,該模塊無法識別圖像信號是NTSC制式還是PAL制式,內(nèi)部程序會卡在識別制式循環(huán)中,無法正常顯示飛行數(shù)據(jù)信息。
本項目主要研究內(nèi)容是采用基于32位ARM芯片的STM32作為主控芯片,對傳統(tǒng)的OSD模塊內(nèi)部結(jié)構(gòu)進行改進設(shè)計,使其更加適合FPV。為了提升這種模塊的兼容性,有些飛行數(shù)據(jù)是外接電路直接獲取的。為了提升直觀性,摒棄傳統(tǒng)的OSD將數(shù)據(jù)的堆積,直接將各類數(shù)據(jù)疊加顯示在圖像上的做法,而是將一部分飛行數(shù)據(jù)計算后通過圖示的方式的顯示出來,更加直觀的反映飛行數(shù)據(jù),操控者可以快速獲知當(dāng)前飛行狀態(tài),便于集中精力控制無人機。
當(dāng)前國內(nèi)外適用于無人機的飛行控制系統(tǒng)(簡稱飛控)多種多樣,通信協(xié)議也有很多,如APM、PX4、pixhawk等的MAVlink協(xié)議;DJI的CAN(Controller Area Network)協(xié)議;MWC的MSP(multiWii Serial Protocol)協(xié)議,視頻疊加模塊想要獲取飛控內(nèi)部慣性測量單元(IMU)的信息需要兼容以上多種協(xié)議,很大程度增加模塊的接口電路的復(fù)雜程度和邏輯判斷壓力,為了讓本設(shè)計的視頻疊加模塊的兼容性更好,飛行數(shù)據(jù)大部分是外接電路直接獲取,只需要將FPV的攝像頭輸出的視頻信號和本設(shè)計中的視頻疊加模塊連接即可。
視頻疊加模塊的微控制器采用意法半導(dǎo)體的STM32F405系列32位微控制器,在運行實時操作系統(tǒng)和GUI上具有較好的性能,可達168MHz,具有1MB FLASH。主控制核心的主要作用是將外接的IMU電路中的陀螺儀、加速度(角度、電子羅盤)傳感器、氣壓傳感器等信息經(jīng)過濾波、解算、數(shù)字濾波后,控制字符和圖形疊加芯片中進行疊加處理,其中為了更加直觀的了解IMU電路中的數(shù)據(jù),主控制核心是將數(shù)據(jù)整合成一個3D圖形展示出來的,通過3D圖形的姿態(tài)的變化直觀的看到無人機的姿態(tài)。
這部分電路由三軸加速度傳感器MPU6000、陀螺儀ST L3GD20、磁傳感器ST LSM303D及氣壓傳感器MS5611組成,以上傳感器均使用3.3V供電,慣性測量單元電路是為了提升視頻疊加模塊的兼容性而獨立設(shè)置的電路,而實際上,飛控內(nèi)部也有一套或者多套慣性測量單元電路,但是有些商業(yè)級飛控是無法通過通信獲取這些信息的,所以設(shè)計中的視頻疊加模塊外置了IMU電路。
視頻疊加芯片采用美信公司的MAX7456,設(shè)計中主要通過這種芯片將數(shù)據(jù)和圖形疊加到視頻中,MAX7456不需要外部視頻驅(qū)動器、視頻同步分離器和視頻開關(guān),器件可以提供525和625線標(biāo)準(zhǔn)的256個可編程單色字符,它的顯示存儲器SRAM可以存儲480個字符地址,對于圖形編輯來講足夠使用。
在某些極端的環(huán)境中或者出現(xiàn)故障,無人機的FPV攝像頭輸出的視頻信號丟失時,很容易出現(xiàn)地面站無法實時看到無人機的實時姿態(tài)和信息,因為視頻信號丟失,無人機的姿態(tài)信息、空速、GPS等信息也無法疊加到視頻信號中,為了解決這個問題,設(shè)計的視頻疊加模塊增加了一個標(biāo)準(zhǔn)視頻信號發(fā)生電路,當(dāng)模塊的主控制核心發(fā)現(xiàn)FPV攝像頭的視頻信號丟失時,立刻產(chǎn)生一個標(biāo)準(zhǔn)的視頻信號以供疊加,地面站在沒有圖像的情況下,仍可以實時觀察到無人機的姿態(tài)等信息。
視頻疊加模塊的軟件重點在IMU電路的解算及濾波上,設(shè)計中采用基于四元數(shù)的互補濾波解算姿態(tài),這種算法是將各個信息融合解算,使解算結(jié)果趨于穩(wěn)定。這部分屬于慣性導(dǎo)航和多種傳感器的數(shù)據(jù)融合,其中加速度傳感器的低頻特性較好,累計誤差較小,而陀螺儀累計誤差會越來越大,所以在互補濾波算法上根據(jù)他們的特性給予這兩種數(shù)據(jù)不同的權(quán)重進行姿態(tài)解算,每隔一段時間使用加速度的數(shù)據(jù)校準(zhǔn)一下陀螺儀數(shù)據(jù),從而得到最優(yōu)值。
本文給出了一種應(yīng)用在無人機上的視頻疊加模塊的設(shè)計方法,主要介紹了視頻疊加的目的和軟硬件設(shè)計方案,直接應(yīng)用在多種構(gòu)型的無人機上,使用和操作簡單,更加直觀的了解無人機的飛行狀態(tài)。