Ubuntu Mate 18.04 on Raspberry Pi 4 Model BでD435iの動作確認をする
前準備
Swap領域の拡張
搭載メモリ2GB版Raspberry Pi 4ではビルド中にフリーズするので、Swap領域を拡張しておく。
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo sh -c 'echo "/swapfile\tnone\tswap\tsw\t0\t0" >> /etc/fstab'
pythonコマンドのデフォルトをPython3に変更
Python2系は使わない方針なので、システムのPythonのデフォルトをPython3系になるように設定する。
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2
sudo update-alternatives --config python
There are 2 choices for the alternative python (providing /usr/bin/python).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/python3.6 2 auto mode
1 /usr/bin/python2.7 1 manual mode
2 /usr/bin/python3.6 2 manual mode
Press <enter> to keep the current choice[*], or type selection number: 2
D435iの動作確認
aptでお手軽にlibrealsense2をインストールする方法だと、距離画像と姿勢は取得できたものの、RGBカラー画像が取得できなかった。
https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md
librealsenseのビルドとインストール
ビルドに必要とされるもの一式を、インストールしておく。
sudo apt install git libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev
sudo apt install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev
IntelのGitHubレポジトリからlibrealsenseをクローンしてきて、ビルドする。
cd ~
git clone https://github.com/IntelRealSense/librealsense
git checkout -b v2.34.0 refs/tags/v2.34.0
cd librealsense
mkdir build
cd build
cmake ../ -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=true -DBUILD_GRAPHICAL_EXAMPLES=true
sudo make uninstall && make clean && make -j 4 && sudo make install
執筆時点ではv2.34.0以降だと、このあとにpyrealsense2を使おうとすると、インストールはされるのにうまく動かなかったので、v2.34.0でチェックアウトした。
https://github.com/IntelRealSense/librealsense/issues/6820
また、SDカードのSwap領域にSwapoutするためか、ビルドにはかなり時間がかかった(約3時間)。
udevの設定をコピーして、反映させる。
sudo cp ../config/99-realsense-libusb.rules /etc/udev/rules.d/99-realsense-libusb.rules && sudo udevadm control --reload-rules && udevadm trigger
RealSense Viewerを起動する。
realsense-viewer
"Stereo Module"、"RGB Camera"、"Motion Module"のそれぞれの右側にある"off"を、ポインティングデバイスでクリックして、"on"にする。
以下のような表示になれば、動作確認完了。
当初、v2.36.0のrealsense-viewerで確認をしていて、起動直後にファームウェアの更新がかかっていたせいかもしれないが、v2.34.0のrealsense-viewerで起動直後に"Invalid Value in rs2_get_option"Warningのダイアログが出たり、常に"Failed to read busnum/devnum."が出力されたりする。
pyrealsense2のビルドとインストール
sudo apt install python-dev
cmake ../ -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=true -DBUILD_GRAPHICAL_EXAMPLES=true -DBUILD_PYTHON_BINDINGS=true -DPYTHON_EXECUTABLE=$(which python3)
make -j 4 && sudo make install
echo 'export PYTHONPATH=$PYTHONPATH:/usr/local/lib' >> ~/.bashrc
source ~/.bashrc
ここでも、SDカードのSwap領域にSwapoutするためか、ビルドにはかなり時間がかかった(約1-2時間)。
Pythonのサンプルコードを実行して、動作確認をする。
pip opencv-python
cd ../wrappers/python/examples
python align-depth2color.py
以下のような表示になれば、動作確認完了。
距離閾値よりも遠くにあるピクセルがグレーで塗りつぶされて、手前の物体の描画が残るようになっている。
参考サイト
https://demura.net/education/17957.html
https://codechacha.com/ja/change-python-version/
https://qiita.com/nv-h/items/3bd206bebf9303dd6624
Author And Source
この問題について(Ubuntu Mate 18.04 on Raspberry Pi 4 Model BでD435iの動作確認をする), 我々は、より多くの情報をここで見つけました https://qiita.com/yohama/items/0a3c1f7ce0ae831abb1d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .