ハンドアイキャリブレーションの検証方法
ハンドアイキャリブレーションが完了したら、いくつかの方法を用いて、結果として得られた変換行列が正しく、正確度要件を満たしていることを検証できます。
残差による検証
ハンドアイキャリブレーション残差 が良好であれば、ハンドアイキャリブレーションが正常に解に収束したことを示しています。
小型ロボットの場合、残差はサブミリメートル単位になると予想されますが、大型ロボットの場合はミリメートル単位になる可能性があります。残差の回転成分については、サブ度単位になると予想されます。
注釈
残差が良好であっても、ハンドアイキャリブレーションの正確度が保証されるわけではありません。さらに、残差はロボットの位置決め正確度を直接示す指標ではありません。したがって、他の方法を用いてハンドアイキャリブレーションを検証することが重要です。
タッチテストによる検証(推奨)
推奨されるハンドアイキャリブレーション検証方法は、 Zivid キャリブレーションオブジェクト をシーンに配置し、ロボットでタッチテストを実行することです。この方法は、キャリブレーションオブジェクトをキャプチャして検出し、その姿勢を計算し、ロボット(先端が尖ったハンドアイ検証ツールを装備)を移動させてオブジェクトの特定のポイントに接触させることから構成されます。その後、ツールの先端がそのポイントにどれだけ近いかを確認することで、ロボットが目的の姿勢にどれだけ正確に移動したかを視覚的に検査できます。ツールの先端が目的のポイントに近いほど、ハンドアイキャリブレーションの精度が高くなります。
タッチテストを実施するために利用できるツール:
ハンドアイ GUI(推奨)
Python スクリプト
詳細な手順については、以下を参照してください。
これは物理的なテストであり、アームエンドの検証ツールが必要となるため、すべての人にとって最も手軽な方法とは言えません。より簡単な検証方法については、引き続きお読みください。
投影による検証
Zivid カメラにはプロジェクターが内蔵されており、任意の画像を物理的なシーンに投影できます。ハンドアイキャリブレーションの検証のために、カメラは Zivid キャリブレーションボードの既知のチェッカーボード状の角に円の画像を投影できます。この検証方法は、ハンドアイ変換行列と既知のロボットの姿勢を使用して、キャリブレーション対象物がカメラの視野内のどこに表示されるべきかを計算することで機能します。システムは、これらの予測された位置を物理的なシーンに投影します。
この検証方法を実行するには、以下を参照してください。
ハンドアイ GUI: 投影による検証
緑色の線が実際のチェッカーボードの角とよく一致していれば、ハンドアイキャリブレーションは正確です。投影の検証は非常に厳密に行うべきです。なぜなら、ハンドアイキャリブレーションが誤っていても、投影誤差は許容範囲内に見える場合があるからです。
ステッチングによる検証
ハンドアイキャリブレーションの結果をステッチングすることも、キャリブレーションの検証に役立つツールです。データセット内のすべての 点群 を、ハンドアイキャリブレーション変換を用いてロボットベースに変換し、重ね合わせて表示します。これにより、ロボットの姿勢とハンドアイ変換の正確度を把握できます。ハンドアイキャリブレーションの精度が高いほど、点群の重なりが大きくなり、チェッカーボードパターンがより鮮明になります。
この検証方法を実行するには、以下を参照してください。
ハンドアイ GUI: ステッチングによる検証
Python サンプル: verify_hand_eye_with_visualization.py
次のステップ
検証結果が問題なければ、以下をご確認ください。
ハンドアイキャリブレーションの結果に満足できない場合は、以下の記事のいずれかを参照してください。