首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >双pid回路

双pid回路
EN

Stack Overflow用户
提问于 2011-02-12 09:19:07
回答 2查看 2.2K关注 0票数 3

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

正如我所说的,第一个PID回路应该处理手臂的速度(因为它预计会很重和长,因此“更难”控制),然后第二个回路控制手臂的位置,并将其值输入第一个PID。

我以前使用过PID,遵循wikipedia上提供的表格来校准循环。(也就是:不要认为我能够使用复杂的方法来校准循环)

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-14 21:25:04

大多数机械臂都有一个用于控制电机转矩的低电平电流回路,另一个用于控制速度的低电平电压回路,以及一个用于控制电机位置的较高电平位置回路。在可能的情况下,您希望设置一个前馈系统来考虑已知的影响,如重力和摩擦力。您希望低级循环尽可能快地运行。较高级别的位置循环可能会稍微慢一些。例如,低电平环路可以以5 5Khz (每0.0002秒)运行,位置环路以250 Hz (0.004秒)运行。

票数 3
EN

Stack Overflow用户

发布于 2011-02-12 10:00:10

  1. 模拟您的循环。我再怎么强调这一点也不为过(特别是如果您要使用手动调优方法的话)。如果您可以访问它,那么Simulink就是最佳选择。
  2. 如果你确定两个循环是最好的方法(我不相信),那么首先把问题分解成两个不同的控制循环,然后独立解决它们。例如,首先开发一个速度回路,以实现并保持具有可接受控制性能的速度目标。然后,开发一个位移回路,使用一些固定的、离散的速度来实现和保持一个位置。
  3. 在您满意地解决了这两个问题后,您可以使用置换循环来设置速度循环的目标。这就是仿真变得至关重要的地方:控制系统将是非线性的(但在应用恒定系数PID时,您有效地假设了合理的线性度量)。通过使用位移循环为速度循环设置可变目标,可以使这种非线性更加复杂。定时是至关重要的:在设定新的速度目标之前,位移环必须给速度环一些时间来实现目标。
  4. 调整将是一个挑战。通过避免整定,我解决了一个复杂的PID问题。相反,我使用了一种模拟退火算法来发现最佳的PID系数。请注意,这种方法假设了两件事: a)问题可以可靠地模拟,b)客观性能标准的存在。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4975674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档