【摘要】:本文設計并搭建了一套能夠實時自動跟蹤高速運動目標的二軸舵機平臺?;贠penCV函數庫中的CamShift算法對運動圖像進行了處理,把圖像處理后的數據通過高速串口實時發(fā)送給Arduino,通過直接操控Arduino的AVR來提升PWM的頻率實現對窄頻舵機的穩(wěn)定控制。并引入PID控制,實現了對高速目標的快速穩(wěn)定跟蹤,控制指標在同類平臺中處于較高水平。
【關鍵詞】:高速目標;CamShift算法;二軸跟蹤平臺
目標跟蹤系統(tǒng)在軍、民系統(tǒng)中的有大量的應用。如火炮自動觀瞄系統(tǒng),能夠在坦克行走時自動對準所要瞄準的目標,增加坦克的觀瞄效率,提高戰(zhàn)場存活率;現代飛機偵察吊艙采用的凝視系統(tǒng),能夠對準所要偵察的對象,減少飛行員的操作量。
一、CamShift算法原理
根據設計需求,本系統(tǒng)是用于追蹤高速運動的目標,在這種應用場景下OpenCV下MeanShift算法簡化成了一個簡單的重心跟蹤的算法,所以實現的追蹤效果并不理想,因此為了解決這個問題,本系統(tǒng)結合了它的改進算法CamShift。該算法主要通過目標對象的顏色特征與環(huán)境背景顏色特征差異來實現追蹤,其核心思想是對讀取的視頻中每一幀圖像都進行MeanShift運算,并且前一幀的運算結果將作為后一幀的初始參數依次迭代。根據上述原理設計了兩種追蹤模式——動追蹤和全自動追蹤。
半自動追蹤最終實現的目標效果:輸入需要被追蹤物體的視頻,用鼠標手動選出需要追蹤的物體,輸出追蹤結果參數。第一步:在輸入界面中手動用鼠標拖選出追蹤目標;第二步:計算求解出視頻中所選的目標物體的反向投影圖并輸出到計算機處理器;第三步:根據計算機實計算獲得的反向投影圖和手動輸入的選定的方框進行MeanShift算法迭代,最終向反向投影圖中概率最大的方向輸出移動信號,也就是向概率密度重心的方向在移動,所以目標始終在選定的方框內;第四步:下一次需要計算的圖像用上一次計算的結果(輸出的方框)代。
全自動追蹤最終實現的目標效果:輸入需要處理的視頻,系統(tǒng)對視頻中運動的目標物體進行自動追蹤。第一步:用運動偵測算法函數將視頻中運動中的目標物體與靜止的非目標背景分離開來;第二步:目標物體的輪廓進行初步提取并輸出,從原來的圖像中獲取目標圖像的基本信息;第三步:獲取的目標圖像信息作反向投影處理,處理過后就得到了反向投影圖;第四步:輸入的結果(是反向投影圖和目標物體的輪廓)進行MeanShift算法迭代,因為它是朝著重心方向移動,也就是向投影圖中概率大的方向移動,所以所選方框最終會移動到物體上;第五步:一次求解運算用上一次輸出的結果來迭代就可以了。
二、目標自動跟蹤系統(tǒng)整體設計
由于整個系統(tǒng)需要實現自動跟蹤,在一般的工業(yè)自動控制中,采用閉環(huán)控制系統(tǒng)。本平臺采用的就是閉環(huán)系統(tǒng)。閉環(huán)系統(tǒng)從攝像頭開始,攝像頭拍攝目標物體形成視頻傳輸到電腦,電腦中的圖像處理軟件對傳回來的視頻進行分析,運算出目標物體的大小和位置坐標,并將這些信息通過串口實時發(fā)送給單片機。單片機接收到位置信息以后不能立馬把這些信息發(fā)送個舵機,因為這些信號舵機并不能識別。舵機能識別PWM信號,因此需要舵機控制軟件將傳回來的位置信號轉換成PWM信號。轉換完成在將PWM信號實時傳輸給舵機,舵機作出相應的動作將目標物體鎖定在屏幕中央。
三、跟蹤平臺的高速化設計
轉動平臺若要實現跟蹤高速目標,平臺內部的通信一定是高速的。平臺內部通信一共分為四處:攝像機拍照并將圖片發(fā)送給電腦的速度,電腦處理完目標圖像位置坐標并將位置坐標發(fā)送給單片機的速度,單片機發(fā)送指令給舵機的速度,舵機處理命令的速度。
由于平臺采用的Arduino產生的PWM波可能會有一些誤差,窄頻舵機是高靈敏度的舵機,因此有可能這些PWM誤差會引起系統(tǒng)的振動。為此,需要調整窄頻舵機的EEPROM,需要降低系統(tǒng)的增益值,或者增大舵機的死區(qū)使得死區(qū)范圍大于誤差范圍。這樣舵機就不會在高頻率下產生抖動。
四、結論及前景展望
整個系統(tǒng)的通信速率將取決于最慢的模塊,這和木桶的短板原理很相似。在這套系統(tǒng)中,經過實驗后發(fā)現攝像頭模塊的速率相對與系統(tǒng)其它模塊速率較低,為每秒120幀,也就是說系統(tǒng)每秒鐘通信120次。而舵機的分辨率為1/2000,也就是說舵機的步進角度為0.09度,若系統(tǒng)中未引入PID控制算法,舵機精度取最高值,那么該套系統(tǒng)全速追蹤目標的速度我們可以算出X軸和Y軸跟蹤度速度是5.4度每秒。在這個速度下,跟蹤的精確度可達5*5個像素范圍。未引入PID算法,保證20*20像素點的跟蹤范圍下,系統(tǒng)的速度最高可以提升到59.4度每秒。這些是前期工作的數據,在引入PID算法后,舵機的速度將不再是一個固定的值,是隨著目標偏離屏幕中央遠近的誤差而實時調整的。系統(tǒng)設置速度系數為2.攝像頭的視野范圍是640*480像素大小,那么系統(tǒng)產生的最大偏差為310像素,如果目標正好在屏幕的一個角落,那么此時二軸轉動系統(tǒng)的反映速度將最大,理論上速度可達3348度每秒。實際上我們的舵機系統(tǒng)能夠體用的最大速度為0.035sec/60度,也就是1714度每秒。所以舵機將以這個速度運轉。在接近目標的過程中,舵機會逐漸減速,直到達到目標點后速度減為0。如圖1是目標自動追蹤系統(tǒng)的整體效果圖。
參考文獻:
[1]李根深,簡莉,董其莘.國外坦克火控系統(tǒng)的新發(fā)展[J].火力與指揮控制,1987(02):47-56.
[2]周冰,孫立輝,應家駒. 超大空域凝視系統(tǒng)中目標檢測的特殊問題[J].激光與紅外,2008(04):334-337.
[3]王家勝.填補我國航天技術空白的中繼衛(wèi)星系統(tǒng)[J].國際太空,2013(06):20-25.
[4] H. Schmeichel and T. T. McElroy. TDRSS Single-Access Control System. 1980, Proceeding of the Annual Rocky Mountain Conference, Feb 17-21, AAS 80-007: 115-146.
[5] Q. Tham and F. Lee. Robust Pointing Control of Spacecraft with Large Appendages. Proceeding of IEEE on Aerospace Conference, Snowmass at Aspen, CO. 1997: 369-375.
[6]韓云生,劉國棟.一種自適應顏色特征的目標識別與跟蹤法[J].江南大學學報(自然科學版),2009(02):164-168.
[7]楊莉,杜艷紅,隋金雪,郭玉剛.一種基于顏色特征的目標識別算法[J].微計算機信息,2007(15):195-196+220.
作者簡介:楊芳權,鄭州大學力學與工程科學學院2013級本科生。
指導老師:衛(wèi)洪濤。