先進控制
自適應控制
自適應控制,是機器人在運行過程中、當它發現世界與預期並不完全相符時,能夠邊走邊重新調校自己控制器的本領。大多數控制器都是基於一個對機器人的假定模型一次性設好固定數值的——比如它的手臂有多重、關節裡有多大摩擦。但真實的機器人可能拿起一件更重的工具、把馬達跑熱,或者在幾個月裡磨損。自適應控制器不會因此失靈、也無需人來重新調校,而是觀察自己實際表現如何,悄悄調整自己的設置,直到性能恢復。
它的運作方式,是在普通控制迴路之上再疊一個不斷進行的回饋迴路。控制器把「它預期機器人會做什麼」和「機器人實際做了什麼」相比較。如果手臂總是比命令的位置垂得更低,控制器便推斷「我一定低估了負載」,於是調高相應的內部參數;下垂隨之減小;它再微調一次;這個估計就這樣一步步逼近真相。過上一小段時間,控制器對機器人的認識便與真實的機器人對上了號,誤差也就自行消退。
這正是你學著搬一個陌生箱子時所做的事:你第一下要麼用力過猛、要麼用力不足,因為你把重量猜錯了,但才搬一兩下,你的肌肉就重新校準了。自適應控制賦予機器人同樣的自我糾正本事,所以凡是負載或動力學不斷變化的地方,它都會現身——抓取重量未知物體的手臂、飛行途中燒掉燃料而變輕的飛機,或是部件隨時間漂移、卻必須繼續工作的老化機器。
一隻機械臂從輸送帶上抓取重量未知的箱子;藉助自適應控制,它能在抬起的最初一刻就估出每個箱子的質量,並修正自己的馬達指令,於是即便是出乎意料地重的箱子,也仍能平穩地送到目標位置。
估出未知量、調整、再重複——直到機器人的模型與現實相符。
自適應控制會隨著條件變化而改變控制器的參數;強健控制則相反,它保持固定的參數,而這些參數是為容忍不確定性而選定的——這是對「無法精確了解機器人」這同一個問題給出的兩種不同答案。
又稱
另見