search
LoginSignup
3

More than 1 year has passed since last update.

posted at

RealSense D415 を Raspberry Pi Zero W で使う

概要

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に変更。

CMake/unix_config.cmake
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側に電源供給されるか不安だったが、無事動いた。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
3