3. 运动平台基础与联动接口

在3D视觉在线测量系统中,运动平台不是简单的“搬运工”,它决定了相机与工件之间相对位姿的精度、重复性和节拍。要让3D相机在正确的位置、正确的时刻采集到正确的数据,必须理解从电机到导轨、从编码器到运动控制器、再到视觉系统的整条信号链。本节围绕这条链路,讲清楚各部件的作用、接口方式以及触发与同步的实现方法。

一、执行与传动:步进电机与伺服电机的选择

运动平台的动力源主要有两类。步进电机按脉冲数开环定位,控制器发多少脉冲,电机就走多少步,结构简单、成本低,适合负载稳定、速度不高、对丢步不敏感的场景,例如简单的平移扫描轴。它的隐患在于:当加速度过大或负载突变时可能丢步,而开环系统无法自知,位置就悄悄偏了。

伺服电机则带编码器构成闭环,驱动器持续比较指令位置与编码器反馈,自动补偿误差,因此动态响应快、过载能力强、定位精度高。对于需要频繁启停、变速扫描或高精度对位的3D测量平台,伺服是更稳妥的选择。选型时重点看三个参数:额定转矩是否覆盖负载惯量、编码器分辨率是否满足最小位移要求、以及驱动器是否支持位置/速度/转矩三种模式。

传动环节同样关键。导轨提供运动方向约束和承载,滚珠丝杠把旋转转为直线位移,其导程直接决定“一个脉冲走多远”。例如丝杠导程为5 mm,电机步距角1.8°、驱动器16细分,则一个脉冲对应位移为 5 mm ÷ (360/1.8 × 16) = 5 ÷ 3200 ≈ 0.0015625 mm,即约1.56 μm。这个数值就是系统的理论脉冲当量,是后续标定和精度估算的起点。

二、反馈与闭环:编码器的角色

编码器分增量式和绝对式。增量式输出A/B/Z相脉冲,通过计数和辨向得到相对位移,上电需回零;绝对式直接输出唯一位置码,上电即知当前位置,适合断电后不能丢失基准的场合。在联动系统中,编码器还有第二个用途:把平台的实际位置实时送给运动控制器或视觉系统,作为“何时触发拍照”的依据。这种“位置触发”比固定延时触发可靠得多,因为它不受速度波动影响。

三、运动控制器:指令中枢与联动接口

运动控制器负责轨迹规划、插补运算和IO时序管理。它向下通过脉冲/方向信号或总线(如EtherCAT、CANopen)驱动电机,向上通过以太网、串口或数字IO与3D视觉系统交互。联动的核心问题可以归结为三件事:触发、同步、通信。

触发解决“什么时候拍”。常见方式有三种:一是控制器在到达设定位置时输出一个数字脉冲给相机;二是相机接收编码器分频信号,每走固定距离自动触发一次;三是由上位机软件在收到到位信号后发指令。第一种时序确定、延迟小,适合等间距扫描。

同步解决“位置和图像对得上”。如果平台在运动中拍照,必须记录每张图对应的实际位置。做法是把编码器位置锁存值与相机曝光信号一起打时间戳,或让控制器在触发瞬间同时锁存当前位置并上传。这样后续点云拼接时,每帧数据都带着准确的位姿标签。

通信解决“怎么传指令和状态”。硬线IO响应最快但信息量小;以太网TCP/IP灵活但延迟不确定;EtherCAT等实时总线兼顾速度与确定性,适合多轴与视觉共存的系统。工程上常用组合:硬线负责触发,以太网负责参数下发和结果回传。

运动平台与3D视觉联动信号链 运动控制器 轨迹规划 / 插补 IO时序 / 位置锁存 脉冲·总线输出 驱动器 位置/速度/转矩模式 细分 / 增益整定 闭环补偿 电机 + 导轨丝杠 步进 / 伺服 导程决定脉冲当量 承载与方向约束 编码器 增量 A/B/Z 绝对式位置码 位置反馈 / 触发源 位置反馈(闭环) 3D视觉系统 相机 / 投影 / 点云采集 曝光与位置锁存同步 每帧绑定位姿标签 硬线触发脉冲 以太网 / 总线:参数下发·状态回传 触发:到位脉冲或编码器分频 → 决定“何时拍” 同步:触发瞬间锁存位置并打时间戳 → 决定“位置与图像如何对应” 通信:硬线快、总线稳、以太网灵活 三者配合构成完整联动接口

四、触发与同步的工程实现

以一条直线扫描轴配合线激光3D相机为例,假设要求沿X方向每0.2 mm采集一帧,行程300 mm。若采用位置触发,可把编码器信号接入相机的触发输入,设置分频使每0.2 mm输出一个脉冲。这样无论平台加速、匀速还是减速,采样间距都保持一致,点云密度均匀。

若采用控制器触发,则需在运动程序中设定比较点:当轴位置到达0.2、0.4、0.6…mm时,控制器IO翻转一次。此时要注意触发延迟——从比较成立到IO实际翻转、再到相机开始曝光,存在微秒到毫秒级延迟。在高速扫描时,这段延迟会造成位置偏差,可通过“提前量”补偿:在目标位置前Δ处触发,Δ = 速度 × 总延迟。

同步的验证方法很直接:让平台以恒定速度走一段,采集一组图像,检查每帧记录的位置标签是否等间距。若间距忽大忽小,说明触发或锁存环节存在抖动;若整体偏移一个固定值,则是延迟未补偿。这个检查是联动调试中最基本的判据。

建议在首次联调时先用手动低速、单步触发的方式验证“触发—曝光—位置记录”三者对应关系,确认无误后再提高速度并切换为连续位置触发。这样能把机械、电气和软件问题分开定位。

五、接口配置示例

下面是一段典型的运动控制器触发配置片段(示意,参数需按实际设备调整):

// 轴参数
Axis.X.PulseEquivalent = 0.0015625;   // mm/pulse,由导程与细分算出
Axis.X.MaxVelocity    = 100;          // mm/s
Axis.X.Acceleration   = 500;          // mm/s^2

// 位置触发配置
Trigger.Source   = EncoderX;          // 以编码器为触发源
Trigger.Division = 128;               // 每128个脉冲触发一次
// 0.0015625 mm/pulse × 128 ≈ 0.2 mm/帧

// 同步锁存
Latch.Signal     = CameraExposure;    // 曝光信号作为锁存沿
Latch.Register   = PosX;              // 锁存当前位置
Latch.Timestamp  = SystemTime;        // 同时记录时间戳

// 通信
Comm.Uplink      = EthernetTCP;       // 参数下发与点云回传
Comm.TriggerLine = DO0;               // 备用硬线触发输出

配置完成后,应做三项检查:一是脉冲当量与实际位移是否一致,可用千分表或激光干涉仪抽检;二是触发间距是否等于设定值,通过位置标签序列判断;三是通信是否稳定,连续运行一段时间观察有无丢帧或超时。只有这三项都通过,联动接口才算真正可用。

六、常见问题与排查方向

联动系统出问题时,现象往往相似但原因不同。点云出现周期性错位,多半是触发间距不均匀或编码器分频设置错误;点云整体拉伸或压缩,通常是脉冲当量标定不准;图像与位置对不上且偏差随速度变化,基本可判定为触发延迟未补偿。排查时遵循“先静态后动态、先低速后高速、先硬线后总线”的顺序,能较快缩小范围。

理解这条从电机到视觉的信号链,是后续做手眼标定、点云拼接和在线测量的基础。平台走得准、触发发得稳、位置记得清,3D视觉才能拿到可信的数据。