JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

推動、柔順與不確定下的抓取

機器人擁抱接觸的前沿:不抓取也能推動物體、保持柔順,並在世界充滿不確定時從容應對。

當你無需抓取時

本主線的大部分內容都在講如何把手合攏、握住物體——也就是一次抓取,把物體牢牢固定,讓它逃不出你的手指。但想想你在真實世界裡到底是怎麼挪動東西的。你把咖啡杯順著桌面滑向自己。你撥弄一支掉落的筆,直到它探出桌沿、你終於能拿起它。你把一個沉重的箱子頂在一個稜角上,一步步「走」到該放的位置。這些動作裡,你都沒有先用手把物體包住。這一整類動作——推、滑、頂、翻、滾——就叫做非夾持操作:在從不握住物體的情況下改變它的位置。

既然抓取看起來更直接,何必費這個事?因為有時物體太大、太扁,或太貼牆,任何夾爪都伸不進去把它包住——桌上的一枚硬幣、架上卡住的一本書,手指根本無處下手。有時推動單純就是更快:把一堆雜物推到一邊,勝過把每件東西逐個拿起。還有時,先推一下能為之後更輕鬆的抓取做鋪墊——把物體滑到桌沿,手指才終於有空隙伸到下面。非夾持動作把環境——桌面、牆壁、重力——變成了額外的一隻幫手。

麻煩在於,推動出奇地難以預測。當你抓住一個物體,它就剛性地連在你手上,手怎麼動它就怎麼動。但當你推它時,物體可能旋轉、打滑或側滑,而這取決於你看不見的摩擦和只能猜測的質量分布。推一把長尺的一端,它會轉起來;從正中間推,它就筆直地滑。機器人必須推理接觸動力學——接觸點上的力如何轉化為物體的運動——這種推理正是這最後一章的核心。

保持柔軟:富接觸任務與柔順

再來看另一類挑戰:把鑰匙插進鎖孔、把銷子塞進孔裡、插上一個 USB 接頭,或讓海綿沿著曲面擦過。這些都是富接觸操作任務——動作的全部要點就是持續接觸某個東西,往往是沿著一條邊、或在狹小的間隙裡進行。這裡的危險與推動的不可預測恰恰相反。機器人大致知道東西在哪,但只要它多推進哪怕零點幾毫米,就會卡死、刮花,甚至弄斷零件。

傳統的位置控制機器人在這裡很危險,因為它很「固執」。讓它去某個點,它就會用極大的力衝過去,無視一切阻擋。如果孔的實際位置比機器人以為的偏了一毫米,機器人不會輕輕去摸索,而是把銷子狠狠撞在表面上,然後繼續硬推,因為它唯一的目標就是抵達被指令的位置。我們真正想要的,是一個一接觸就讓步的機器人,就像你自己的手臂在感到阻力時會順勢退讓一樣。

優雅的答案是阻抗控制。你不再下達一個位置、並要求機器人不惜一切去抵達它,而是去規定力與運動之間的一種關係——讓機器人表現得像一根彈簧。去推一隻阻抗控制的手臂,它會溫和地回推,回推的力與你把它推開的距離成正比,而你一鬆手它又彈回原位。你可以調節這份剛度:需要精度時硬得像鋼條,需要吸收接觸時軟得像海綿。與之密切相關的導納控制則從另一個方向達到類似的柔軟——它測量接觸力,並據此運動。無論哪種方式,機器人都不再與世界對抗,而是開始與它「商量」。

柔軟也可以做進硬件裡,而不只是軟件裡。遠端柔順中心是裝在夾爪附近的一種巧妙的被動機構,它讓被夾的零件在接觸力作用下能輕微傾斜與平移,於是稍有錯位的銷子在滑入孔中時會自動糾偏——無需任何傳感器或計算。而串聯彈性驅動器則刻意在電機與關節之間放一根彈簧,讓肢體在結構上天生就懂得讓步。優秀的富接觸操作通常把兩者結合:柔順硬件提供快速、本能的讓步,阻抗控制提供精確、可編程的手感。

在世界充滿不確定時如何應對

退一步,注意到這條共同的線索。推動之所以難,是因為摩擦藏在暗處;接觸任務之所以難,是因為一毫米的誤差就可能釀成大禍。兩者其實是同一個更深問題的不同面孔——不確定下的操作。機器人從不精確地知道世界。它的相機報告物體「在這裡」,但它的深度估計偏差了好幾公分。它的模型說表面是乾的,但表面其實微微有油,物體滑得比預期更遠。它的手指合攏握住杯子,但杯子一側更重,在抬起時旋轉了起來。

第一道防線是反饋——而且不只靠眼睛。手腕處的力/力矩傳感器或指尖上的觸覺傳感器讓機器人在接觸發生的當下就能感知它,遠比視覺更快、更可靠。當你在黑暗中插鑰匙時,你並不會盯著鎖看;你會感覺鑰匙碰到槽口的邊緣,然後左右擺動它,直到它滑進去。機器人也一樣:它輕輕按壓,感知到那股提示銷子偏離中心的側向力,然後朝阻力更小的方向滑去,直到零件就位。這種感知把閉環收得足夠緊,讓機器人能從它從未明確「看見」的誤差中恢復過來。

第二道防線是去推理不確定性,而不是無視它。機器人可以不把全部賭注押在「物體在哪」的單一最佳猜測上,而是攜帶一整團可能性——一個概率分布——並採取一種對其中大多數都有效的行動。這正是為定位中的粒子濾波器提供動力的那種概率思維,如今被轉用到抓取上。一個著名的技巧是「漏斗」:把動作設計成讓一大片不同的初始誤差,全都被擠壓進同一個正確的最終狀態。帶倒角的孔會把錯位的銷子「漏」到中心;把零件傾斜著輕敲某個牆角,會把它「漏」進一個已知的朝向。你不需要精確知道物體一開始在哪——你只需要一個會收斂的方案。

loop until seated:
    move down a little under impedance control   # stay soft
    read wrist force F                            # feel the contact
    if F sideways is large:                       # peg is off-center
        slide toward the direction of least resistance
    if F downward drops suddenly:                 # peg fell into the hole
        done
一個「感知並漏斗」的插入循環:保持柔順、感知接觸力,讓阻力把零件引導到位——無需精確知道孔的位置。

學習前沿與操作的未來走向

迄今為止的一切都假設我們能把物理寫下來——摩擦、幾何、接觸模型。但接觸是出了名的混亂:成千上萬次微小的碰撞與打滑,沒有哪個方程能乾淨俐落地刻畫。這正是為什麼現代前沿很大程度上轉向了學習。機器人不再手工編寫一次推動會如何展開,而是觀看大量示例,學出一個控制策略——一個從「它感知到什麼」到「它下一步該做什麼」的映射。

這些示例從哪來?常常來自人。在模仿學習中,人類遙操作機器人,把一次棘手的插入或一次精細的折疊演示幾十遍,機器人就學著複製這個行為。或者機器人在快速的物理仿真裡練習,嘗試幾百萬次它在真機上根本負擔不起的推動,再把學到的東西遷移到物理世界——這一躍叫做仿真到現實遷移。頑固的障礙在於,仿真裡的摩擦與接觸從來無法與現實完美吻合,這就是著名的現實鴻溝,於是在仿真裡行得通的,到了一張真實、略微打滑的桌子上就可能栽跟頭。

最新、也最具雄心的方向,試圖賦予機器人通用的能力,而不是一次只學一招。視覺-語言-動作模型在海量的機器人經驗上訓練,於是它能接收一張相機圖像和一句大白話指令——「把紅色方塊放進碗裡」——並直接輸出動作,哪怕面對訓練中從未見過的物體和說法。這些模型預示著一個未來:你用言語描述一個操作任務,機器人就照做,就像一個能幹的人那樣。

然而最古老的那條教訓依然成立。握起一隻杯子、推動一個箱子、插上一根線纜——這些幼兒不假思索就能做到的事——仍是機器人學中最難的問題之一,這份頑固如此出名,以至於有了自己的名字:莫拉維克悖論——對人類毫不費力的,對機器卻難如登天;而對我們很難的(算術、下棋),機器卻輕而易舉。操作的前沿不是某一次單點突破,而是本主線中所有思想的穩步聯姻——審慎的抓取規劃、柔順的接觸、對不確定性的誠實推理,以及從經驗中學習——一點一點地縮小著機器人之手與人類之手之間的距離。