Skip to main content

路径精度的公差

可以为轴组设置路径精度的公差。如果动态坐标系发生意外移动,这些公差可使轴组赶上该坐标系,而不是因错误而停止 SMC_AXIS_GROUP_MAX_AXIS_LAG_EXCEEDEDSMC_AXIS_GROUP_MAX_POSITION_LAG_EXCEEDED, 或者 SMC_AXIS_GROUP_MAX_ORIENTATION_LAG_EXCEEDED

概述

为什么路径精度需要公差?理想情况下,轴组应完全遵循路径。但是,如果使用动态坐标系(例如,皮带或旋转工作台上的对象,或由另一个轴组指定的坐标系),则在某些情况下无法遵循路径。

示例:机器人应将零件放置在传送带上。传送带以恒定速度移动,但就在机器人到达放置零件的位置之前,传送带意外加速。在这种情况下,放置零件的轨迹已经计算出来,但假设传送带继续以恒定速度移动。因此,剩余的运动现在可能会导致违反机器人轴之一的最大加速度。

在这种情况下,公差很重要。它们允许轴组在指定限制内偏离路径并再次追上坐标系。

路径精度由滤波器控制。过滤器接收计划轨迹(q_ref)和最后计算的目标位置(q_set)作为输入。过滤器的输出是目标位置(q_set),它们被传输到驱动器。如果 q_ref 违反轴限制之一,则过滤器离开路径并在不违反轴限制的情况下尽可能接近地遵循计划轨迹。只要之间存在滞后 q_setq_ref 在容差范围内,不会输出任何错误。

_sm_img_path_tolerances.png

路径精度的公差由几个值组成:

  • TCP 的最大滞后(以技术单位表示)(默认值: 1 u

  • TCP 的最大方向误差(以角度为单位)(默认值: 1 deg

  • 每个轴的最大允许滞后(以轴的技术单位表示)(默认值:无穷大)

对行政职能块的影响

位置、速度、加速度和加加速度的值由 SMC_GroupReadSetPosition, SMC_GroupReadSetVelocity, SMC_GroupReadSetAcceleration, 和 SMC_GroupReadSetJerk 功能块根据规划轨迹计算(q_ref)。因此,它们不包含过滤器的贡献。

另一方面,位置、速度和加加速度的实际值 – 由 MC_GroupReadActualPosition, MC_GroupReadActualVelocity, 和 MC_GroupReadActualAcceleration 功能块 – 根据轴组驱动器的实际位置计算。因此,它们也包含了过滤器的贡献。

返回的路径动态 SMC_GroupReadPathDynamicsSource = MC_SOURCE.SET 基于计划轨迹(q_ref),因此不受滤波器的影响。 (对于其他值 Source 输入,包括滤波器的贡献)

触发器始终参考计划轨迹(q_ref)。返回的时间 MC_GroupReadTrigger 是计划轨迹到达触发点的时间。当过滤器处于活动状态时(q_ref<>q_set),轴组通常不会准确到达触发的位置和/或时间。

注:有动向报告 Done 仅当计划轨迹(q_ref) 已到达运动结束,并且滤波器不再(或不再)处于活动状态(即可能的滞后已被消除)。然后设定位置(q_set) 对应于运动的目标位置。

设置公差并监控路径偏差

公差可以使用设置 SMC_GroupSetPathTolerance 功能块。

过滤器的状态和当前计划轨迹之间的滞后 q_ref 和设定值 q_set 轴组的监控可以通过 InSync, PositionLag, 和 OrientationLag 的输出 MC_GroupReadStatusInSync = TRUE 意思是 q_ref = q_set 并且过滤器未激活。 InSync = FALSE 意思是 q_ref<>q_set 并且过滤器处于活动状态。