整個流程涉及很多技術。底層控制不做考慮。包含3D視覺,機器人規劃,抓取位置的選擇等。
機械臂抓取需要確定每段機械臂的位姿
首先,機械臂需要視覺伺服系統,來確定物體的位置,根據末端執行器(手)和視覺傳感器(眼)的相對位置,可分為Eye-to-Hand和Eye-in-Hand兩種系統。
Eye-to-Hand的分離式分布,視野固定不變,如果相機的標定精度高的話,那么視覺定位于抓取的精度也越高。
Eye-in-Hand則將機械臂與視覺傳感器固定在一起,視野隨機械臂的移動而改變,傳感器越近時精度越高,但過于靠近時則可能使目標超出視野范圍。
精密的視覺系統與靈活機械臂的配合,才能完成一次完美的抓取,而這正是當前機器人操作中的核心難題,歸納起來就是這么一件事:找到合適的抓取點(或吸附點),抓住它。之后的轉運執行,則屬于運動規劃的分支。
目前幾種主流的解決方案
Model-based(基于模型的方法)
這種方法很好理解,即知道要抓什么,事先采用實物掃描的方式,提前將模型的數據給到機器人系統,機器在實際抓取中就只需要進行較少的運算:
1. 離線計算:根據搭載的末端類型,對每一個物體模型計算局部抓取點;
2. 在線感知:通過RGB或點云圖,計算出每個物體的三維位姿;
3. 計算抓取點:在真實世界的坐標系下,根據防碰撞等要求,選取每個物體的最佳抓取點。
RGB顏色空間由紅綠藍三種基本色組成,疊加成任意色彩,同樣地,任意一種顏色也可以拆解為三種基本色的組合,機器人通過顏色坐標值來理解“顏色”。這種方式與人眼識別顏色的方向相似,在顯示屏上廣泛采用。
Half-Model-based(半模型的方法)
在這種訓練方式中,不需要完全預知抓取的物體,但是需要大量類似的物體來訓練算法,讓算法得以在物品堆中有效對圖像進行“分割”,識別出物體的邊緣。這種訓練方式,需要這些流程:
1.離線訓練圖像分割算法,即把圖片里的像素按物體區分出來,此類工作一般由專門的數據標注員來處理,按工程師的需求,標注出海量圖片中的不同細節;
2.在線處理圖像分割,在人工標注出的物體上,尋找合適的抓取點。
這是一種目前應用較為廣泛的方式,也是機械臂抓取得以推進的主要推力。機械臂技術發展緩慢,但計算機視覺的圖像分割則進展迅速,也從側面撬動了機器人、無人駕駛等行業的發展。
Model-free(自由模型)
這種訓練方式不涉及到“物體”的概念,機器直接從RGB圖像或點云圖上計算出合適的抓取點,基本思路就是在圖像上找到Antipodal(對映點),即有可能“抓的起來”的點,逐步訓練出抓取策略。這種訓練方式往往讓機器手大量嘗試不同種類的物品,進行self-supervisedlearning,Google的Arm Farm,即為其中的代表之一。
從抓取方法上分類可以分成兩種:基于分析方法(Analytical),基于數據驅動(Data-driven)。
分析方法:主要是基于動力學及幾何學的分析,一般要求知道物體的模型(known object),集大成之作為李澤湘教授的《機器人操作的數學導論》。書中基于旋量理論,介紹了很多機器人manipulation的基礎。分析方法有助于我們理解整個抓取過程,理解哪些物理量會影響抓取的穩定性。