請注意,本文所體現(xiàn)的信息、用途及應(yīng)用完全是Video-Touch客座作者的觀點。
您可能看過一些科幻電影,電影中的人可以用身體動作來控制機(jī)器人。如今,借助現(xiàn)代計算機(jī)視覺和機(jī)器人方法,我們能夠把這種體驗變成現(xiàn)實,而且和電影一樣精彩奇妙。
受新冠病毒影響,在如此艱難的時期,為了讓遠(yuǎn)程控制和遠(yuǎn)程操作變得切實可用,我們開啟了VideoTouch項目。
Video-Touch是第一個人機(jī)交互系統(tǒng)。它允許多名用戶,在世界任何地方通過視頻通話應(yīng)用(例如GoogleMeet、Zoom、Skype)對其進(jìn)行控制。
我們考慮過,是否有可能只用自己的手來遠(yuǎn)程控制機(jī)器人,而不借助手套、操縱桿等任何額外的設(shè)備,同時不產(chǎn)生明顯的延遲。于是,我們決定使用計算機(jī)視覺來實時識別動作,并實時傳遞給機(jī)器人。在MediaPipe的幫助下,我們將其變?yōu)榱爽F(xiàn)實。
分揀機(jī)器人控制程序操作系統(tǒng)大致如下:
1.通過視頻會議應(yīng)用,在用戶設(shè)備上獲取網(wǎng)絡(luò)攝像頭視頻,然后將其發(fā)送至機(jī)器人計算機(jī);
2.用戶的網(wǎng)絡(luò)攝像頭視頻串流通過OBS虛擬攝像頭工具被捕捉到機(jī)器人的計算機(jī)顯示器上;
3.識別模塊在MediaPipe的幫助下讀取用戶的動作和手勢,并通過ZeroMQ發(fā)送給下一個模塊;
4.在動作捕捉數(shù)據(jù)的基礎(chǔ)上,機(jī)械臂及其抓手由Python控制。
從方案中可以清楚地看出,用戶在操作機(jī)器人時只需穩(wěn)定的互聯(lián)網(wǎng)連接和一個視頻會議應(yīng)用。所有的如屏幕捕捉、手部追蹤、手勢識別和機(jī)器人控制等計算,都可以在Wi-Fi與機(jī)器人連接的單獨設(shè)備上進(jìn)行。接下來,我們將對流水線的各個環(huán)節(jié)進(jìn)行詳細(xì)說明。
用戶可以使用任何一臺能夠?qū)崿F(xiàn)跨設(shè)備傳輸視頻的軟件。在實驗中,我們使用的是視頻會議的桌面應(yīng)用。用戶在其設(shè)備上呼叫一臺顯示器與機(jī)器人相連的計算機(jī)。這樣,機(jī)器人就可以看到來自用戶網(wǎng)絡(luò)攝像頭的視頻串流。
現(xiàn)在,我們需要某種機(jī)制來把用戶的視頻從視頻會議傳遞到識別模塊。我們使用的是OpenBroadcasterSoftware及其虛擬攝像頭工具來捕捉打開視頻會議的窗口。這樣我們就獲得了一個虛擬攝像頭,它現(xiàn)在有來自用戶網(wǎng)絡(luò)攝像頭的幀及其獨特的設(shè)備索引,可以在識別模塊中進(jìn)一步使用。
識別模塊
識別模塊的作用是捕捉用戶的動作并將其傳遞給機(jī)器人控制模塊。MediaPipe會在此發(fā)揮作用。我們?yōu)椴蹲绞植縿幼鲗ふ伊俗钣行?、最精確的計算機(jī)視覺軟件。我們發(fā)現(xiàn)了許多令人興奮的解決方案,但事實證明,對于如此具有挑戰(zhàn)性的任務(wù),MediaPipe是唯一適合的工具。
我們對MediaPipe手部追蹤模塊進(jìn)行了兩項關(guān)鍵修改:增加了手勢識別計算器并集成了ZeroMQ消息傳遞機(jī)制。
兩項關(guān)鍵修改
在上次發(fā)表文章的時候,我們有兩個版本的手勢識別實現(xiàn)。第一個版本如下圖3所示,所有的計算均在手部姿勢識別計算器內(nèi)進(jìn)行。計算器將特征點作為輸入進(jìn)行縮放,也就是說,這些特征點根據(jù)手的邊界框大小進(jìn)行標(biāo)準(zhǔn)化。接下來,它會識別4種手勢:“移動”、“傾斜”、“抓取”和“無手勢”(論文中的“手指距離”手勢是實驗性內(nèi)容,沒有包括在最終演示版中),并輸出手勢類名稱。盡管這個版本十分穩(wěn)健實用,但它只是基于簡單的啟發(fā)式規(guī)則,如:“如果此特征點[i].x《特征點[j].x,那么它是一個‘移動’手勢”,而且對于手部旋轉(zhuǎn)這類現(xiàn)實生活中的情況,此版本無法識別。
發(fā)表文章
為了緩解泛化不良的問題,我們實施了第二個版本。我們在手動收集和加標(biāo)簽的1000個關(guān)鍵點的數(shù)據(jù)集上訓(xùn)練了來自scikit-learn的梯度提升分類器:“移動”、“傾斜”和“抓取”類各有200個,而“無手勢”類有400個。順便說一下,如今可以通過最近發(fā)布的JestureAISDKrepo(注:我們團(tuán)隊部分成員的另一個項目)輕松獲取此類數(shù)據(jù)集。
JestureAISDK
我們使用縮放的特征點、關(guān)節(jié)間的角度以及成對的特征點距離作為模型的輸入,來預(yù)測手勢類。接下來,我們嘗試只傳遞縮放的特征點,而不傳遞任何角度和距離,結(jié)果在200個關(guān)鍵點的本地驗證集上獲得了91%的類似多類準(zhǔn)確率。對于這個版本的手勢分類器,還有一點是我們無法直接在C++++中運行scikit-learn模型,所以我們用Python進(jìn)行實現(xiàn),作為機(jī)器人控制模塊的一部分。
分揀機(jī)器人都運用在哪方面發(fā)表后,我們立即推出了一個在Keras中訓(xùn)練的全連接神經(jīng)網(wǎng)絡(luò),它采用的數(shù)據(jù)集與梯度提升模型相同,而得到的結(jié)果更好,準(zhǔn)確率達(dá)到93%。我們將這個模型轉(zhuǎn)換為TensorFlowLite格式,現(xiàn)在我們可以在手部姿勢識別計算器中直接運行手勢識別ML模型。
得到當(dāng)前手部位置和當(dāng)前手勢類后,我們需要將其傳遞給機(jī)器人控制模塊。進(jìn)行這一步時,我們借助了高性能的異步消息功能庫ZeroMQ。為了在C++中實現(xiàn)這一點,我們使用了libzmq庫和cppzmq標(biāo)頭。利用請求-回復(fù)方案:識別模塊C++代碼中的REP和機(jī)器人控制模塊Python代碼中的REQ。
libzmq
cppzmq
請求-回復(fù)
因此,借助我們修改過的手部追蹤模塊,現(xiàn)在能夠?qū)⑦\動捕捉信息實時傳遞給機(jī)器人。
并聯(lián)分揀機(jī)器人有哪幾種機(jī)器人控制模塊
機(jī)器人控制模塊是一個Python腳本,它將手部特征點和手勢類作為輸入,并輸出機(jī)器人移動命令。運行該腳本的計算機(jī)通過Wi-Fi與機(jī)器人連接。我們的實驗中使用了搭載NvidiaGTX1050TiGPU的MSI筆記本電腦。同時嘗試在IntelCorei7CPU上運行整個系統(tǒng),由于有高度優(yōu)化的MediaPipe計算圖實現(xiàn),該運行也是實時的,延遲可以忽略不計。
在目前的流水線中,我們使用了UniversalRobotics的6DoFUR10機(jī)器人。由于使用的抓手是雙指的,我們不需要每個特征點與機(jī)器人手指關(guān)鍵點的完整映射,只需要手中心的位置。借助此中心坐標(biāo)和python-urx軟件包,我們現(xiàn)在能夠在所需的方位和方向上改變機(jī)器人的速度:在每一幀上,我們計算當(dāng)前手中心坐標(biāo)與前一幀坐標(biāo)之差,從而得出速度變化矢量或角度。最后,此機(jī)制看起來與人們用操縱桿控制機(jī)器人的方式非常相似。
python-urx
北京順豐快遞分揀機(jī)器人進(jìn)口分揀機(jī)器人哪家好高密度觸覺傳感器的觸覺感知
靈巧的操縱要求具有較高的空間分辨率和對物體和環(huán)境的高保真觸覺感知。最新的傳感器數(shù)組非常適合機(jī)器人操縱,因為它們可以很容易地掛接到任何機(jī)器人末端執(zhí)行器上,并適應(yīng)任何接觸面。
源發(fā)布文章
Video-Touch嵌入了一種高密度的觸覺傳感器數(shù)組。它們安裝在雙指機(jī)器人抓手中。每個指尖上都掛接一個傳感器數(shù)組。單個電極數(shù)組可以感應(yīng)5.8平方厘米的幀面積,每幀分辨率為100點。感應(yīng)頻率等于120赫茲。每個點的力檢測范圍為1至9牛頓。因此,機(jī)器人以200點的分辨率檢測施加在機(jī)器人手指抓取的固體或柔性物體上的壓力。
智能分揀機(jī)器人是如何工作的從傳感器數(shù)組處收集的數(shù)據(jù)經(jīng)過處理后,以動態(tài)手指接觸映射圖的形式向用戶顯示。壓力傳感器數(shù)組讓用戶能夠感知被抓物體的順應(yīng)性、硬度、粗糙度、形狀、方向等物理特性。
圖8:多用戶機(jī)械臂控制功能。用戶能夠在常規(guī)的視頻通話過程中執(zhí)行COVID-19檢測[源視頻]
尾注
如此一來,借助MediaPipe和機(jī)器人,我們建立了一個有效的多用戶機(jī)器人遠(yuǎn)程操作系統(tǒng)。在未來,遠(yuǎn)程操作系統(tǒng)的潛在用途將包括醫(yī)療檢測,以及在難以進(jìn)入的環(huán)境中進(jìn)行的實驗。該系統(tǒng)的多用戶功能解決了有效遠(yuǎn)程協(xié)作的實際問題,允許在多人小組中進(jìn)行需要手動遠(yuǎn)程控制的項目工作。
我們流水線的另一個優(yōu)勢特點是,人們可以使用任何帶有攝像頭的設(shè)備,例如手機(jī),來控制機(jī)器人。除了機(jī)械臂,人們還可以操作其他如,邊緣設(shè)備、移動機(jī)器人或無人機(jī)等硬件設(shè)備。當(dāng)然,目前的解決方案具有一定的局限性:延遲時間、z坐標(biāo)的利用,以及手勢類型的便利性都有改進(jìn)的空間。我們十分期待試用MediaPipe團(tuán)隊的更新,并期待著嘗試新類型的抓手、雙手控制,甚至是全身控制。
希望這篇文章對您和您的工作有所幫助。保重身體,堅持編碼。非常感謝您的關(guān)注!
快遞分揀機(jī)器人哪個品牌好快遞分揀機(jī)器人帶來好處和壞處自動分揀機(jī)器人設(shè)計