Realsense D455/435 内部基準キャリブレーションおよびハンドアイ キャリブレーション

カメラの内部および外部パラメータ

  1. 固有パラメータは、カメラ自体の特性、焦点距離、ピクセル サイズに関連するパラメータです。
  2. 外部パラメータ、カメラ位置、回転方向

内部基準校正を行う理由

  • 理想的には、レンズは 3 次元空間の直線を直線に写像 (つまり、射影変換) しますが、実際には、レンズはそれほど完璧にはできません. レンズが写像された後、直線は曲線になります.であるため、それを説明するにはカメラの歪みパラメータが必要です。
  • 理想的には、カメラは x 方向と y 方向のサイズを同じように縮小しますが、実際には、レンズが完全な円でない場合、センサー上のピクセルが完全に密集した正方形でない場合、 cause both 各方向の縮小率が一貫していません。内部パラメータには、これらの 2 つの方向のスケーリング比を記述できる 2 つのパラメータが含まれています. ピクセル数で測定された長さを、3 次元空間の他の単位 (メートルなど) で測定された長さに変換できるだけでなく、 x および y 方向のスケール変換の不一致で表すことができます。
  • 理想的には、レンズの光軸(レンズの中心を通り、センサー面に垂直な直線)は、画像の中央を通過する必要がありますが、実際には取り付け精度の問題により、 , there is a always an error. このエラーを説明するには、内部参照が必要です。

内部参照マトリックス:

    fx    s    x0
K =  0    fy   y0
     0    0    1

fx、fy は焦点距離、一般に 2 つは等しい、x0、y0 は主点の座標、s は座標軸の傾斜パラメーター、理想的には 0 です 外部パラメーター マトリックス: 回転および並進マトリックスを
含む

カメラ姿勢推定

参照リンク:
つまり、ピクセル座標Pxに深さzcを掛けたもの= カメラ内部パラメーター K にカメラ座標Pcを掛けたもの.
関連リンク:

  1. https://zhuanlan.zhihu.com/p/144307108
  2. https://www.cnblogs.com/singlex/p/pose_estimation_1.html

内部基準の校正と推定

関連リンク:

  1. https://learnopencv.com/camera-calibration-using-opencv/

  2. https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-calibration-intrinsic.html

  3. /home/jialiangfan/visp/build/example/calibration

  4. /home/jialiangfan/visp/build/tutorial/grabber

  5. mv /home/jialiangfan/visp/build/tutorial/grabber/chessboard-* /home/jialiangfan/visp/build/example/calibration

  6. ./キャリブレーション-カメラのデフォルト-チェス盤.cfg

ros_calibration を介してより高精度の内部基準キャリブレーションを取得する

  1. rosdep インストール camera_calibration
  2. 通常のカメラの場合は、usb-cam ツールをインストールして、realsense も設定できます。
  3. realsense をインストールするか、sudo apt-get install ros-kinetic-realsense2-camera をインストールしてから、roslaunch realsense2_camera rs_camera.launch align_depth:=true を実行します。
  4. usb-cam 設定でのキャリブレーション コマンド: ~/ rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.25 image:=/usb_cam/image_raw camera:=/usb_cam
  5. rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.028 image:=/usb_cam/image_raw

キャリブレーションされた Realsense D455 パラメータ
[[400.50715871 0. 313.03444875]
[ 0. 413.68114326 234.14594096]
[ 0. 0. 1. ]]

Opencv は Realsense D455 パラメータを調整します

cameraMatrix : [392.716970864628, 0, 243.0185503073266;
0, 387.129884776694, 215.7363588792927;
0, 0, 1]
distCoeffs : [0.06146982267847866, -0.051192129333712309, -0.007642430456467396, -0.05887116845433386, 0.009214258584880468]

realsense独自のAPIから取得した結果

p[319.435 241.826] f[380.528 380.19]

ros_calibration キャリブレーション結果

390.989992 0.000000 291.088402
0.000000 386.367613 236.286866
0.000000 0.000000 1.000000

歪み -0.030756 0.135162 -0.006918 -0.015546 0.000000

整流

1.000000 0.000000
0.000000 0.000000 1.000000
0.000000 0.000000 0.000000 1.000000

投影

423.408600 0.000000 285.763055 0.000000
0.000000 418.590729 232.499668 0.000000
0.000000 0.000000 1.000000 0.000000

外部パラメータのキャリブレーション

python camera_calibration_show_extrinsics.py --calibration camera.xml --scale_focal 20

いくつかのグラフィックスの姿勢を確立することにより、初期座標は一般にチェス盤の左上隅として決定され、初期座標系におけるカメラの姿勢は逆に解かれます。

参考リンク:https://blog.csdn.net/jiaoyangwm/article/details/97752238

リアルセンス ビジュアル インターフェイス

コマンド ライン入力: realsense-viewer
RGB カメラのフレーム レートは最大 60、画質は 424*240、フレーム レートは 30、画質は 640x480
深度カメラのフレーム レートは最大 90、画質は比較的低く、画質はフレームレートを上げて下げる

Realsense ロボット アームのハンドアイ キャリブレーション

  1. 技術紹介 https://blog.csdn.net/yaked/article/details/77161160
  2. https://editor.csdn.net/md/?not_checkout=1&articleId=128649152
  3. https://zhuanlan.zhihu.com/p/576861119

ハンドアイキャリブレーションプロセス記録:

  1. aruco_ros およびその他の関数パッケージ

  2. easy_handeye 関数パッケージマーカー ID: 6、サイズ: 5cm

  3. easy_hand_eye のパラメータを書き換えます

テクニカル チュートリアル

  1. フランカ + リアルセンス: https://zhuanlan.zhihu.com/p/576861119
  2. visp パッケージ: http://wiki.ros.org/visp_hand2eye_calibration
  3. Kinova ハンドアイキャリブレーション: https://blog.csdn.net/qq_39367282/article/details/89515338

おすすめ

転載: blog.csdn.net/fanjialiang2401/article/details/128649152