mikeferguson/robot_calibration

Generic calibration for robots

何を解決するか

このプロジェクトは、ロボットのパラメータをキャリブレーションするためのROS2ノードのセットを提供し、3Dカメラの内部パラメータ/外部パラメータ、ジョイント角度のオフセット、ロボットフレームのオフセットの誤差を低減します。また、ホイール径、トラック幅、ジャイロゲイン、マグネトメータのハードアイロンキャリブレーションなどのモバイルベースのチューニングも対応しています。

動作方法

キャリブレーションは主に2つのステップで行われます:

  1. データ取得:ロボットはジョイント位置と「観測」(カメラやレーザースキャナなどのセンサーによって検出された点)のサンプルを取得します。環境内の特定のターゲットを識別するために「フィーチャーファイダー」(例:CheckerboardFinderPlaneFinder)を使用します。
  2. 最適化:システムは再投影誤差(異なるセンサーが見た点の姿勢の差)を最小化するようにロボットのパラメータを最適化します。たとえば、カメラで見たチェッカーボードの位置をロボットアームの運動学によって計算された位置と一致させます。

結果は更新されたURDFファイルまたはカメラ設定のYAMLファイルとしてエクスポートされます。

対象ユーザー

ROS2を使用してロボットの物理的ハードウェアをそのデジタルモデル(URDF)と正確に一致させたいロボット工学エンジニアや開発者。

特徴

  • マルチセンサー対応:チェッカーボード(2Dおよび3D)、LED、平面、レーザースキャン用のフィーチャーファイダーを含む。
  • 柔軟な最適化:3Dチェーン、2Dカメラ、メッシュ、平面を比較するためのさまざまなエラーブロックをサポート。
  • モバイルベースのチューニング:ホイール幾何学およびマグネトメータのオフセットをキャリブレーションする専用ノード。
  • 統合性:ROS 2の起動ファイルにラップ可能で、bagファイルの記録をサポートし、データの再取得なしに最適化を再実行できます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト