#概要
RealSense D415 を Raspberry Pi Zero W で駆動させることができた。
librealsenseをビルドするときに、FPUをneonからvfpに修正する必要があった。
また、サンプルプログラムにOpenCVを使用したが、librealsenseのビルド前にlibopencv-devをインストールしないとビルドに失敗した。
#ビルド手順
基本的な手順はこちらのRaspberry Pi 4 へのインストール記事を参照した。
https://qiita.com/nv-h/items/3bd206bebf9303dd6624
##OpenCVのインストール
詳細は未調査だが、librealsenseのビルドが途中でフリーズする問題が発生していたが、サンプルプログラム作成に使っていたOpenCVのインストールをビルド前に行ったらなぜか解消した。
sudo apt install libopencv-dev
##librealsenseのビルド
上記記事のとおりにlibrealsenseをそのままビルドすると、ビルドは成功するものの、examples/hello-realsense
などを実行するとIllegal instruction
というエラーを吐いて落ちる。
###FPUの設定変更
RasPi Zeroはneonが無いが、arm系の環境ではFPUにNeonが設定されることが原因のようだった。
そこで、CMake/unix_config.cmake
の11行目付近の-mfpu=neon
を-mfpu=vfp
に変更。
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfpu=vfp -mfloat-abi=hard -ftree-vectorize -latomic")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpu=vfp -mfloat-abi=hard -ftree-vectorize -latomic")
この状態で再度cmakeおよびmakeすると、examples/hello-realsense
が正常動作した。
#おまけ
せっかくコンパクトな実行環境なので、短いケーブルでRasPiとD415を直結しようと思ってMicro-B(OTG) to Type-CのUSBケーブルを探したら、Amazon Basicのケーブルがヒットした。Micro-B側がOTGになるかどうか、Micro-B側からType-C側に電源供給されるか不安だったが、無事動いた。