机械臂在移动的时候,重力会作用于机械臂。比方说你要机械臂向上转,重力却把它向下拉,那么你的电机出力就要更大一些。重力可以视为一种扰动。
搞自动控制要记住一句话,没有什么扰动是闭环控制搞不定的,如果有,就是你的闭环控制的带宽不够大。
重力扰动的带宽顶多和你的系统带宽接近。所以闭环控制当然能搞定重力。
搞自动控制还要记住另一句话,能用前馈搞定的扰动,就不要用闭环控制搞定,因为前馈最快最稳定。
闭环控制能够干掉扰动,但是必然存在一个收敛过程,这个过程就需要时间。当你要求系统的快速性很高的时候,这个收敛时间就很要命。
前馈是起效最快的控制手段。如果你能比较精确地计算得到一个扰动的数值,就可以先用前馈把扰动大致抵消掉,剩余一小部分再用闭环控制搞定。这可以大大提高系统的快速性,也对系统的稳定性有好处。重力补偿,就是一种用于抵消重力扰动的前馈。