温漂补偿方案

本部分介绍在线测量场景中的温漂现象以及在线测量系统温漂补偿方案的组成、工作原理和部署方法。

什么是温漂?

在在线测量场景中,温漂是指设备温度变化引发的测量结果缓慢偏移现象。温漂通常具有“幅度小、持续累积、随环境和设备状态变化”的特点,单次测量不一定明显,但在长时间运行后会表现为结果趋势性漂移。

对在线测量系统而言,温漂主要体现在以下方面:

  • 机器人、相机、工装和现场环境温度变化导致点云与特征拟合结果偏移。

  • 同一特征在不同时间段的结果分布中心发生偏移,重复性指标恶化。

  • 现场出现“初期正常、后期逐步偏离”的质量波动。

在线测量系统温漂补偿方案简介

当产线进入批量运行阶段,温漂会直接影响量产决策质量。温漂补偿方案的目标不是替代工艺能力,而是在既有测量链路中补偿温度相关偏移,维持结果长期稳定性。

该方案重点解决以下问题:

  • 长周期运行后测量均值缓慢偏移,导致误判风险上升。

  • 白班/夜班、季节切换或车间温控波动时,结果一致性下降。

  • 生产节拍稳定但测量结果漂移,排查成本高、定位困难。

thermal drift compensation solution

温漂补偿方案组成和工作原理

温漂补偿方案组成

温漂补偿方案由温漂杆、机器人侧、Mech-Metrics和Mech-MSR四部分构成。

组成部分 定位 核心职责

温漂杆

稳定参考体

作为长期运行中的固定几何参考对象,持续提供温度变化条件下的漂移样本数据。

机器人侧

流程编排与节拍驱动

PLC按照预设时机触发温漂杆标定球测量,机器人程序执行机器人移动和拍照采集数据。

Mech-Metrics

数据承接与补偿效果分析

管理温漂杆工件与特征配置,承接补偿前后数据,提供温漂分析与趋势对比能力。

Mech-MSR

测量执行与补偿计算

执行温漂杆测量工程,完成工程与机器人关联,并输出补偿后的测量结果。

工作原理

温漂补偿方案的运行机制可以概括为“采样、建模、补偿、验证”的闭环:

  1. 机器人程序按预设时机(通常PLC或上位机发送信号)触发温漂杆测量,系统持续获取不同温度条件下的参考样本。

  2. Mech-MSR执行温漂杆测量工程并应用补偿策略,输出补偿后数据。

  3. Mech-Metrics承接补偿前后结果,并在同一分析视图中进行对比。

  4. 通过X/Y/Z/3D与温度趋势联动分析,判断补偿后数据是否收敛、是否抑制长期单向漂移。

工程实践中,温漂补偿关注的是“全时段趋势稳定性”,而非单次点位的偶然改善。

部署温漂补偿方案

建议按照以下流程实施,确保温漂补偿链路完整打通:

deploy-thermal-drift-flow
  1. 安装温漂杆。

  2. 编写机器人程序和示教拍照位姿。

  3. 配置Mech-MSR工程和通信输出。

  4. 为Mech-Metrics增加温漂杆工件并监测温漂补偿。

安装温漂杆

部署温漂补偿方案需要使用梅卡曼德提供的“标定杆”标准产品(以下简称“温漂杆”),该产品包含一个带有6个标定球的杆件组件,以及相关配件和安装工具。

安装温漂杆时请先满足以下刚性要求:

  • 温漂杆安装在机器人一侧,并确保6个标定球的拍照位姿机器人均可达。

  • 调节上下球环位置时,上球环高于工件、下球环低于工件,两个球环高度差保持在450~550mm。

thermal drift rod installation

满足上述条件后,按以下步骤完成安装:

  1. 在工位安装温漂杆并完成机械固定,确保无松动、无位移风险。

  2. 复核6个标定球对应拍照位姿均可达,必要时微调温漂杆位置。

  3. 调整上下球环高度并复测高差,确认稳定落在450~550mm范围。

  4. 完成多次空跑验证,确认机器人、相机与温漂杆无碰撞风险。

编写机器人程序和示教拍照位姿

编写机器人程序

下文是FANUC机器人样例程序,其他品牌机器人请参考样例程序逻辑编写。

   1:  !-------------------------------- ;
   2:  !FUNCTION: MSR_Metrics_Sample1 ;
   3:  !Mech-Mind, 2025-12-24 ;
   4:  !-------------------------------- ;
   5:
   6:  !set current uframe NO. to 0 ;
   7:  UFRAME_NUM=0 ;
   8:  !set current tool NO. to 1 ;
   9:  UTOOL_NUM=1 ;
  10:   ;
  11:  LBL[1] ;
  12:  !Init Socket!Modify IP Address ;
  13:  CALL MSR_INIT_SKT('8','192.168.1.20',50000,5) ;
  14:  !Set Custom Values ;
  15:  CALL MSR_MEAS_PARM(0,0,0,0,0,0,0,0) ;
  16:  !SR:String Register; R:Register ;
  17:  !Set Robot_Id,SR No.1,SR No.2,Qc_Mode,R NO.1,R NO.2;
  18:  !SR No.1:Piece_Name ;
  19:  !SR No.2:Piece_Sn ;
  20:  !R No.1:Continuous Mode, R No.2:MM Status ;
  21:  CALL MSR_ST_MEAS(1,11,12,0,10,95) ;
  22:   ;
  23:  !move to robot home position ;
  24:J P[0] 100% FINE ;
  25:   ;
  26:  !UP-BALL1 ;
  27:J P[1] 100% FINE ;
  28:  WAIT 1.00(sec) ;
  29:  CALL MSR_MEAS_FEAT(1,101,95) ;
  30:J P[2] 100% FINE ;
  31:  WAIT 1.00(sec) ;
  32:  CALL MSR_MEAS_FEAT(1,102,95) ;
  33:J P[3] 100% FINE ;
  34:  WAIT 1.00(sec) ;
  35:  CALL MSR_MEAS_FEAT(1,103,95) ;
  36:J P[4] 100% FINE ;
  37:  WAIT 1.00(sec) ;
  38:  CALL MSR_MEAS_FEAT(1,104,95) ;
  39:  ;
  40:  !UP-BALL2 ;
  …​
  130:  ;
  131: WAIT .50(sec) ;
  132: CALL MSR_END_MEAS(1,10,91,92,93,95) ;
  133:  ;
  134: !Init Socket!Modify IP Address ;
  135:  CALL MSR_INIT_SKT('8','192.168.1.20',50000,5) ;
  136:  !Set Custom Values ;
  137:  CALL MSR_MEAS_PARM(0,0,0,0,0,0,0,0) ;
  138:  !SR:String Register; R:Register ;
  139:  !Set Robot_Id,SR No.1,SR No.2,Qc_Mode,R NO.1,R NO.2;
  140:  !SR No.1:Piece_Name ;
  141:  !SR No.2:Piece_Sn ;
  142:  !R No.1:Continuous Mode, R No.2:MM Status ;
  143:  CALL MSR_ST_MEAS(1,5,6,0,10,95) ;
  144:   ;
  145:  !Feature1 ;
  146:J P[41] 100% FINE ;
  147:  WAIT 1.00(sec) ;
  148:  CALL MSR_MEAS_FEAT(1,101,95) ;
  149:  !Feature2 ;
  …​
  234:  ;
  235: WAIT .50(sec) ;
  236: CALL MSR_END_MEAS(1,10,91,92,93,95) ;
  237:  ;
  238: WAIT .50(sec) ;
  239:J P[71] 100% FINE ;
  240:  JMP LBL[1] ;
  241:  PAUSE ;

下表为上述程序的逻辑解读。

行号范围 逻辑说明

1~10

基础设置。

11

跳转标志(用于循环执行代码)。

12~22

机器人通信设置和开始测量任务(对应Mech-Metrics中的温漂杆工件)。

  • 13:机器人与Mech-MSR建立通信连接,IP地址和端口号需根据实际情况修改。

  • 15和21:指定测量任务的参数和开始测量任务。注意MSR_ST_MEAS的第1位为工件编号,指定的工件编号必须已在配置工件编号界面完成配置;第2位和第3位为字符串寄存器SR序号,对应寄存器内容分别为工件名称和工件SN,且需与Mech-Metrics中的配置一致。示例中11、12均为字符串寄存器SR的序号,SR11里的值为sphere,SR12里的值为SN999。

23~25

移动至机器人Home位。

26~39

拍照采集标定球1的数据。

  • 27:运行至标定球1的第1种拍照位姿。

  • 28:等待1s(待机器人稳定后再拍照)。

  • 29:触发“运行特征测量”指令,MSR_MEAS_FEAT指令的第2位为Mech-Metrics中的特征编号。

  • 30~38:在标定球1的第2至4种位姿拍照采集数据。

40~130

拍照采集标定球2~标定球6的数据。

131~133

结束测量任务。

134~144

机器人通信设置和开始测量任务(对应Mech-Metrics中的生产工件)。

145~234

拍照采集生产工件的待测特征。

235~237

结束测量任务。

238~239

移动机器人至过渡点。

240

跳转标志。与第11行配合使用,实现机器人程序的循环执行。

示教拍照位姿

请示教标定球拍照点位,确保机器人以4种不同位姿对每个标定球进行拍照。温漂杆上下共6个标定球,总计24个拍照点位。

每个标定球的4种拍照位姿之间应保持明显差异,以保证采样方向的多样性;无需与下图所示角度或位姿完全一致。

teaching capturing positions

配置Mech-MSR工程和通信输出

在Mech-MSR侧,需要完成如下任务:

  • 配置温漂杆标定球工程:确保关键特征识别稳定。

  • 为测量工程启用温漂补偿:使用温漂补偿工具将机器人与工程建立关联,并按工程启用补偿。

  • 配置通信输出:在输出管理  通信输出中,设置原始位姿和补偿后位姿的通信键,确保测量结果可正确传递给Mech-Metrics。

配置温漂杆标定球工程

入门教程中的“副车架示例工程”中包含了“训练集6球”工程,用于采集温漂杆标定球数据以及更新温漂补偿模型。

“训练集6球”工程的结构如下:

sphere project structure

该工程的关键步骤说明如下:

  • 结构光3D相机

    示例工程已完成投影参数配置,无需勾选自动计算投影参数。

    structured light 3D camera
  • 使用Python计算结果

    示例工程已配置Python脚本,可根据标定球半径(默认为12.7mm)自动提取球面,无需手动框选ROI或修改相关配置。

    calc results by python
  • 机器人温漂补偿

    在部署时,参照下文设置温漂补偿参数:

    • 当前数据分组:首次运行时设为基准组,用于记录第一轮采集的24个位姿数据。完成首轮采集后,软件自动切换至观测组,后续每轮继续采集相同的24个位姿。计算温漂补偿模型时,系统会比较基准组与观测组中相同拍照位姿的数据。

    • 机器人模型:选择对应的机器人型号。

    • 补偿文件的保存路径:默认设为“robot_compensation_data”文件夹,位于工程文件目录下。

    • 清除当前轮次采集的位姿:默认为勾选状态,开始运行后,软件将自动切换为不勾选。

    • 重新采集所有轮次的位姿:采集“基准组”时勾选。开始运行后,软件自动取消勾选。

    thermal drift compensation 1

    示例工程已配置RESET参数配方。触发该参数配方后,系统将清除当前轮次已采集的位姿,避免一轮采集中断后重新采集造成数据重复或顺序错乱。

    reset parameter recipe

为测量工程启用温漂补偿

  1. 在Mech-MSR菜单栏选择进入工具箱  温漂补偿工具。温漂补偿工具对话框将弹出。

  2. 选择机器人数量,选择各机器人的补偿文件路径,配置各测量工程对应的机器人并启用补偿。

    enable thermal drift compensation

配置通信输出

Mech-MSR通过输出管理  通信输出中配置的通信键,将原始位姿和补偿后位姿分别传递给Mech-Metrics。示例工程已完成通信输出配置,无需修改,具体配置如下。

特征 通信键

特征位姿变换步骤输出的变换后特征

original_pose_in_robot

机器人温漂补偿步骤输出的补偿后位姿

feature

configure communication output

关于不同输出场景下的通信键设置规则,请参阅如何设置通信键。

在Mech-Metrics中增加温漂杆工件并监测温漂补偿

导入温漂杆工件

入门教程中的“副车架示例工程”中包含温漂杆工件(sphere.mtpart),你可以导入到Mech-Metrics中使用。

  1. 打开Mech-Metrics,在菜单栏中选择文件  导入工件。

  2. 在弹出的对话框中,选择副车架示例工程中的sphere.mtpart文件,然后单击打开按钮。

  3. 在导入工件对话框中,单击确定按钮。

  4. 在资源树中选中工件,然后在属性编辑区确认工件类别设置为温漂杆,修改方案路径为真实的Mech-MSR方案路径。

资源树的特征节点下包含24个特征,分别对应6个标定球的4种拍照位姿。每个特征均已绑定同一个Mech-MSR标定球工程,无需修改。

在导入的温漂杆工件中,UP1-1已配置RESET参数配方。因此,应确保该特征对应第一个标定球的第一个拍照位姿,并在机器人程序中首先触发该特征,以清除当前轮次已采集的位姿。

监测温漂补偿

  1. 在Mech-Metrics软件配置界面分析和补偿选项卡下,单击温漂分析。

  2. 在左侧的筛选设置区域,根据需要设置筛选条件,然后在右侧查看温漂补偿效果。

    通常只需查看温漂杆工件的补偿效果。对于温漂杆,工具显示两条曲线:“补偿前温漂值”、“补偿后温漂值”。

    对于生产工件,只显示一条曲线“补偿前后差值”,即补偿值。

    为什么生产工件绘制的图和温漂杆不一样?

    对于生产工件,流水线每次测量的对象都不同,无法像固定温漂杆那样直接对比补偿前后。

    不同工件本身存在个体差异,测量值天然会波动。

    若仍绘制补偿前后绝对值曲线,会混入工件差异带来的变化,难以直接判断补偿效果。

该页面是否有帮助?

可以通过以下方式反馈意见:

我们重视您的隐私

我们使用 cookie 为您在我们的网站上提供最佳体验。继续使用该网站即表示您同意使用 cookie。如果您拒绝,将使用一个单独的 cookie 来确保您在访问本网站时不会被跟踪或记住。