Compare
Close
Skip to content
Press Release

Aerotech软件多轴坐标的非线性关系或运动学编程

作者:Bruce Wu

许多应用需要辅助运动设备与主机轴坐标之间的自定义一个坐标关系,类似于在虚拟坐标系和真实运动坐标系之间进行的运动学转换。Aerotech的AXISSTATUSFAS控制器的一条基本指令,它可以实现与主机轴坐标的同步关系和转换。

  1. 应用实例分析

       X轴和Y轴一个球面上移动,Z轴运动垂直于球面,这是对自定义坐标关系的一个简单例子,它很好地介绍了自定义可编程关系在协调运动系统中的实用性。

图1所示,3D打印的天线阵列被放置在一个半球上,通过对已知的X、Y、Z轴位置的关系编程,可以简化与X、Y、Z轴位置协调保持刀尖相对于表面位置的控制。使用Aerotech的CADFusion 2D图形运动开发工具,在X和Y坐标下编写所需的投影2D剖面,Z轴将隐式地遵循已知的XY坐标系。使用A3200编程指令AXISSTATUSFAST和TrajectoryDelayFilter等指令和参数来实现这种自定义坐标关系。

图1,部分半球面天线阵的3D打印。

 

  1. 创建Z轴与X、Y轴轨迹的函数

       图2描绘了一个半球的侧面投影,已知的零点位置已经建立在顶点。对于X、Y平面上的任意一点,可以根据半球的公称半径建立一个确定的Z轴位置。知道径向距离半球的X和Y轴位置,可以画一个三角形,三条边长度分别为R,K,√(Xpos2 + Ypos2)。通过勾股定理得到方程1。

K = √(R2 – (Xpos2 + Ypos2)) ——方程1

图2, 从图1中打印出来的半球形工件的侧面投影。

 

在半球的顶端已经确定了零点位置,其半径是已知的,可以得出Z轴的位置命令生成取自X轴和Y轴位置命令的函数。

从图2可以得出方程2和方程3

Zpos = R – K ——方程2

Zpos = R – √(R2 – (Xpos2 + Ypos2)) ——方程3

根据这个关系函数对Z轴轨迹进行编程,实现与X、Y轴的同步运动控制。

 

  1. A3200 编程

      主要指令和参数包括AXISSTATUSFAST,CRITICAL START/END,TrajecotryDelayFilter

  • AXISSTATUSFAST命令(A3200 6.0x以上版本)

 Z轴轨迹依赖于X和Y轨迹,使用AXISSTATUSFAST命令以运动速度读取X和Y位置命令。A3200系统参数MotionUpdateRate用于设置轴的轨迹频率,伺服控制的一般为8KHz。在示例中,假设所有轴的MotionUpdateRate设置为8KHz。

AXISSTATUSFAST命令的读取指定参数时可定义不同的频率。读取X轴和Y轴轨迹命令(PositioncommandRawUnfilter),使用这个未经过滤的原始信号,可避免在计算Z轴轨迹命令时产生不可调和的滤波延迟。这允许Z轴通过轨迹延迟与X轴和Y轴适当地重新同步。如果使用过滤后的命令信号,则无法实现精确的同步。

  • CRITCAL START/END命令

CRITICAL START命令以1KHz的频率执行涵盖的代码,所有内容都包含在一个CRITICAL START和CRITICAL END命令块中。实现1KHz的任务执行中捕获8KHz的X和Y轨迹,每次执行关键代码时都必须捕获8个数据点并将其填充到一个数组中。AXISSTATUSFAST命令每次执行捕获的数据点的数量由命令行中的最后一个参数定义。现在X和Y的轨迹点在一个数组中,它们可以用来计算这个周期的8个轨迹点的Z轴位置。指令的参数说明可参考A3200帮助。

计算Z轴轨迹用FOR循环,将读取的每个X/Y命令位置,根据公式3计算的Z轴命令位置,将计算出的命令值给到PT(位置和时间)命令行,Z轴的计算位置的指定时间间隔1/8毫秒,对应八次FOR循环将运行在1毫秒长关键代码部分。这与8 KHz的X轴和Y轴的轨道速率相匹配。在计算并命令完所有8个Z轴位置后,收集下8个X、Y轨迹点,并重复此过程。

  • 命令轨迹的同步

       两个坐标系统分别在A3200的不同任务下执行,各种因素会导致两个坐标的命令轨迹之间产生一定的延时,下面介绍如何修正Z轴与X/Y坐标的轨迹命令同步。Z轴是对发送到X轴和Y轴的命令作出反应的,与X轴和Y轴相比,Z轴的执行轨迹生成时存在延时。CRITCIAL代码段的执行需要1毫秒,读取X和Y轨迹会有额外的延迟。为了补偿在Z轴上的延迟,对X轴和Y轴的TrajecotryDelayFilter设置一个值(Axis >Motion>Filters-TrajectoryDelayFilter),相当于X和Y命令轨迹生成时加了与Z轴的同样的启动延迟,从而保证轴之间的同步控制。

TrajectoryDelayFilter值的大小与系统参数和驱动轴的硬件,在示例程序中定义了3ms的延时。在实际中可以使用Digital Scope工具来测量这个值,图3所示测量X,Y和Z轴命令轨迹存在的延时。图4为修正后的三个轴命令轨迹,可以看出通过添加对已经坐标的命令轨迹的延时,可以精确的实现两个坐标系的命令同步。

图3,A3200 Digital Scope测量Z轴位置命令与X、Y轴位置命令之间的延时

 

图4,A3200 Digital Scope 修正后的命令指令

 

图5,Z轴轨迹生成代码

 

  1. 结论

       通过Z轴跟踪球面的例子,Aerotech A3200为用户提供了非常强大的非线性自定义运动学编程功能,可以实现多轴复杂坐标关系或运动学等应用。此外, 这个功能也应用于目标轴的速度或加速度命令。AXISSTATUSFAST命令为用户提供了多功能性,用户可以在真实轴和/或虚拟轴之间指定任何自定义的运动学关系,而命令轨迹延时参数允许运动执行保持同步。

与世界级运动控制领导者为伍,使您精密控制、自动化方面的挑战变成成功的经历。