跳到内容
3D计量系统,航空航天与国防,应用笔记,定制工程运动系统,六足,集成自动化系统,激光扫描头,激光系统,医疗设备制造,运动控制平台,光学与光子学,精密制造,科研机构,舞台与驱动器,测试与检测新万博英超h
应用注释

使用AXISSTATUSFAST定制关系和协调运动

许多应用程序需要在系统参数或辅助运动设备和主要机械机构的运动之间定制协调关系。同样,需要在虚拟编程坐标系和真实力学坐标系之间进行自定义运动学转换也是很常见的。Aerotech的AXISSTATUSFAST命令是使用aeroasic编程语言对这些关系和转换进行编程的理想工具。下面的示例将展示如何实现这一点。

例关系发展

垂直的Z轴沿着一个定义的球面的高度,X轴和Y轴被独立编程来移动该曲面,这是自定义可编程关系的一个简单例子。这个例子来自一个真实的应用程序,很好地介绍了协调运动系统中定制可编程关系的实用性。

图1示出了沉积在部分半球上的3D印刷天线阵列。通过将X,Y和Z轴位置的已知的球面关系编程到运动控制器中,大大简化了将刀尖相对于与X和Y运动的表面保持相对于表面的位置的能力。新万博英超h然后,用户可以简单地使用Aerotech的CADFUSUCE 2D图形运动开发工具在X和Y坐标中编程所需的投影2D配置文件,并且轮廓将正确地重新投影到所需的半球上,因为Z轴暗示遵循编程的球面关系。使用两个A3200编程功能轻松编程此自定义关系:AxisStatusFast命令和TrajoRateDelayFilter参数。这两个功能为用户提供了广泛的能力,以便在系统变量和轴运动之间编程自定义协调关系,并且它们很简单地使用。

图1所示。部分半球面上天线阵列的3D打印。照片由哈佛大学Jennifer A. Lewis教授提供。

对于这个简单的半球示例,首先让我们定义要编程到z轴轨迹生成的关系。图2描绘了半球的侧面突起,其中已经在顶点建立了已知的零位置。对于x,y平面中的任何点,可以基于半球的标称半径来建立定义的z轴位置。从半球的轴通过x和y位置命令知道径向距离,可以绘制双腿r,k和ψ(xpos2 + ypos2)的三角形。通过毕达哥拉斯的定理我们得到公式1。

K =√(R2 - (Xpos2 + Ypos2)) (Eq。1)

图2。如图1所示的要3D打印的半球伪影的侧面投影。在半球的顶端建立一个零点位置,它的半径在名义上是已知的。这允许将z轴的位置命令隐式地生成为x轴和y轴位置命令的函数。

此外,从图2中可以清楚地看出,方程2也是正确的。

Zpos =实际(Eq。2)

结合这两个,我们最终的关系被编程成Z轴轨迹作为X和Y位置命令的函数(方程3)。

Zpos = R -√(R2 - (Xpos2 + Ypos2)) (Eq。3)

既然Z轴和X、Y轴之间的理想运动关系已经建立,我们可以学习将这种关系编程到Z轴轨迹中,然后学习将它与X、Y轴的运动关系同步。

编程与AXISSTATUSFAST

附录A提供了一个在A3200软件套件中可用的示例aeroasic代码。它显示了按照方程3中建立的X轴和Y轴轨迹关系执行依赖Z轴轨迹生成所需的步骤。因为Z轴轨迹依赖于X和Y轨迹,所以必须使用AXISSTATUSFAST命令以运动更新速率收集X和Y位置命令。系统配置文件中的“MotionUpdateRate”参数设置每个轴的轨迹生成频率。一般来说,伺服阶段的最大运动更新率是8 kHz。在编码示例中,假设所有轴的MotionUpdateRate设置为8khz。

AXISSTATUSFAST命令允许用户按照生成数据项的速率收集不同的数据项。在本例中,我们从X轴和Y轴收集“PositionCommandRawUnfiltered”数据流。必须使用这个原始的、未经滤波的信号,以便在计算的Z轴轨迹中没有不可调和的滤波延迟。这允许Z轴使用轨迹延迟与X轴和Y轴正确地重新同步。如果使用经过过滤的命令信号,则无法实现所有轴之间的同步。

AXISSTATUSFAST命令可以在示例代码的第25行和第26行中看到。特技飞行中的“临界”代码块以1 kHz的速率执行。在示例代码中,所有内容都包含在CRITICAL START和CRITICAL END命令块中。因此,为了在一个1khz的任务执行中捕获全部8khz的X和Y轨迹信号,必须在每次执行CRITICAL代码时捕获8个数据点并将其填充到一个数组中。每次执行AXISSTATUSFAST命令所捕获的数据点数量由命令行中的最后一个参数定义。现在,X和Y轨迹点在一个数组中,它们可以用于计算该周期的8个轨迹点的Z轴位置。要查看AXISSTATUSFAST命令可以收集哪些数据项的完整列表以及实现方向,请分别访问“DATACOLLECT ITEM”命令和“AXISSTATUSFAST”命令A3200帮助文件主题。

为了计算Z轴轨迹,我们建立了一个简单的FOR循环结构来遍历每个XY指令位置,并根据公式3建立的球面关系计算相应的Z轴指令。在FOR循环的结束是一个PT(位置和时间)命令行,Z轴的吩咐计算位置的指定时间间隔1/8毫秒,对应八次FOR循环将运行在1毫秒长关键代码部分。这与X轴和Y轴8 kHz的轨迹速率相匹配。在所有8个Z轴位置被计算和命令后,接下来的8个X和Y轨迹点被收集,只要关系被启用,这个过程就会重复。

当样例代码在后台任务中运行时,在另一个任务中主要的运动被命令到X轴和Y轴。Z轴将始终遵循方程3中定义的球面,无论X和Y被命令去哪里。要解决的最后一个问题是同步。

同步轨迹

用户必须在X轴和Y轴上实现一个轨迹延迟,以同步所有三个轴的运动。因为Z轴是用来响应发送到X和Y轴的命令的,所以与X和Y轴相比,Z轴在其轨道的执行方面天生就落后于X和Y轴。CRITICAL代码段的执行时间为1毫秒,并且从机器控制器收集X和Y轨迹时会有额外的延迟。为了补偿在Z轴上看到的延迟,用户必须进入系统配置文件,并在X轴和Y轴上放入一个TrajectoryDelayFilter,可以在axis >Motion>Filters文件夹部分找到。由于关系式计算,该参数在X和Y轨道执行中增加了与Z轴相同大小的启动延迟。这样坐标轴就完全重新同步了。

所需的TrajectoryDelayFilter值(以毫秒为单位)取决于系统安排和所使用的驱动器。在这种情况下,需要3毫秒的延迟来解释代码执行和与所使用的驱动硬件相关的延迟。对于用户来说,确定正确延迟的最简单方法是在添加TrajectoryDelayFilter之前,在Digital Scope实用工具中测量Z轴命令流相对于X轴和Y轴的相位延迟。图3显示了一个捕获的Digital Scope图,显示在添加弹道延迟之前,Z轴命令流滞后于X轴和Y轴。

使用左右光标线,可以轻松测量所需的3毫秒延迟。然后,通过TraometoryDe​​layFilter参数在x和y命令流中实现了3毫秒延迟之后,示出了相同的运动线。您可以看到所有三个轴上的运动现在与完全相同的轨迹生成周期同步。

图3。A3200 Digital Scope实用程序的屏幕截图显示Z轴命令响应上的相位滞后,这是由于编程的球面关系对X轴和Y轴命令作出反应。

结论

虽然Z轴跟踪球面的Z轴的示例是简单的,但这里使用的概念对用户提供了非常强大的能力,当涉及到非线性自定义运动学编程时对用户提供了非常强大的能力。在大量轴的运动之间的极其复杂的功能关系和运动变换,可以直接以优氧语言编程。轨迹依赖于其他轴和非线性定制运动转换的运动是许多复杂自动化应用中的常见问题。此外,您可以形成不仅仅基于位置的关系。除了位置之外,可以基于另一轴速度命令和/或加速命令的函数来编程从属轴的位置。AxisStatusFast命令为用户提供了多功能性,以规定它们可以在实际和/或虚拟轴之间思考的所有运动关系,而TrajectoryDe​​layFilter参数允许运动执行保持同步。

图4。A3200的Digital Scope实用程序的屏幕截图,显示X、Y和Z轴的命令同步后,一个3毫秒的TrajectoryDelayFilter参数被添加到X和Y轨迹。

附录A

示例AeroBasic代码

将您的精度和自动化挑战转化为过程的成功。