傅雨亭 高淳楠
摘 ? 要:滾球控制系統搭建了一個幾種不同顏色構成的視覺環境。通過攝像頭獲得環境圖像,利用樹莓派運行OpenCV進行圖像處理,運用otsu閾值分割算法實現圖像分割,并將圖像的RBG信息分層,進而完成圖像識別,通過坐標變換轉換為小球在平板上的位置信息,將位置信息通過usrat通信傳送給stm32f103zet6,由stm32f103zet6完成舵機的控制。在平板的兩個相互垂直的方向上搭載舵機,舵機旋轉帶動連動結構,驅動平板傾斜,利用PID控制算法,從而間接控制了小球完成停留、直線、繞環等運動。
關鍵詞:滾球控制系統 ?圖像處理 ?PID控制
中圖分類號:TP273 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼:A ? ? ? ? ? ? ? ? ? ? ? ?文章編號:1674-098X(2019)07(c)-0082-03
1 ?方案設計
1.1 控制方案設計
本系統主要由單片機控制模塊、攝像頭模塊、圖像處理模塊、電機及機械支架構成。具體工作過程為:通過攝像機采集小球的運動圖像,在圖像處理模塊對圖片進行處理,獲取小球相對于板的位置,將位置信息傳送到單片機中,利用PID算法進行控制,使小球向目標位置運動[1-2,6]。
1.2 機械結構方案設計
在完成搭建機械結構之前,在MATLAB上完成了仿真測試,得到了舵機旋轉角度與木板傾斜角度之間的關系[3]。
選用輕便的雪弗板作為底座。用木板作為小球活動平臺。在木板背面固定了3萬個向節,以實現木板的傾斜和固定。木板與舵機之間進行做了一個單自由度的關節連接。利用舵機轉動,帶動關節運動,從而牽動木板傾斜運動。
選擇推力足夠大,能夠實現快速制動靜止的舵機。以木板中心為坐標系原點,xy軸各放置一個電機,利用電機旋轉帶動連動結構工作,控制平板在各個方向上傾斜。
2 ?理論分析
2.1 機器視覺識別原理
不同顏色的物體在圖像中的RGB信息不同。我們搭建了一個幾種顏色構成的環境,實現小球識別及其位置信息的獲取,以便后續的圖像分割和位置信息計算。
利用OpenCV完成圖像處理[4]。指標圓區域和木板邊緣可以采用紅綠藍中的任意一種。小球則使用另外的任意一種。這樣可以在RGB分層之后,根據不同顏色在不同分層中的不同表現來完成區域分割。
如圖2所示,在長65cm的白色木板上有9個直徑3cm的藍色圓形區域。并在木板外的地板上放置了一定寬度的藍色邊緣帶。使用的小球是深紅的。
攝像頭采集到的圖像中會有部分的地板區域,利用otsu閾值分割算法完成圖像分割。為了縮短處理時間和提高系統整體穩定性,我們降低了處理精度,初步處理之后依然存在部分藍色邊緣,不是準確地切割到木板區域。
對樹莓派采集到的圖像進行了RGB三層分離。
在B層中,木板、木板邊緣和指標圓區域都會呈淺色。只有小球會呈深色。因此可以得到小球區域圖像。通過對處理后的圖像中小球區域進行平均運算,可以得到小球的重心位置[2]。
在R層中,木板邊緣和指標圓區域呈深色,而木板和小球都會呈淺色,因此可以完成對指標圓區域的識別。但使用的小球是深紅色的,在實際檢測過程中呈深色。如果指標圓區域和小球有重疊,不利于我們分離出指標圓區域的邊界,且難以判定小球是否進入指標圓區域,直接檢測會增加計算量,降低運行效率。
因此把圖像分成9個等面積的正方形,每個正方形區域里有一個指標圓區域。把除了小球所在區域的其他區域里的指標圓區域尋找出來,再根據等比例計算出最后一個指標圓區域的位置。相鄰指標圓區域中心點的距離為20cm,以此為坐標系標度尺,定義小球位置坐標。
2.2 小球運動控制原理
在機械系統控制中,PID控制算法[5]是一種常用的方法。按照偏差的比例(P)、積分(I)和微分(D)進行控制,我們在MATLAB上完成了仿真測試[3]。
目前用于控制點的主要有三種PID算法:增量式算法,微分先行,位置式算法。本系統原計劃是使用通過計算小球位置坐標與目標位置坐標偏差,只調節比例(P)、微分(D)的PD增量式算法。但在實際調試過程中發現因為系統設計中存在一些難以規避的系統誤差,最終還是加入了積分(I)來調節誤差。
3 ?電路與程序設計
3.1 電路設計
因為該系統主要電路是集成好的開發平臺,因此我們只做了用于選擇系統工作模式的選擇電路。在該電路中設計了單片機接口,電機接口,上拉電阻以及由撥碼開關構成的選通電路,作為模式選擇的電路實現方案。
3.2 程序設計
為了提高抗干擾能力、為隨時間處理程序提供時間指標,我們利用stm32定時器1產生時基信號,周期是1ms。
開始工作之后,通過模式選擇電路確定工作模式,然后執行系統初始化。不同的模式會執行不同的指令。接著開啟串口等待數據傳輸過來。數據以我們自定義的編碼進行傳輸,加入了校驗數據組,有效提高穩定性。成功接收數據之后,單片機控制舵機轉動以實現控制木板傾斜。
4 ?測試結果與分析
在電機開始工作后,我們測試木板能否控制小球固定在一個指定區域內至少2s,發現至少穩定5s以上。又控制小球在各個指定區域之間運動和停留一段時間,發現小球均能夠完成我們設定的指標,因此該系統性能相對穩定,基本滿足我們的要求。
5 ?結語
該系統采用RGB分層來進一步完成圖像處理,相對準確地提取到了小球的位置坐標。用各種方法來降低圖像處理的運算復雜度,提高了運行效率,對后續的開發研究有一定的參考價值。
參考文獻
[1] 王賡. 基于視覺系統的板球控制裝置的設計與開發[D].清華大學,2004.
[2] 武凡凱,付偉,張釜榮,等.基于視覺反饋的板球系統定位控制[J].長春工業大學學報,2019,40(1):14-19.
[3] 鄢喜愛,楊金民,田華.Matlab在數據處理和繪圖中的應用[J].科學技術與工程,2006(22):3631-3633.
[4] 聶紅梅,劉忠艷.基于OpenCV的攝像機標定研究[J].微處理機,2017,38(6):58-61.
[5] 張新楠.板球系統的控制算法研究[D].大連理工大學,2011.
[6] 曾乘,柳強.板球系統PID控制響應的多項式響應面建模研究[J].電子設計工程,2016,24(16):28-30.