呂博新 岳歡 陳鵬 陳瑜 姚敏
【摘 要】本文針對視頻巡檢的需求,設計出一套具有避障功能的視頻巡檢車,按規劃路線進行巡查與拍攝,通過單目測距算法實現自動避障并將圖像數據傳回控制平臺。通過多組實驗,驗證了小車工作及算法的有效性。
【關鍵詞】巡檢小車;自動避障;單目測距算法
中圖分類號: TP391 文獻標識碼: A 文章編號: 2095-2457(2017)20-0099-002
Design of Intelligent Video Surveillance Vehicle
LV Bo-xin YUE Huan CHEN Peng CHEN Yu YAO Min
(School of Electronic and Information Engineering, North China University of Technology, Beijing 100144, China)
【Abstract】In this paper, a design of intelligent video surveillance vehicle with obstacle avoidance is proposed. The vehicle can capture video on a fixed route, avoid obstacle automatically by monocular ranging algorithm and send data to the system platform. The experimental results show that the proposed design is effective.
【Key words】Video surveillance vehicle; Avoiding obstacle automatically; Monocular ranging algorithm
0 引言
隨著科技發展,可移動視頻平臺的應用日益廣泛,例如各種智能機器人、無人駕駛、智能導航車等。這類移動拍攝平臺多為四輪驅動,在復雜地形環境中能較為自如的行駛,然而在房間死角,狹窄的通道里,這些移動平臺因靈活性差而不能很好的完成任務。研究者進行了相關研究[1-4],例如,高正中等人提出基于攝像頭的智能車控制系統[5]。王立玲等人提出智能車的路徑識別及控制策略算法[6]。本文結合相關研究進展,研制了具有避障功能的智能視頻巡檢車,小車采用PID控制的二輪驅動,體積小,靈活性高,可通過圖像和超聲波傳感器探測障礙物,能夠在人或者其他設備無法到達的監控地段執行巡檢任務。
1 系統方案
智能視頻巡檢小車系統由CMOS攝像頭、供電模塊、LCD顯示、電機驅動模塊、STM32單片機和計算機組成。
此巡檢小車選擇STM32F103C作為核心控制處理器,供電模塊同時給CMOS攝像頭和STM32單片機供電。當CMOS攝像頭和計算機在同一網段,計算機通過無線網獲取攝像頭視頻數據,然后進行圖像處理,將避障結果通過無線網傳到STM32單片機中。STM32控制電機模塊做出相應操作。LCD模塊負責顯示小車的狀態信息。
當小車上電后,首先對控制模塊進行初始化,檢測此時小車的狀態是否處于正常工作狀態,然后采用PID算法控制小車電機。小車控制流程圖如1所示。
2 算法實現
2.1 PID算法
本系統利用PID算法實現小車自平衡[7-9],PID控制器根據系統的誤差,利用比例、積分、微分計算出控制量實現控制小車平衡。其中PD控制小車直立;PI控制對編碼器數據進行低通濾波,削弱電機控制的比重,提高系統穩定性;轉向控制結合了Z軸陀螺儀PD控制。
本文采用直立PD控制,速度PI控制和轉向控制進行偏差調節,在平衡PID控制中輸入參數是角度和角速度,通過PD算法,最后輸出一個控制PWM值。作用是保持平衡車直立狀態。在速度環控制中輸入參數是左右輪編碼器數據,通過PI算法,輸出一個控制速度PWM值,以修改小車前進后退速度。在轉向環控制中輸入參數是左右編碼器和z軸陀螺儀數據,通過PD算法,最后輸出控制轉向PWM值。
2.2 單目避障原理
本系統使用單目避障算法實現小車避障功能,單目避障算法基于單目測距技術[10],即僅使用單個攝像頭實現測距。
2.2.1 避障流程
計算機從CMOS攝像頭獲取圖像后,進行幀間差分處理,分析得出障礙物距離,判斷是否大于安全距離,最后通過網絡傳輸將避障信息傳送給小車,讓其采取相應措施。
2.2.2 障礙物距離獲取原理
本系統采用CMOS攝像頭。因為避障物體遠大于透鏡直徑,該攝像頭成像模型可近似看成小孔成像。假設攝像機焦距為f,CMOS像元寬度為u,物體高度L ,距離攝像機距離為D,物體成像像素個數為N,根據小孔成像原理可得:
通過(1)式,根據物體像素大小,可計算出物體與小車之間的距離D。
3 實驗結果
3.1 小車直立PD控制
在直立PD控制中,經過試驗,當Kp=300,Kd=1時PD控制效果最佳,小車的晃動幅度最小。圖2是采用上述參數在仿真出的實驗數據:初值預期角度5度,在三百次運算后誤差降為1.94%。
3.2 障礙物距離獲取
本系統采用焦距f=3.6mm,像元寬度s=4.9μm攝像頭。由式(1)可得出障礙物距離與像元個數的關系曲線,如圖3所示。
由圖3-a)可知,隨著障礙物距離的減小,像元個數在增加,且距離越近,單位距離內增加的像元個數越多。即通過判斷像元個數差分的值判斷障礙物的距離。當物體高50cm時,規定安全距離為1m,即該像元的差分的值在3.6時,需要小車采取避障措施。endprint
當像元個數均為100時,高50cm的物體,距離約為3米;高10cm的物體,距離為0.7m,即在安全距離時,高度不同的物體所占像元數和像元的差分值均不同。將圖3-b)中各點連成平滑曲線,可計算出其斜率k=0.072。
綜上所述,當物體大小不同時在相同位置時的像元數不同,所以判斷障礙物距離時需考慮幀間的像元差分值,且像元的差分值和物體的高度成正比,當檢測到像元差分值大于k*L時,即此時物體距離平衡車為1m,計算機需要向平衡車發出指令,讓平衡車采取避障策略。經過實驗,通過單目避障算法,可實現小車避障。
4 總結
本文以兩輪平衡車為研究對象,用攝像頭作為視覺傳感器,研究其行進過程中的自平衡和避障問題。本系統通過PID算法實現小車平衡控制。將攝像頭近似為小孔成像模型,因大小不同的物體在不同物距時有可能所占像元數相同,故利用幀間差分法獲取障礙物與小車間的距離,實現自動避障。由于幀間差分法的局限性,無法對該障礙物進行識別,下一步工作是采用圖像識別算法和特征點匹配的方法,提高測距算法的精度,以提升系統工作的穩定性。
【參考文獻】
[1]劉嘉豪,劉海剛,張建偉,關天洛.智能車圖像處理與識別算法研究[J].工業控制計算機.
[2]李旭東,廖中浩,孟嬌.基于CMOS攝像頭的智能車控制系統設計及實現[J].吉林大學學報(信息科學版).
[3]陳孟元,孫書誠,王虎.基于圖像識別的尋跡智能車設計[J].重慶理工大學學報(自然科學).
[4]高月華.基于紅外光電傳感器的智能車自動尋跡系統設計[J].半導體光電.
[5]高正中,趙麗娜,李世光,白星振,宋森森.基于攝像頭的智能車控制系統設計[J].自動化與儀表.
[6]王立玲,王建成,白躍.基于OV7620智能車的路徑識別及控制策略[J].河北大學學報(自然科學版).
[7]肖文健,李永科.基于增量式PID控制算法的智能車設計[J].信息技術.
[8]楊曉嵐.PID算法在智能車中的應用[J].實驗科學與技術.
[9]王志飛.基于PID驅動控制算法的智能車遠程閉環控制的研究與實現[D].吉林大學.
[10]羅時光.基于單目測距技術的道路障礙物檢測方法[J].軟件.endprint