RGB-Dセンサ:Structure Coreの設定と表示

Occipital社のRGB-DセンサStructure Core (color)の設定と表示のメモ。インストールや仕様は以下のリンクを参照。

起 動

  • まず、Structure CoreとPCを接続する。次に、設定もできるビューワソフトが以下にあるので起動する。ない場合は、上の1番目のリンクに従ってインストール・ビルドする。
    • $ cd ~/src/StructureSDK-CrossPlatform-0.7.3-ROS/Apps/CorePlayground
    • $ ./CorePlayground
  • 起動すると下図のCorePlaygroundのGUIが表示される。

設 定

  • デフォルトでは上の設定。各項目を上から説明する。
  • →ボタン:クリックすると画像が表示される。
    • Load config: 設定ファイルのロード
    • Save config: 設定の保存
    • Default: デフォルト値へ設定
  • Stream depth: 深度画像のON/OFF
    • SXGA (1280 x 960) : 小さな物体も検出したい場合は解像度を高くする。デォルト値はVGA(640 x 480)。
  • Depth range mode: 深度距離は細かく次のモードを選べるので自分のアプリケーションに適したものを選択する。Libraries/Structure/Headers/ST/CaptureSessionSettings.h参照。
    • VeryShort: 0.35m 〜 0.92m
    • Short:  0.41m 〜 1.36m
    • Medium:  0.52m 〜 5.23m
    • Long: 0.58m 〜 8.0m
    • VeryLong: 0.58m 〜 10.0m
    • Hybird: 0.35m 〜 10.0m
    • Default: これは選ばない。自分のアプリケーションに適したものを上から選択する。
    • 参考:GUIにはないが人体スキャン用にBodyScanningというモードがある。
  • Depth correction: 深度補正。ONがお勧め。
  • Dynamic calibration mode: 動的キャリブレーションモード
    • Off: 動的キャリブレーションをしない。ステレオ赤外線カメラのアライメントが0.1mm以上ずれた場合は、深度データの質が悪くなる。
    • One-shot: 深度画像データが取得できたときに1度だけ動的キャリブレーションを行う。センサを装置に取り付けるなどセンサ筐体に静的な機械的応力がかかる場合に十分にミスアライメントを修正できる。キャリブレーションデータはセンサに保存される。
    • Continuous: センサが深度データを取得しているときは常に動的キャリブレーションを行うモード。振動や温度変化などがある環境ではこのモードを選択する。キャリブレーションデータはセンサに保存されない。移動ロボットやロボットのハンドアイシステムなどの場合はこれを選択すればよいでしょう。
  • Stream visible: 可視カメラのON/OFF
    • Framerate: フレームレート
    • Exposure:露出量時間[s]
    • Gain: ゲイン
  • Stream infrared: 赤外線カメラ(深度用)のON/OFF
    • Framerate: フレームレート
    • Exposure:露出時間[s]
    • Gain: ゲイン
    • Autoexposure: 自動露出
    • Disable intensity balance:
    • Active camera:
      • Left:
      • Right:
      • Left + Right
    • Frame sync
  • Stream accelerometer: 3軸加速度センサのデータ取得 ON/OFF
  • Stream gyroscope: 3軸ジャイロセンサのデータ取得 ON/OFF
  • IMU sample rate: IMU(加速度センサ、ジャイロセンサ)のサンプリングレート
    • 100 Hz
    • 200 Hz
    • 400 Hz
    • 1000 Hz
  • 設定例:1m離れた地点でも平面を計測するために以下の設定にした。

表 示

  • ウインドウの左上にある緑に→ボタンをクリックすると以下のようなウインドウが表示される。左下の”Save Images & PLY”をクリックすると、可視画像、深度画像、ポイントクラウドが次のディレクトリに日時のディレクトリ下に保存される。
    • ~/Documents/occ/2020-03-28_13-01-02
      • depthFrame.png:深度画像
      • depthPointCould.ply:ポイントクラウド
      • visibleFrame.png:可視画像
      • depthFrameIntrinsics.csv:深度画像の設定値
      • infraredFrame.png:赤外線画像

  • では、ポイントクラウドが保存されているdepthPointCould.plyをオープンソースの3Dデータ編集・変換ソフトmeshlabで見てみましょう。
    • meshがインストールされていない場合は次のコマンドでインストールして実行しょう。
      • $ sudo apt install  meshlab
      • $ meshlab
    • meshlabを起動して、当該ファイルを開くと次のようなウインドウが開くので、ポイントクラウドを確認できる。1m離れた壁を計測したデータ。かなりきれいに取れている。

  • 平面だけだとわかりづらいので、最後にレゴブロックを床に置いたときの画像を本記事のトップに示す。いかがだろうか。次の記事では定量的に評価してみたい。

終わり

コメント

タイトルとURLをコピーしました