Nordicの評価ボードでEdge Impulseを試してみた

本サイトはアフィリエイト広告を利用しています。
Zephyr

Nordicの評価ボードでEdge Impulseを試してみました。

「nRF5340-DK」および「nRF54L15-DK」を使用しています。

モーションを検出するEdgeAI推論をテストした内容を紹介します。

 

Nordicの評価ボードでEdge Impulseを試してみた

Nordicの評価ボードでEdge Impulseを試してみました。

「nRF5340-DK」および「nRF54L15-DK」を使用しています。

 

実際のデモ動画が下記となっています。

mRF54L15-DKのボードでのテスト動画です。

 

mRF5340-DKのボードでのテスト動画です。

 

モーションを検出するEdgeAI推論をテストした内容を紹介します。

 

GitHub

プログラムのGitHubのリンク先は下記となっています。

GitHub - iotengineer22/zephyr-ei-nrf-dk-demo: This repository is a project that executes EdgeAI inference based on accelerometer (MPU6050) data using nRF***-DK.
This repository is a project that executes EdgeAI inference based on accelerometer (MPU6050) data using nRF***-DK. - iot...

 

Nordic の評価ボード「nRF5340-DK」および「nRF54L15-DK」を使用します。

加速度センサ(MPU6050)のデータからモーションを検出するEdgeAI推論を動かします。

AIモデルの作成には Edge Impulse を使用し、作成したモデルをC++ライブラリとしてエクスポートして、nRF Connect SDK (NCS) 環境でビルドします。

 

用意するもの

  • 開発ボード:
    • Nordic Semiconductor nRF5340-DK
    • Nordic Semiconductor nRF54L15-DK
  • センサ:
    • InvenSense MPU6050 (加速度/ジャイロセンサモジュール)
  • ソフトウェア環境:
    • nRF Connect SDK (NCS)
    • Edge Impulse アカウント

 

1. Edge Impulseでモデルを作成する

まずは推論モデルを用意する必要があります。

このプロジェクトでは、Edge Impulseで作成したモデルを各自でダウンロードして使用する仕組みになっています。

 

  1. Edge Impulse で新規プロジェクトを作成します。
  2. 加速度センサのデータを収集し、学習させます(「Spectral Analysis」や「Classification」ブロックなどを使用)。
  3. 学習が完了したら、「Deployment」タブから C++ library を選択してビルドします。
  4. ダウンロードしたzipファイルを解凍し、以下のフォルダをプロジェクトのルートディレクトリに配置します。
    • edge-impulse-sdk
    • model-parameters
    • tflite-model

 

2. 配線 (Wiring)

センサと開発ボードを接続します。今回はI2C接続を使用します。

Device Tree Overlay (nrf***dk_nrf***_cpuapp.overlay) の設定に基づき、以下のピンに接続します。

MPU6050 Pin nRF***-DK Pin 備考
VCC VDD (3.3V)
GND GND
SDA P1.11 I2C1 SDA
SCL P1.12 I2C1 SCL

 

3. ビルドと書き込み

nRF Connect SDK環境でビルドを行います。

最後にidle、flick、updownなどのモーションテストをしてみます。

 

まとめ

これで、エッジデバイス上でリアルタイムに加速度データを処理し、AI推論を実行する環境が整いました。

モーション認識やジェスチャー検知など、様々なアプリケーションに応用できそうです。

コメント