機械能與功
在物理學嚴格的意義上,「功」指的是:一個力推著某樣東西、而這東西確實移動了,這時才做了功。把一個箱子推動一公尺,你就對它做了功;而靠在一堵紋絲不動的牆上,無論你多累,奇怪的是你做的功為零。能量則不過是「以後能拿來做功」的儲備——是一種由運動和位置隨身攜帶的「貨幣」。對機器人來說,每一個轉動的關節、每一條抬起的手臂、每一次合攏的夾爪,都在花掉或儲存這種貨幣;而把這本帳記平,正是「動力學」這整個領域所要做的事。
機械能有兩種日常常見的形式。動能是運動所帶有的能量——一台旋轉的馬達、一條快速揮動的手臂都有動能;它隨速度的平方增長,所以速度快一倍的連桿,能量是原來的四倍(這正是一條沉重的機械臂高速甩動時格外危險的原因)。勢能是位置所帶有的能量——把負載舉得越高,你就在它身上「存」進越多能量,一旦落下,這些能量就會化作運動猛衝回來。機器人時刻在兩者之間互相兌換:它花掉電能去做功、把零件舉高(儲存勢能),而這份儲存的能量,在下落途中又能變回運動。
這本帳不只是工整的物理,更是實打實的工程。知道一項任務需要多少功,就能算出你需要多大的馬達和電池;追蹤動能,就能知道要安全地煞住一條運動中的手臂有多難;而許多巧妙的設計會有意去儲存並重複利用能量——例如行走機器人腿上的彈簧,會接住每一次落腳的能量、再把它彈進下一步,很像袋鼠的肌腱,從而讓馬達省下大量的功。
要把一個 2 公斤的零件抬高 1 公尺,機械臂必須克服重力做大約 20 焦耳的功;如果它隨後再把零件輕輕放下,一套設計良好的傳動系統可以回收其中一部分能量,而不是讓它在煞車裡白白變成熱。
抬起把能量存進勢能裡;放下時又能把其中一部分還回來。
功率不過是「做功有多快」——同樣的抬升動作,用一秒完成就比用十秒完成功率更大。馬達以瓦特標註的額定值其實是對功率的限制,所以一台弱馬達照樣能做大活,只是慢一些。