劉玲 靳伍銀 王洪建
隨著網(wǎng)球運動的不斷發(fā)展,加入網(wǎng)球運動項目的人越來越多,規(guī)模不等的比賽也非常多[1].網(wǎng)球比賽或訓練時,一般是人工撿球,勞動強度大、工作效率低.目前從事網(wǎng)球拾取的球童數(shù)量少[2].Gu等[3]提出了一種利用TSP進行路徑規(guī)劃,使用YOLO作為網(wǎng)球識別的模型來實現(xiàn)機器人的自主撿球.溫秀蘭等[4]提出了一種改進的粒子群算法應(yīng)用在機器人的幾何參數(shù)標定中,提高了六自由度機器人末端絕對定位精度.Yasaswy等[5]采用紅外發(fā)光二極管和ATMEG32單片機實現(xiàn)自主拾取網(wǎng)球的整個過程.Zhao等[6]利用模糊控制和超聲波傳感器對目標進行避讓,配合計算機視覺對網(wǎng)球進行自動檢測和跟蹤.目前撿球方式分為兩種,一種是設(shè)計機械手抓取球;另一種為仿吸塵器原理將球吸進腔中[7-10].考慮到網(wǎng)球質(zhì)量、體積較大,多采用第一種方式進行抓?。F(xiàn)有的網(wǎng)球撿球機器人[11]采用葉輪旋轉(zhuǎn)產(chǎn)生足夠大的力和慣性使球上升并落入后框[12],但由于內(nèi)輪與網(wǎng)球接觸面積較小,力矩大小難保證,故抓取精度低、失誤率高;同時,撿球機器人為履帶式行走方式,在網(wǎng)球場館平地內(nèi)顯得非必要且速度不高.基于以上問題,本文設(shè)計了一款小型的雙機械臂網(wǎng)球拾取機器人,實驗結(jié)果表明機器人的抓取精度可達98%.
本機器人系統(tǒng)由本體、雙機械臂、攝像頭、控制器、行走機構(gòu)、圖像處理及雙抓取機構(gòu)等構(gòu)成.網(wǎng)球拾取機器人工作時,攝像頭用于識別網(wǎng)球,捕捉到網(wǎng)球的具體位置坐標反饋給控制中心,控制中心驅(qū)動電機輪子向最近的一個目標物靠近,當目標物的面積達到起初設(shè)置的值時機器人停止前進,再驅(qū)動兩個三自由度的機械臂協(xié)同合作,同時向目標物靠近并準確拾取網(wǎng)球,放置于儲球裝置中,完成一次拾取工作.攝像頭低端設(shè)計有一個自由度,當完成第一次拾取工作后可自動旋轉(zhuǎn),開始第二次尋找、識別以及拾取網(wǎng)球,依次類推實現(xiàn)機器人拾球工作.圖1所示為總體設(shè)計框圖.
機器人三維模型結(jié)構(gòu)如圖2所示.機身共有兩層,分為機身上板和機身下板,兩板之間放置STM32控制器及電源模塊,機身上下板呈六邊形,其中六個角分別對稱位于機身左右兩側(cè),行走機構(gòu)分為兩個輪子和一個萬向輪,三點支撐整個機器人,穩(wěn)定性可靠.
雙機械雙抓手結(jié)構(gòu)如圖3所示.抓取機構(gòu)的兩機械手位于小臂末端,包括左右夾鉗.兩夾鉗首端依靠齒輪連接定位,左右夾鉗各有一抓取舵機,其輸出端連接抓取底盤,兩個抓取舵機共同控制兩個機械手作用在兩根杠桿上實現(xiàn)杠桿的合攏抓取動作.因網(wǎng)球為圓形,傳統(tǒng)機械手夾持容易滑落且作用范圍窄、工作效率低,使用雙機械臂雙手爪使抓取范圍擴大,同時執(zhí)行機構(gòu)末端設(shè)置兩杠桿帶動夾持器對網(wǎng)球進行拾取,抓取精度也得到進一步提高.
硬件系統(tǒng)包括STM32103VCT6單片機控制器、電源模塊、視覺系統(tǒng)模塊及舵機控制驅(qū)動模塊.其中舵機由減速齒輪、舵盤、直流電機、控制電路和位置反饋電位計等組成,通過Keil uVision4編譯程序控制電機轉(zhuǎn)動速度來控制機器人的方位、前進的速度以及雙機械臂各關(guān)節(jié)舵機的角度和速度,達到調(diào)整各關(guān)節(jié)伸長長度、雙機械臂高度的目的.
STM32103VCT6單片機控制器配置有16路A/D接口用于攝像頭等傳感器數(shù)據(jù)輸入,6路輸出接口用于驅(qū)動舵機等外設(shè),且擁有大量的外設(shè)I/O接口可連接和驅(qū)動實現(xiàn)指定功能所需的各類傳感器與外設(shè)設(shè)備[13].
視覺系統(tǒng)采用Logitech C170型免驅(qū)動攝像頭,分辨率為1 024×768,像素130萬,與STM32單片機配合使用.
機器人采用C語言進行環(huán)境開發(fā),將捕捉到的目標物去除其他像素點的干擾,按像素點集中區(qū)域,求取目標物中心坐標位置,視覺系統(tǒng)采用像素坐標系,圖像是以左上角為坐標原點,橫向向右,豎向向下為正方向的坐標的像素點陣,X-Y的上限坐標是640像素×480像素,將采集的圖像進行區(qū)域劃分.圖4所示圖像質(zhì)心計算的具體值為X=172,Y=225.對攝像頭采集的圖像使用如圖5所示模塊進行區(qū)域劃分,檢測目標物出現(xiàn)在某一區(qū)域中,則執(zhí)行對應(yīng)區(qū)域的指令.
機器人拾取速率指的是機器人的移動速度,也可用機器人電機的轉(zhuǎn)速表示,轉(zhuǎn)速越快,機器人的移動速度越快.如圖5所示期望目標物坐標始終保持在A區(qū)域,當目標物落入不同的區(qū)域時,則根據(jù)指令進行相應(yīng)的運動.同時計算捕捉到的像素點面積大小來判斷與目標物之間的距離,面積越大,距離越近,如圖4所示,此時的目標物面積為63.198.攝像頭把目標物的定位信息以及距離信息反饋給控制中心,控制中心根據(jù)反饋回來的坐標信息進行判斷,決定機器人接下來的移動路徑.目標物坐標確定后,拾球機器人會根據(jù)坐標信息向目標物靠近,當目標物的面積達到一定值時(即達到適合抓取的距離d=60 cm)觸發(fā)雙機械臂雙手爪關(guān)節(jié)舵機,對目標物進行拾取并準確放置于機器人儲物筐內(nèi),完成一次拾取工作.其系統(tǒng)總體框架如圖6所示.
攝像頭低端設(shè)置有一個自由度,攝像頭連接處有一個自由度,攝像頭本身自帶一個自由度,便于網(wǎng)球場范圍內(nèi)自動轉(zhuǎn)動攝像頭尋求目標.當有多個目標出現(xiàn)時,根據(jù)反饋回來的目標物面積大小,按從大到小的順序依次拾取,從而完成目標物定位、拾取與儲存的工作.
經(jīng)圖像處理后,對網(wǎng)球目標物進行面積、質(zhì)心計算,其中質(zhì)心法是圖像能量密度函數(shù)一階空間矩和零階空間矩的比值[14].假設(shè)圖像內(nèi)單個目標物的質(zhì)心坐標為(Xc,Yc),該位置可由圖像灰度值質(zhì)心計算得:
(1)
式中,Xc,Yc是計算所得質(zhì)心坐標,x,y分別是圖像的橫縱坐標,D為限定積分區(qū)域,是已知的,即圖像尺寸大小由C170攝像頭視場確定.G(x,y)指每個像素點的灰度值,也稱圖像灰度函數(shù).
上述積分為連續(xù)積分,但C170攝像頭得到的圖像實際是離散的,只能得到G(x,y)在像素點位置的采樣值,故用質(zhì)心法時,式(1)做近似推導變?yōu)槭?2)的形式:
(2)
(3)
對每幀圖像的目標進行位置坐標計算,通過判斷質(zhì)心點在屏幕中的位置為網(wǎng)球機器人提供方向?qū)Ш絒15].機器人獲取網(wǎng)球目標物(Xc,Yc)位置信息,將獲取到的位置信息通過A/D端口反饋給控制中心.
對開發(fā)的智能全自動小型移動拾球機器人進行多種場合測試實驗,機器人可在不同環(huán)境下準確識別和定位網(wǎng)球位置,能有效追蹤并利用雙機械臂雙手爪對目標進行抓取以及順利完成網(wǎng)球的放置工作.機器人相機視場為1 024×768,所測目標物質(zhì)心坐標、舵機偏轉(zhuǎn)角度及電機輸出占空比等實驗數(shù)據(jù)采樣值如表1所示.
表1 實驗數(shù)據(jù)采樣值Table 1 Sample values of experimental data
機器人的工作狀態(tài)如圖7a所示,成功捕捉到目標物如圖7b所示.隨機在場館放50個球進行多次實驗,記錄機器人開始工作后的時間、拾球個數(shù),測試結(jié)果如圖8所示.場館球數(shù)越多,機器人移動速度就越慢,隨著地上網(wǎng)球數(shù)量越來越少,機器人的移動速度會有所增加.實驗結(jié)果表明拾球機器人抓取精度能達到98%.
1)通過構(gòu)建機器人三維模型設(shè)計,分析結(jié)構(gòu)特征,設(shè)計了一款全自動小型移動拾球機器人.
2)機器人基于視覺識別系統(tǒng),以攝像頭作為眼睛,結(jié)合視覺識別與雙機械臂雙手爪控制技術(shù),采用質(zhì)心法對目標物進行識別并拾取,實現(xiàn)機器人自主尋球、拾球、卸球等動作.
3)根據(jù)網(wǎng)球的形狀特征設(shè)計的雙機械臂抓取機構(gòu)能擴大抓取范圍,能有效抓取網(wǎng)球等圓狀類目標.
本文旨在解決網(wǎng)球運動員訓練以及比賽中出現(xiàn)的撿球效率低問題,規(guī)避了現(xiàn)有網(wǎng)球機器人結(jié)構(gòu)龐大的缺點.通過實驗驗證,結(jié)果表明所設(shè)計的機器人能有效解決撿球問題,抓取精度達到98%.