作者:李英博士, Energid Technologies公司
摘要
如圖1所示,Energid的軟件,針對特定的機器人手,任何種類的物體,用數據庫儲存抓取的算法。通過模擬的方法,可以容易地創建,編輯,模擬測試抓取的序列。這個模擬工具也包括了抓取力和位置的控制。所需的抓取力也可以通過圖形界面指定,編輯和測試。將成功的抓取路徑和力儲存到數據庫中。抓取的動作可以離線創作和編輯。當給機器人一個物體,類似的抓取可以根據物體的相似性,從數據 庫中進行搜索。相似性度量可以根據物體的形狀,表面特性,鉸接運動學(有關節的物體)等等。我們已經開發了一種,三維物體識別算法--形狀匹配的算法。通過力的控制,機器人可以容納接觸位置誤差,實現兼容的抓取。視覺系統用于跟蹤物體的方位進行實時定位。整個抓取的系統可以通過模擬進行測試,和編輯。
圖1:抓取系統簡圖
對于一個給定的物體,如果相應的手爪的抓取動作序列在數據庫中存在的話,類似的抓取很容易被搜索到。使用機器視覺系統,抓取的軟件工具可以用于在非結構化環境。該軟件包括一個用于仿真和實時硬件控制的圖形用戶界面GUI。該系統也可以和視覺系統整合跟蹤物體的位置,方向,和發音。該視覺系統利用Energid的Selection視覺工具包。 該運動控制系統利用Energid的機器人控制工具包Actin。
創建數據庫
機器人抓取的數據庫的方法,適用于所有的類型的物體。通過圖形界面,用戶可以修改抓取的動作和進行準確的動態模擬。數據庫建成樹狀結構。根據物體的形狀,關節,軟硬程度,和表面特性等物體的特征用來搜索相似的物體及其抓取動作。每一個節點包含一種特定的物體相似性的算法。 每一個節點都可以執行快速的計算,一旦理想的相似的物體被搜索到。可以略去下面的搜索計算。系統的輸入是一個物體的描述。輸出是抓取的路徑和力。該工具包支持力控制的整合, 并且抓取的路徑和力可以通過Energid專利的運動控制和高逼真度的動態仿真測試和改進。
抓取的創作
抓取和操作的創作可以通過圖形界面移動附加在機器手上的點和框架, 或改變關節的角度。 然后可以通過移動手指尖接觸物體進一步改進抓取動作。在創作過程中,會用到具體的手臂和手,或只有手。 抓取的動作序列的創作過程是視覺化的創作,編輯和記錄。 圖2所示的是使用抓取創作工具創作用Schunk公司的手臂和手抓取和操作一個杯子的序列。
圖2: 視覺化的創作用Schunk的手臂和手抓取一個杯子的動作。抓取的動作序列被顯示在這個工具的底部。
抓取創作工具按鍵功能分別如下:
添加框架按鈕:把序列的每一幀作為機器人要經過的點。
更新框架按鈕:用戶可以通過移動機器 人編輯抓取的每一幀。
保存序列按鈕:用戶可以將抓取序列儲存 為日后的執行文件。
測試序列按鈕:執行抓取動作。
清除序列按鈕:移除所有的抓取的幀,重新開始。
編輯序列按鈕:啟用的抓取順序編輯功能。
抓取和操作工具的一個強大的功能是能夠儲存抓取動作序列。手臂和手的逆運動學可以用Energid開發的Actin工具包來控制。和機器視覺軟件整合,機器視覺系統提供物體的方位給機器人,因此一套抓取動作序列可以用于在一個較大范圍內抓取物體。
這一創作靈巧的抓取工具,方便易用。用鼠標和其他輸入設備移動手和手指接觸物體,手的運動路徑可以記錄下來。 然而,如果只用位置控制,不可能實現所有目的的抓取。因為當手指接觸物體的表面時會產生不定的力。對于易碎的物體,手需要輕輕地和物體接觸, 因此需要如下面的所述力的控制的整合,
力控制
通過仿真測試和驗證,進行力的控制下的抓取和操作是這一抓取動作設計的一個重要過程。適當的力和接觸路徑被儲存在數據庫中。力的控制系統通過圖形用戶界面(GUI),很容易配置,測試和編輯。
力的控制框架
力的控制 框架設計主要有以下要求:
必須能夠容納不同的力控制算法,并允許新的用戶定義的算法。
能夠容納不同類型的力量/力 矩傳感器。
必須適合模擬的和實際的機器人和傳感器。
必須很好地與位置控制框架整合。
Figure 3: 力的控制框架
力的控制框架支持位置為基礎的力控制(PBFC),也被稱作內位置環力控制,即位置控制用來執行力控制。PBFC 力控制不要求直接控制執行器的扭矩, 因此被廣泛應用于工業機器人。PBFC 力控制。 如圖3所示, 外環的力通過調節器(Modifier)為內環力控制提供參考位置。調節器用理想的力(Fd)和力反饋 (F) 修改理想的軌跡 (xd), 然后傳遞指令位置(xc)給運動學的控制器。算出關節位置(qc), 傳遞給機器人的控制器。
力控制插件
力控制插件是個工具,它與抓取創作圖形界面結合,允許用戶用使用所提供的力控制框架而無需寫C++程序。此插件允許用戶定義和管理力傳感器類型,力量控制的具體參數,在主動力控制框架中的每個傳感器的力。通過改變控制參數和傳感器的位置和類型,該控 制系統可以容易地配置和編輯。
該插件包括若 干對話框。通過對話框,用戶可以在任何一節臂附加傳感器,
選擇傳感器類型,當前的軟件包括皮膚觸覺傳感器,六維力/力矩傳感器和關節力矩傳感器和關節力矩傳感器模型。
設定理想傳感器的值(以幀為基礎),
選擇力的控制方法,打開/關閉控制系統
變更控制系統參數,例如,對于一個PID控制器,位置,積分,微分增益可以調整.
所有的配置都可以視覺化的界面上進行,例如,在圖4所示對話框可幫助管理和確定每個機械手的力傳感器的集合。此對話框從菜單欄通過=>力控制=>管理力傳感器進入。用戶首先使用第一個下拉框選擇要為其定義機器人力來為其定義傳感器。然后,通過第二個下拉框連接選擇一節臂。新加入的傳感器將顯示在右側的表格。用戶可以通過調節傳感器性能表中的值編輯配置傳感器特性。按一下刪除鍵,所選擇的傳感器可以被刪除。
圖4: 管理力傳感器的對話框
模擬例
抓取路徑和把握力控制框架的有效性的驗證是通過模擬德國Schunk公司的LWA機械臂和SDH的手抓取各種物體。每個手指配備了觸摸感應器,這里用了手指末端的傳感器。這三個手指上的遠端觸摸傳感器用于為力的控制提供反饋數據。每一個力的控制器,PI力控制比例 增益為0.02和積分增益0.005。
抓取和移動壘球
圖5和圖6描述了Schunk手抓取一個高爾夫球和壘球的動作序列。最初手直接放在球的上方,手指關節設置有一定的相同的角度。給機器人力控制器0.5 N的命令,這個作用力引導三根手指關閉。當手指觸及球,觸摸傳感器測力變得大于零,隨即相關力控制器處于關閉狀態。當所有三個手指觸摸球,其中一個手指力控制器打開,設定理想的力為2N。圖5和圖6中左邊的手指用于加力。其他兩個手指控制使用位置控制。然后該機器人等待了3秒,讓手指上 的力達到預期的水平,以確保成功的抓取。最后,將球拿起來。
兩種球的抓取,用了一樣的抓取序列和控制參數。這樣的結果說明用力的控制的有效性。 如果只是用位置控制,每一種情況將需要不同的抓取序列適應不同的球的尺寸。
圖 5: Schunk 的手抓取高爾夫球的仿真
圖 6: Schunk的手抓取壘球的仿真
用修改抓取球序列抓取一個杯子
圖7的仿真演示了用力控制抓取更復雜的物體,一個杯子的效果。抓取的力和位置的控制參數是和抓取球一樣的。只有開始手相對于杯子的位置,手的關節角度和抓取球時有所不同。而命令抓取的動作序列是一樣的。
圖 7: Schunk 手臂和手抓取杯子的動力學仿真
仿真的結果表明,用力的控制,機器人能夠抓住一個物體,即使抓取路徑和接觸位置不完全一樣。例如,一個高爾夫球的抓取可以用來抓取壘球。利用力的控制,即使在物體的形狀的不確定,仍然可以成功地編寫抓取的腳本。利用力的控制,抓取的路徑和姿勢很容易編輯, 從一個相似物體的抓取修改成對一個新的物體的抓取。減少創作抓取腳本的努力。例如,例如一個球的抓取很容易被修用于抓取和拿起一個杯子。
數據庫
抓取和操作的數據庫創建成樹狀結構。樹的節點用黃色的長方塊表示,樹的節點包含物體的特征信息,用來比較物體的相似性。 樹葉用淺藍色的長方塊表示, 其中、存有該物體的抓取動作序列。當機器被命令抓取一個物體時,機器人根據物體的形狀,通過搜索樹的節點,找到合適的的樹葉,用其中的抓取動作序列來控制機器人。例如:如果給一個球,可能壘球的抓取被搜索到,用來抓取這個球。
圖 8: 抓取和操作的數據庫創建成樹狀結構。樹的節點用黃色的長方塊表示,樹的節點包含物體的特征信息,用來比較物體的相似性。 樹葉用淺藍色的長方塊表示, 其中、存有該物體的抓取動作路徑和力。
數據庫可以方便地 編輯和擴展,
8226;可以很容易地創建一個分支,單點擊紅色的點,可以在此添加一個新的分支。 8226;可以編輯分支,用戶可以復制,粘貼和刪除分支。例如,在圖中顯示,壘球的分支可以 復制粘貼到另一個分支。 8226;節點也可以被編輯,節點可以是一個真實的節點用來比較物體的相似性,也是一個節點只是占有一個位置。圖9顯示了一個真實的壘球的節點。壘球的形狀特征直方圖表示。直方圖是用來比較壘球與其他物體的相似性。 8226;葉節點可以被編輯,當點擊一個葉子 節點,將彈出抓創作工具。將數據庫與抓取創建工具連接。修改后的抓取可以保存到數據庫中。
數據庫接口的一個關鍵部分是形狀匹配算法。形狀匹配算法:(1)該算法能夠區別物體的不同的形狀和大小。(2)物體應與本身匹配但區別于其它不同的任選的物體。(3)物體與類似的形狀的物體相匹配。
形狀匹配算法
該算法結合物體形狀特征直方圖來計算兩個剛性物體之間的一個簡單的相異值。物體的特征被定義為兩個選定點之間的距離和兩個點的方向向量之間的角度,如圖9所示。該物體特征的直方圖設置是利用角度和距離作為兩個獨 立的變量。兩個物體形狀之間的差異可以計算來那個直方圖的差異來計算。即計算兩個直方圖的每個格子的計數差的總和。
圖9: 直方圖用來評估基于形狀的相異。每個方格的計數用顏色顯示。物體形狀的差異通過比較兩個直方圖的方格子里的計數來計算。
結果
圖10 顯示一組物體用物體形狀匹配方法計算相似程度的結果。我們用了三個球形狀,三個膠囊形, 三個方盒子形狀的物體,另外還有筆,網球和高爾夫球。膠囊形狀1和2是同一物體, 但用的是任意的特征集合進行物體匹配比較。方盒1和方盒2也是同樣的物體。
圖 10: 形狀匹配算法的評價,在兩個軸線上的物體以相同的順序排列,每個物體和本身比較,也和所有其他的物體比較。藍顏色表示相異值較低或接近的匹配。一個完美的匹配結果圖表是對角線是藍色其它方格里顏色離藍色較遠。
這些結果與預期相符:
每一個物體和本身相匹配但有別于其它物體。
在一類物體中, 比如球狀物體,物體有同樣的形狀,但不同的大小。這些物體相互匹配但有一定的不同。
網球和球1,筆和膠囊狀物體0有較好的匹配。
視覺跟蹤系統的整合
視覺系統提供場景中物體的位置,姿勢和幾何形狀。此信息用于抓取物體匹配計算。機器視覺算法包括離線訓練,在線識別和姿勢檢測過程。訓練過程是在各種照明條件下,收集物體各種姿勢的圖像。這些圖像可以是來自實物照片或它們的CAD模型。
該視覺跟蹤系統包含一個空間處理模塊和時間處理模塊。這些說明,在圖11所示。空間處理包括模塊化的三個階段,1)分割,2)初步位置,姿勢和幾何形狀估計,3)改進位置,姿勢,幾何形狀估計。時空處理如圖11所示,結合多個時間點的結果,對物體的位置,姿勢和幾何的評估。而且能夠隨時間提供新的物體的位置,姿勢和幾何形狀的能力,使改進跟蹤有新的可能性。
圖 11: 物體跟蹤識別系統由空間組件和時間組件構成.
硬件控制例
圖12顯示用Schunk公司的機器人硬件整合 視覺跟蹤抓取一個球。當跟蹤壘球時,只需跟蹤物體的位置,但物體的姿勢可以忽略。圖12顯示了從一個示范抓取球的動作序列,用戶可以隨意擲到現場一個球,機器人視覺系統發現球并使用我們的工具將球抓起來。圖13顯示了配置的軟件可控制各種任務。
圖 12: 視覺跟蹤抓取球的顯示。 用戶往機器人前扔一個球,機器人會自動識別和抓取。
圖 13: 抓取和操作其它物體的演示, 包括1)鉗子,2)手電筒,3)木頭塊,4)瓶子,5)筆,6)螺絲刀,7)電話,8)訂書機,9)倒水, 10)將電池裝到手電筒里,11)打開瓶蓋, 12) 手機。
參考文獻
1.“A Reusable Robotic Grasping Creator”, Ying Li, Justin Keesling, Chalongrath Pholsiri, Neil Tardella, and James English, Proc. of SPIE Vol. 7692 76921N-2, 2010
2.機器人抓取數據庫,http://v.youku.com/v_show/id_XMTc2NzkxMzYw.html
3.機器人抓取創作工具,http://v.youku.com/v_show/id_XMTc2MDE0ODgw.html
4. 機器人仿真控制軟件Atin工具箱,http://www.robotain.com/articles/ji-qi-ren-fang-zhen-kong-zhi-ruan-jian-actin-gong-ju-xiang.html
Energid Technologies Corporation, One Mifflin Place, Suite 400, Cambridge, MA 02138
聯系方式:李英,yl@energid.com , 網站:www.energid.com