3

我正在从事一个机器人项目,其中涉及控制大型机械臂的位置。建议是使用双 PID 循环,我想知道这涉及到什么。

正如向我描述的那样,第一个 PID 回路应该处理手臂的速度(因为它预计很重且很长,因此“更难”控制),然后是第二个控制手臂的位置和进给将其值放入第一个 PID。

我之前使用过 PID,按照维基百科上提供的表格来校准循环。(又名:不要假设我将能够使用复杂的方法来校准环路)

所以我正在寻找一些好的资源来帮助如何校准循环,以及一些关于如何使它工作的信息(伪代码),如果这甚至是一个好主意。

4

2 回答 2

3

大多数机器人手臂都有一个用于控制电机扭矩的低电平电流回路,另一个用于控制速度的低电平电压回路,以及一个用于控制电机位置的更高电平的位置回路。您希望尽可能建立一个前馈系统来解释重力和摩擦等已知影响。您希望低级别循环尽可能快地运行。更高级别的位置循环可能会稍微慢一些。例如,低电平回路可能以 5Khz(每 0.0002 秒)运行,位置回路以 250 Hz(0.004 秒)运行。

于 2011-02-14T13:25:04.167 回答
1
  1. 模拟你的循环。我不能强调这一点(特别是如果您将采用手动调整方法)。如果您可以访问它,Simulink 就是您的最佳选择。如果没有,还有其他方法可以模拟手臂。

  2. 如果您确定两个循环是最好的方法(我不相信),那么首先将问题分解为两个不同的控制循环并独立解决它们。例如,首先开发一个速度环,以实现并保持具有可接受控制性能的速度目标。然后,开发一个位移循环,以使用少量固定的离散速度来实现和保持位置。

  3. 一旦这两个问题得到您满意的解决,您就可以使用位移环来设置速度环的目标。这就是模拟变得至关重要的地方:控制系统将是非线性的(但在应用恒定系数 PID 时,您实际上是在假设合理的线性度量)。您正在通过使用位移环为您的速度环设置可变目标来复合非线性。时机很关键:在设定新的速度目标之前,位移环必须给速度环一些时间来实现目标。

  4. 调整将是一个挑战。我通过完全避免调整解决了一个复杂的 PID 问题。相反,我使用模拟退火算法来发现最佳 PID 系数。请注意,这种方法假设了两件事:a) 可以可靠地模拟问题,以及 b) 存在客观的性能标准。

于 2011-02-12T02:00:10.340 回答