RealSenseはIntel社が発売しているデプスカメラで、小型にも関わらず高解像度・高フレームレートであることが特長として挙げられます。

2020年4月現在では、D435とD435iのモデルが最新版になっています。この2つの違いとしては、D435iの方が慣性測定ユニット(IMU)が搭載されており、位置推定や3Dマップ生成などに用いることができます。後々位置推定等を行う予定があるのであれば、D435iにしておいた方が良いと考えられます。

RealSense

ROS2とRealSenseのラッパーをインストール

ROS2は、自己位置推定、物体認識等、ロボットアプリケーションのライブラリやツールを提供するROS(Robot Operating System)の次世代バージョンです。RealSenseもROS2のラッパーを提供しています。

https://github.com/intel/ros2_intel_realsense

スペック

  • Jetson Nano
  • Ubuntu 18.04
  • ROS2 Dashing

ROS2をインストール

基本的に、上記レポジトリの方法に従えばインストールが可能です。特に注意すべき点は無く、公式に従えば問題なくインストールできるはずです。

https://index.ros.org/doc/ros2/Installation/Dashing/Linux-Install-Debians/

こちらにしたがってROS2 dashingをインストールしましょう。バージョンリストを見るとDashing DiademataがLTS(Long Time Support)のようで、EOLは2021年5月です。

2020年4月時点でのROS2バージョン情報

ros2_intel_realsenseをインストール

https://github.com/intel/ros2_intel_realsense

こちらも上記のREADMEに従ってインストールをすれば特に問題なくインストールすることができるかと思います。インストール後、下記コマンドを実行して動作確認をしましょう。

ros2 run rviz2 rviz2 -d realsense_ros2_camera/rviz/ros2.rviz

1つ目のコンソールで上記コマンドを実行してRVizというROSの可視化ツールを起動させます。

ros2 run realsense_ros2_camera realsense_ros2_camera

2つ目のコンソールで上記コマンドを実行してRealSenseのノードを立ち上げた後、RVizを確認すると、下記のように5つのストリームが表示されていれば正常に動作できています。

RVizでのストリーム再生

 

起動時の注意点

インストール後に起動をさせようとしたときにいくつかハマった点がありましたので、注意点として挙げさせていただきます。

RVizのストリームが起動しない

source /opt/ros/dashing/setup.bash
source ~/ros2_ws/install/local_setup.bash
# console #1 launch rviz2
ros2 run rviz2 rviz2 -d realsense_ros2_camera/rviz/ros2.rviz

上記コマンドで、color, depth, infra1, infra2, pointcloudの5つのストリームが起動するはずなのですが、うまく起動しませんでした。これはRViz側の設定である、ros2.rvizがうまく読み込まれていないことが原因でした。うまくパスが通っていないのでしょうか・・

ros2.rviz自体は、レポジトリ に記載の方法でインストールをしていれば下記のパスにあるはずです。

~/ros2_ws/src/ros2_intel_realsense/realsense_ros2_camera/rviz/ros2.rviz

そのため、下記のように指定すれば見れるようになるかと思います。

ros2 run rviz2 rviz2 -d ~/ros2_ws/src/ros2_intel_realsense/realsense_ros2_camera/rviz/ros2.rviz

起動時にWARNが出てうまく表示されない

ros2 run realsense_ros2_camera realsense_ros2_camera

上記のコマンドを実行した時にWARNが出た上、RViz上でいくつかのストリームがうまく表示されない事象が発生しました。

[WARN] [RealSenseCameraNode]: Given stream configuration is not supported by the device!
[WARN] [RealSenseCameraNode]: Stream: Infrared, Format: 9, Width: 640, Height: 480, FPS: 30

これは、接続する時にUSB2系を使っていたことが原因でした・・付属のUSB3.1ケーブルを使ったところ正常に表示されました。

Related Posts

アルミフレームを用いてロボットの筐体を作る
アルミフレームを用いてロボットの筐体を作る
アルミフレームのすすめ ロボット製作やDIYをするとき、筐体はどのように作っていますか? 本記事では、多少大きく直線の多い筐体を作るときにとても便利なアルミフレームを紹介します。 上図は左から2020と2040のアルミフレームです。...
Read More
DCモータコントローラの比較!モータに合ったコントローラを選ぼう
DCモータコントローラの比較!モータに合ったコントローラを選ぼう
DCモータを自分で制御しようとするとHブリッジ回路から自作しなければならず、大きな手間がかかってしまいます。特に走行するロボットを製作するような、複数のDCモータを制御しなければならない場合には、あまりDCモータの制御を1から構築した...
Read More
DM542を使ってステッピングモータをArduinoで動作させる
DM542を使ってステッピングモータをArduinoで動作させる
動画による解説はこちら ステッピングモータコントローラ DM542を使ってステッピングモータを動作させる方法について解説をしていきます。   分解能(ステップ角)について 分解能とは1回のパルス波で何度回転するか、といった指標になり...
Read More

サイトについて

RoboStationは誰でも手軽にロボットを製作できるようにすることを目的としたEC・ハウツーサイトです。