我试图用力输入来控制机械臂。力传感器的输出经过滤波,然后通过PID控制器馈送,以命令末端执行器速度。但是,机械臂对于最大加速度和加速度都具有严格的限制。因此,在发送速度命令之前,我尝试限制PID之后的加加速度和加速度,但感觉不对。下一次迭代中的PID控制器获得的值与上一次迭代中计算出的值完全不同,并且限制器“处于控制状态”。

有什么更好的方法来处理最大加速度和加速度限制吗?

评论

如果可以看到有点混蛋,那不是问题。最大颠簸现象可以在倒立摆问题中找到,该问题完全未被激活且无法控制。唯一应该避免的是,如果混蛋出乎意料。最佳实践方法是在正向仿真中对加速度和加速度率建模。该模型可以预测将发生什么变化,并且可以提前避免这些状态。可以通过神经网络或奇特的方程来预测颠簸。

机器人上的力传感器还是单独的操纵杆?

力传感器源自每个关节上的扭矩

在堆栈交换中,注释并非用于回答@ManuelRodriguez的问题,而是用于帮助改进它们。评论分散了人们的注意力,因此我们尝试将其降至最低。应该将它们视为临时的,任何不再有效地改善问题或答案的评论都可以随时删除以整理帖子。

欢迎来到机器人技术学院(Ove Baardsgaard)。在堆栈交换中,最好编辑问题以添加注释中请求的信息,而不是添加更多注释。如果其中包含回答问题所需的所有信息,则可以整理(删除)评论。

#1 楼

通常来说,PID控制器可以设计成仅考虑命令变量中出现的约束条件(在这种情况下为最终执行器速度),通过所谓的反饱和机制,只要有这些约束条件,就负责分离积分到达。这样,PID会以某种方式被告知某些“不良”事件正在发生,因此可以采取对策。

-就我所知-没有等效的机制来处理先发制人的限速器和上面提到的用于反饱和的方法完全相同的二阶和二阶方法,其中PID知道发生了什么。

在您的方案中,PID不知道存在级联速率限制器和根据工厂反馈做出反应,其中“现在”应被视为您要控制的实际过程以及速率限制器本身的集合。后面这些元素使整个过程变得高度非线性,因此,被调整为在线性范围内工作的PID会开始陷入困境。

为避免这种情况,您可以考虑以下想法:


通过使PID失谐,尝试完全避免非线性区域。当然,您仍然需要保证某些给定的性能,因此该解决方案通常不可行。
进行输入整形可向控制器馈入参考信号,该参考信号在设计上不会引起太多的振动,并且其频率成分如此满足加速限制。
进行增益调度和调整PID控制器系列以在不同的工作点工作。
放弃固有的线性控制方法,切换到模型预测控制等更复杂的技术,该技术利用优化来解决操纵约束,以至于植物的其他特性。