温度ドリフト補正ソリューション
本節では、インライン測定環境における温度ドリフト現象と、インライン測定システム温度ドリフト補正ソリューションの構成、動作原理、および展開方法について説明します。
温度ドリフトとは
インライン測定環境において、温度ドリフトとは機器の温度変化により測定結果が緩やかに変化する現象を指します。温度ドリフトは通常、「変動幅が小さく、継続的に累積し、環境や機器の状態に応じて変化する」という特徴を持ちます。1回の測定では顕著に見えませんが、長時間の稼働を経ると、結果が傾向的なドリフトとして現れます。
インライン測定システムにおいて、温度ドリフトは主に以下の形で現れます。
-
ロボット、カメラ、治具、および現場の環境温度の変化により、点群と特徴のフィッティング結果にずれが生じます。
-
同一特徴の異なる時間帯における結果の分布中心がずれ、繰り返し精度指標が悪化します。
-
現場で「初期は正常、後期は徐々にずれる」という品質のばらつきが見られます。
ソリューションの概要
生産ラインが量産段階に入ると、温度ドリフトは量産における判断の精度に直接影響を及ぼします。温度ドリフト補正ソリューションの目標は、プロセス能力を取って代わることではなく、既存の測定フロー内で温度に起因するずれを補正し、結果の長期的な安定性を維持することです。
このソリューションは、主に以下の課題の解決に重点を置いています。
-
長期間の稼働後に測定平均値が徐々にずれ、誤判定のリスクが高まること。
-
昼勤・夜勤の交代、季節の変わり目、または工場の温度管理変動時に、結果の一致性が低下すること。
-
生産タクトは安定しているが測定結果がドリフトし、原因調査のコストが高く、問題の特定が困難であること。
ソリューションの構成と動作原理
構成
温度ドリフト補正ソリューションは、温度ドリフトロッド、ロボット、Mech-Metrics および Mech-MSR の4つの部分で構成されています。
| 構成要素 | 位置づけ | 主な役割 |
|---|---|---|
温度ドリフトロッド |
安定基準体 |
長期稼働における固定された幾何学的参照対象物として、温度変化条件下でのドリフトサンプルデータを継続的に提供する |
ロボット |
プロセス編成とタクト駆動 |
PLCはあらかじめ設定されたタイミングで温度ドリフトロッドのキャリブレーションボールの測定をトリガーし、ロボットプログラムがロボットの移動と撮影によるデータ収集を実行する |
Mech-Metrics |
データの引き継ぎと補正効果の分析 |
温度ドリフトロッドのワーク設定および特徴設定を管理し、補正前後のデータを引き継ぎ、温度ドリフト分析とトレンド比較機能を提供する |
Mech-MSR |
測定実行と補正計算 |
温度ドリフトロッドの測定プロジェクトを実行し、プロジェクトとロボットの関連付けを完了し、補正後の測定結果を出力する |
動作原理
温度ドリフト補正ソリューションの動作メカニズムは「サンプリング、モデリング、補正、検証」の閉回路として要約できます。
-
ロボットプログラムは、あらかじめ設定されたタイミング(通常はPLCまたは上位システムからの信号)で温度ドリフトロッドの測定トリガーし、システムは異なる温度条件下における基準サンプルを継続的に取得します。
-
Mech-MSR は温度ドリフトロッド測定プロジェクトを実行して補正戦略を適用し、補正後のデータを出力します。
-
Mech-Metrics は補正前後の結果を引き継ぎ、同一の分析ビュー内で比較します。
-
X/Y/Z/3Dと温度トレンドの連動分析により、補正後のデータが収束しているか、および長期的な一方向へのドリフトが抑制されているかを判断します。
プロジェクトの実践において、温度ドリフト補正が重視するのは「全時間帯におけるトレンドの安定性」であり、単一の測定点における偶発的な改善ではありません。
ソリューションの導入
温度ドリフト補正回路を完全に機能させるため、以下の手順に従って実施することを推奨します。
-
温度ドリフトロッドを取り付けます。
-
ロボットプログラムを作成し、撮影位置姿勢をティーチングします。
-
Mech-MSR プロジェクトおよび通信出力を設定します。
-
Mech-Metrics に温度ドリフトロッドのワークを追加し、温度ドリフト補正をモニタリングします。
温度ドリフトロッドの取付
温度ドリフト補正ソリューションを導入するには、Mech-Mind が提供する標準製品「キャリブレーションロッド」(以下は「温度ドリフトロッド」)を使用する必要があります。この製品には、6つのキャリブレーションボールを備えたアセンブリ、および関連する付属品と取り付け工具が含まれています。
温度ドリフトロッドを取り付ける際は、まず以下の必須要件を満たしてください。
-
温度ドリフトロッドをロボット側に設置し、6つのキャリブレーションボールのすべての撮影位置姿勢にロボットが到達できるようにしてください。
-
上下のボールリングの位置を調整する際は、上側のボールリングをワークよりも高く、下側のボールリングをワークよりも低くし、2つのボールリングの高さの差を450〜550mmに維持します。
上記の条件を満たした、以下の手順に従って取付を完了してください。
-
セルに温度ドリフトロッドを取り付けて機械的に固定し、緩みや位置ずれのリスクがないことを確認します。
-
6つのキャリブレーションボールに対応する撮影位置姿勢に到達できることを再確認し、必要に応じて温度ドリフトロッドの位置を微調整します。
-
上下のボールリングの高さを調整して高さの差を再測定し、450〜550mmの範囲内に安定して収まっていることを確認します。
-
複数回のドライラン検証を完了し、ロボット、カメラ、および温度ドリフトロッドの間に衝突リスクがないことを確認します。
ロボットプログラムの作成と撮影位置姿勢のティーチング
ロボットプログラムの作成
以下は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.: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 の温度ドリフトロッドのワークに対応)
|
23~25 |
ロボットの初期位置に移動する |
26~39 |
キャリブレーションボール1のデータを撮影して取得する
|
40~130 |
キャリブレーションボール2~6のデータを撮影して取得する |
131~133 |
測定タスク終了 |
134~144 |
ロボットの通信設定と測定タスクの開始(Mech-Metrics のワークに対応) |
145~234 |
生産ワークの測定対象となる特徴を撮影して取得する |
235~237 |
測定タスク終了 |
238~239 |
ロボットを中間点に移動する |
240 |
ジャンプラベル。11行目と組み合わせて使用し、ロボットプログラムのループ実行を実現する |
Mech-MSR プロジェクトと通信出力の設定
Mech-MSR 側では、以下のタスクを完了する必要があります。
-
温度ドリフトロッドのキャリブレーションボールプロジェクトの設定:重要な特徴の認識が安定していることを確認します。また、出力管理で通信出力の測定項目と通信キーを照合し、Mech-Metrics 側と完全に一致していることを確認します。
-
測定プロジェクトの温度ドリフト補正を有効化:温度ドリフト補正ツールを使用してロボットとプロジェクトを関連付け、プロジェクトごとに補正を有効にします。
-
通信出力の設定:補正後の測定結果が通信出力を介して Mech-Metrics に正しく伝送され、通信キーが Mech-Metrics 側の設定と一致していることを確認します。
キャリブレーションボールプロジェクトの設定
入門ガイドの「サブフレームサンプルプロジェクト」には、温度ドリフトロッドのキャリブレーションボールのデータ収集および温度ドリフト補正モデルの更新に使用される「トレーニングセットのボール6つ」プロジェクトが含まれています。
「トレーニングセットのボール6つ」プロジェクトの構成は以下の通りです。
本プロジェクトの主要な手順の説明は以下の通りです。
-
サーフェスの前処理:
3D ROIを設定し、フィルタータイプが「クロップ(切り取り)」であることを確認し、特徴領域を使用にチェックを入れます。
温度ドリフトロッドには上下合わせて計6つのキャリブレーションボールがあり、各ボールを4つの角度から撮影します。合計6×4=24個の測定点が共通する領域をカバするには、1つの大きめのROIを使用できます。
-
ロボット温度ドリフト補正
導入時に、以下の温度ドリフト補正パラメータを参照して設定してください。
-
現在のデータグループ:「基準グループ」と「観測グループ」に分かれます。初回実行時は「基準グループ」に設定し、最初のラウンドの実行が完了すると、ソフトウェアは自動的に「観測グループ」に切り替えます。
-
ロボットモデル:対応するロボットの型式を選択します。
-
補正ファイルの保存パス:デフォルトではプロジェクトファイルディレクトリの下にある「robot_compensation_data」フォルダに設定されています。
-
現在のラウンドで取得した位置姿勢をクリア:デフォルトでチェックが入った状態になっており、実行開始後、ソフトウェアは自動的にチェックを外します。
-
全ラウンドの位置姿勢を再取得:デフォルトでチェックが入った状態になっており、実行開始後、ソフトウェアは自動的にチェックを外します。
後続の実行において、1ラウンドのキャリブレーションボール(24の測定点)データの収集中に予期せぬ中断が発生した場合は、下図を参照して対応するパラメータを設定し、ロボットプログラムを再実行してください。
-
測定プロジェクトの温度ドリフト補正を有効化
-
Mech-MSR メニューバーでを選択します。「温度ドリフト補正ツール」ウィンドウが表示されます。
-
ロボットの台数を選択し、各ロボットの補正ファイルパスを選択し、各測定プロジェクトに対応するロボットを設定し、補正を有効化します。
通信出力の設定
Mech-MSR の測定データは、内の「通信キー」を介して Mech-Metrics に送信されます。
-
測定プロジェクトが1つの特徴のみを出力する場合は、通信キーを「feature」に設定できます。
-
測定プロジェクトが1つの特徴と1つのGD&Tを出力する場合、特徴の通信キーは「feature」、GD&Tの通信キーは「gdt」に設定できます。
-
測定プロジェクトが複数の特徴およびGD&Tを出力する場合、各特徴の通信キーには Mech-Metrics の対応する特徴名を設定し、各GD&Tの通信キーには Mech-Metrics の対応するGD&T名を設定する必要があります。つまり、通信キーは必ず Mech-Metrics の名前設定と一致させる必要があります。これにより、Mech-Metrics は異なる特徴およびGD&Tのデータを正しく区別できるようになります。
キャリブレーションボールプロジェクトの場合、通信出力の通信キーの設定は以下の通り固定されています:
| 測定項目 | 通信キー |
|---|---|
「特徴位置姿勢を変換」ステップから出力される変換後の特徴 |
original_pose_in_robot |
「ロボット温度ドリフト補正」ステップから出力される補正後の位置姿勢 |
feature |
Mech-Metrics に温度ドリフトロッドのワークを追加して温度ドリフト補正をモニタリング
温度ドリフトロッドのワークのインポート
入門ガイドの「サブフレームのサンプルプロジェクト」には温度ドリフトロッドのワーク(sphere.mtpart)が含まれており、Mech-Metrics にインポートして使用することができます。
-
Mech-Metrics を開き、メニューバーでを選択します。
-
表示されるウィンドウで、サブフレームサンプルプロジェクトのフォルダ内の「sphere.mtpart」ファイルを選択し、開くボタンをクリックします。
-
ワークをインポートダイアログで、OKボタンをクリックします。
-
リソースツリーでワークを選択し、属性設定エリアでワークカテゴリが温度ドリフトロッドに設定されていることを確認し、ソリューションパスを実際の Mech-MSR ソリューションパスに変更します。
リソースツリーの特徴ノード下に、計24個の特徴を確認できます。これらはそれぞれ、温度ドリフトロッドの6つのキャリブレーションボールの4種類の撮影位置姿勢に対応しています。
温度ドリフト補正のモニタリング
-
Mech-Metrics ソフトウェア設定画面の分析と補正タブの下にある温度ドリフト分析をクリックします。
-
左側のフィルター設定エリアで必要に応じてフィルタリング条件を設定し、右側で温度ドリフト補正の効果を確認します。
通常は、温度ドリフトロッドワークの補正効果を確認するだけで十分です。温度ドリフトロッドの場合、ツールは2本の曲線を表示します:「補正前の温度ドリフト値」、「補正後の温度ドリフト値」。
生産ワークに対しては、1本の曲線「補正前後差分」(すなわち補正値)のみが表示されます。
- 生産ワークと温度ドリフトロッドの表示内容が異なる理由
-
生産ワークの場合、生産ラインで毎回測定する対象が異なるため、固定されている温度ドリフトロッドのように補正前後を直接比較することができないからです。
ワークごとに個体差があり、測定値は自然にばらつきが生じます。
仮に補正前後の絶対値曲線を表示したとしても、ワークの個体差によるばらつきが混入してしまい、補正効果を直接判断することが難しくなります。