ハンドアイキャリブレーションの問題

このチュートリアルでは、ハンドアイキャリブレーションが解決する問題を説明するとともに、ハンドアイキャリブレーションに必要なロボットの姿勢と座標系を紹介します。ロボットの姿勢と座標系についてよく知らない場合は 位置、方向、座標変換 を参照してください。

ロボットはどうやって物体をピックできるのでしょうか?

カメラを使わないロボットから始めましょう。その 2 つの主な座標系は次のとおりです。

  1. ロボットベース座標系

  2. エンドエフェクタ座標系

../../../../_images/hand-eye-robot-ee-robot-base-coordinate-systems.png

物体をピックするためには、ロボットコントローラはロボットのベースフレームに対する物体の姿勢(位置と向き)を知る必要があります。また、ロボットの形状に関する知識も必要です。


これらの情報を組み合わせることで、エンドエフェクタ/グリッパーを対象物に向かって移動させるための関節角度を計算するのに十分です。

../../../../_images/hand-eye-robot-robot-to-object.png

ここで、ロボットに対する物体の姿勢が不明であると仮定します。そこで Zivid の 3D ビジョンが活躍します。

../../../../_images/hand-eye-robot-robot-to-object-with-camera.png

ここで、ロボットに対する物体の姿勢が不明であると仮定します。そこで Zivid の 3D ビジョンが活躍します。

../../../../_images/hand-eye-robot-robot-to-object-with-camera-on-arm.png

Zivid の点群は、 Zivid カメラの座標系を基準にして与えられます。この座標系の原点は、 Zivid イメージャーレンズ(内部 2D カメラ)の中央に固定されています。マシンビジョンソフトウェアは、このデータポイントの集合に対して検出および位置特定アルゴリズムを実行できます。 Zivid カメラの座標系( \(H^{CAM}_{OBJ}\) )における物体の姿勢を決定できます。

../../../../_images/hand-eye-full-circle-system.png

Zivid カメラは視野内の物体を認識できるようになりましたが、それはカメラ自身の座標系に対する相対的な位置関係においてです。


ロボットが物体をピックできるようにするためには、物体の座標をカメラ座標系からロボットのベース座標系に変換する必要があります。

../../../../_images/hand-eye-robot-robot-to-object-and-camera-to-object.png

これを可能にする座標変換は次のとおりです。

  • \(H^{ROB}_{CAM}\) - ロボットベースに対するカメラの姿勢

この変換は一定であり、ハンドアイキャリブレーションの結果です。


姿勢の円環が閉じられると、円環内の他の姿勢から 1 つの姿勢を計算することができます。この場合はロボットに対する物体の姿勢です。これは、ロボットに対するカメラの姿勢と、カメラに対する物体の姿勢を後乗算することで求められます。

\[H^{ROB}_{OBJ}=H^{ROB}_{CAM} \cdot H^{CAM}_{OBJ}\]
../../../../_images/hand-eye-eye-to-hand-all-poses.png

Zivid カメラは視野内の物体を認識できるようになりましたが、それはカメラ自身の座標系に対する相対的な位置関係においてです。


ロボットが物体をピックできるようにするためには、物体の座標をカメラ座標系からロボットのベース座標系に変換する必要があります。

../../../../_images/hand-eye-robot-robot-to-object-and-camera-to-object-on-arm.png

これを可能にする座標変換は次のとおりです。

  • \(H^{EE}_{CAM}\) - エンドエフェクタに対するカメラの姿勢

  • \(H^{ROB}_{EE}\) - ロボットベースに対するエンドエフェクタの姿勢

前者は一定であり、ハンドアイキャリブレーションの結果である一方、後者はロボットコントローラによって既知かつ提供されます。


姿勢の円環が閉じられると、円環内の他の姿勢から 1 つの姿勢を計算することが可能になります。この場合、ロボットに対する物体の姿勢は次のようになります。

\[H^{ROB}_{OBJ}=H^{ROB}_{EE} \cdot H^{EE}_{CAM} \cdot H^{CAM}_{OBJ}\]
../../../../_images/hand-eye-eye-in-hand-all-poses.png

ハンドアイキャリブレーションの問題を定義したので、 ハンドアイキャリブレーションソリューション を見てみましょう。