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