えいあーるれいの技術日記

ROS2やM5 Stack、Ubuntuについて書いています

RealSenseを接続しているのにpipelineをオープンできないトラブル(librealsense・RaspberryPi)

librealsenseのビルドオプションについて注意すべきところがあったのでメモ


RealSenseをサポート外のOSで使用する場合は自分でビルドする必要があります。

私はRaspberryPi OS BullseyeとUbuntu22向けにビルドしています。


以前ビルドしていたRaspi向けのlibrealsenseではpyrealsense2が含まれていなかったので再度ビルドしてインストールを行なったところ、USBにRealSenseを接続しているのにも関わらず RuntimeError: No device connected となり、デバイスを開くことができません。

RealSenseが壊れているわけではなく(Ubuntu20で動いた)バスパワーが足りていないと思ってリピータブルケーブルを繋いでも接続が開始されず…(しかし、lsusbでは見える)


解決策

-D FORCE_LIBUVC=ONを追加してlibrealsenseをコンパイルします。(デフォルトではOFF)


以上を踏まえてビルドコマンドをこのようにします。

  • example系はビルド無し
  • pyrealsense2のビルド
cmake -DBUILD_EXAMPLES=false \
    -DUILD_GRAPHICAL_EXAMPLES=false \
    -DBUILD_WITH_OPENMP=true \
    -DBUILD_PYTHON_BINDINGS=true \
    -DFORCE_LIBUVC=true \
    -DCMAKE_BUILD_TYPE=Release ..

make -j4

4GB RAMであればSWAP拡張せずともビルドが通りました。


参考

dev.intelrealsense.com

github.com