Intel Realsenseを動かしてみよう #1
1. はじめに
ロボットの状況認識や顔認識機能にはデプスカメラというものが用いられています。通常のカメラは風景を平面的に取得するのみですが、デプスカメラは、通常のカメラに加えて、深度センサを内蔵し、カメラが映す対象物までの距離(奥行情報)を取得、活用することができるカメラです。有名なものにはMicrosoftのkinectなどがあります。またiphoneにも、TrueDepthカメラと呼ばれる顔認証機能などを備えたデプスカメラが搭載されています。ロボットに搭載されるようなものになると、深度センサに加えてさらに赤外線センサや温度計なども搭載されるようです。
本稿では、デプスカメラの一つであるIntel Realsense depth camera D435について、いくつかの環境で動かしてみた結果をまとめています。第1部では、Realsense viewerによるカメラ映像確認と、ROSの機能を利用した映像確認を、Windows10, Ubuntu18.04(x86 PC, ARM Raspberry Pi 4),Raspbian(ARM Raspberry Pi 4)で実施した結果を報告いたします。
2. Intel Realsense デプスカメラとは
Intel社から販売されているデプスカメラ(深度カメラ)の一つです。IntelのD400シリーズは通常のカメラとしての映像出力に加えて、カメラ内での深度計算を行え、また3D情報を取得し利用することができます。開発にはオープンソースのSDKがあり、これはC言語やpython、ROSなどに対応しています。カメラ自体の大きさが90mm×25mm×25mmと小さく、ロボットなどへの搭載も容易に行えそうです。
詳細なスペックはIntelのWebサイトにあります。
3. Intel Realsense を動かしてみよう(基本編)
まず、IntelRealsenseのWebページに記載されているGet-startedの手順に従って、realsense-viewerを用いたD435のカメラ映像確認を行ってみます。
1.カメラの接続
D435と、PCやRaspberry Pi 4の接続には、付属のUSB-Cケーブルを使用します。
2.Realsense Viewerのインストールと起動
2.1 Windows10(Note PC)
GithubからIntel.Realsense.Viewer.exeをインストールします。
インストールした.exeファイルを実行すると、Intel Realsense Viewerが起動します。
2.2 Ubuntu 18.04
Ubuntuでは次の手順に従い、Intel Realsense SDKをインストールすることで
realsense-viewerが使用できるようになります。
・公開鍵を登録します。
# sudo apt-key adv –keyserver keys.gnupg.net –recv-key \ |
・サーバをリポジトリのリストに登録します。
# sudo add-apt-repository “deb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo bionic main” -u |
・ライブラリをインストールします。
# sudo apt-get install librealsense2-dkms |
・デバッグパッケージをインストールします。
# sudo apt-get install librealsense2-dev |
ここまでの手順を完了したら、端末を起動し、
# realsense-viewer |
を実行することで、realsense-viewerが起動します。
2.3 Raspberry Pi 4 (Raspbian)
Raspberry Pi 4の端末を起動し、次の手順を実行します。
・パッケージのインストールを行います。
# sudo apt update && sudo apt upgrade |
・Intel RealSense SDKのインストールとビルドを行います。
# git clone https://github.com/intelrealsense/librealsense |
・OpenGLを有効にします。
# sudo raspi-config |
7 Advanced Options → A8 GL Driverを選択します。
G2 GL (Fake KMS)を選択します。
configを終了し、Raspberry Pi 4を再起動します。
・Realsense Viewerの起動
以下のコマンドを実行することで、Realsense Viewerを起動できます。
# cd librealsense/build |
または
# realsense-viewer |
3.Realsense Viewerの操作
Realsense Viewerの操作は各環境で共通です。
カメラが接続されていれば、RealSense Viewerのウィンドウ左側にカメラの状態が表示されます。
「Stereo Module」をONにすると、深度情報を映像として出力します。カメラの近くにあるものは青色、遠くにあるものは赤色で表現されています。
「RGB Camera」をONにすると、通常のカメラ映像を確認できます。「Stereo Module」と同時に確認することもできます。
画面右上の「3D」をクリックすると、深度情報を3次元的に出力できます。
4. Intel Realsense を動かしてみよう(応用編)
応用編として、ROSでD435を利用する方法について記載します。
1.Ubuntu18.04(x86 VM Virtualbox)
1.1 Intel RealSense SDKインストール
まず、RealSense SDKをインストールします。基本編でインストールした際と
同様の手順を実行します。
1.2 ROS Distributionのインストール
http://wiki.ros.org/melodic/Installation/Ubuntuを参考に、以下の手順で
UbuntuにROS Melodicをインストールします。
# sudo sh -c ‘echo “deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main” > \ |
1.3 Realsense ROSのインストール
Intel® RealSense™ ROS をインストールします。
・ros用ワークスペースを作成します。
# cd ・rosをgithubからクローンします。 |
・ddynamic_reconfigureをクローンします。
# git clone https://github.com/pal-robotics/ddynamic_reconfigure |
・ビルドとインストールを行います。
# catkin_init_workspace |
1.4 RGBカメラ映像の確認
(参考: https://qiita.com/kei_mo/items/c0387b7d277948451881)
・Image_viewをインストールします。
# sudo apt install ros-melodic-image-view |
・以下のコマンドをそれぞれ別々の端末で実行します。
# roslaunch realsense2_camera rs_camera.launch |
RGBカメラの映像が、image_viewウィンドウから確認できます。
1.5 depthカメラ映像の確認
・パッケージをインストールし、再度ビルドします。
# cd ~/catkin_ws |
・以下のコマンドを別々の端末で実行します。
# roslaunch realsense2_camera rs_rgbd.launch |
rvizウィンドウが開いたら、ウィンドウ左側の設定を変更します。
・Fixed Frameをcamera_linkに設定
・「Add」をクリックして、”PointCloud2″を追加
・”PointCloud2″タブのTopicを、”/camera/depth_registered/points”に変更
以上を行うと、画面にカメラからの3D情報が出力されます。
4.2 Raspberry Pi 4(Ubuntu 18.04.4)
Raspberry Pi 4でUbuntuを動作させたい場合、rpi-imagerではserver版しかインストールできません。
そのため、非公式のdesktop版Ubuntuをインストールして動作を確認しました。
イメージインストール手順は別紙)
2.1 Intel RealSense SDKインストール
以下の手順は、RaspbianにIntel Realsense SDKをインストールする手順と
ほとんど同じです。
・パッケージのアップデートとインストール
# sudo apt update && sudo apt upgrade |
・SDKのインストールとビルド
# git clone https://github.com/intelrealsense/librealsense |
・OpenGLを有効にする
# sudo raspi-config |
raspi-configが実行されます。
7 Advanced Options → A7 GL Driverを選択します。
G2 GL (Fake KMS)を選択します。
設定が終わったらraspi-configを終了し、再起動します。
2.2 ROS Distributionのインストール
Ubuntu18.04(x86 VM Virtualbox)と同様の手順を実行します。
2.3 Realsense ROSのインストール
Ubuntu18.04(x86 VM Virtualbox)と同様の手順を実行します。
2.4 RGBカメラ映像の確認
# sudo apt install ros-melodic-image-view |
・以下のコマンドをそれぞれ別々の端末で実行します。
# roslaunch realsense2_camera rs_camera.launch |
2.5 depthカメラ映像の確認
・パッケージをインストールし、再度ビルドします。
# cd ~/catkin_ws |
・以下のコマンドを別々の端末で実行します。
# roslaunch realsense2_camera rs_rgbd.launch |
3.Raspberry Pi 4(Raspbian)
Raspbian BusterへのROSインストールを試しましたが、映像確認ができませんでした。
試した手順を記載します。
3.1 Intel Realsense SDKのインストール
(RealSense Viewerをインストールした際に既にインストールされています。)
3.2 ROS Distributionのインストール
(http://wiki.ros.org/ROSberryPi/Installing%20ROS%20Melodic%20on%20the%20Raspberry%20Pi)
・ROSリポジトリを設定します。
# sudo sh -c ‘echo “deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main” > /etc/apt/sources.list.d/ros-latest.list’ |
・以下のパッケージをインストールします。
# sudo apt install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake |
・rosdepを初期化します。
# sudo rosdep init |
・ros用のcatkinワークスペースをホームディレクトリに作成します。
# mkdir -p ~/ros_catkin_ws |
・rvizなどのGUIツールを使用する場合は以下を実行します。
# rosinstall_generator desktop –rosdistro melodic –deps –wet-only –tar > melodic-desktop-wet.rosinstall |
・依存関係を適切に設定します。
# cd ~/ros_catkin_ws |
・catkin_make_isolatedを呼び出してビルドします。
# sudo ./src/catkin/bin/catkin_make_isolated –install -DCMAKE_BUILD_TYPE=Release –install-space /opt/ros/melodic |
・シェル起動時にROSの環境変数が自動的に設定されるようにします。
# source /opt/ros/melodic/setup.bash |
3.3 Realsense ROSのインストール
Ubuntu18.04(x86 VM Virtualbox)へのインストールと同様の手順を実行しました。
3.4 確認状況
映像確認のためのツールであるimage_viewがインストールできず、映像を確認できません。
rvizはインストールされますが、rgbd-launchがインストールできず、結果として
depthカメラの映像を確認できませんでした。
5. まとめ
映像確認結果のまとめは次の通りです。
(映像確認結果) |
Windows10 (NotePC) |
Ubuntu 18.04 (Desktop x86) |
Raspbian (Raspberry Pi 4) |
Ubuntu 18.04 (Raspberry Pi 4) |
Ubuntu 18.04 (Raspberry Pi 4) |
Intel Realsense SDK |
〇 |
〇 |
〇 |
〇 |
〇 |
ROS |
– |
〇 |
× |
〇 |
〇 |
Ubuntu環境であればカメラの映像確認は問題なく行えることがわかりました。
第2部では、Advantech社のArm搭載ボードに対してカメラ接続、使用を試します。