Jetson Nanoでpythonから使えるライブラリlibrealsenseをセットアップする方法

  • URLをコピーしました!

※本ページはアフィリエイト広告を利用しています

今回はIntel社のカメラモジュールRealSense D435をPythonのコードからアクセスする際に必要となるライブラリ、librealsenseをセットアップする方法について解説します。

また、当ブログでJetson Nanoに関する記事を以下のページでまとめていますので、あわせてご覧ください。

目次

環境

ハードウェア:Jetson Nano A02 4GB
JETPACK SDK:4.6.2
Python:3.6.9

Jetson Nanoの本体については、私が使用しているモデルは旧モデルのA02ですが、これから購入される方はインタフェースなどが増えているB01モデルがおすすめです。

著:Jetson Japan User Group, 著:からあげ, 著:北崎 恵凡, 著:古瀬 勉, 著:鶴長 鎮一, 著:中畑 隆拓
¥2,997 (2024/11/20 19:42時点 | Amazon調べ)

librealsenseのインストール

Jetson Nanoでlibrealsenseをインストールする手順を解説します。
今回librealsenseのセットアップに当たり以下のサイトを参考にさせて頂きました。

インストール手順

ここからは実際のインストール手順を解説します。
Githubから以下のリポジトリをダウンロードします。

git clone https://github.com/IntelRealSense/librealsense/

ビルド用のディレクトリを作成します。

cd librealsense 
mkdir build && cd build

ビルドを実行します。cmakeのオプション「DPYTHON_EXECUTABLE」はPythonのインタプリタを指定したい場合に追加してください。

cmake ../ -DFORCE_RSUSB_BACKEND=ON -DBUILD_PYTHON_BINDINGS:bool=true -DPYTHON_EXECUTABLE=/usr/bin/python3
make -j4
sudo make install

ビルドにはかなり時間がかかりますが気長に待ってください。
これでlibrealsenseのインストールは完了です。

発生したエラー

私の環境ではcmakeコマンド実行時にOpenSSL が見つからないという以下のようなエラーが発生しました。

-- Checking internet connection...
-- Internet connection identified
-- Info: REALSENSE_VERSION_STRING=2.51.1
-- Setting Unix configurations
-- Building libcurl enabled
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the
  system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY
  OPENSSL_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.10/Modules/FindOpenSSL.cmake:390 (find_package_handle_standard_args)
  CMake/external_libcurl.cmake:56 (find_package)
  CMake/global_config.cmake:89 (include)
  CMakeLists.txt:52 (global_set_flags)


-- Configuring incomplete, errors occurred!

OpenSSLのライブラリをインストールします。以下のコマンドを実行してください。(既にインストールされている方は不要です)

sudo apt-get install libssl-dev

以下のように表示されたらインストール完了です。

-- Configuring done
-- Generating done
-- Build files have been written to: /home/xxx/librealsense/build
インテル(Intel)
¥51,800 (2024/11/20 18:02時点 | Amazon調べ)

udevのインストール

続いてudev_rulesのセットアップを行います。以下のコマンドを実行してください。

cd ..
./scripts/setup_udev_rules.sh

環境変数を設定する

librealsenseを使用する際に、「.so」ファイルがあるディレクトリにPATHを通しておく必要があります。「.so」がインストールされたディレクトリはログを参照してください。

-- Installing: /usr/local/lib/python3.6/pyrealsense2/pybackend2.cpython-36m-aarch64-linux-gnu.so.2.51.1
-- Installing: /usr/local/lib/python3.6/pyrealsense2/pybackend2.cpython-36m-aarch64-linux-gnu.so.2
-- Installing: /usr/local/lib/python3.6/pyrealsense2/pybackend2.cpython-36m-aarch64-linux-gnu.so
-- Installing: /usr/local/lib/python3.6/pyrealsense2/pyrealsense2.cpython-36m-aarch64-linux-gnu.so.2.51.1
-- Installing: /usr/local/lib/python3.6/pyrealsense2/pyrealsense2.cpython-36m-aarch64-linux-gnu.so.2.51
-- Installing: /usr/local/lib/python3.6/pyrealsense2/pyrealsense2.cpython-36m-aarch64-linux-gnu.so
-- Set runtime path of "/usr/local/lib/python3.6/pyrealsense2/pyrealsense2.cpython-36m-aarch64-linux-gnu.so.2.51.1" to ""

exportコマンドを実行してPATHを設定します。(ディレクトリは必要に応じて変更してください)

export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python3.6/pyrealsense2

exportコマンドは起動時に毎回実行する必要がありますので、ユーザーがシェル時に自動実行される「.bashrc」に記載しておくのが良いです。.bashrcのファイルがある場所はホームディレクトリになりますので、ホームディレクトリに移動後、エディタで.bashrcを開き、exportコマンドを追記して保存します。

sudo nano .bashrc

発生したエラー

librealsenseを使用したPythonのプログラム実行時に以下のエラーが発生しました。

ImportError: No module named pyrealsense2

exportコマンドでPATHを設定しているはずなのに何度やってもpyrealsense2の参照エラーが出て実行できませんでした。原因を調べていたところ、私の場合はインストールに必要なコマンドはSSHのターミナルで実行し、実際にRealsenseを使用するプログラムは画面表示があるためVNCViewerのターミナルから実行していた(VNCViewerではコマンドのコピペができなかったため)のが原因でした。

exportコマンドは実行したターミナル内でしか有効にならないため、参照エラーが発生していたようでハマってしまいました。やはり.bashrcに記述しておくのが確実かと思います。

インテル(Intel)
¥51,800 (2024/11/20 18:02時点 | Amazon調べ)

実行する

以下の場所にPythonのサンプルファイルが用意されていますので、このディレクトリに移動します。

/(librealsenseをインストールしたディレクトリ)/librealsense/wrappers/python/examples

サンプルファイルを実行します。

python3 opencv_viewer_example.py

RGBカメラとDepthカメラの映像を表示することができました。

これでPythonのプログラムからD435を使用することができるようになりました。

まとめ

今回はJetson NanoでRealSenseをPythonのコードからアクセスするためのライブラリ、librealsenseのセットアップ方法を解説しました。

私の場合はLinuxに慣れている方であればすんなりいくであろうPATHの設定ではまってかなり時間がかかってしまいましたので、これからトライされる方の参考になれば幸いです。

インテル(Intel)
¥51,800 (2024/11/20 18:02時点 | Amazon調べ)

それでは、また次の記事でお会いしましょう。

\ 機械学習を学びたい人には自宅で学べるUdemyがおすすめ! /

講座単位で購入できます!

参考

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次