動力學
接觸動力學
接觸動力學研究的,是機器人觸碰到這個世界的那個確切瞬間會發生什麼——當一隻腳落到地面、一隻夾爪合攏夾住一個箱子、或一根指尖按下一個按鈕的時候。只要機器人還在空氣中運動,它的物理就平滑而可預測。可一旦發生接觸,一切都驟然改變:表面會反推回來,運動在某個方向上突然被擋住,力也可能瞬間飆升。接觸動力學,就是描述這些突如其來的觸碰、按壓和磕碰的那一整套規則與模型。
有三件事讓接觸格外難以建模。第一,接觸是單向的:地面可以把你的腳往上頂,卻永遠不能把它往下拉,所以這套數學必須只在表面真正壓到一起時才“開啟”。第二,硬碰撞幾乎是一瞬間完成的——錘子的一擊、或一隻腳重重砸下,會在電光火石間改變速度,更像是猛地一震、而不是緩緩一推。第三,接觸處的摩擦決定了物體是抓得牢還是會側向打滑,而這正是“一隻手握住杯子”和“杯子滑脫出去”之間的差別。一個好的接觸模型,必須把這三件事同時刻畫出來。
把這件事做對,是實體機器人成敗的關鍵。一台行走機器人能站穩,正是因為每一步都把力乾淨俐落地通過與地面的接觸傳遞了出去;一隻機器手能抓起一枚易碎的雞蛋,靠的是精確地拿捏自己按壓的力度、以及表面會不會打滑。機器人控制器和物理模擬器都極度依賴接觸動力學,而它至今仍是機器人學中較難啃的一塊——恰恰因為真實的接觸又亂、又快、又極容易被建錯。
當一台腿式機器人在碎石路上小跑時,它的控制器依靠接觸動力學來預測每一次落腳會如何反推、又是否會打滑,從而趕在身體傾倒之前邁出下一步。
每一步落腳都是一次接觸事件,機器人必須預測它、並挺過它。
由於硬接觸幾乎在一瞬間改變速度,模擬器常把它們建模為衝量(一記驟然的力的猛擊),而不是普通的平滑的力。
又稱
另見