请有人可以向我解释位置控制,速度控制和转矩控制之间的区别吗?具体来说,我是在考虑机械臂。我知道位置控制会尝试控制执行器的位置,以使错误信号是当前位置与所需位置之间的差。然后,速度控制试图控制每个执行器的速度,而转矩控制则试图控制每个执行器的转矩。

但是,我不明白为什么这些不是一回事。如果要将机器人手臂发送到某个位置,则可以使用位置控制。但是为了将执行器移动到某个位置,您需要给它一个速度。为了给它一个速度,您需要给它一个扭矩。因此,无论是位置误差,速度误差还是扭矩误差,似乎总是会回到扭矩误差上。我想念什么?

#1 楼

转矩类似于旋转系统的力,因为:

$$
F = ma \\
\ tau = I \ alpha \\

其中$ \ alpha $是角加速度,$ I $是惯性矩。 $ m $和$ a $分别是质量加速度和线性加速度。

因此,从某种意义上说,位置控制器,速度控制器和加速度(转矩)控制器都是彼此不同的实现,因为它们每个都是下一个积分-位置是积分速度,而速度是加速度的积分。

这些区别在于您应用控制器的方式。通常,这取决于您感兴趣的内容。例如,是否要像在伺服电机中一样控制位置?您是否要像在医院电梯中一样调节加速度?

通常,您会遇到一些要满足的规范。然后,根据您的规范,您可以使用典型的PID准则为该特定方面构建控制器。也就是说,如果您在特定的“级别”上工作:位置,速度或加速度,则可以针对特定的上升时间,超调和阻尼进行设计。

不同之处在于您要设计加速度超调或位置超调。

通常,我会说控制器的输出取决于电动机电压,因此尽管控制器的输出始终相同(电动机电压),但输入和增益却有所不同,希望实现不同的操作参数集。

最后我要指出,电动机控制器的输出是端电压,因为这就是调制电动机电流的方式。电动机电流又通过电动机转矩常数产生转矩。

因此,最终,每个控制器都会调节电动机转矩,但最终目标却有所不同-控制电动机的加速度,速度或位置。同样,您要控制的内容取决于应用程序,并且会影响您选择的收益。

评论


$ \ begingroup $
非常感谢您的回答。我想我的困惑来自于理解为什么您除了位置控制之外还会使用其他任何东西。例如,使用机械臂,您所要做的就是将其从一个位置移到另一个位置。您为什么要关心关节的实际扭矩?为什么不仅仅弄清楚需要设置所有关节的位置,然后在反馈回路中使用位置误差?
$ \ endgroup $
–卡纳瓦龙
16年6月9日在21:46

$ \ begingroup $
正如我在回答中所说,@ Karnivaurus的二阶效应众所周知很难控制。如果需要扭矩控制,可能是因为您想将扭矩控制为一阶效果。您不希望您的机器人开始放东西,因为有人认为它应该能够更快地运行。
$ \ endgroup $
– Mark Booth♦
16年6月10日在12:07

$ \ begingroup $
@MarkBooth很好地说明了机器人手的扭矩控制。通常,这些应用称为“顺应性致动器”-位置或速度控制器可能会成为扭矩控制器的工作点。还要注意,并非每个需要控制器的应用程序都是机械臂。
$ \ endgroup $
–卡盘
16 Jun 10'在12:28



$ \ begingroup $
@Karnivaurus-在我的工作(工业驱动器)中,我们非常关心精确控制电动机速度-这是在位置和转矩(加速度)控制器之间。如果金属轧机中的前驱速度太慢,那么就会出现“卵石”现象-金属积聚在原本不应该存在的地方,这通常是人们站着的地方。在造纸厂中太快了,它会弄碎纸张。
$ \ endgroup $
–卡盘
16 Jun 10'在12:31



#2 楼

我要对Chuck采取稍有不同的策略。

什么是扭矩控制?

对我来说,扭矩控制就是要以明确定义的扭矩进行移动,而不是仅仅考虑扭矩,直到位置或速度控制结束。

通常,当您移动机器人时,您可以指定位置和速度,并允许机器人使用最大扭矩。 ,这是实现这两个目标所必需的。

指定带有“扭矩”组件的移动时,是说您要对该移动使用特定的扭矩。举个例子最容易说明。

例子:捡鸡蛋

假设您希望机器人抓鸡蛋。鸡蛋是一个大小可变的脆弱球体。

没有扭矩控制

理想情况下,您必须知道鸡蛋的方向和沿鸡蛋的精确尺寸。握轴。然后,您必须关闭夹持器,使其略小于夹持轴的尺寸,并依靠所需位置与实际位置之间的误差来施加正确的力以牢固地夹持鸡蛋。

指令效果非常脆弱,一旦电机开始老化并提供较小的扭矩,可能会导致鸡蛋掉落,或者通过调整PID参数(例如)提高位置或速度精度来开始压碎鸡蛋。

由于鸡蛋不是均匀的,因此如果无法测量每个鸡蛋的握持轴尺寸,则需要确定一个妥协的握持位置。

过大或过小的鸡蛋都会被力破坏。施加太大和较小的鸡蛋将不会紧紧抓住。如果最小和最大的鸡蛋之间有足够的变化,则可能没有妥协的位置,不会压碎或掉落一些鸡蛋。

通过扭矩控制

使用扭矩控制,您将获得更精细,更可预测的控制。您通常将扭矩指定为一阶效果并直接对其进行控制。

通常,首先将不具有“扭矩控制”功能的抓爪移动到刚好大于最大鸡蛋的位置,然后使用“扭矩”移动抓爪控制到刚好小于最小的鸡蛋。一旦达到扭矩极限,电动机就会停止运动,并且鸡蛋将被精确地抓住所需的力。

为什么不一直使用扭矩控制?

通常,您仅在绝对需要时才使用转矩控制,因为直接转矩控制意味着放弃对位置和速度的控制。

您可以通过将转矩限制应用于目标位置来接近直接转矩控制。标准位置/速度运动,但必须小心,因为扭矩极限必须高于实现这些运动所需的最小扭矩。

施加太低的扭矩极限很容易导致跟随错误(实际位置落在所需位置之后,导致控制不善),甚至可能阻止机器人移动到目的地位置(如果扭矩极限低于静摩擦,摩擦力或重力引起的移动扭矩)仅列举一些可能的因素)。

并发症

在某些情况下,您需要施加比系统静力小的力。因为静摩擦会阻止施加所需的力,所以实际上不会施加力。例如,某些直接驱动电机可能就是这种情况。在这种情况下,您的扭矩控制系统可能需要能够短暂施加更大的力以克服静摩擦,然后迅速恢复到所需的扭矩,从而不会施加过多的力。

结论

转矩控制对于某些应用程序是一项重要技术,这是我们的身体理所当然的事情,但是必须明确配置机器人系统。

#3 楼

我认为Mark Booth的回答是最好的。讨论了模式之间的应用差异,而没有涉及理论或不损害原始问题。

如果我可以进一步扩展以提供更多的说明,请:

每种模式使用命令的方法作为其主要的控制形式,并且仅通过限制的方式可以控制其他参数。

如上文所述,可以在转矩和转矩上使用带有限制的位置移动。速度....控制器将尽最大努力在所提供的限制范围内到达该位置,但不努力满足速度或扭矩限制所指定的任何要求。因此,即使您的限制设置为40in / sec,也可以以10in / sec的速度到达命令位置。

基本上,无论您以哪种方式命令,此举都会首先尝试满足该条件,而忽略其他两个条件(除了限制)。

如果速度是您需要控制的最重要的东西,例如传送带...然后使用“速度模式”。如果扭矩很重要,例如不撕裂纤网或使物体过度张紧,则使用扭矩模式。

我认为在速度模式和位置​​模式之间令人困惑。可以说,您可以使用POSITION MOVES(位置移动)来控制传送带,并简单地设置移动命令可以使用的速度限制。最终,在加快速度之后,传送带将以“位置移动”中指定的速度移动。但是,如果您需要稍微调整速度,则POSITION MOVE会使此操作变得困难。现在,您必须找到一个新位置来移动或增加或减小“最大速度”的限制。如果您仅使用VELOCITY控制,这会容易得多,因为传送带的位置本质上是循环且无限的。您可以简单地调高或调低速度命令的速度,而不必担心传送带的位置。也就是说,速度很重要,但位置并不重要。

在上面的“蛋机器人”示例中,您的转矩控制关心的是将转矩保持在特定值,但并不关心位置在哪里

它对我来说也很混乱,但是当您指定一个应用程序时,只需考虑一下对您最重要的事情,并使用作为您的控制方法。他们基本上都会做同样的事情,但是对于大多数人来说,这只是一个“优先顺序”。