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