把持精度の概要
本文は、把持精度の概念と把持誤差の様々な原因を詳細に説明し、把持誤差に関する一般的な誤解を明らかにすることを目的としています。
把持精度の紹介
把持精度を詳しく説明する前に、真度、精度、および正確度という3つの混同しやすい概念を明確にする必要があります。
ISO 5725規格によると、これら3つの概念は以下のように定義されます。
-
真度(trueness):テスト結果の期待値と実測値との間の一致の程度のことです。
-
精度(precision):指定された条件に従って測定して得られた一連の測定値間の一致の程度のことです。これはランダム誤差の分布に依存し、真値や指定値とは関係ありません。通常、テスト結果の標準偏差(standard deviation)で評価されます。
-
正確度(accuracy):テスト結果と実測値との間の一致の程度のことです。正確度は一連のテストにおいて使用され、ランダム誤差や共通のシステム誤差、偏差成分を含みます。したがって、正確度は真度と精度の組み合わせと見なすことができます。
下図は、これら3つの関係を示しています。
3D ロボットビジョンソリューションの把持シーンでは、把持精度 はロボットの実際の把持位置と期待される把持位置との一致の程度を示し、通常は把持誤差で表されます。実際のプロジェクトでは、アプリケーションの把持精度要件、つまりX/Y/Z方向の把持誤差の許容範囲を明確に定義する必要があります。
3D ロボットビジョンソリューションは以下のような手順で把持を行います。
-
カメラで画像を取得:カメラを使用してシーンの画像を取得します。
-
ビジョンシステムによる対象物の認識:ビジョンシステムにより画像から対象物を認識します。
-
ビジョンシステムによる把持位置姿勢の出力:ビジョンシステムは外部パラメータに基づいて、対象物の位置姿勢をカメラ座標系からロボット座標系に変換し、把持位置姿勢を出力します。
-
ロボットが把持位置姿勢に従って対象物を把持:ロボットは受信した把持位置姿勢に従って把持作業を完了します。
把持プロセスでは、各手順で誤差が生じる可能性があります。したがって、把持誤差は全体手順における様々な誤差を累積したものです。
把持誤差が発生する原因は以下の通りです。
-
カメラ誤差
-
ロボット誤差
-
外部パラメータの誤差
-
ビジョン認識の誤差
-
その他の誤差(衝突や取付の安定性など)
以下では、各誤差の意味、原因および把持精度への影響について詳しく説明します。
誤差が発生する原因
カメラ誤差
カメラ誤差は、カメラ自体の精度を反映します。カメラ精度には、カメラの絶対精度とカメラの繰り返し精度が含まれます。
カメラの絶対精度
カメラの絶対精度(またはキャリブレーション精度)とは、視野内の2点間の距離の測定値と実際値との間の一致の程度(trueness)を指します。
測定方法:セラミックボールの標準測定具を使用して測定を行います。撮影されたボールの点群から球面をフィッティングし、球心座標と球心距を計算します。そして、球心距の測定値と真値を比較します。3D空間に7つの位置にボールを配置し、その球心距をフィッティングします。球心距誤差の中央値と最大値が絶対精度として計算されます。
誤差は球心距の誤差値をボールの球心距離で割ったものです。 |
Mech-Mindのカメラは工場出荷前に絶対精度が厳しくチェックされています。異なるカメラ型番の絶対精度については、カメラの技術仕様 をご参照ください。
カメラの絶対精度に影響を与える要因には以下があります。
-
ハードウェアの問題:レンズ、センサー、または他のコンポーネントの問題など、カメラ自体に故障や損傷がある可能性があります。
-
環境変化:照明条件、温度、湿度などの環境要因の変化がカメラの性能に影響を与えます。例えば、カメラの温度ドリフトは絶対精度の低下を引き起こす可能性があります。
-
機械変形:カメラやその取り付けブラケットの機械構造の変形や緩みがカメラ位置の不安定を引き起こし、絶対精度に影響を与える可能性があります。
カメラの繰り返し精度
カメラの繰り返し精度は、Z方向一点繰り返し精度とZ方向エリア繰り返し精度に分けられます。
-
Z方向一点繰り返し精度(1σ):ある点のZ値を100回測定した1σの標準偏差です。Z方向一点繰り返し精度は、Z方向の単一ピクセルの精度を評価するために使用されます。
測定方法:セラミックプレートを測定対象とします。カメラが熱平衡状態に到達した後、5秒ごとにセラミックプレートを100回撮影し、各ピクセル位置の100回の深度値の標準偏差の中央値を計算します。
-
Z方向エリア繰り返し精度(1σ):深度画像内の2つのエリアにおけるZ値を100回測定した1σの標準偏差です。Z方向エリア繰り返し精度(1σ)は、フィッティングした平面のZ方向の精度を評価するために使用されます。
測定方法:セラミックプレートを測定対象とします。カメラが熱平衡状態に到達した後、5秒ごとにセラミックプレートを100回撮影し、2つのエリア(200×200ピクセル)の100回のZ平均値の1σの誤差を計算します。
3D ロボットビジョンアプリケーションでは、一般的にZ方向一点繰り返し精度が参考値となります。
カメラの繰り返し精度に影響を与える主な要因は以下の通りです。
-
ワーキングディスタンス:ワーキングディスタンスが大きいほど、繰り返し精度はより速く低下します。
-
ハードウェアの問題:レンズ、センサー、または他のコンポーネントの問題など、カメラ自体に故障や損傷がある可能性があります。
-
環境の変化:照明条件、温度、湿度などの環境要因の変化がカメラの性能に影響を与え、カメラの温度ドリフトなど、繰り返し精度の低下を引き起こす可能性があります。
-
機械変形:カメラやその取り付けブラケットの機械構造の変形や緩みにより、カメラ位置の不安定を引き起こし、繰り返し精度に影響を与える可能性があります。
カメラの温度ドリフト
カメラの温度ドリフトとは、カメラ内部のコンポーネントが温度変化によって熱変形し、カメラの点群にドリフトが生じる現象を指します。カメラの温度ドリフトは、以下の要因によって引き起こされる可能性があります。
-
内部部品の応力変形、劣化、または老化。
-
温度、湿度、気圧などの外部環境の変化。
温度ドリフトは、点群の各次元の数値、カメラの繰り返し精度や絶対精度に影響を与えます。
温度ドリフトの分類
温度変化の原因によって、温度ドリフトは冷間始動ドリフト(Warm-up Drift)と環境熱ドリフト(Environmental Thermal Drift)の2種類に分類されます。
-
冷間始動ドリフトは、3Dカメラの冷起動プロセス自体による温度変化によって生じる点群のドリフトを指します。
-
環境熱ドリフトは、環境の温度や湿度などの変化によって生じる点群のドリフトを指します。
下図は、LSR Lカメラの代表的な冷間始動ドリフトの曲線を示しています。縦軸はカメラの撮影平面の深度値の変化であり、横軸は撮影回数です。このような曲線は、カメラが冷たい状態から暖まり、熱平衡に達する過程で生じる深度値の変化を示しています。一般的には、カメラが暖まるにつれて深度値の変化が減少し、熱平衡に達すると変化が安定します。カメラはおおよそ5秒ごとに1回撮影し、約400回(約33分間)の撮影後に熱平衡に達し、熱平衡後の深度値の変化は約3 mmです。
温度ドリフトへの対応
-
予熱:不正確さの発生を最小限に抑えるため、ハンドアイキャリブレーション、カメラの内部パラメータのキャリブレーション、内部パラメータのクイック補正、その他の補正パラメータのキャリブレーションを行う前に、カメラを予熱する必要があります。カメラの予熱は、以下のいずれかの方法で行います。
-
Mech-Eye ViewerまたはMech-Eye APIを使用してカメラに接続し、30分以上の連続画像キャプチャを行います。高精度が求められるアプリケーションでは、45分以上の予熱を推奨します。
-
カメラの電源を入れてから40分以上待機します。
-
-
アプリケーション環境の温度、湿度、および圧力を安定した状態に保ちます。
-
「ハンドアイのドリフト自動補正」システムの導入:カメラ温度ドリフトの問題を解決するだけでなく、3Dビジョンシステムの信頼性と動作の安定性を確保します。
また、カメラとそのブラケットがしっかりと取り付けられているかどうかは、カメラの絶対精度と繰り返し精度に直接影響します。
ロボット誤差
ロボットに関連する誤差には、主にロボット自体の精度誤差とロボットモデルパラメータの誤差があります。
ロボットの精度誤差
ロボットの精度は、ロボットの繰り返し(位置決め)精度とロボットの絶対(位置決め)精度に分けられます。
-
ロボットの繰り返し精度とは、ロボットが空間内の1点に繰り返し到達したときの位置の変動の程度を指します。
-
ロボットの絶対精度とは、ロボットが空間内の1点に到達したときの目標位置からのずれのことを指します。設定されたロボット移動の直線距離と実際の距離の差を測定することは、ロボットの絶対精度を大まかに測定する方法の1つです。
ティーチペンダントを使用して動作経路を教示するアプリケーション(3D ロボットビジョンアプリケーション以外の場合)では、把持精度はロボットの繰り返し精度にのみ影響されます。一方、3D ロボットビジョンアプリケーションでは、把持位置姿勢がビジョンシステムによって出力されるため、把持精度は主にロボットの絶対精度に影響されます。
ロボットの絶対精度が低下する一般的な要因には以下があります。
-
ロボットの原点ずれ。
-
TCPの精度誤差。
-
ロボットがしっかりと取り付けられていない。
ロボットの原点ずれ
ロボットの精度に問題があると思われる場合、まずはロボットの各軸の原点がずれていないか確認することをお勧めします。ロボットの原点とは、ロボットの各軸のエンコーダのゼロ位置のことです。原点がずれると、ティーチペンダントに表示されるロボットの各軸の数値がロボット実機の各軸角度との間に誤差が生じます。ロボットの原点ずれは、ロボットの絶対精度の低下を引き起こす可能性があります。
原点ずれは以下のような場合に発生する可能性があります。
-
新規購入時に、ロボットメーカーがロボット原点のキャリブレーションを行っていない。
-
輸送中にロボットの原点がずれた。
-
バッテリーの残量が少なくなり交換した。
-
ロボット本体やコントローラを交換した。
-
カウンターデータが失われた。
-
間違った原点キャリブレーションが行われた。
TCPの精度誤差
把持アプリケーションでは、ロボット先端には通常、吸盤やグリッパーなどのハンドが装備されています。ロボットハンドはロボットフランジの延長と見なされ、様々な形状があります。
ロボットシステムは、その位置の記述と制御をロボットのTCP(ツール中心点)を基準に行います。これにより、ロボット先端にツール座標系を確立し、ロボットの制御点をロボット先端に転送します。
ティーチング法によるロボット移動経路を設定するアプリケーションでは、TCP誤差があってもアプリケーションは正常に動作する場合があります。しかし、3D ロボットビジョンアプリケーションでは、ロボットの移動経路は通常、ビジョンシステムによって提供されるため、TCP誤差は把持誤差を引き起こす可能性があります。
TCP誤差の主な原因は以下の通りです。
-
TCPの定義が正確でない。
-
ロボットハンドがしっかりと取り付けられていない。
ロボットモデルパラメータの誤差
ロボット自体の精度の問題に加えて、ビジョンシステムが使用するロボットモデルの精度も把持精度に影響します。
Mech-Vizプロジェクトでは、シミュレーションや経路計画にロボットモデルを使用しています。ロボットモデルを作成する際にロボットパラメータを正確に設定しないと、下図のようにソフトウェア内の仮想ロボットの位置姿勢とツール位置姿勢がロボット実機と一致しないことがあります。
ロボット実機の位置姿勢 | 仮想ロボットの位置姿勢 |
---|---|
ソフトウェア内の仮想ロボットの位置姿勢やツールの位置姿勢がロボット実機と一致しない場合、以下の問題が発生する可能性があります。
-
ハンド・アイ・キャリブレーションで間違ったロボットの位置姿勢を使用し、キャリブレーション結果の誤差が大きくなったり、キャリブレーションが失敗する可能性があります。
-
ビジョンシステムが間違ったビジョン結果をロボットに出力する可能性があります。
-
ビジョンシステムが間違った経路点をロボットに出力する可能性があります。これにより、ロボットが正しく把持できず、把持が失敗したり、周囲の物体と衝突したりする可能性があります。
外部パラメータの誤差
外部パラメータは、ロボットとカメラの間の位置姿勢変換関係を表します。外部パラメータはハンド・アイ・キャリブレーションによって取得され、ハンド・アイ・キャリブレーションの結果の誤差は外部パラメータの誤差となります。
外部パラメータの誤差は、カメラ誤差、ロボット誤差、その他の誤差を累積した複合誤差です。
外部パラメータの誤差に影響を与える主な要因は以下の通りです。
-
点群品質。
-
カメラの絶対精度。
-
ロボットの絶対精度。
-
キャリブレーションボードの取り付けの安定性。
-
キャリブレーションデータを取得する際のキャリブレーションボードの揺れ。
外部パラメータの誤差が大きすぎると、ビジョンシステムから出力される把持位置姿勢と予期される位置姿勢との間に大きなずれが生じ、それによりロボットが正常に把持できません。
ビジョン認識の誤差
ビジョン認識の誤差は、ビジョンプロジェクトの認識の正確性と繰り返し精度のパフォーマンスを反映しています。
ビジョンプロジェクトでは通常、以下のアルゴリズムが認識に使用されます。
|
ビジョン認識の誤差に影響する要因は以下の通りです。
-
ディープラーニングの精度不良:ディープラーニングモデルのトレーニング品質やパラメータ設定が適切でない場合、認識誤差が増加する可能性があります。
-
3Dマッチングの精度不良:3Dマッチングアルゴリズムの不正確さや不適切なマッチングアルゴリズムの設定は、3D空間における対象物の位置決め精度が低下し、さらに認識の正確性に影響を与える可能性があります。
-
不適切な位置姿勢調整戦略:不適切な位置姿勢調整戦略は、ビジョンシステムでの対象物の姿勢推定の誤りを引き起こし、さらに認識の精度とロバスト性が影響を与える可能性があります。正確な位置姿勢調整は、高精度な位置決めにとって大切です。
-
認識の繰り返し精度誤差:ビジョンシステムが認識タスクを繰り返し実行する際、誤差が蓄積し、繰り返し精度が低下する場合、システムの安定性と信頼性がさらに影響を受ける可能性があります。したがって、良好な認識の繰り返し精度を保つことは、長時間稼働するシステムにとって大切です。
以下では、ビジョン認識の誤差に影響する要因について詳しく説明します。
ディープラーニングの精度不良
ビジョンプロジェクトのディープラーニングの精度不良になる原因は以下の通りです。
-
カメラで取得した2D画像の品質:取得した2D画像が明るすぎたり暗すぎたりする場合、ディープラーニングの推論効果に直接影響します。この問題は通常、2D露出パラメータを調整することで解決できます。強い環境光の場合は、画像品質を向上させるために遮光対策も必要となります。
-
ディープラーニングモデルの品質:取得した2D画像の品質と、ディープラーニングのトレーニングで得られたモデルの品質は、ディープラーニングの推論効果に直接影響します。ディープラーニングの精度を向上させるために、トレーニングモデルの画像が鮮明で高品質であり、トレーニングのデータセットが代表的である必要があります。
-
ディープラーニングのパラメータ設定:ディープラーニングのパラメータを適切に設定することは、インスタンスセグメンテーションの正確性にとって大切です。これらのパラメータを微調整することで、モデルのパフォーマンスを異なるシーンに適応させ、最適なディープラーニング推論効果を実現することができます。システム運用中に発生する可能性のある変化に対応するため、パラメータ設定を定期的に確認し、更新する必要があります。
3Dマッチングの精度不良
ビジョンプロジェクトの3Dマッチングの精度不良になる原因は以下の通りです。
-
点群品質:カメラが取得した点群の品質が低い場合、作成された点群モデルやシーンの点群の品質に直接影響し、それによって3Dマッチングの精度が低下します。
-
点群モデルと把持位置姿勢の正確性:マッチング精度はサーフェスモデルとエッジモデルによって異なります。サーフェスモデルはより高いマッチング精度を提供しますが、認識にはより長い時間がかかります。モデルを作成する際に、ドラッグ法とティーチング法を使用して把持位置姿勢を追加できます。ティーチング法で追加された把持位置姿勢の方が高い精度を持ちます。したがって、精度要件が高く、ワーク方向が一致しており、ロボットのTCP誤差が測定しにくい場合は、精度を向上させるためにティーチング法を使用して把持位置姿勢を追加することを推奨します。
-
マッチングアルゴリズムの設定:マッチングアルゴリズムの設定が適切でないと、マッチングの効果や繰り返し精度に悪影響を与える可能性があります。正しいマッチングアルゴリズムの選択と設定は、正確なマッチングを確保するための重要な要素であり、特に複雑なシーンや異なるワーク間を切り替える場合には重要です。実際の要件に合わせてアルゴリズムパラメータを調整することで、マッチング精度とシステムの安定性が向上します。
不適切な位置姿勢調整戦略
位置姿勢調整戦略の適用性は、具体的なシーンに基づいて決定されます。一部の場合、不適切な位置姿勢調整戦略は把持誤差を引き起こす可能性があります。例えば、プロジェクトを作成する時は、ワークがパレットの左側にあると仮定し、ワークがパレットの右側にある可能性を無視した場合、把持ずれが生じる可能性があります。
位置姿勢調整戦略が適切でない原因は主に以下の通りです。
-
全部状況の考慮不足:位置姿勢調整戦略を設計する際に、ワークの可能な位置変化やシーンの違いを十分に考慮していない場合があります。それによって、特定のシーンに適応できない可能性があります。
-
環境変化の更新の遅れ:作業環境は、レイアウトの変更、機器の交換、またはワークの配置方法の変更などにより変化する可能性があります。位置姿勢調整戦略がこれらの変化を反映するように更新されない場合、新しい作業環境に正確に適応できなくなる可能性があります。
-
柔軟性の不足:一部の位置姿勢調整戦略は、様々なワーク位置に柔軟に対応できない可能性があります。それによって、考慮されていない状況下でずれが生じる可能性があります。
位置姿勢調整戦略の正確性を確保するためには、ワークの可能な位置の変化を十分に考慮し、様々な作業環境に対応するように調整戦略を適時に更新する必要があります。位置姿勢調整アルゴリズムの設定を定期的に確認し、最適化することで、異なる作業環境で正確な位置姿勢調整と誤差率の低減を実現します。
認識の繰り返し精度誤差
認識の繰り返し精度誤差は、ビジョンプロジェクトの安定性を評価するための重要な基準であり、様々な要因に直接影響されます。
-
点群処理:照明環境、ワークの材質、周囲の物体の反射性は、ワークの点群品質に大きな影響を与えます。点群処理のロバスト性を向上させるためには、異なる照明条件や物体表面の特性を十分に考慮し、適応させる必要があります。これにより、繰り返し精度の誤差を低減できます。
-
ハードウェアの影響:温度変化がカメラハードウェアに与える影響は、カメラの内部パラメータと外部パラメータの両方に影響し、位置姿勢変換の精度に影響します。したがって、温度変化を管理し、内部および外部パラメータを適時に調整することは、システムの安定性を確保するための重要なステップです。
-
ビジョン認識ソリューションの選択:ビジョン認識ソリューションを選択する際には、インスタンスセグメンテーションの採用、マッチング方法、マッチングパラメータ、および把持位置姿勢の設定などがシステムの安定性に直接関係します。ビジョン認識ソリューションを適切に選択し、マッチングパラメータを最適化することで、システムを異なる作業環境によりよく適応させることができます。
-
論理判断とエラー防止:適切な論理判断とエラー防止機能の設計も非常に重要です。そうしないと、異常条件でシステムが正常に動作できない可能性があるため、全体的な安定性に影響を与える可能性があります。
したがって、ビジョンプロジェクトの安定性を向上させるためには、点群処理、位置姿勢調整、ビジョンソリューションの選択、論理判定など、すべての状況を総合的に考慮し、適切に設計する必要があります。これにより、認識の繰り返し精度誤差を低減し、システムが異なる作業環境下でも信頼性の高い動作を実現できるようになります。
その他の誤差
カメラの不適切な取り付けによる誤差
カメラの不適切な取り付けによる誤差は、ビジョンシステムにおける一般的な問題の一つです。カメラやそのブラケットがしっかりと取り付けられていないと、ロボットの動きや周囲環境の振動によってカメラが揺れ、画像品質に影響を与える可能性があります。このような状況は、カメラの絶対精度と繰り返し精度に直接影響します。
このような誤差を避けるためには、「ビジョンシステムのハードウェア設置」段階で、カメラとその取り付けブラケットをしっとりと取り付け、その構造が安定していることを確認する必要があります。
把持精度の説明
把持精度に関する説明は以下の通りです。
-
把持精度は通常、把持誤差によって表されます。つまり、実際の把持位置と予期される位置との一致の程度を示します。
-
ロボットピッキングでは各段階のすべての誤差の累積が最終的な把持精度となります。
-
全体的な把持誤差がプロジェクトの精度要件を満たすためには、誤差を補正してシステムを最適化する必要があります。
-
誤差を排除する目的は、プロジェクトの要求に応じることであり、誤差を完全に排除することではありません。例えば、ワーク認識に問題がない場合は、すべての点群を取得する必要はありません。
-
多くの場合、誤差を完全に排除することは難しいですが、減少させることは可能です。誤差が合理的な範囲レベルに達した場合、その問題を再評価する必要はありません。
-
誤差が検出されても、必ずしもすべて解決できるわけではありません。例えば、ロボットのDHパラメータ誤差などはメーカーや機種によっては変更できない可能性があります。