王小龍+黃志強+張詩瑤++李林+張旺


摘 要:為解決類人機器人雙機械臂抓取目標過程中,存在目標識別不準確、目標識別單一、雙機械臂運動不協調等問題,文章設計了一款基于OV7670彩色攝像機視覺系統及高仿真機械臂的類人機器人。通過OV7670和STM32主控模塊對圖像信息進行采集與處理,使用RGB-SHL顏色空間轉換模型提取目標對象的圖像特征,產生控制指令,然后將協調控制每一個舵機的運動參數發送給舵機驅動模塊,以實現類人機器人識別目標、定位目標、協調運動和精確控制等功能。通過實驗驗證和參加華北五省(市、自治區)大學生機器人大賽,表明該機器人具有對目標識別準確、協調運動精確可靠的優點。
關鍵詞:類人機器人;識別定位;RGB-SHL顏色空間;彩色攝像機
引言
類人機器人利用傳感器獲取信息從而控制機器人的動作[1]。目前,簡易類人機器人主要是利用紅外、超聲波、線性CCD等傳感器作為識別系統,以完成尋跡、避障、抓取等功能。例如,部分DARwIn系列類人機器人采用紅外傳感器,此類機器人的識別模式較為單一:紅外、超聲波只能對物體進行探測且多用于尋跡和避障;線性CCD通過灰度值來檢測目標,但是受環境的光照因素影響較大,且圖像采集的范圍極其有限,不利于機器人在未知環境中感知與行動。本文將介紹一種基于OV7670彩色攝像機視覺系統的類人機器人,該機器人可對目標的顏色、形狀進行識別,并可對圖像信息進行二次開發,建立以機器人為原點的坐標系,從而得到目標的距離、位置、形狀等信息,實現尋跡、避障、抓取等功能。
1 系統總體設計
該設計從底層硬件設計入手:搭建經典的簡易類人機器人平臺;將其與自主設計的仿人機械手臂融合;在機器人的頭部安裝OV7670彩色攝像機,用舵機控制其轉動;在機器人胸部安裝STM32F103ZET6主控板,從而完成硬件設計。進一步是上層的軟件設計:以STM32F103ZET6主控板為平臺,RGB-SHL顏色空間轉換公式為核心,通過對攝像機采集的圖像信息進行處理,得出目標的坐標信息,產生控制指令,向舵機驅動模塊發送相應的舵機控制參數,以控制機器人協調運動和精確操作。結構框圖如圖1所示。
圖1 系統總體框圖
2 硬件系統設計
2.1 類人機器人本體設計
類人機器人本體是機器人的執行機構,主要由頭部、身軀、雙足、雙臂、雙爪等機械結構組成。各部分由鋁合金散件和雙軸數字舵機相互連接構成。
仿生手爪設計:每個都有五根手指,每根手指有三個指節,指節中空,每根手指通過扎帶聯接固定于一個力矩為15KG的舵機上,通過舵機轉動改變扎帶的松緊程度,從而使機械手爪自由“松-握”,達到抓放的目的。
2.2 OV7670模塊
該機器人由OV7670攝像機和一自由度的伺服單元構成視覺系統,OV7670攝像機的所有圖像處理功能過程包括伽馬曲線、白平衡、度、色調等都可以通過SCCB接口編程。
2.3 MCU模塊
該機器人的決策控制系統由STM32F103ZET6為核心的主控模塊構成,主控模塊的作用是將視覺系統采集的圖像信息進行處理,根據目標的位置及自身的位姿,產生控制指令,通過串口將對應的控制參數傳送到舵機驅動模塊,控制類人機器人本體執行相應的動作。
2.4 人機交互顯示模塊
該機器人使用OV7670攝像機的QVGA格式(320*240)輸出,與所使用的TFTLCD顯示屏的最大分辨率保持一致。采集的圖像實時顯示在顯示屏上,并且可以在顯示的圖像上標記出被識別的目標。結合獨立按鍵,可以改變圖像的白平衡、度、色調,從而可以根據不同的環境選擇不同的圖像輸出模式。
2.5 舵機驅動模塊
舵機驅動模塊采用32位ARM內核的處理器芯片以及USB和UART通訊接口,通過接收MCU控制信號產生PWM信號驅動各關節舵機,使機器人執行規定動作,電壓過低時具有自動斷電和報警功能,防止舵機損壞。
3 軟件系統設計
本文研究的對象是基于OV7670視覺系統的類人機器人協調運動控制,此處以機器人對投籃項目的實現過程進行算法分析。
3.1 控制策略概述
開啟該系統后,系統首先初始化各個模塊,然后進入拾球循環。攝像機采集圖像數據,經圖像處理后得到機器人距籃球的距離和籃球偏離機器人正豎直中垂線的程度,當偏離程度大于規定值時,控制機器人轉向減小偏離程度,當距離大于拾球距離時,控制機器人直走減小距離。當到達拾球距離后,控制機器人拾起籃球,然后進入投籃循環。同樣攝像機采集圖像數據,經圖像處理后得到機器人距籃框的距離和籃框偏離機器人正豎直中垂線的程度,當偏離程度大于規定值時,控制機器人轉向減小偏離程度,當距離大于投籃距離時,控制機器人直走減小距離。當到達投籃距離后,控制機器人投籃,程序結束。具體的程序流程框圖如圖2所示。
3.2 顏色空間及其轉換
OV7670彩色攝像機輸出的圖像格式是RGB565,即RGB顏色空間[2]。在該設計的研究制作過程中,發現采用RGB顏色空間識別目標,易受環境如光照的影響,導致目標識別不準確;采用SHL顏色空間[3]則有效的解決了上述問題。以下是RGB-SHL顏色空間轉換公式。
3.3 識別算法設計
MCU接收OV7670采集的RGB圖像并對該圖像的像素點進行逐行掃描,每掃過一個像素點(該機器人采用隔點掃描)都計算出該像素點的SHL值,與預定顏色的SHL值作比較,在允許的誤差范圍內,即認為該像素點是預定顏色的像素點,對其進行標記,同理可標記出目標的其他像素點,形成顏色域,從而確定目標在機器人整個視野中的位置及形狀。通過查詢,預定顏色的SHL值:黃色 S:55 H:40 L:52;綠色 S:100 H:120 L:45;品紅:S:100 H:339 L:47等。
3.4 定位算法設計
機器人視覺系統所采用的單攝像機只可采集二維平面圖像,但是要實現機器人對空間內球體的抓取和投遞,必須要判斷機器人到空間球體的距離。在已知球體半徑R,攝像機安裝高度H及攝像機視野俯角α、β,攝像機豎排像素點總數為N,并對球體顏色識別度較高的情況下,球中心距底邊為X個像素點,θ為攝像機到球心中點連線的俯角,可通過以下公式計算機器人到空間球體的距離D。
3.5 協調運動算法設計
機器人執行的動作是對環境反映的直接輸出結果,步態規劃[4]對類人機器人的雙臂協調運動十分重要。直線行走,左轉20度,右轉20度、蹲下、抱球、投球等動作的不同使得每個自由度的運動參數大有不同,但設計中考慮的中心思想是每個動作在執行中與執行后的機器人的重心都要保持在合理的范圍內,使其具有良好的穩定性。
類人機器人步態設計、雙臂協調運動設計都是通過上位機軟件設置與調試的。其中直線行走要確保左右邁出的步伐距離相同。左右轉彎有兩種轉彎方式,即邊前進邊轉彎和原地轉彎的方式。由于考慮到機器人對環境掃描做出的反饋的準確性,該機器人采用原地轉彎的方式。在設計轉彎時,通過改變轉彎腳劃出的距離大小與其執行時間長短來達到理想的轉彎動作。抱球動作的設計主要考慮兩點,其一是球位置的不確定性,設計時要盡量擴大抓球的區域面積;其二是球容易滾動,設計時要確保球在機械爪上受力合理。抱球后的行走、轉彎類似于沒有抱球的情況,需要強調的是由于球和機械手臂前移時使重心整體前移,設計動作時可以后仰以達到抵消重心前移目的。投球要確保雙臂對球的作用力大小相近,方向一致,而且執行動作時間要短,動作完成后要穩。
4 實驗分析
該機器人設計完成后,參加了華北五省(市、自治區)大學生機器人大賽,驗證了該機器人的性能。實踐證明,該系統能夠準確識別籃球與籃筐、定位籃球與籃筐,從而產生控制指令,控制機器人準確完成任務。
5 結束語
本文設計了基于OV7670視覺系統及仿真機械臂的類人機器人。通過實踐,證明該機器人具有目標識別準確、步態穩定性好、操作準確可靠等優勢。在對多種不同顏色、形狀的目標(籃球和球筐)的識別過程中,該機器人視覺系統都發揮出了其準確的識別性能,配合仿真機械臂精確地完成了抓取投放任務。該機器人在2016年華北五省(市、自治區)大學生機器人大賽天津分賽區獲得籃球項目第一名,北京總決賽籃球項目第一名。
參考文獻
[1]馮占英,李勇霞,盛洪.自主機器人制定顏色形狀屬性物體的識別方法[J].北京聯合大學學報:自然科學版,2011(3).
[2]蔡詠梅,郭文強,張琳琳,等.RG B空間平均顏色矢量法在顏色識別中的研究[J].計算機應用與軟件,2014(5):177-179.DOI:10.3969/j.issn.1000-386x.2014.05.045.
[3]袁奮杰,周曉,丁軍,等.基于FPGA的RGB和HSV色空間轉換算法實現[J].電子器件,2010,33(4):493-497.DOI:10.3969/j.issn.1005-9490.2010.04.023.
[4]湯中華,劉莉,陳懇,等.類人機器人耦合步態規劃與實驗研究[J].機械設計與制造,2013(1):52-54.DOI:10.3969/j.issn.1001-3997.201
3.01.019.
作者簡介:王小龍(1995-),男,漢族,云南省曲靖市,中國民航大學,本科在讀,電氣工程及其自動化。