操作與抓取
不確定性下的操作
不確定性下的操作,指的是在機器人並不確切知道各種情況時,去抓取和擺弄物體。在真實世界裡,攝影機對物體位置的猜測總會偏一點,它的形狀也只是大致知道,表面有多滑只能靠估計,而感測器本身還帶著雜訊。不確定性下的操作,就是在這一切都不準的情況下依然把事辦成的本領——哪怕機器人手裡關於那隻杯子的每一個數都有點錯,也要把它乾淨俐落地拿起來。
看清這層「霧」從哪來會很有幫助。物體的位姿(它在哪、朝哪個方向轉著)是模糊的,因為視覺並不完美。它的形狀也可能是未知的,要是機器人從沒見過這件確切的東西。摩擦——表面能提供多大的抓持力——很難測量,還會隨灰塵或潮氣而變。而機器人自己的觸覺和位置感測器也會漂移、抖動。這些誤差單獨拎出來或許都還能扛,但它們會層層疊加;一個以為各項資料都完美的計劃,可能徹底抓空,或者讓東西滑掉。
解法不是假裝那些數都準,而是為「會出錯」預先打算。機器人可以挑一種即便物體比看上去偏了一公分也照樣管用的抓法,多捏一點力來對抗未知的滑膩,放慢逼近、用觸覺確認接觸之後再下手,或者先抓一下、再查驗自己是不是真的抓住了東西。像這樣設計出能容忍誤差的動作——而不是去強求一個真實世界永遠給不了的精度——正是核心本領;它也正是「實驗室演示」與「能在雜亂的廚房或倉庫裡真正幹活的機器人」之間的分水嶺。
攝影機說馬克杯的把手在這兒,但實際可能偏出一公分。於是機器人不去抓那根細把手,而去抓寬寬的杯身,因為就算估計有誤,抓在杯身上也照樣能抓中。
選一個「寬容」的抓取:寬大的目標能扛住一次錯誤的猜測,而細小的目標扛不住。
訣竅不在於猜得更準,而在於動作更「寬容」——選用那種即便物體實際上和感測器報出來的有些出入、也依然能成功的抓法和動作。
又稱
另見