ubuntu20.04上のROS2 FoxyでRealSenseを使用する手順
はじめに
ubuntu20.04.01上のROS2 FoxyでRealSenseを使用したので、手順をまとめました。
ROS Noeticで使う方法についてはこちらにまとめてあります。
https://qiita.com/porizou1/items/be1eb78015828d43f9fb
ROS2 Foxyのインストール方法はこちらにまとめました。
https://qiita.com/porizou1/items/53053ce806304fd71f06
環境
・Ubuntu 20.04.01LTS
・Intel RealSense L515
他のRealSenseシリーズについても同様
Intel Realsense SDK のインストール
以下の公式インストール手順に従って行う。
https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md
- 公開鍵を登録
$ sudo apt-key adv --keyserver keys.gnupg.net --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE
- サーバーをレポジトリリストに登録
$ sudo add-apt-repository "deb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo focal main" -u
- ライブラリをインストール
$ sudo apt-get install librealsense2-dkms
$ sudo apt-get install librealsense2-utils
- 開発者用ツール、デバッガツールをインストール
$ sudo apt-get install librealsense2-dev
$ sudo apt-get install librealsense2-dbg
- RealSenseを接続し、以下コマンドでrealsense-viewerを起動
$ realsense-viewer
realsense-rosのインストール
ros2_intel_realsenseというパッケージがあったのですが、もうメンテナンスされていないのとL515やD455に対応していないのでrealsense-rosのROS2ラッパーを使用します。
ros2_intel_realsense
https://github.com/intel/ros2_intel_realsense/tree/master
以下READMEに従ってインストール
https://github.com/IntelRealSense/realsense-ros/tree/foxy
ワークスペースの作成
$ mkdir -p ~/ros2_ws/src
$ cd ~/ros2_ws/src/
foxy用のrealsense-rosをインストール
$ git clone https://github.com/IntelRealSense/realsense-ros.git -b foxy
$ cd ~/ros2_ws
依存パッケージをインストール
$ sudo apt-get install python3-rosdep -y
$ sudo rosdep init
$ rosdep update
$ rosdep install -i --from-path src --rosdistro $ROS_DISTRO -y
ビルド
$ colcon build
実行
RealSenseをPCのUSB3.0ポートに接続し、
ターミナルを開いて以下を実行
$ source ros2_ws/install/local_setup.bash
$ ros2 launch realsense2_camera rs_launch.py
最後に以下のようなメッセージが出ていれば成功です。
[realsense2_camera_node-1] [INFO] [1611382613.824492586] [RealSenseCameraNode]: RealSense Node Is Up!
rviz2で画像の表示
別のターミナルを開いて以下のコマンドでrviz2を起動します。
$ rviz2
RGB画像の表示
- Fixed Frameをcamera_color_optical_frameに変更
- 左下の「Add」ボタンを押して
By display type
からImage
を選択してOKを押す - 左側
Image
タブのTopic
を「/camera/color/image_raw
」に変更 -
Reliability Policy
をReliable
からBest Effort
に変更
画像が表示されれば成功です。
Depth画像は同様に「Add」ボタンでImageを追加してTopic名を「/camera/depth/image_rect_raw」にします。
rqt_image_viewで画像を表示
デフォルトのrs_launch.pyの設定では画像トピックのQoS設定がSENSOR_DATA
になっており、このままではrqtで画像を表示できないので、rs_launch.pyの中身を書き換えます。
launchファイル最初にconfigurable_parameters
という項目があるので、その中のQoS設定を書き換える。
RGB画像の場合はcolor_qos
をデフォルトのSENSOR_DATA
からDEFAULT
に変更。
{'name': 'color_qos', 'default': 'DEFAULT', 'description': 'QoS profile name'},
{'name': 'confidence_qos', 'default': 'SENSOR_DATA', 'description': 'QoS profile name'},
{'name': 'depth_qos', 'default': 'SENSOR_DATA', 'description': 'QoS profile name'},
{'name': 'fisheye_qos', 'default': 'SENSOR_DATA', 'description': 'QoS profile name'},
{'name': 'infra_qos', 'default': 'SENSOR_DATA', 'description': 'QoS profile name'},
実行
$ ros2 launch realsense2_camera rs_launch.py
rqt_image_viewを起動
$ ros2 run rqt_image_view rqt_image_view
左上のトピック一覧から/camera/color/image_raw
を選択して画像が表示されればOK
rviz2でPointCloudを表示させる
rs_launch.pyのデフォルトではPointCloud2
トピックをPublishする設定が無効になっているので、launchファイルのconfigurable_parameters
を書き換えます。
enable_pointcloud
という項目を探してデフォルトのfalseからtrueに変更。
{'name': 'enable_pointcloud', 'default': 'true', 'description': 'enable pointcloud'},
実行して別のターミナルでrviz2を起動
$ ros2 launch realsense2_camera rs_launch.py
$ rviz2
- Fixed Frameを
camera_link
に変更 - 左下の「Add」ボタンを押して
By display type
からPointCloud2
を選択してOKを押す - 左側
PointCloud2
タブのTopic
を「/camera/depth/color/points
」に変更
rvizにPointCloudが表示されれば成功です
参考
Author And Source
この問題について(ubuntu20.04上のROS2 FoxyでRealSenseを使用する手順), 我々は、より多くの情報をここで見つけました https://qiita.com/porizou1/items/92b8cfacdacda4aa0dee著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .