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