realsense-rosを任意のプリセットで実行する


RealSenseシリーズは事前に設定値をプリセットとして保存して使用できる機能があります。
https://dev.intelrealsense.com/docs/d400-series-visual-presets

この記事ではRealSenseViewerで設定したプリセットをjsonファイルで保存して、RealSenseのROSパッケージであるrealsense2_cameraで読み込んで実行する手順をまとめます。

RealSenseデフォルトのプリセット

RealSenseはデフォルトでいくつかのプリセットが選択できるようになっています。
以下はD400シリーズのプリセットを説明したページです。

D400 Series Visual Presets

高密度な点群を取得したい場合は、High Density, ジェスチャーに使用する場合は Hand
などが選べるようです。

RealSenseViewerからプリセットファイルの保存

まずRealSenseをPCに接続しRealSenseVieweを起動

realsense-viewer

左側メニューのPresetを選択、L515の場合デフォルトとしてDefault, No Ambient Light, Low Ambient Light, Max Range, Short Rangeの5つの設定が選択できるようになっています。

Custumを選択し、RGBカメラ、Depthカメラの設定を好きな値に変更

Preset:の右のSave config stereo module settings to fileをクリック、保存したいディレクトリを指定し、ファイル名を入力してOKをクリック。

今回はcustom.jsonで保存。

realsense-rosで使用する

今回はrealsense2_cameraにデフォルトで入っているrs_camera.launchを編集します。
4行目の"json_file_path"に先ほど保存したjsonファイルのパスを入力します。

以下はrealsense2_camera直下に保存した場合の例

<launch>
  <arg name="serial_no"           default=""/>
  <arg name="usb_port_id"         default=""/>
  <arg name="device_type"         default=""/>
  <arg name="json_file_path"      default="$(find realsense2_camera)/custom.json"/>
  <arg name="camera"              default="camera"/>
  <arg name="tf_prefix"           default="$(arg camera)"/>
  <arg name="external_manager"    default="false"/>
  <arg name="manager"             default="realsense2_camera_manager"/>
  <arg name="output"              default="screen"/>

launchファイルを保存して実行

$ roslaunch realsense2_camera rs_camera.launch

参考