[ROS][D415][T265] RealSense

何を学習するのか?

ROS上でReal Senseを使うまでの手順
どんな情報が取得出来るのか?
取得した情報をどの様に使うのか?

インストール

UbuntuでIntel Realsense D415を使えるようにするまで(ROSあり・なし両方) – Qiita
IntelRealSense/realsense-ros: Intel(R) RealSense(TM) ROS Wrapper for D400 series, SR300 Camera and T265 Tracking Module

を参考にして、インストールを行う。

ROS Wrapper for Intel® RealSense™ Devices

IntelRealSense/realsense-ros: Intel(R) RealSense(TM) ROS Wrapper for D400 series, SR300 Camera and T265 Tracking Module

ROS Topics D415

$ roslaunch realsense2_camera rs_camera.launch
$ rosnode list
/camera/realsense2_camera
/camera/realsense2_camera_manager
/rosout
$ rostopic list
/camera/color/camera_info
/camera/color/image_raw
/camera/color/image_raw/compressed
/camera/color/image_raw/compressed/parameter_descriptions
/camera/color/image_raw/compressed/parameter_updates
/camera/color/image_raw/compressedDepth
/camera/color/image_raw/compressedDepth/parameter_descriptions
/camera/color/image_raw/compressedDepth/parameter_updates
/camera/color/image_raw/theora
/camera/color/image_raw/theora/parameter_descriptions
/camera/color/image_raw/theora/parameter_updates
/camera/depth/camera_info
/camera/depth/image_rect_raw
/camera/depth/image_rect_raw/compressed
/camera/depth/image_rect_raw/compressed/parameter_descriptions
/camera/depth/image_rect_raw/compressed/parameter_updates
/camera/depth/image_rect_raw/compressedDepth
/camera/depth/image_rect_raw/compressedDepth/parameter_descriptions
/camera/depth/image_rect_raw/compressedDepth/parameter_updates
/camera/depth/image_rect_raw/theora
/camera/depth/image_rect_raw/theora/parameter_descriptions
/camera/depth/image_rect_raw/theora/parameter_updates
/camera/extrinsics/depth_to_color
/camera/realsense2_camera_manager/bond
/camera/rgb_camera/auto_exposure_roi/parameter_descriptions
/camera/rgb_camera/auto_exposure_roi/parameter_updates
/camera/rgb_camera/parameter_descriptions
/camera/rgb_camera/parameter_updates
/camera/stereo_module/auto_exposure_roi/parameter_descriptions
/camera/stereo_module/auto_exposure_roi/parameter_updates
/camera/stereo_module/parameter_descriptions
/camera/stereo_module/parameter_updates
/diagnostics
/rosout
/rosout_agg
/tf
/tf_static

ROS Topics T265

$ roslaunch realsense2_camera rs_t265.launch
$ rostopic list
/camera/accel/imu_info
/camera/accel/sample
/camera/gyro/imu_info
/camera/gyro/sample
/camera/odom/sample
/camera/realsense2_camera_manager/bond
/camera/tracking_module/parameter_descriptions
/camera/tracking_module/parameter_updates
/diagnostics
/rosout
/rosout_agg
/tf
/tf_static

Darknet

YOLO v3による一般物体認識をROS上で試してみた – OGIMOノート ~家族のためのモノづくり~
を参考に darknet_ros と連携で試す。

$ cd catkin_ws2/src/darknet_ros
$ emacs darknet_ros/config/ros.yam
subscribers:

  camera_reading:
    topic: /image_raw
    queue_size: 1

actions:

  camera_reading:
    name: /darknet_ros/check_for_objects

publishers:

  object_detector:
    topic: /darknet_ros/found_object
    queue_size: 1
    latch: false

  bounding_boxes:
    topic: /darknet_ros/bounding_boxes
    queue_size: 1
    latch: false

  detection_image:
    topic: /darknet_ros/detection_image
    queue_size: 1
    latch: true

image_view:

  enable_opencv: true
  wait_key_delay: 1
  enable_console_output: true

画像の参照元をRealSenseのRGBカメラにする。

topic: /image_raw
 to
topic: /camera/color/image_raw
# D415起動 terminal 1
$ roslaunch realsense2_camera rs_camera.launch

# Darknet起動 terminal 2
roslaunch darknet_ros darknet_ros.launch

YOLOの認識結果とRealSense距離計測

YOLO v3による一般物体認識をROS上で試してみた – OGIMOノート ~家族のためのモノづくり~ によると
深度画像 は /camera/aligned_depth_to_color/image_raw で取得出来る
このtopicは align_depth:=true により拡張される

$ roslaunch realsense2_camera rs_camera.launch align_depth:=true

この引数で起動した際の ROS topic は以下のようになる

$ rostopic list
/camera/aligned_depth_to_color/camera_info
/camera/aligned_depth_to_color/image_raw
/camera/aligned_depth_to_color/image_raw/compressed
/camera/aligned_depth_to_color/image_raw/compressed/parameter_descriptions
/camera/aligned_depth_to_color/image_raw/compressed/parameter_updates
/camera/aligned_depth_to_color/image_raw/compressedDepth
/camera/aligned_depth_to_color/image_raw/compressedDepth/parameter_descriptions
/camera/aligned_depth_to_color/image_raw/compressedDepth/parameter_updates
/camera/aligned_depth_to_color/image_raw/theora
/camera/aligned_depth_to_color/image_raw/theora/parameter_descriptions
/camera/aligned_depth_to_color/image_raw/theora/parameter_updates
/camera/color/camera_info
/camera/color/image_raw
/camera/color/image_raw/compressed
/camera/color/image_raw/compressed/parameter_descriptions
/camera/color/image_raw/compressed/parameter_updates
/camera/color/image_raw/compressedDepth
/camera/color/image_raw/compressedDepth/parameter_descriptions
/camera/color/image_raw/compressedDepth/parameter_updates
/camera/color/image_raw/theora
/camera/color/image_raw/theora/parameter_descriptions
/camera/color/image_raw/theora/parameter_updates
/camera/depth/camera_info
/camera/depth/image_rect_raw
/camera/depth/image_rect_raw/compressed
/camera/depth/image_rect_raw/compressed/parameter_descriptions
/camera/depth/image_rect_raw/compressed/parameter_updates
/camera/depth/image_rect_raw/compressedDepth
/camera/depth/image_rect_raw/compressedDepth/parameter_descriptions
/camera/depth/image_rect_raw/compressedDepth/parameter_updates
/camera/depth/image_rect_raw/theora
/camera/depth/image_rect_raw/theora/parameter_descriptions
/camera/depth/image_rect_raw/theora/parameter_updates
/camera/extrinsics/depth_to_color
/camera/realsense2_camera_manager/bond
/camera/rgb_camera/auto_exposure_roi/parameter_descriptions
/camera/rgb_camera/auto_exposure_roi/parameter_updates
/camera/rgb_camera/parameter_descriptions
/camera/rgb_camera/parameter_updates
/camera/stereo_module/auto_exposure_roi/parameter_descriptions
/camera/stereo_module/auto_exposure_roi/parameter_updates
/camera/stereo_module/parameter_descriptions
/camera/stereo_module/parameter_updates
/diagnostics
/rosout
/rosout_agg
/tf
/tf_static

topicsの確認

$ rqt_image_view

RGB画像 /camera/color/image_raw
深度画像 /camera/aligned_depth_to_color/image_raw
の座標が連動している事が確認出来ます。

深度画像から距離を計算するのは次のサイトの考え方が参考になります。
ROSによる画像処理(Python, Kinect版) | ロボット理工学科 演習

YOLO v3による一般物体認識をROS上で試してみた – OGIMOノート ~家族のためのモノづくり~ のサイトにあるサンプルを実行してみます。

$ catkin_create_pkg yolo_depth rospy cv_bridge
Created file yolo_depth/CMakeLists.txt
Created file yolo_depth/package.xml
Created folder yolo_depth/src
Successfully created files in /home/max/catkin_ws2/src/yoshimax/yolo_depth. Please adjust the values in package.xml.

$ cd yolo_depth/
$ mkdir script
$ cd script
$ emacs cv_yolo_depth.py

YOLO v3による一般物体認識をROS上で試してみた – OGIMOノート ~家族のためのモノづくり~ のサイトにあるサンプルをコピーして保存します。
Person だとテストが大変なので、認識をbottleに変更して実行してみます。

# terminal 1
$ roslaunch realsense2_camera rs_camera.launch align_depth:=true
# terminal 2
$ roslaunch darknet_ros darknet_ros.launch
$ chmod 755 cv_yolo_depth.py
$ cd ~/catkin_ws2
$ source ./devel/setup.bash
$ rosrun yolo_depth cv_yolo_depth.py

結果は動画のような感じになります。

参考サイト

UbuntuでIntel Realsense D415を使えるようにするまで(ROSあり・なし両方) – Qiita
RealSense D435(距離計測カメラ) & T265(自己位置認識カメラ) をROS上で動かした – OGIMOノート ~家族のためのモノづくり~
YOLO v3による一般物体認識をROS上で試してみた – OGIMOノート ~家族のためのモノづくり~
ROSによる画像処理(Python, Kinect版) | ロボット理工学科 演習

投稿者: yoshimax

Software Engineer #Unity #iOS