Open Source Robotics

高品質なオープンソースロボティクスプロジェクト、ツール、ソフトウェアの厳選コレクション。

Extrinsic Calibration

  • 別名: extrinsics, extrinsic parameters
  • カテゴリ: Foundations & spatial maths › Frames & transforms
  • タグ: calibration, sensors, coordinate-frames, hand-eye, sensor-fusion

ロボットや別のセンサーに対するセンサーの剛体姿勢を求め、計測値を共通の座標系に配置できるようにすること。

定義

外部キャリブレーション(extrinsic calibration)は、ロボットのベース、エンドエフェクター、車体、あるいは別のセンサーといった何らかの基準に対するセンサーの位置と姿勢、すなわち SE(3) における剛体変換を推定する。これは、カメラの焦点距離やレンズ歪みのように、センサー内部で起きることをモデル化する内部キャリブレーションとは別のものである。正確な外部パラメータがなければ、カメラが検出した点をロボットの座標系に正しく配置できず、複数のセンサーのデータを融合することもできない。

方法は対象となるセンサーによって異なる。アイインハンドカメラはカメラがどこに取り付けられているかを表すものであり、外部キャリブレーションは、その取り付けによってカメラが正確にどこに置かれるかを測る手順である。ロボットアーム上のカメラでは、ハンドアイキャリブレーションにより、カメラが固定されたターゲットを見ている間にアームを多数の姿勢へ動かし、方程式 AX = XB を解く。ここで A と B はグリッパーとカメラの相対運動、X は未知の変換である。Tsai と Lenz(1989)が広く使われている解法を示した。項を入れ替えた同じ方程式で、グリッパーが保持するターゲットを固定カメラで見る場合も扱える。カメラと LiDAR の間のキャリブレーションでは、通常、ボードの平面やエッジのように両方のセンサーから見えるターゲットの特徴を対応付ける。カメラと IMU の間のキャリブレーションは、Kalibr ツールボックスのように、連続した軌跡からセンサー間の変換と時間オフセットを推定する。多くのシステムでは、その後さらに状態推定器の内部で外部パラメータをオンラインで微調整する。

外部パラメータの小さな誤差は大きな影響をもたらす。0.5 度の角度誤差は、1 m 先の点を 9 mm 近くずらし、把持の失敗や融合した地図のずれを起こすのに十分である。CAD の値は出発点にはなるが、実際に組み立てたロボットと一致することはまれであり、取り付け部は衝撃、温度、保守作業によってずれる。良い方法は、広い範囲の姿勢にわたってキャリブレーションデータを集め、推定に使っていない検証用データで再投影誤差や位置合わせ誤差を測って結果を確認し、機械的な変更のたびに再確認することである。

重要な理由

センシングを動作や他のセンサーと組み合わせるすべてのロボットは、外部キャリブレーションに依存している。カメラの検出結果がグリッパーの向かう位置に一致するか、LiDAR とカメラのデータが揃うか、融合した状態推定が一貫しているかは、これで決まる。

主な用途

  • 手首取り付けカメラと固定カメラのハンドアイキャリブレーション
  • 車両や移動ロボットでのカメラと LiDAR の位置合わせ
  • 視覚慣性オドメトリのためのカメラ-IMU キャリブレーション
  • モーションキャプチャと 3D 再構成のためのマルチカメラリグ
  • 固定カメラのロボットワークセルへの位置合わせ

実際の使われ方

ある研究室が、把持のためにロボットの手首に深度カメラを取り付ける。ChArUco ボードを印刷してテーブルに固定し、さまざまな回転をカバーする約 25 の姿勢にアームを動かして、それぞれの姿勢で順運動学から得たエンドエフェクターの姿勢と、カメラから得たボードの姿勢を記録する。ハンドアイソルバーがカメラからフランジへの変換を返す。検証のために、複数の手首姿勢で得た深度画像を 1 つの点群に融合する。キャリブレーションが良好ならテーブルと物体が揃い、不十分なら表面が二重に見える。さらにグリッパーの先端でボードの角に触れ、その位置をカメラの推定値と比較し、誤差が数ミリメートルであればキャリブレーションを採用する。

よくある誤解

  • CAD の寸法で十分である — 製造公差と取り付け誤差のため、実測した外部パラメータは設計値と異なる
  • キャリブレーションは一度行えば済む — 取り付け部は時間とともにずれるため、衝撃やハードウェアの変更の後には外部パラメータを再確認すべきである
  • 外部キャリブレーションと内部キャリブレーションは同じ工程である — 内部パラメータはセンサーそのものを、外部パラメータはその姿勢をモデル化する。同時に解くと、どちらかの誤差がもう一方を損なう
  • 重要なのは空間的な変換だけである — 動いているセンサーでは、データストリーム間の時間オフセットが誤った姿勢と同様の誤差を生む

知っておくべき人

  • ロボットの知覚とシステム統合のエンジニア
  • 自動運転車のセンサーエンジニア
  • 状態推定と SLAM の開発者
  • マニピュレーションのテストベッドを構築する研究者

関連技術

  • Kalibr
  • OpenCV ハンドアイキャリブレーション(OpenCV Hand-Eye Calibration)
  • ChArUco ボードと AprilTag ボード(ChArUco and AprilTag Boards)
  • MoveIt Calibration
  • ROS tf2

関連用語

  • Eye-in-Hand Camera
  • Camera Intrinsics
  • Transform
  • Coordinate Frame
  • Sensor Fusion
  • Forward Kinematics

関連プロジェクト

  • FAST-LIVO2: Fast, direct LiDAR-inertial-visual odometry from HKU-MARS, published in IEEE T-RO
  • GTSAM: Factor-graph optimization library powering many modern SLAM backends
  • AprilTag: The standard visual fiducial marker system for robot localization and pose estimation
  • Gazebo: Industry-standard open-source robotics simulator with multi-physics and ROS integration
  • image_pipeline: The standard ROS camera stack: calibration, rectification, stereo and depth

動画

  • Camera Intrinsics and Extrinsics - 5 Minutes with Cyrill: Cyrill Stachniss
  • OpenCV Python Camera Calibration (Intrinsic, Extrinsic, Distortion): Kevin Wood | Robotics & AI

このウェブサイトにはJavaScriptが必要です。オープンソースロボティクスプロジェクトを閲覧するにはJavaScriptを有効にしてください。