Ubuntu16.04にROS kineticインストールとD435iでSLAMのサンプル動作まで

自分の作業メモです
 

リアルセンスのドライバアップデート

書き込みexeをダウンロードするために下記リンクに行き、左枠にあるダウンロードをクリック
Download Windows* Device Firmware Update Tool for Intel® RealSense™ D400 Product Family
次にファームウェアの最新をダウンロードしてくる
Downloads for Intel® RealSense™ Depth Camera D435i

1, D435iを接続する
2, ダウンロードした両方のファイルを解凍し、同じフォルダに入れる
3, intel-realsense-dfu.exeを起動
4, [2][Enter]を押して現在の接続されたカメラとFWバージョンを確認(4だとすべてのカメラを確認できる)
5, [1][Enter]を押して書き込みモードにする
6, 再度[1]を押す
7, 相対パスの[.\Signed_Image_UVC_5_12_3_0.bin]を記入(適宜バージョン書き換え)
8, 書き込みが終わると何かキーを押せと言われるので何か押す
9, [2][Enter]を押して現在の接続されたカメラとFWバージョンを確認(4だとすべてのカメラを確認できる)
バージョンが書き換わったことを確認して終わり
 

リアルセンスインストール

自分のカーネルバージョンを確認する

 2020/4/29現在
  Ubuntu LTSカーネル4.4、4.8、4.10、4.13、4.15、4.18 * 5.0 *および5.3 *をサポートしています。

uname -r

 サポート対象かを確認する
 

パッケージのインストール

 サーバーの公開鍵を登録

sudo apt-key adv --keyserver keys.gnupg.net --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE
リストに追加
sudo add-apt-repository "deb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo xenial main" -u

 もし「AppStream cache update completed, but some metadata was ignored due to errors.」が出たら
 ここを参考にする
 Ubuntu 16.04 LTSの“AppStream cache update completed, but some metadata was ignored due to errors.”を直す : りんご便り

ライブラリンストール
sudo apt-get install librealsense2-dkms=1.3.1-0ubuntu3
sudo apt install librealsense2-utils

 

ROS kineticインストール

(一応上から入れていけばリアルセンスが動作することを確認してますが、本当はリアルセンスのライブラリを最初に入れないといけないかも?) 

まずsources.listを設定

 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-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

アップデートして最新に

sudo apt-get update

とりあえずrosのパッケージがインストール可能か見てみる

apt-cache search ros-kinetic

デスクトップフルインストール:(推奨):
 (ROS、rqt、rviz、ロボット汎用ライブラリ、2D / 3Dシミュレータ、ナビゲーション、2D / 3D知覚)

sudo apt-get install ros-kinetic-desktop-full

fullじゃなくてもいいならこちら
(デスクトップインストール: ROS、rqt、rviz、およびロボット汎用ライブラリ
 sudo apt-get install ros-kinetic-desktop

ROS初期化

sudo rosdep init
rosdep update

環境設定

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

パッケージをビルドするための依存関係

sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
roscore

で実行できたらok

リアルセンスでSLAMする準備

sudo apt-get install ros-kinetic-realsense2-camera

imu_filter_madgwick:

sudo apt install ros-kinetic-imu-filter-madgwick

rtabmap_ros:

sudo apt install ros-kinetic-rtabmap-ros

robot_localization:

sudo apt install ros-kinetic-robot-localization

D435iを接続して起動確認

roslaunch realsense2_camera opensource_tracking.launch

画面が起動して表示開始するか確認




「参考」
SLAM with D435i · IntelRealSense/realsense-ros Wiki · GitHub

GitHub - IntelRealSense/realsense-ros: Intel(R) RealSense(TM) ROS Wrapper for D400 series, SR300 Camera and T265 Tracking Module