楊紅莉,曾憲陽,杜安國,孫 君
(1.南京工程學院數理部,南京 211167;2.南京工程學院工業中心,南京 211167;3.南京大學數學系,南京 210093;4.太陽雨集團有限公司,江蘇 連云港 222002;5.南京工程學院機械工程學院,南京 211167)
飛行器攝像頭模塊設計及自適應循跡算法研究*
楊紅莉1,3,曾憲陽2,3*,杜安國4,孫 君5
(1.南京工程學院數理部,南京 211167;2.南京工程學院工業中心,南京 211167;3.南京大學數學系,南京 210093;4.太陽雨集團有限公司,江蘇 連云港 222002;5.南京工程學院機械工程學院,南京 211167)
針對四旋翼飛行器循跡較為復雜、姿態難以控制的問題,設計了一套完整的攝像頭循跡系統模塊。采用獨立的STM32單片機系統進行控制,提高了工作效率。對循跡路線進行了分析簡化,得出四幅場景圖像,給出了判別依據:僅需對圖像橫向掃描然后判斷等差數列的個數,以及是否掃描到黑線的情形來判斷區分四幅圖像,簡化了圖像識別步驟,提高了程序執行效率及可靠性。PID調節實驗結果表明,該攝像頭循跡模塊具有較強的自適應抗干擾能力。
電子技術;攝像頭模塊;循跡算法;等差數列;PID調節
四旋翼飛行器穩定飛行控制是近年來新興的研究方向,特別是飛行器沿黑線穩定循跡成為科研工作者研究的熱門話題[1-3],比較典型的循跡路線如圖1所示。飛行器從A區起飛,沿直線徑直飛至B區;或者飛行器從A區起飛,沿外環順時針方向飛行到達B區,然后繼續沿外環順時針方向飛回至A區然后降落。要完成循跡飛行任務,飛行器除了具備穩定的姿態控制系統外,還需具備能實時識別循跡路線的循跡模塊裝置。基于此,本文采用面陣攝像頭OV7670設計了一套完整的循跡系統,并對循跡算法做了深入研究。

圖1 飛行器典型循跡路線圖
由于攝像頭數據量大,會占用較多的單片機資源,為防止對上位機單片機姿態控制系統產生影響,因此本文設計的下位機循跡模塊將采用獨立的單片機系統進行控制,并且具有獨立的按鍵顯示人機交互系統,便于現場參數調試等。還設計了程序下載接口、上位機通信接口,DC-DC穩壓電源等,因此系統結構框圖如圖2所示。

圖2 系統結構框圖
根據系統設計思路,設計的硬件電路原理圖如圖3所示??紤]到攝像頭數據量大,對單片機處理速度、數據存儲器RAM要求較高,因此選用單片機STM32F103RET6作為主控芯片[4-5],其工作頻率高達72 MHz,內部RAM為64 kbyte,程序存儲器達到512 kbyte,因此足夠攝像頭循跡軟件程序運行。攝像頭采用當前較為流行的OV7670面陣攝像頭,其自帶FIFO數據緩沖器,方便圖像數據讀取。顯示模塊采用體積較小的0.96 inch OLED顯示模塊,如圖中U1所示,還設置了4個LED發光二極管,用來指示循跡方向左轉右轉前進后退等,便于用戶直觀調試等[6-7]。分別設置了并行與串口接口,保證了與上位機通信的靈活性。

圖3 系統硬件電路原理圖
OV系列的攝像頭一般采用SCCB控制時序與單片機建立通信[8-9]。由于循跡現場為黑白場景,只需攝像頭輸出亮度信號,因此需將攝像頭配置為YUV格式,然后在軟件中進行二值化處理即可。
OV7670攝像頭每幅圖像輸出數據量大,共240行,每行320個像素點。當前很多學者在循跡算法上對圖像分別進行了橫向、縱向數據掃描,這會占用CPU大量的時間,使系統響應變慢。本文經過仔細分析發現,實際圖像識別過程中只需進行橫向掃描,且只需要掃描20行數據足可滿足圖像識別要求,如圖4所示,首先將240行數據均分成21等分,每隔11行采集一次數據,使得數據采樣行間隔均勻的分布在圖像區域。

圖4 數據采集方式圖
攝像頭采集到每個像素點的灰度數據為0~255之間的數,單片機通過二值化處理來判斷該點是白色還是黑色,如果大于200,則認為該像素點為白色,用0表示,如果小于200,則認為該像素點為黑色,用1表示。但是有時候由于環境光照度不均勻等原因,導致采集到的灰度數據不準確,以至于輸出結果出現錯誤,該問題需要在軟件中通過多重濾波措施將錯誤信息去除。
首先濾除短孤立點數據,如圖5所示。反復實驗研究發現,飛行器室內飛行高度為1 m左右,因此黑線所在數據區寬度一般不小于2.5 byte,如果該行數據連續出現1的個數小于2 byte,則可認為該數據為孤立錯誤數據1,應當將其修正為0。

圖5 孤立點干擾數據示意圖
環境干擾引起的錯誤數據長度有時候也可能會超過2.5 byte(如:環境大面積光線不均勻問題),這時應當從5行掃描的數據中進行判斷濾除孤立點。飛行器前行,如果第1行有數據段不在預知范圍,并且隨著時間的推移,后面幾行數據中,至少有兩行又沒有出現該段數據,也應當濾去,將其修正為0即可。
由于每行320個像素點,每個像素點占用1 byte的數據,經二值化處理后變成0、1兩種狀態,每個狀態只占用1 byte中的一位,其他7位空閑,因此首先將二值化處理后的數據重新按序放置,清除空閑位。處理后320 byte的數據變成了320位數據,也即40 byte數據,這個數據量仍然較大,會占用較多的處理時間。本文繼續做如下壓縮處理,如圖6所示。將每個字節的數據繼續壓縮成1位數據,壓縮規則為:如果該字節8位數據中1的個數超過4個,則該字節用一個數據位1來表示,否則用一個數據位0來表示。這樣就把40 byte的數據壓縮成了40位,即5 byte,單片機通過處理這5 byte的數據來判斷當前位置,這種處理方式不僅不會破壞圖像原態,還會給CPU快速處理創造條件。

圖6 數據壓縮示意圖
經過數據采集、濾波及壓縮處理后的數據較為準確,對其判斷識別即可得到當前飛行器的位置狀態。對循跡路線圖1分析可知,攝像頭采集到的圖像有以下4種可能的情形,如圖7所示.

圖7 攝像頭采集到的幾種圖像

圖8 圖7(a)的橫向掃描分析圖
軟件系統必須能識別區分以上4種圖形,可通過判斷這些圖形線條存在不同斜率的個數來區分。而斜率的區分可以用等差數列來判斷,因此首先對以上4種圖形數據進行橫向掃描分析,通過各個位置坐標之間形成的數列是否構成等差數列來判斷區分以上4種圖形。
攝像頭拍攝到a圖可能的畫面有3種情形,如圖8所示,對其中任一圖像經橫向掃描后形成xn數列:
xn={x1,x2,…x20}
設Δx1=x1-x2;Δx2=x2-x3;……Δx19=x19-x20,由于圖中的黑線只有一個斜率,在一定誤差范圍內Δx1=Δx2=…=Δx19,因此xn就構成了一個等差數列,而且等差數列的個數只有一個。因此a圖的識別方式為:判斷是否構成了唯一一個等差數列。
拍攝到b圖可能的畫面情形如圖9所示,其中圖7b-1、圖7b-3由于兩條黑線斜率不同,因此可以掃描到兩組等差數列。而在無偏角的圖7b-2中,只能掃描到一組等差數列,但底部會出現掃描不到黑線的情形,因此也得到了b圖的識別方法。
同理分析圖7的c圖,如圖10所示。分析可知圖7c-1、圖7c-3均可掃描到4組等差數列。而在圖7c-2中,可以掃描到3組等差數列(公差為零),且每條掃描線均可掃描到黑線,因此得到了圖7c圖的識別方法。

圖9 圖7(b)的橫向掃描分析圖

圖10 圖7(c)的橫向掃描分析圖
分析圖7d圖,如圖11所示。由于存在圓弧,因此圖7d圖采集到的數據圓弧段不構成等差數列,因此可通過判斷采集到的數據是否構成等差數列來識別區分圖7d圖。
因此綜合以上得出4種圖形的區分方法:當圖像掃描數據形成的等差數列為1組,且每條掃描線均掃描到黑線時,則當前圖像為a圖;當圖像掃描數據形成的等差數列為2組,且每條掃描線均掃描到黑線,或當圖像掃描數據形成的等差數列為1組,且存在掃描不到黑線情形時,則當前圖像為b圖;當圖像掃描數據形成的等差數列多于3組時,則當前圖像為c圖;當圖像掃描數據不構成等差數列時,則當前圖像為d圖,如表1所示。

圖11 圖7(d)的橫向掃描分析圖

圖12 PID調節結構圖

等差數列組數是否全部掃描到黑線判斷結果1組2組1組3組0組是是否是×a圖b圖b圖c圖d圖
為保證循跡的穩定性,圖像識別處理后的結果需要對上位機飛行器進行PID調節控制[12-14]。將黑線偏離圖像區域中心的距離作為誤差,采用增量式PID調節控制方式,經反復實驗驗證得出控制參數:KP=15.3,KI=0.01,KD=0.56,代入增量式PID調節公式:
Δu(K)=Kp[e(K)-e(K-1)]+KIe(K)+
KD[e(K)-2e(K-1)+e(K-2)]
u(K)=Δu(K)+u(K-1)

圖13 系統響應PID調節波形圖
將攝像頭模塊采集處理后的數據發送給上位機PC,得出系統響應PID調節波形如圖13所示。
從圖13可以看出,當系統出現較大偏差時,系統將會快速響應并恢復到平衡位置,說明系統滿足設計要求。圖14為系統實物圖及拍攝效果圖,圖15為飛行器循跡效果現場圖。

圖14 設計的攝像頭循跡模塊實物及拍攝效果圖

圖15 飛行器循跡效果現場圖
文中設計了一套完整的飛行器循跡模塊系統,為減少對上位機飛行器的影響,對攝像頭進行了獨立的高速單片機控制,設置了按鍵顯示人機交互界面,可方便進行系統參數調試。通過對循跡路線分析,得出幾種攝像頭可能采集到的圖像。通過對圖像橫向掃描分析,給出了4種圖像畫面識別判斷的依據。通過PID調節實驗驗證分析,系統可以控制飛行器在黑色軌跡線上進行循跡,并且系統具有較強的自適應抗干擾能力。
[1] 李世光,王文文,申夢茜,等. 基于STM32的姿態測量系統設計[J]. 現代電子技術,2016,39(9):12-14.
[2] 曾憲陽,楊紅莉,郁漢琪. 基于STM32單片機四旋翼飛行器建模分析與系統設計[J]. 電子技術應用,2016,42(12):65-68.
[3] 王宇飛,吳慶憲,姜長生,等. 近空間飛行器的多模型切換控制[J]. 控制與決策,2012,27(10):1452-1458.
[4] 曾憲陽,楊紅莉,郁漢琪,等. 基于單片機控制的旋轉倒立擺建模分析與系統設計[J]. 電子技術應用,2016,42(9):76-79.
[5] 曾憲陽,楊紅莉,郁漢琪,等. 間歇式低功耗多網點甲醛含量無線監測系統設計[J]. 電子器件,2016,39(6):1467-1471.
[6] 康華光. 電子技術基礎[M]. 北京:高等教育出版社,2003.
[7] 單成祥. 傳感器的理論與設計基礎及應用[M]. 北京:國防工業出版社,1999.
[8] 隋修武,劉蕾,杜玉紅,等. 基于線陣CCD的可吸收縫合線線徑在線檢測系統[J]. 傳感技術學報,2014,27(8):1154-1158.
[9] 武萬軍. 計算機視覺技術在船舶噸位檢測中的應用[J]. 艦船科學技術,2015,37(2):168-171.
[10] 劉濤,呂勇,劉立雙. 智能車路徑識別與控制性能提高方法研究及實現[J]. 電子技術應用,2016,42(1):54-57.
[11] 黃剛. 實時修正偏移量的循跡機器人控制系統研究與實現[J]. 儀器儀表學報,2015,36(11):2538-2547.
[12] 李世光,王文文,申夢茜,等. 基于變論域模糊PI四輪機器人的仿真與研究[J]. 科學技術與工程,2016,16(10):191-194.
[13] 蔡磊,牛小驥,張提升,等. MEMS慣導在旋翼飛行器中導航性能的實驗分析[J]. 傳感技術學報,2016,29(5):711-715.
[14] 趙世榮,孫運強,石喜玲. 基于信息融合四旋翼飛行器穩定性改進設計[J]. 電子器件,2015,38(6):1417-1420.
TheDesignofCameraModuleandtheResearchofAdaptiveTrackingAlgorithminVehicle*
YANGHongli1,3,ZENGXianyang2,3*,DUAnguo4,SUNJun5
(1.Department of Mathematics and Physics,Nanjing Institute of Technology,Nanjing 211167,China;2.Industry Center,Nanjing Institute of Technology,Nanjing 211167,China;3.Department of Mathematics,Nanjing University,Nanjing 210093,China;4.Sunrain Co. Ltd.,Lianyungang Jiangsu 222002,China;5.School of Communication Engineering,Nanjing Institute of Technology,Nanjing 211167,China)
In view of the problems in picking up the trail and in controlling the flight attitude,a set of complete camera tracking system module has been designed for the four rotor aircraft. The independent STM32 single chip microcomputer system is used in controlling to improve the efficiency. At first,the route tracking is simplified and analyzed,and then four images are obtained which are the discriminant basis,at last the judgment and distinguish are made to these images on the numbers of the arithmetic progressions and on the scanning situations whether to find the black line on the data. This whole processing improves the efficiency of program execution and ensures the accuracy of the data. The experiments under PID controlling show that the camera module for tracking has strong adaptive judgment ability and control ability.
electronic technology;camera module;tracking algorithm;arithmetic progression;PID control
10.3969/j.issn.1005-9490.2017.06.018
項目來源:南京工程學院創新基金重大項目(CKJA201410);國家自然科學基金項目(11701274);江蘇省自然科學基金項目(BK20170760)
2016-11-19修改日期2017-01-13
TP273+.2
A
1005-9490(2017)06-1421-05

楊紅莉(1980-),女,漢族,江蘇靖江人,南京大學博士后,南京工程學院講師,主要研究方向為算法分析與設計,數學建模與仿真等,yanghongli1016@163.com;

曾憲陽(1979-),通訊作者,男,漢族,湖北隨州人,南京大學博士研究生,南京工程學院教師,主要研究方向為電子與通信,控制理論與控制工程等,zxy@njit.edu.cn。