值范围超过 360° 的旋转轴
介绍
机器人通常具有值范围超过 360° 的旋转轴。例如,SCARA 机器人的最后一个轴(定向轴 A3)通常可以旋转不止一圈,从大约 -540° 到 540°。
这意味着可以通过多种方式接近相同的位置和方向。以 SCARA 为例,无论最后一个轴是在 -170° 还是 190° (= -170° + 360°),刀具的方向和位置都是相同的。因此,笛卡尔位置和方向到轴值的转换(运动学逆变换)不是唯一的,而是有几种解决方案。
例如,这可以用于 Pick&Place 应用程序,通过从 170° 移动到 190° 而不是 -170° 来节省时间。
注意:在这些应用中,SCARA 定向轴的运动很快就会成为循环时间的限制因素。
解决歧义
如果在轴坐标系 (ACS) 中指定要移动的点,那么每个轴将在目标点中取什么值就很清楚了。另一方面,在笛卡尔指令(A/B/C 中的 X/Y/Z 位置和方向)中,旋转轴存在这种模糊性。
运动学的配置用于解决这种歧义。对于 SCARA 机器人,配置中已经包含了 SCARA 是否应该以 ElbowRight
或者 ElbowLeft
.此外,SCARA 配置还包括设置 nPeriodA3
,可用于确定应如何解决轴 A3 的歧义。
为此,整个值范围被划分为最大长度为 360° 的周期:
周期 -1 从 -540° 到 -180°
周期 1 从 -180° 到 180°
周期 2 从 180° 到 540°
(对于较大的轴取值范围,相应的可能周期数也较多。)
还有一个特殊的价值。如果 nPeriodA3 := 0
设置,然后激活自动解决歧义。对于 PTP 运动,这意味着选择周期以使轴 4 的起始位置和目标位置之间的距离尽可能小。 (下面描述了 CP 运动的行为。)
因此,可以通过相应地设置运动学配置来控制旋转轴模糊度的分辨率(参见 SMC_SetKinConfiguration
)。支持此功能的运动学实现接口 SMKinematicWithConfigurations3
.
注意
这 SMC_GroupReadSetPosition
, MC_GroupReadActualPosition
, 和 SMC_GroupTargetPosition
功能块始终输出具有激活的周期自动解析的配置。可以通过读取 ACS 中的位置来读出具有明确设置周期的当前配置,然后通过以下方式将其转换为 MCS: SMC_GroupConvertPosition
。返回的配置已明确设置周期。
有关更多信息,请参阅: 运动学配置
CP 运动时的行为
在 CP 运动期间 (MC_MoveLinearAbsolute
/MC_MoveLinearRelative
, MC_MoveCircularAbsolute
/MC_MoveCircularRelative
),旋转轴始终在自动模式下驱动(周期 0)。始终选择轴的周期,以便在轴上没有跳跃。
有可能在 CP 运动结束时,未达到指定的轴值,但由于周期的自动选择,轴将在不同的周期到达。这意味着无法通过所选运动类型到达指定位置。在到达目标位置之前检测到此冲突,轴组停止并发出错误。
示例:您使用带有三个旋转轴 A1、A2 和 A3 的 SCARA 机器人。A3 的数值范围为 -360° 至 +360°。您在轴坐标中示教两个位置。位置 1 = (A1 = 0°, A2 = 90°, A3 = 170°),位置 2 = (A1 = 10°, A2 = 90°, A3 = -170°)。
然后你命令一个线性运动(MC_MoveLinear/MC_MoveAbsolute)
)与方向模式 GreatCircle
。
ACS 中的命令与大圆方向插补的这种组合会产生冲突。为了遵循方向插补,轴 A3 必须从正方向的 170° 移动到 190°。因此,它无法达到所需的目标位置 (-170°)。
注释:在 CP 运动的情况下,旋转轴的周期由所选的插补类型决定。这也意味着轴的目标位置取决于接近目标点的路径。因此,例如,通过混合两个运动,轴到达的周期可能与缓冲运动的情况不同。
有关更多信息,请参阅: CP 运动的方向插值