先进控制
自适应控制
自适应控制,是机器人在运行过程中、当它发现世界与预期并不完全相符时,能够边走边重新调校自己控制器的本领。大多数控制器都是基于一个对机器人的假定模型一次性设好固定数值的——比如它的手臂有多重、关节里有多大摩擦。但真实的机器人可能拿起一件更重的工具、把电机跑热,或者在几个月里磨损。自适应控制器不会因此失灵、也无需人来重新调校,而是观察自己实际表现如何,悄悄调整自己的设置,直到性能恢复。
它的运作方式,是在普通控制回路之上再叠一个不断进行的反馈回路。控制器把“它预期机器人会做什么”和“机器人实际做了什么”相比较。如果手臂总是比命令的位置垂得更低,控制器便推断“我一定低估了负载”,于是调高相应的内部参数;下垂随之减小;它再微调一次;这个估计就这样一步步逼近真相。过上一小段时间,控制器对机器人的认识便与真实的机器人对上了号,误差也就自行消退。
这正是你学着搬一个陌生箱子时所做的事:你第一下要么用力过猛、要么用力不足,因为你把重量猜错了,但才搬一两下,你的肌肉就重新校准了。自适应控制赋予机器人同样的自我纠正本事,所以凡是负载或动力学不断变化的地方,它都会现身——抓取重量未知物体的手臂、飞行途中烧掉燃料而变轻的飞机,或是部件随时间漂移、却必须继续工作的老化机器。
一只机械臂从传送带上抓取重量未知的箱子;借助自适应控制,它能在抬起的最初一刻就估出每个箱子的质量,并修正自己的电机指令,于是即便是出乎意料地重的箱子,也仍能平稳地送到目标位置。
估出未知量、调整、再重复——直到机器人的模型与现实相符。
自适应控制会随着条件变化而改变控制器的参数;鲁棒控制则相反,它保持固定的参数,而这些参数是为容忍不确定性而选定的——这是对“无法精确了解机器人”这同一个问题给出的两种不同答案。
又称
另见