当前位置: 华文问答 > 科学

基于计算力矩法的机器人控制中为什么不抵消掉惯性力?

2021-02-03科学

看到桂博 @桂凯 的回答点了进来。顺便看了下题主的描述,看着题主怼天怼地各种不服气的语气仿佛看到了多年前的自己,从另一个角度补充一下桂博的回答吧。

根据书上的控制律(10-15)得到的系统闭环特性公式为(10-17):

\ddot{E}+K_V\dot{E}+K_pE=0\\

题主是希望把惯量矩阵乘以实际加速度放到 \beta 项里面作为补偿项(根据你说的「这些是非线性力,一块把惯性力抵消了不就更方便了」),那么你的思路就是模型部分如下:

\alpha=M(\theta) \\ \beta=M(\theta) \ddot{\theta}+V(\theta,\dot{\theta})+G(\theta)+F(\theta,\dot{\theta})

控制律部分如下:

{\tau}^{'}=K_v\dot{E}+K_pE\\

代进去补偿的话,会得到误差方程:

K_V\dot{E}+K_pE=0\\

我们来看下你的思路和书上的思路有什么差异,很明显,你的思路得到的闭环误差方程缺少对加速度误差的抑制能力,表现到实际性能上,就是系统响应能力会差一些;甚至这种用实际加速度计算惯量项力来补偿的思路有点打哪指哪的感觉,毕竟实际加速度并不是期望的加速度。一般关节空间轨迹指令是 (\ddot{\theta}_d, \dot{\theta}_d,\theta_d) ,而你只用了后面两项作为输入指令。
另外书上的思路得到的闭环方程是一个二阶微分方程,可以设计自己想要的期望响应,而你提出的思路推出来只是一个弹簧阻尼系统,少了质量项,假如说需要设计期望响应的时候你打算怎么设计呢?总的来说,你提出的控制思路相对于书上的思想并没有任何改善,反而恶化。

你的第二个问题我就不回答了,第一是因为书有点老旧,当年的简单算法现在工业厂商应该用的不多了。第二是你看懂上面解答再去仔细看看第二个问题,会觉得很简单。

这本书(【机器人学导论】)的确老了一些,但是算是一本经典,有必要沉下心来去试着理解当年作者的思想,动手推推公式。