この記事の出典:Nav2中国ネットワークチュートリアル
Nav2の完全なドキュメントとチュートリアルについては、http://nav2.fishros.comにアクセスしてください。
Nav2通信グループ:139707339
WeChatパブリックアカウント:Yuxiang ROS
カメラのキャリブレーション
概要
このチュートリアルでは、キャリブレーションを通じて単眼カメラのパラメータを取得する方法を示します。
必要とする
1-オペレーティングシステムのパッケージマネージャーを使用して、カメラのキャリブレーションに必要なソフトウェアパッケージをインストールします
sudo apt install ros-<ros2-distro>-camera-calibration-parsers
sudo apt install ros-<ros2-distro>-camera-info-manager
sudo apt install ros-<ros2-distro>-launch-testing-ament-cmake
2-イメージパイプラインパッケージは、次のコマンドを使用して、ワークスペースのソースからビルドする必要があります。
git clone – b <ros2-distro> [email protected]:ros-perception/image_pipeline.git
また、次のものがあることを確認してください。
チュートリアルの手順
1-GUIで端末を起動します
2-使用しているカメラのROSドライバーを起動します。
3-カメラがROSを介して画像を公開していることを確認します。これは、以下を実行することでテストできます。
ros2 topic list
4-これにより、投稿されたすべてのスレッドが表示されます。/ camera/image_raw内に画像スレッドがあることを確認してください。image_rawトピックが実際のトピックであり、画像を投稿していることを確認してください。トピックが投稿される頻度を確認する必要があります。
ros2 topic hz /camera/image_raw
5-カメラキャリブレーションノードを開始します
ros2 run camera_calibration cameracalibrator --size 7x9 --square 0.20 image:=/my_camera/image_raw camera:=/my_camera
カメラ名: -c、-camera_name キャリブレーションファイルに表示されるカメラの名前 チェス盤オプション: 1つまたは複数のチェス盤を--sizeオプションと--squareオプションのペアとして指定する必要があります。 -p PATTERN、-pattern = 検出するPATTERNキャリブレーションパターン-'チェス盤'、'circles'、'acircles'、'charuco' -s SIZE、-size = SIZE チェス盤のサイズをNxMとして、内部の角を数えます(例:標準チェス盤は7x7) -q SQUARE、-square = SQUARE チェス盤の正方形のサイズ(メートル単位) ROS通信オプション: -approximate = APPROXIMATE 同期されていないステレオカメラからの画像をペアリングするときに、指定されたスロップ(秒単位)を許可します --no-service-check 起動時にset_camera_infoサービスのチェックを無効にします キャリブレーションオプティマイザーオプション: -fix -principal-point 画像の中心にある主点を修正します --fix -アスペクト比 強制焦点距離(fx、fy)は等しい --zero-tangent-dist 接線歪み係数(p1、p2)を ゼロに設定 -k NUM_COEFFS、-k-coefficients=NUM_COEFFS 使用する放射状歪み係数の数(最大 6、デフォルト2) --disable_calib_cb_fast_check はfindChessboardCornersにCALIB_CB_FAST_CHECKフラグを使用します これにより、チェッカーボードを強調表示するキャリブレーションウィンドウが開きます。
6より良いキャリブレーション結果を得るには、カメラの視野内でチェッカーボードを継続的に移動する必要があります。
チェッカーボードをカメラの視野の左、右、上、下に到達させます
◦カメラの視野でのX-左/右方向
Y-カメラの視野内で上下
◦サイズ-カメラに近づいたり遠ざかったり、カメラに対して傾けたりします
視野全体を埋めるチェッカーボード
チェッカーボードを左、右、上、下にスキューします(スキュー)
7チェッカーボードが連続的に移動すると、キャリブレーションウィンドウのサイドバーにある4本の水平バーの長さが長くなります。「CALIBRATE」ボタンは、4つのバーがすべて緑色で、キャリブレーションに使用できる十分なデータがある場合に点灯します。クリックして結果を表示します。キャリブレーションには約1分かかります。
8-キャリブレーションが完了すると、保存ボタンと送信ボタンが点灯します。校正結果はターミナルでも確認できます。
9-保存ボタンを押すと結果が表示されます。データは「/tmp/calibrationdata.tar.gz」に保存されます
10-カメラのキャリブレーション結果ファイルを使用するには、次のコマンドを実行してファイル(calibration.tar.gz)を解凍します。
tar -xvf calibration.tar.gz
11-キャリブレーション結果フォルダーには、「ost.yaml」ファイルと「ost.txt」ファイルとともに、キャリブレーションに使用されたすべての画像が表示されます。カメラドライバーのキャリブレーションパラメーターを含むyamlファイルを使用できます。