ROS Wrapper 2.0 for Intel RealSense Devices (build 2.1.0)を D435で使用する

まず情報源ですが、ことのおりやればOKです。ただし今回はタイミング悪く、最新バージョンがリリースされてしまってうまくいかないという罠にはまりましたので、手順を残しておきます。
https://github.com/intel-ros/realsense
インストールするものは

  1. LibRealsense
  2. RealsenseのROSラッパー

の順ですが、先に、「RealsenseのROSラッパー」を確認します。
https://github.com/intel-ros/realsense/releases
で、ROSラッパーの条件を確認します。
現在の最新は2.1.0です。
https://github.com/intel-ros/realsense/releases/tag/2.1.0
上記のURLを見ると、2.1.0に必要な libRealSense のバージョンはv2.16.1だと書いてあります。
なので、
https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md
を見ながらlibRealSenseをインストールすのですが、この通りやると、現在の最新(執筆時点では2.16.2)がインストールされてしまいます。そこで次のように2.16.1をバージョン指定してインストールします。
※もし、2.16.2をインストールしてROSラッパーの2.1.0をビルドすると、次のエラーが出ちゃいます。これで3時間は無駄な時間を費やしました。

CMake Error at /usr/lib/x86_64-linux-gnu/cmake/realsense2/realsense2Targets.cmake:84 (message):
The imported target "realsense2::tm" references the file
"/usr/lib/x86_64-linux-gnu/libtm.a"
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
"/usr/lib/x86_64-linux-gnu/cmake/realsense2/realsense2Targets.cmake"
but not all the files it references.
Call Stack (most recent call first):
/usr/lib/x86_64-linux-gnu/cmake/realsense2/realsense2Config.cmake:33 (include)
realsense2_camera/CMakeLists.txt:35 (find_package)
-- Configuring incomplete, errors occurred!
See also "/home/hiroakikaneda/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/hiroakikaneda/catkin_ws/build/CMakeFiles/CMakeError.log".

上のようなエラーが出たら、ROSラッパーのバージョンと、それに対応しているlibrealsenseがちゃんとインストールできているかバージョン整合性を確認してみて下さい。
インストールは次の手順で行います。

sudo apt-key adv --keyserver keys.gnupg.net --recv-key C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key C8B3A55A6F3EFCDE
sudo add-apt-repository "deb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo xenial main" -u
sudo apt-get update
sudo apt-get install -y librealsense2=2.16.1-0~realsense0.88
sudo apt-get install -y librealsense2-dkms
sudo apt-get install -y librealsense2-utils=2.16.1-0~realsense0.88
sudo apt-get install -y librealsense2-dev=2.16.1-0~realsense0.88
sudo apt-get install -y librealsense2-dbg=2.16.1-0~realsense0.88

 
次に、ROSラッパー(ROS Wrapper 2.0 for Intel® RealSense™ Devices (build 2.1.0))をインストールします。
https://github.com/intel-ros/realsense
の手順に従うだけです。ただし、私の場合は既にROSがインストールされておりwork spaceも設定済みだったので、以下のように手順を変更しています。

cd ~/catkin_ws/
wget https://github.com/intel-ros/realsense/archive/2.1.0.tar.gz -O realsense-2.1.0.tar.gz
tar xzvf realsense-2.1.0.tar.gz
catkin_make clean
catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release --source realsense-2.1.0
catkin_make install --source realsense-2.1.0
#ビルドした結果が~/catkin_ws/installに配置されますので、パスを通します。
echo "source ~/catkin_ws/install/setup.bash" >> ~/.bashrc
#installが不完全なので、足りないファイルは手でインストールします。
cp -r realsense-2.1.0/realsense2_camera/cfg install/share/realsense2_camera/
cp -r realsense-2.1.0/realsense2_camera/meshes install/share/realsense2_camera/
cp -r realsense-2.1.0/realsense2_camera/scripts install/share/realsense2_camera/
cp -r realsense-2.1.0/realsense2_camera/urdf install/share/realsense2_camera/
#ビルド後のソースコードは不要なので削除して、ビルドしなおし、realsense-2.1.0フォルダもキレイに消去します
rm -rf realsense-2.1.0
rm -rf build
rm -rf devel
catkin_make clean
catkin_make
#反映
source ~/.bashrc
#installにパス通ったか確認してみる
echo $ROS_PACKAGE_PATH

 
 
これで、realsenseのrosラッパーをビルドして 、~/catkin_ws/installの中にインストールし、パスを通すことができていると思います。
テスト実行してみます。
 

sudo apt-get install ros-kinetic-rgbd-launch
roslaunch realsense2_camera rs_camera.launch

 
 

上部へスクロール