4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Jetson AGX Xavier上でrealsenseD455を動かしてみた(ROS対応)

Last updated at Posted at 2020-10-29

経緯

realsenseD455をJetson AGX Xavier上で動かす機会があったので、そのときの手順をまとめてみました。ネットでは、D435かD435iのセットアップ方法が多く、D455がほとんどなかったため少し手間取りました。今回は、librealsenseを入れた後にrealsense-rosも入れる手順を紹介します。

環境

  • Jetson AGX Xavier 16GB
  • Jetpack 4.3
  • cuda 10.0
  • ROS melodic
  • cmake 3.17.1(jetsonのデフォルトの3.10からアップデートする必要があります。より新しいバージョンでも構いません。)
    cmakeのアップデートにはこちらの記事を参考にしました。

librealsenseとpyrealsenseのセットアップ

こちらの記事を参考にして、セットアップを進めました。

$ git clone https://github.com/JetsonHacksNano/installLibrealsense
$ cd installLibrealsense
$ sh ./installLibrealsense.sh

$ vi ./buildLibrealsense.sh
------------以下のように変更------------
# D455をサポートしているバージョンに変更する
LIBREALSENSE_VERSION=v2.31.0
→ LIBREALSENSE_VERSION=v2.38.1

"time "(コマンド) を消す。おそらく2箇所ほどあります。

# Python3用のライブラリを出力させる(デフォルトではpython(Python2.7)用が出力されてしまう)
/usr/bin/cmake ../ -DBUILD_EXAMPLES=true -DFORCE_LIBUVC=true -DBUILD_WITH_CUDA="$USE_CUDA" -DCMAKE_BUILD_TYPE=release -DBUILD_PYTHON_BINDINGS=bool:true
→ /usr/bin/cmake ../ -DBUILD_EXAMPLES=true -DFORCE_LIBUVC=true -DBUILD_WITH_CUDA="$USE_CUDA" -DCMAKE_BUILD_TYPE=release -DBUILD_PYTHON_BINDINGS=bool:true -DPYTHON_EXECUTABLE=/usr/bin/python3
--------------------------------------

$ sh ./buildLibrealsense.sh
$ sudo cp /usr/local/lib/python3.6/pyrealsense2/py* /usr/local/lib

$ realsense-viewer

D455を繋いでrealsense-viewerとコマンドを打ったあとに、GUI上にrealsenseが取得したRGBデータなどが表示されれば成功です。次は、realsense-rosのセットアップです。

realsense-rosのセットアップ

基本的にはこちらの記事を参考にしてセットアップを進めました。ROS melodicが入っている前提です。もし、ROSのバージョンが違う場合は、こちらで自分の環境に合うrealsense-rosのバージョンを探してください。今回のrealsense-rosのバージョンは2.2.17です。まずは下の手順通りにコマンドを実行します。

$ cd ~/catkin_ws/src
$ git clone https://github.com/IntelRealSense/realsense-ros
$ cd realsense-ros
$ git checkout -b 2.2.17 2.2.17
$ cd ..
$ git clone https://github.com/pal-robotics/ddynamic_reconfigure.git
$ catkin build
$ source ~/.bashrc

次に下のコマンドを実行してください。

$ roslaunch realsense2_camera rs_camera.launch

もう一つターミナルを開いて、下のコマンドを実行してください。

rosrun rqt_image_view rqt_image_view

出てきたGUIの左上のタブをimage_rawに選択して、RGBデータが表示されれば成功です。
Screenshot from 2020-10-28 22-57-18.png

実行時に下のようなエラーが出る場合があります。

[ERROR] [1603862632.781403908]: Skipped loading plugin with error: XML Document '/opt/ros/melodic/share/rqt_virtual_joy/plugin.xml' has no Root Element. This likely means the XML is malformed or missing..
RosPluginProvider._parse_plugin_xml() plugin file "/opt/ros/melodic/share/rqt_virtual_joy/plugin.xml" in package "rqt_virtual_joy" not found
RosPluginProvider._parse_plugin_xml() plugin file "/opt/ros/melodic/share/rqt_virtual_joy/plugin.xml" in package "rqt_virtual_joy" not found

その場合は、こちらの手順に従います。具体的には、以下の通りです。

$ git clone https://github.com/aquahika/rqt_virtual_joystick.git
$ cd rqt_virtual_joystick
$ mv plugin.xml /opt/ros/melodic/share/rqt_virtual_joy

rqt_virtual_joystickのplugin.xmlがないと言っているので、githubから落としてきたものを移動させています。これで、もう一度ノードを起動すれば大丈夫なはずです。

まとめ

D455は、depth情報を取得できる距離などが遠くなったりしているらしいのですが、自分が思う最大の改善点は、土台の足がしっかりしたことだと思います(笑)。

4
3
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?