LoginSignup
3
4

More than 3 years have passed since last update.

Visual SLAM ORB_SLAM2 用のカメラキャリブレーションYamlファイルの作成

Last updated at Posted at 2019-10-26

DJI Tello等ドローンの自律飛行を実現するには、3D環境でナビゲーション経路を計画としてOMPL(Open Motion Planning Library)を試してみます。

目次

  1. OMPLのインストール
  2. OMPLの基礎
  3. OMPL.appの入門
  4. OMPLの使用
  5. DJI Telloの使用
    1. DJI Telloのフロントカメラのcamera_calibration
    2. Visual SLAM ORB_SLAM2 用のカメラキャリブレーションYamlファイルの作成 ← いまココ
    3. DJI Telloのカメラ でVisual-SLAMのORB-SLAM2 を動かしてみた
  6. navigationスタックの使い方
    1. Turtlebot3 NavigationをGazebo Simulationで動かしてみた
    2. Turtlebot3 Navigationでmap_fileの代わりにSLAMを使用
    3. ARdroneのシミュレーターをGazeboで動かす
    4. AirSimのシミュレーターを動かす
    5. octomapのインストール
    6. 単眼カメラでORB_SLAM2から3D point clouodの生成
    7. point_cloud2から3D octomapの生成
  7. OMPLで3D 経路計画
    1. 状態空間環境のセットアップ

動作環境

  • Ubuntu 18.04
  • ROS Melodic
  • Tello EDU

Visual SLAM ORB_SLAM2 用のカメラキャリブレーションYamlファイルの作成

ORB_SLAM2を動かすには、カメラのキャリブレーション設定Yamlファイルがあります。
ORB_SLAM2で使用するYamlファイルのフォーマットがROSのcamera_calibrationの出力Yamlファイルと違いますので、対応関係を説明します。

# rosrun ORB_SLAM2 Mono Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml

TUM1.yamlをコピーして、tello.yamlファイルを作成します。
ROSのcamera_calibrationの出力Yamlファイルから
fx, cx, fy, cy、k1, k2, p1, p2, k3の値を取得してtello.yamlに更新します。

ROSのcamera_calibrationの出力Yamlファイル
camera_matrix:
  rows: 3
  cols: 3
  data: [fx , 0, cx, 0, fy, cy, 0, 0, 1]

distortion_coefficients:
  rows: 1
  cols: 5
  data: [k1, k2, p1, p2, k3]
tello.yaml
# Camera calibration and distortion parameters (OpenCV) 
Camera.fx: 921.170702
Camera.fy: 919.018377
Camera.cx: 459.904354
Camera.cy: 351.238301

Camera.k1: -0.033458
Camera.k2: 0.105152
Camera.p1: 0.001256
Camera.p2: -0.006647
Camera.k3: 0.000000

Next: 5.3. DJI Telloのカメラ でVisual-SLAMのORB-SLAM2 を動かしてみた
Prev: 5.1. DJI Telloのフロントカメラのcamera_calibration

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4