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

 
 

TurtleBot3-プリンターで印刷可能なロボティスク入門機

ロボティクス入門として、ROS入門機として定番のTurtleBotシリーズに新しくTurtleBot3が加わります。

TurtleBot3とは?

ROSの管理団体であるOpen RoboticsとROBOTISが共同開発しているROS対応のモジュラータイプロボットシステム「Turtlebot3」シリーズです。現在ワッフルとバーガーという2種類が販売されるようです。
2017/6/1から購入可能になるようですね。5月は教育機関向けアーリーバードを販売中でした。そちらは既に完売済。

TurtleBot3の特徴

TurtleBot3は教育、研究、製品開発向けの小型ロボットです。

オープンソースソフトウェア及びオープンソースハードウェア

TurtleBot3はオープンソースのロボット用ソフトウェアであるROS上で動きます。ハードウェアもすべてオープンになっていて、ロボットを構成するパーツのCAD情報が全てインターネット上で閲覧できます。ですから今すぐあなたの3Dプリンターでパーツを印刷してロボットを組み上げることも可能です。メインコントローラーボードのOpenCRもオープンであり、設計が公開されています。
そのため、その気になれば全て自分で作成して、ソフトウェアをインストールし、動かしてみるということが可能です。メインコントローラーボードの基盤を基板屋さんで作ってもらって自分でハンダ付けすればカスタマイズした基盤だって作れます!

カスタマイズ可能

TurtleBot3は自由にカスタマイズ可能です。ワッフルというベース部品を自由に組み合わせることでいろいろな形のロボットを作成することができます。既に販売が決まっているワッフルとバーガーというタイプの他にも「フレンズ」と言う、車、マニュピレーター、セグウェイ、運搬車、モンスター、タンク、オムニホイール、メカナム、バイク、トレイン、亀ロボット、キャリアといった12種類の形状、設計の違うロボットが用意されています。
それらフレンズ達の部品データもCADデータが公開されているため、プリンターで印刷可能です!

価格

気になる価格はバーガーが5万4千円、ワッフルが17万円です。