机器人动力学控制

动力学模型研究—Robotics, Vision& Control


1.计算运动学的高效方式是采用牛顿欧拉迭代算法。

2.重力项是动力学模型中产生力矩最主要的项。

3.惯性项应包括电机的惯性,电机的惯性矩阵是对角矩阵。

4.摩擦产生的力矩是动力学模型中仅此于重力项的因素。前三关节克服摩擦产生的力矩约为电机输出力矩的10~50%。

5.电机粘性摩擦系数一般可以从电机供应商的技术清单获得,而库伦摩擦一般并不提供。

6.计算效率:

牛顿欧拉法:

朗格朗而法:

对于6轴机械臂来说,牛顿欧拉法的计算效率是拉格朗日法的100倍。

 

机器人的关节控制

1.  常用的关节控制方式是采用位置环和速度环的串级控制。一般位置环采用P控制,速度环采用PI控制。

 

2.  关节控制的扰动包括重力矩,速度和加速度相关的耦合项的力矩,摩擦力矩,扰动影响很大,所以很难获得非常好的控制效果。

 

3.  如果希望提高控制效果,可以采取几种措施。1.第一种最简单的是增加控制比例增益,这样可以减小跟随误差,但是容易使系统不稳定。2.第二种就是增加积分环节。因为原有的速度环是0型系统,所以必然存在有稳态误差,加入积分可以消除跟随误差。由于电机的速度和力矩限制,存在一种情况,电机到了转矩的极限值,跟随误差持续增大。当到达最终的目标后,很大的累计误差会导致很大的超调。针对这种情况,可以通过限制最大积分值。或者再接近目标点时再启用积分作用。第三种方法就是采用力前馈控制。即使重力的计算不是非常精确,但是通过前馈也能大大的减少了扰动。一般轨迹发生器会计算期望位置和期望速度。我们就可以将计算出的期望速度作为速度环的控制输入,这就是速度前馈控制。

4.  在进行仿真分析时采用阶跃信号是一种很常见的方式,但是对于实际运用来说电机一般不会接收到阶跃信号。

5.  采用减速机构,相对于直驱电机,减小了1/G的扰动重力矩,减小了1/G^2的惯性和摩擦力矩。

6.  前馈和反馈的作用分别是,前馈提供了可以提前计算的信号,如速度和重力矩。反馈控制补偿惯性力矩和负载变化,摩擦,以及耦合项力矩等扰动。当使用了前馈之后,反馈的控制增益会减小,因为相当大的一部分输入信息都已经通过前馈给出。

 

机器人多轴的动力学控制

1.  通常有两种基于动力学模型的控制策略:前馈控制和CTC(计算力矩法)控制。


前馈控制:


前馈控制项提供关节为达到期望的机器人状态(q,qd,qdd)下所需的力,前馈控制可以对高度非线性的机器人动力学模型进行线性化,从而动力学的跟随误差模型是:

反馈控制项补偿了机器人模型参数的不确定性,模型的不完整性和外部负载扰动等。

因为机器人结构变化缓慢,所以机器人的前馈力矩可以在比反馈控制更新频率低的情况下下计算。

机器人动力学控制_第1张图片

前馈控制(灰色部分表示电机的电流环?)

CTC:

原理是非线性的动力学系统可以通过逆动力学串级控制从而使整个系统变成线性系统,具备相同的增益。

CTC要求在每个伺服控制周期都需要实时解算逆动力,因为机器人结构变化相对较慢,其中的M,C,G几项可以在一个较低更新频率下计算。理想情况,他的误差模型应该是:

机器人动力学控制_第2张图片

CTC控制算法(灰色部分表示电机的电流环?)

 

CTC的关节跟随误差

和前馈力矩控制不一样的是,关节误差是非耦合不想关的,他们的关节控制是独立的。

在这个误差模型中,会存在不同轴之间的耦合,所以右侧可能不是为0的力函数。

根据我的理解,两者的另一个区别是,前馈控制的力矩只要给定了轨迹可以离线计算好,而CTC的力矩必须知道当前的关节角度和角速度才能计算获得。所以对系统的性能和实时性的要求更高。但是CTC的控制效果会比前馈控制更好,上图就是CTC控制关节更随误差,可以看到非常小。

你可能感兴趣的:(机器人,动力学,力控制)