給這座動物園分類
「機器人」這個詞涵蓋了一座千奇百怪的動物園:一隻焊接車門的橙色巨臂、一台在沙發周圍亂拱的冰球狀吸塵器、一條爬樓梯的四足機器狗、一架在頭頂嗡嗡作響的無人機。它們外形毫不相似,卻都是同一類生物——能在物理世界中感知、決策並行動的機器。為了理清這種多樣性,我們使用機器人分類法:一組用來給機器人歸類的「桶」,就像生物學家把動物歸入科屬一樣。
並不存在唯一「正確」的分類法——你關心什麼問題,就按什麼來分。按用途分,最大的分野是工業型(在工廠裡製造和搬運東西的機器人)與服務型(在家庭、醫院和農場裡幫助人的機器人)。按身體構型分,我們得到四個經典家族。按工作場所分,機器人可能固定在地面、能在樓裡自由漫遊,或在開闊空中飛行。最有用的描述往往三者兼顧:「一台用於室內配送的移動式服務機器人」。
自由度:數一數能動的方式
身體構型大致告訴你機器人是什麼。而要說清它能多自由地活動,工程師會拿出一個乾淨俐落的數字:自由度(DoF)——機器人能獨立改變自身位形的方式的數量。每一種你能單獨調節、且不受其他運動牽制的獨立運動,就是一個自由度。
你自己的胳膊就是最好的老師。讓肩膀保持不動,留意一下:肩關節大致能朝三個獨立方向擺動,肘關節能朝一個方向彎曲,手腕還能再做兩到三種扭轉與傾斜。每個關節都把自己的運動加進總數。合起來,你的胳膊大約有七個自由度——這正是為什麼你既能搆到咖啡杯,又能在保持手不離杯的同時繞動肘部。這點多出來的迴旋餘地,叫作運動學冗餘。
為什麼「六」總是反覆出現,成了那個神奇數字?因為把一個剛體擺到空間中任意位置,恰好需要六個數:三個表示位置(左右、前後、上下),三個表示朝向(橫滾、俯仰、偏航——它如何傾斜與轉動)。這六個數合在一起就是物體的位姿。一條擁有六個獨立關節的機械臂,能在其可達範圍內命中任意位姿——既包括手在哪裡,也包括手朝哪個方向。少於六個,某些位姿就根本無法實現。
越自由,馬達越多,錢越多
自由度不是白來的。每個自由度都需要自己的關節、自己的馬達、用來知道它在哪兒的感測器,以及自己那一行控制軟體。所以自由度是一個權衡能力與成本及複雜度的旋鈕。更多自由意味著更大的搆取範圍和更高的靈巧度——但也意味著更多的零件要造、更多的重量要扛,以及更多可能損壞或需要校準的環節。
好的工程,意味著恰好買夠任務所需的自由度,多一個關節都不要。一台把巧克力投入移動托盤的機器人,需要快速搆到某個點,卻不在乎夾爪如何傾斜——三到四個自由度就綽綽有餘。一台必須以精確角度擰入螺栓的機器人,還需要完全掌控朝向,於是想要完整的六個。而一條帶七個自由度的手術臂或人形臂,則是有意購買那份冗餘,以便在讓工具精確對準目標的同時繞開障礙。
自由度是機械臂規格中必然標註的兩個數字之一。另一個是它的負載與臂展——它能舉起多重的負荷、能伸出多遠。看規格表時,你會讀到類似「6 自由度,5 公斤負載,850 毫米臂展」的字樣。在你往下讀任何一行之前,這三個數字就已經告訴你一條機械臂能做什麼、不能做什麼的大部分了。
兩個世界:籠子裡與曠野中
把分類法和自由度放到一起,機器人領域中最深的那條裂縫便清晰起來:服務型與工業型機器人之分。這種對比其實無關身體形狀——它關乎二者各自身處的世界,而那個世界改變了它如何設計的一切。
經典的工業機器人生活在籠子裡。工廠是圍繞它建造的:零件每次都在同一地點、同一時刻到達。於是這種機器人可以又大、又強、快得耀眼,同時頭腦出奇地簡單——它把一個精確動作重複上百萬次,從不需要去琢磨自己碰到的是什麼。它的世界被馴服了;它的本職是力量與可重複性。
服務機器人則生活在曠野中——你的廚房、醫院走廊、一片草莓田。沒有什麼會兩次在同一地點等候,人們會闖進它的路徑,而它被撞到時必須是安全的。於是它較少依賴蠻力,更多依靠感知、判斷與溫柔。現代的協作機器人(cobot)正是這兩個世界之間的橋樑:一條足夠柔順、足夠有覺察力、可以與人共用一張工作台的機械臂,無需籠子。