謝凱 李含希 張藝瓊 王存萍
摘要:隨著黨和國家對社會主義強國建設的迫切需要,不管是國家還是個人都在不斷的超越自我,追求更快更強。我們擬設計一款乒乓球陪練機器人,用于個人能力的提高和對自我的超越,本文對此款機器人的三大系統進行了簡要分析。
一、視覺系統
視覺系統會收集對手的力量、速度、旋轉打球的方法等數據,通過大數據自主學習,隨時根據不同對手的能力調整自己的打球水平。
乒乓球陪練機器人以每秒上百次的頻率捕捉乒乓球的位置,再通過人工智能的算法計算出球的速度和旋轉,從而精確預測出球的運動軌跡,并且在極短的時間內發出指令,時間、方向、速度和力度都控制的剛剛好,這樣就實現了與運動員的博弈。
視覺系統的設計主要涉及兩個部分,一個是雙目相機的標定,一個是目標檢測方法。相比于單目相機而言,雙目相機更加方便計算空間中乒乓球的三維信息。雙目相機的標定是獲取相機參數以及轉換矩陣的過程,標定精度對于三維信息的獲取至關重要。第三個相機是用來關注人的行為特征,這些行為特征可以理解為多分類問題,例如:可以識別人的發球姿勢,把運動員分為幾個級別,根據不同的級別來改變陪練難度,相當于匹配一個旗鼓相當的對手。不僅如此,攝像機還需要觀察人的臉部表情特征,如果發現人的表情變得疲倦或難受[1],機器人可以詢問運動員是否需要休息,多與運動員進行溝通或者鼓舞之類,在得到運動員的語音反饋信息后便可根據語音識別系統進行輸出回答,實現真正的智能化陪練體系。而這一套體系運用了深度學習的知識來進行實現,首先需要采集大量的運動員的姿態、動作、表情等圖像信息,這些信息可以從互聯網上獲取,通過深度學習中的卷積神經網絡模型來進行反復訓練提升判斷的準確性,這個訓練過程是一個權重參數與偏置參數的不斷更新迭代過程,找到最合適的權重偏置參數,便能達到最佳的狀態判別結果,從而能夠準確判斷出運動員的水平和心情狀態信息[2]。
對于目標檢測方法,有利用前后幀關系進行目標檢測,還有基于深度學習的目標檢測方法,前者無法排除非所需目標的運動信息,后者檢測精度與效率不能同時兼顧,除上述方法外,顏色分割目標檢測方法在場景單一前提下可以滿足精度與效率的問題。考慮到顏色受光照的影響,選擇HSV通道顏色分割方法。經過HSV閾值分割算法后,可以得到一張二值化圖像。對于顏色分割,背景中往往會存在一些處于該范圍的噪點,這些噪點面積要比乒乓球目標小得多,但是仍然會影響查找乒乓球目標位置。所以需要對閾值分割的二值化圖像在進行腐蝕操作,圖像腐蝕操作雖然會一定程度減小目標面積,但由于最終只需要乒乓球的目標位置點,所以影響不大。
通過目標檢測與標定好的雙目相機參數計算出乒乓球的實際三維坐標。通過拍攝乒乓球運動過程中的多個瞬間位置信息,便可以預測球的運動軌跡。
二、控制系統
控制系統主要為了實現機械臂對球的擊打,分為三個模塊:機器人的運動學模塊、機器人對乒乓球臺避障模塊,機器人擊球動作路徑設計模塊。
1.機器人的運動學求解模塊
首先我們利用 D-H 法。該方法是在每個關節處建立一個三維坐標系,然后通過相連關節間的旋轉平移矩陣來描述有機器人基座坐標系到末端坐標系間的關系。從而,機械臂可以轉動或者平移起來。
2.機器人對乒乓球臺的避障路徑規劃
機器人在運動過程中可能會遇到乒乓球臺,所以需要設計可行的避障方法,使得機器人在不會碰到障礙物情況下根據系統的不同需求選取一條最優路徑進行運動,這類問題被稱為機器人避障路徑規劃問題。
(1)機器人擊球位置對乒乓球臺避障路徑規劃
對于避障問題,當決策系統決策出合適的擊球點位置和姿態時,機器人可以與無窮組關節角與之對應,所以根據系統的需求選取合適的機器人構型尤為重要[3]。機器人通過自運動讓前臂與上臂位于乒乓球臺上方時,機器人不會與乒乓球臺進行碰撞,因此只要計算出機器人位于乒乓球臺上方時的臂形角范圍,即可在機器人與乒乓球臺不碰撞的情況下選擇最優構型。
觀察機器人運動可知,機器人與乒乓球臺的碰撞主要是機械人前臂對乒乓球臺邊緣的碰撞和機器人末端位置與乒乓球臺面的碰撞,所以可以將機器人擊球位置與乒乓球臺碰撞問題抽象成求解三維空間中一條直線與圓錐曲面交點、以及三維中某一點處于某一平面上或下的問題。因此只要計算出機器人位于乒乓球臺上方時的臂形角范圍,即可在機器人與乒乓球臺不碰撞的情況下選擇最優構型。
算出機器人避免碰撞乒乓球臺的臂形角范圍,即機器人在擊球位置避免碰撞乒乓球臺的臂形角范圍為[ &1-&2 ]
3.機器人擊球動作路徑規劃
根據前文的工作雖然可以讓機器人不碰撞的運動到目標點,但是機器人到達目標點后,將直接停在目標點上,使得機器人沒有運動速度,無法完成擊球動作,所以需要對機器人最后的擊球路徑進行單獨設計。
我們選取選取最后一個點作為機器人需要到達的目標點,選取距離最后一個點五、六個采樣時間的點作為機器人擊球擊點。由于軌跡預測給出的乒乓球軌跡數據中保存有該點的采樣信息,所以假設標點坐標信息為p1,時間信息為t1,擊球點坐標信息為p2,時間信息為t機器人末端的運動路徑如圖所示,因此對機器人的擊球路徑總體設計如下。
在時間坐標系下,根據目標點與擊球點間的連線,在目標點與擊球點之間采集兩個點坐標,在擊球點后采集兩個點坐標。然后根據這些點的坐標以及目標點的姿態通過運動學逆解算法得到5組七個關節的角度。設定機器人運動速度v,計算機器人從目標點到最后一個采樣點的運動時間th。
控制機器人根據規劃好的運動路徑運動到目標點,并記錄運動的時間tm,運動到目標點或進行一段時間等待,并記錄等待時間tw
當tm+tw+th>t1-t2時,控制機器人依次按照5關節角度運動到各個采樣點即目標點。因此乒乓球到達擊球點位置時,機器人將以向量p1p2方向,速度v擊打乒乓球。
三、決策系統
決策系統可以將視覺系統收集到的信息進行整合,最后進行決策輸出。首先,決策系統依賴于大數據和機器學習,機器學習將在大數據的幫助下輸入無窮個樣本,這些樣本包括用戶平時的行為打法,國際頂尖運動員的打球技巧等,不斷自我訓練提高水平。通過視覺系統捕捉到用戶和球的信息后,在決策系統中進行檢索相應回球方案,最終將指令發送到控制系統,控制系統驅動機械臂進行回球。
參考文獻
[1] ?Zhang ?Z ?, ?Xu ?D ?, Yu ?J ?. ?Research ?and ?latest ?development ?of Ping-Pong ?robot player[C]// World Congress on Intelligent Control & Automation. IEEE, 2008.
[2] ?鄭魁敬, ?崔培. ?乒乓球機器人的研究與發展[J]. 機床與液壓, 2009, 37(8):238-241.
[3] ?Billingsley J. Machineroe joins new title fight[J]. Practical Robotics, 1984: 14-16.
第一作者簡介:謝凱,1996.10.10生,男,漢族,四川樂山,西南民族大學學生