カメラ技術の進化は、組み込みビジョンアプリケーションの進歩に重要な役割を果たします。だからこそ、e-con Systemsの高性能カメラをNVIDIA® JetPack 6.1でアップグレードすることが重要です。これにより、最適化されたCPUパフォーマンスを引き出し、強化されたカメラサポートを得ることができます。その結果、産業用ワークフローの合理化から医療用画像処理能力の向上まで、複数のユースケースにわたって洗練された画像処理ソリューションを実現することができます。
このブログでは、JetPack 6.1 を使用して e-con の高性能カメラをアップグレードする方法と、カメラのパフォーマンスと効率を最大限に高める主なメリットについて説明します。
NVIDIA® JetPack 6.1 について
NVIDIA® JetPack 6.1 は Jetson 開発キット ラインで使用するために設計されており、AI、ディープラーニング、コンピューター ビジョン アプリケーションに不可欠なソフトウェア パッケージを提供します。NVIDIA® JetPack 6.1 には数多くの新機能が搭載されていますが、カメラ アプリケーションの主なハイライトの 1 つは、CPU 使用率を最大 40%削減するアップグレードされた Argus カメラ スタックです。
これにより、様々な処理要求に柔軟に適応できると同時に、ハイエンドアプリケーションでのスムーズなアプリケーション パフォーマンスが実現します。
サポートされている主なプラットフォーム
- Jetson AGX Orin™
- Jetson Orin™ NX
- Jetson Orin Nano™
NVIDIA® JetPack 6.1 の新機能は何ですか?
JetPack 6.1 では、アップグレードされた Argus カメラ スタックやアップグレードされた最新の AI コンピューティングスタックなど、カメラ アプリケーションのパフォーマンスを向上させる多くの改善が提供されています。JetPack 6.1 のメリットの詳細については、 ブログをご参照ください。
カメラアプリケーションの主な進歩の概要は次のとおりです。
CPUの最適化
JetPack 6.1のArgusライブラリは、複数カメラのアプリケーションでCPUの使用率を最大40%削減し、リソースを解放して、遅延のない高いフレームレートや解像度を実現します。これにより、システムの応答性が向上し、監視やロボティクスなどのアプリケーションで画像の撮影とリアルタイム処理が速くなります。CPUの過負荷を防ぐことで、集中的な操作中のカメラアプリケーションのフリーズやパフォーマンス低下を減らし、スムーズなマルチタスクと高い電力効率を実現します。
実験結果:e-con SystemsカメラのNVIDIA® JetPack 6.1によるパフォーマンス
NVIDIA® AGX Orin™開発キットで、3つのカメラインスタンスを実行した際の、NVIDIA® JetPack 6.1のCPU使用率に関する実験結果を見てみましょう。
以下の表は、e-con の eCAM_Argus_Camera アプリケーションの実行回数に基づいて、NVIDIA® が提供する JetPack 6.0 と JetPack 6.1 を使用した場合の CPU 使用率の違いを示しています。
カメラ台数 | JetPack 6.0 | JetPack 6.1 | 改善(~削減) |
1 | 18.5% | 13.9% | ~5% |
2 | 46% | 29.5% | ~16% |
3 | 66.1% | 44.4% | ~22% |
表 1: JetPack 6.0 と JetPack 6.1 の比較
これは、e-CAM80_CUOAGX を使用する e-con の eCAM_Argus_Camera アプリケーション インスタンスの数の違いについて、JetPack 6.0 と JetPack 6.1 の CPU 使用率を比較した棒グラフです。
図1: JetPack 6.0とJetPack 6.1の比較
カメラ性能の向上
自律走行車や高解像度ビデオ分析など、集中的な計算を必要とするアプリケーションは、処理時間の短縮と、より正確な結果が最大のメリットとなります。
AI性能の向上
JetPack 6.1はDeepStream 7.1 SDKを搭載しており、主要なAIフレームワークをサポートしています。これにより、アプリケーションは最新のAI技術を活用できるようになります。この機能は、医療、リテール、ロボティクスなどの分野で重要で、AI駆動の洞察が大きな役割を果たしています。また、強化されたAI機能により、リアルタイムのビデオ分析、物体検出、その他の高度なAIタスクで優れたパフォーマンスが発揮されます。
開発と展開の簡素化
e-con SystemsのカメラでJetPack 6.1にアップグレードするのは簡単なプロセスで、特にJetPack 6.0に慣れている方にとっては、カメラベースのAIアプリケーションをスムーズに展開できます。
JetPack 6.1のUbuntuセットアップによるアップグレード方法: ステップバイステップガイド
JetPack 6.1のアップグレードプロセスを始める方法を見てみましょう。
まず、e-conのdeveloper resourcesからe-conのリリースパッケージを、NVIDIAの公式ウェ ブサイトからJetPack 6.1のソースをPCにダウンロードしてください。
重要な注意事項 :コマンドと出力メッセージは、以下のように色分けされていますので、ご確認ください。
色 | 表記 |
青 | 開発PCで実行するコマンド |
赤 | Jetsonボードで実行されるコマンド |
緑 | Jetsonボードの出力メッセージ |
紫 | パッチファイルソースを手動で追加する |
表2: 色の表記
それでは、アップグレード プロセスの各ステップを詳しく説明し、シームレスなアップグレード エクスペリエンスを実現するための詳細な手順を説明します。
-
環境の設定
NVIDIA® Jetsonプラットフォームとカメラを統合するためには、適切に構成された開発環境を整えることが重要です。このステップでは、必要なディレクトリを作成し、環境変数を定義し、統合に必要なソフトウェアのビルドとコンパイルの準備を行います。
重要な注意点: 環境の設定には、製品に特化した開発ガイドマニュアルに記載されたビルドコマンドを必ず実行してください。開発ガイドは、e-conの Developer Resources からダウンロードできます。 .
-
必要なファイルのダウンロード
環境の設定が完了したら、次は必要なファイルをダウンロードします。NVIDIA® Jetsonプラットフォームは、カメラシステムと正常に動作するためにいくつかの重要なコンポーネントが必要です。これには、NVIDIAのLinuxベースの開発環境であるL4T(Linux for Tegra)パッケージや、カメラ統合に必要な各種ドライバーやツールチェーンが含まれます。
以下の表に記載された必須ファイルをダウンロードしてください。
前提条件 | ダウンロードリンク |
Bootlin ツールチェーン | Bootlin ツールチェーン ソース、2020.08-1 |
L4T Jetson AGX Orin™、Orin Nano™、Orin NX ドライバー パッケージ | ドライバーパッケージ (BSP) |
L4T Jetson AGX Orin™、Orin Nano™、Orin NX サンプル Rootfs | サンプルルートファイルシステム |
ドライバー パッケージ ソース | ドライバーパッケージ (BSP) ソース |
e-con製品のJetPack 6.0リリースパッケージ | ログイン認証情報を使用して、e-conの 開発者リソース Web サイトからダウンロードします。 |
表3: 前提条件
パッケージのログイン認証情報にアクセスするには、以下に示すように、Release Notesまたは FTP Deliverableをご参照ください。
図 2: カメラ製品パッケージのログイン認証情報記載ファイルの詳細
リリースノートドキュメントに記載されているリンクを使用してパッケージのログイン認証情報を入力すると、以下の画面が表示され、カメラ製品パッケージをダウンロードできるようになります。
図3: カメラ製品ドキュメントとパッケージの詳細
重要な注意点: 製品に特化したDeveloper Guideマニュアルに記載されたビルドコマンドに従ってください。Developer Guideは、e-conの Developer Resourcesからダウンロードできます。
Developer Guideに従う際、ビルドコマンドはJetPack 6.0用に記載されています。コマンドを実行する際には、ダウンロードしたJetPack 6.1のファイル名をJetPack 6.0に置き換える必要があります。JetPack 6.1用の正しいファイル名は、以下の表でご確認ください。
NVIDIA パッケージ | JetPack 6.0 | JetPack 6.1 |
BootlinTool チェーン | aarch64–glibc–stable-2022.08-1.tar.bz2 | aarch64–glibc–stable-2022.08-1.tar.bz2 |
L4T Jetson AGX Orin™、Orin Nano™、Orin NX ドライバー パッケージ | Jetson_Linux_R36.3.0_aarch64.tbz2 | Jetson_Linux_R36.4.0_aarch64.tbz2 |
L4T Jetson AGX Orin™、Orin Nano™、Orin NX サンプル Rootfs | Tegra_Linux_Sample-Root- Filesystem_R36.3.0_aarch64.tbz2 | Tegra_Linux_Sample-Root- Filesystem_R36.4.0_aarch64.tbz2 |
ドライバーパッケージソース | public_sources.tbz2 | public_sources.tbz2 |
表4: JetPack 6.0用および6.1用のファイル名
-
L4Tの抽出と準備
パッケージがダウンロードされたら、L4Tパッケージを適切に抽出し、インストールプロセスの準備を行います。抽出プロセスでは、ダウンロードしたL4Tパッケージを解凍し、ファイルをLinuxベースのシステムのフラッシングディレクトリに整理して配置します。このプロセスにより、パッケージが適切に設定され、デバイスにバイナリをフラッシュする準備が整います。
重要な注意点: L4Tの抽出と準備については、製品に特化したDeveloper Guideマニュアルに記載されたビルドコマンドに従ってください。Developer Guideは、e-conのDeveloper Resources からダウンロードできます。
Developer Guideに従う際、ビルドコマンドはJetPack 6.0用に記載されています。コマンドを実行する際には、ダウンロードしたJetPack 6.1のファイル名をJetPack 6.0のファイル名に置き換える必要があります。Table 4をご参照ください。 .
L4Tの準備が整ったら、次にe-conのカメラ関連の重要なコンポーネントが含まれたリリースパッケージを抽出します。
-
リリースパッケージの抽出
リリースパッケージには、カメラ統合に必要なファイル(カメラドライバーやサポートライブラリなど)が含まれています。このステップでは、ディレクトリ構造とファイルの権限を保持しながら、これらのファイルを慎重に抽出します。
ダウンロードしたe-conのリリースパッケージを抽出してください。必要なファイルは、以下のように抽出されたリリースパッケージ内にあります。
図4: e-conのリリースパッケージファイル
ファイルが揃ったら、次に特定のカメラハードウェアをサポートするためにカーネルを設定する必要があります。
-
カーネルのダウンロードと設定
カーネルの設定は、カメラがJetsonプラットフォームとどのように連携するかを決定する重要なステップです。このステップでは、e-conのJetPack 6.0リリースパッケージからパッチを適用し、NVIDIA® JetPack 6.1にカーネルを設定して、特定のカメラのサポートを追加します。
これには、e-conのNvidia-oot(アウト・オブ・ツリー)モジュール、デバイストリーブロブオーバーレイ(dtbo)、その他の重要なカーネルモジュールの更新を含むパッチの適用が含まれます。
重要な注意点: カーネルソースコードの抽出については、製品に特化したDeveloper Guideマニュアルに記載されたビルドコマンドのステップ1〜4に従って実施してください。Developer Guideは、e-conのDeveloper Resourcesからダウンロードできます。
上記の表3に記載されたドライバーパッケージのソースをダウンロードする必要があります。.
そして、開発者ガイドマニュアルのステップ5から10の代わりに、以下のコマンドに従ってe-conパッチファイルを適用します。
まず、次のコマンドでモジュールパッチを適用します。
図5: モジュールパッチファイルの適用
次のコマンドを使用して vcc-supply を削除します。
sed -i 's/vcc-supply/\/\/vcc-supply/g' $RELEASE_PACK_DIR/Kernel/<device tree overlay blob patch file name>
次のコマンドを使用して、デバイス ツリー BLOB オーバーレイ パッチ ファイルを適用します。
patch -p1 -i $RELEASE_PACK_DIR/Kernel/<device tree overlay blob patch file name>
下記のような画面が表示されます。
図6: デバイスツリーBLOBオーバーレイパッチファイルの適用
デバイス ツリー BLOB オーバーレイ パッチ ファイルを適用する際、デフォルトの SOC ファイルを変更する必要はありません。「逆の (または以前に適用された) パッチが検出されました。-R? [n] n と仮定して、とにかく適用しますか? [n] n」というメッセージが表示されたら、単に「いいえ」を選択してください。このメッセージが表示されない場合は、この手順をスキップして次の手順に進むことができます。
Linux ベースのシステムでは、以下のように出力メッセージを表示できます。
patching file hardware/nvidia/t23x/nv-public/nv-soc/tegra234-soc-camera.dtsi
Reversed (or previously applied) patch detected! Assume -R? [n] n
Apply anyway? [n] n
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file hardware/nvidia/t23x/nv-public/nv-soc/tegra234-soc-camera.dtsi.rej
patching file hardware/nvidia/t23x/nv-public/overlay/Makefile
Hunk #1 FAILED at 14.
1 out of 1 hunk FAILED -- saving rejects to file hardware/nvidia/t23x/nv-public/overlay/Makefile.rej
patching file hardware/nvidia/t23x/nv-public/overlay/<camera_modes>.dtsi
patching file hardware/nvidia/t23x/nv-public/overlay/<overlay_name>.dts
Nvidia-ootパッチを適用している間、下の画面に示すように、Makefile は自動的に更新されません。
図7: Nvidia-ootパッチファイルの適用 File
この場合、カーネルソースMakefileに以下のセンサードライバーブロックを挿入して、nvidia-oot Makefileを手動で追加します。
sensor-driver:
@if [ ! -d "$(MAKEFILE_DIR)/sensor_driver/$(SENSOR_DRIVER)" ]; then \
echo "Directory sensor_driver is not found, exiting.."; \
false; \
fi
@echo "================================================================================"
@echo "make $(MAKECMDGOALS) - sensor driver ..."
@echo "================================================================================"
@if [ -d "$(MAKEFILE_DIR)/sensor_driver/PWM_MCU" ] && \
[ -d "$(MAKEFILE_DIR)/sensor_driver/$(SENSOR_DRIVER)" ]; then \
$(MAKE) -j $(NPROC) ARCH=arm64 \
CROSS_COMPILE=$(CROSS_COMPILE) \
-C $(NVIDIA_HEADERS) \
M=$(MAKEFILE_DIR)/sensor_driver/PWM_MCU \
srctree.nvconftest=$(NVIDIA_CONFTEST) \
$(MAKECMDGOALS); \
$(MAKE) -j $(NPROC) ARCH=arm64 \
CROSS_COMPILE=$(CROSS_COMPILE) \
-C $(NVIDIA_HEADERS) \
M=$(MAKEFILE_DIR)/sensor_driver/$(SENSOR_DRIVER) \
KBUILD_EXTRA_SYMBOLS=$(MAKEFILE_DIR)/sensor_driver/PWM_MCU/Module.symvers \
srctree.nvconftest=$(NVIDIA_CONFTEST) \
$(MAKECMDGOALS); \
else \
$(MAKE) -j $(NPROC) ARCH=arm64 \
CROSS_COMPILE=$(CROSS_COMPILE) \
-C $(NVIDIA_HEADERS) \
M=$(MAKEFILE_DIR)/sensor_driver/$(SENSOR_DRIVER) \
srctree.nvconftest=$(NVIDIA_CONFTEST) \
$(MAKECMDGOALS); \
fi
上記の Makefile を使用してビルドするときに問題が発生した場合は、適切な Makefile については以下の画像をご参照ください。
図8: センサードライバーブロックをカーネルソースMakefileにコピーする
モジュールをビルドする前に、以下のコマンドを実行して、Nvidia のエラーリカバリーを削除します。
MIPI 製品 (e-CAM25_CUONX, e-CAM50_CUONX, e-CAM80_CUONX, e-CAM81_CUONX, e-CAM200_CUONX, e-CAM80_CUOAGX, e-CAM200_CUOAGX) の場合、
sed '238,238d' $NVIDIA_SRC/nvidia-oot/drivers/media/platform/tegra/camera/vi/vi5_fops.c > tempfile && mv tempfile $NVIDIA_SRC/nvidia-oot/drivers/media/platform/tegra/camera/vi/vi5_fops.c
sed '228i#endif' $NVIDIA_SRC/nvidia-oot/drivers/media/platform/tegra/camera/vi/vi5_fops.c > tempfile && mv tempfile $NVIDIA_SRC/nvidia-oot/drivers/media/platform/tegra/camera/vi/vi5_fops.c
e-CAM_YUV_GMSL製品 (NileCAM20_CUOAGX, NileCAM21_CUOAGX, NileCAM25_CUOAGX, NileCAM81_CUOAGX, STURDeCAM20_CUOAGX, STURDeCAM21_CUOAGX)の場合、
sed '236,236d' $NVIDIA_SRC/nvidia-oot/drivers/media/platform/tegra/camera/vi/vi5_fops.c > tempfile && mv tempfile $NVIDIA_SRC/nvidia-oot/drivers/media/platform/tegra/camera/vi/vi5_fops.c
sed '226i#endif' $NVIDIA_SRC/nvidia-oot/drivers/media/platform/tegra/camera/vi/vi5_fops.c > tempfile && mv tempfile $NVIDIA_SRC/nvidia-oot/drivers/media/platform/tegra/camera/vi/vi5_fops.c
e-CAM_OCTA_YUV_GMSL製品 (STURDeCAM25_CUOAGX, STURDeCAM31_CUOAGX & STURDeCAM81_CUOAGX) and STURDeCAM34_CUOAGX,
sed '240,240d' $NVIDIA_SRC/nvidia-oot/drivers/media/platform/tegra/camera/vi/vi5_fops.c > tempfile && mv tempfile $NVIDIA_SRC/nvidia-oot/drivers/media/platform/tegra/camera/vi/vi5_fops.c
sed '230i#endif' $NVIDIA_SRC/nvidia-oot/drivers/media/platform/tegra/camera/vi/vi5_fops.c > tempfile && mv tempfile $NVIDIA_SRC/nvidia-oot/drivers/media/platform/tegra/camera/vi/vi5_fops.c
カーネルが適切に構成されたら、ビルドとインストールの手順に進むことができます。
-
カーネルの構築とインストール
この段階で、カスタム構成でカーネルをコンパイルします。コンパイル中にエラーが発生すると互換性の問題が発生する可能性があるため、このプロセスでは細部に注意する必要があります。インストール プロセスで、カスタム カーネルが Jetson システムに統合されます。
このプロセスには、Linux ベースシステム上でカーネルイメージ、モジュール、センサードライバー、およびデバイスツリー BLOB オーバーレイ (DTBO) を構築してインストールすることが含まれます。
重要な注意点: カーネルの構築とインストールについては、製品固有のDeveloper Guideマニュアルに記載されているビルド コマンドに従って実施してください。Developer Guideは、e-con のDeveloper Resourcesからダウンロードできます。
カーネルのインストールが成功したら、カスタムビルドバイナリを使用して開発キットをフラッシュする必要があります。
-
Jetson開発キットのフラッシュ
ビルド バイナリを使用して Jetson 開発キットをフラッシュするには、2 つの方法があります。このプロセスでは、変更されたカーネル、ドライバー、およびコンフィグレーションファイルを含むカスタマイズされたビルド バイナリを Jetson デバイスに転送します。
次のセクションでは、フラッシュサポートに利用できる 2 つのアプローチについて簡単に説明します。
7.1 Linux ベースのシステムから開発キットをフラッシュする
この方法では、Linux ベースのシステムを使用して、システム イメージを Jetson 開発キットに手動でフラッシュします。Linux ベースのシステムでドライバー パッケージ (BSP) とサンプル ルート ファイル システムを抽出すると、ビルドされたモジュール、DTBO、ファームウェア、およびその他のファイルを L4T ディレクトリ内の適切なディレクトリにコピーできます。すべての設定が完了したら、Developer Guideに記載されているコマンドを使用してフラッシュ プロセスを開始できます。
重要な注意点: カーネルの構築とインストールについては、製品固有のDeveloper Guideマニュアルの Rootfs の変更セクションに記載されているビルド コマンドに従って実施してください。Developer Guideは、e-con のDeveloper Resourcesからダウンロードできます。
7.2 SDK マネージャーを使用して開発キットをフラッシュする
NVIDIA® SDKマネージャーは、JetPack 6.1 の事前構築済みインストールを提供することで、フラッシュ プロセスを簡素化します。
SDマネージャーを使用したフラッシュキットの概要は次のとおりです。
- NVIDIA の公式 ウェブサイトから SDK マネージャーをダウンロードします。
- SDK マネージャーを起動し、NVIDIA 開発者アカウントでログインします。
- 対象の Jetson デバイスと JetPack 6.1 バージョンを選択し、画面の指示に従って Jetson プラットフォームに JetPack 6.1 をインストールします。
Jetson 開発キットがフラッシュされ準備ができたので、次の重要なタスクは、必要なバイナリをデバイスに転送することです。この手順により、カスタマイズされたモジュール、DTBOファイル、ファームウェア、およびその他のファイルを含むすべての重要なコンポーネントが、それぞれのパスに正しく配置されるようになります。これらのファイルを適切に配置することが、NVIDIA® Jetsonプラットフォームでカメラ統合の完全な機能を有効にする鍵となります。これを実現するための手順を見てみましょう。
7.2.1 バイナリをJetsonプラットフォームにコピーする
これには、Linux ベースシステムの L4Tディレクトリ内の適切なパスに移動し、ビルドされたモジュール、DTBO、ファームウェア、およびその他のファイルを Jetson プラットフォーム上のそれぞれのパスにコピーするために必要なコマンドを実行することが含まれます。
具体的な手順は以下のとおりです
- Linux ベースシステムのL4Tディレクトリで、以下に示すパスに移動します。
cd $TOP_DIR
cd $NVIDIA_SRC/kernel-devicetree/generic-dts/dtbs/tegra234-p3767-camera-p3768-eimx568-4lane.dtbo
- Type-C USBケーブルを JetsonプラットフォームとホストPC に接続します。.
- 次のセキュアコピーコマンドを使用して、デバイスツリー BLOBオーバーレイをJetsonプラットフォームにコピーします。
scp tegra234-p3767-camera-p3768-eimx568-4lane.dtbo nvidia@192.168.55.1:
重要な注意点: Developer Guideマニュアルに記載されているDTBOファイル名に従って実施してください。
- 次のコマンドを使用して、すべてのカーネルモジュールを圧縮し、Jetsonプラットフォームにコピーします。
cd $LDK_ROOTFS_DIR/lib/
sudo tar -cjmpf kernel_supplements.tar.bz2 modules/
- 次のコマンドを使用して、すべてのカーネルモジュールを Jetson プラットフォームにコピーします。
scp kernel_supplements.tar.bz2 nvidia@192.168.55.1:
- 次のコマンドを使用して、ファームウェアファイルを Jetson プラットフォームにコピーします。
cd $TOP_DIR
scp -r $RELEASE_PACK_DIR/<Firmware directory name> nvidia@192.168.55.1:
重要な注意点:ファームウェアディレクトリが e-con のリリースパッケージにない場合は、上記の手順をスキップしてください。
NVIDIA ISP カメラを使用している場合は、リリースパッケージから Jetson プラットフォームにチューニングファイル (NVIDIA と共同で e-con Systems が微調整したもの) をコピーする必要があります。これらの設定を適用して最高の画質を得るには、次のコマンドを使用します。
cd $TOP_DIR
scp $RELEASE_PACK_DIR/misc/<camera overrides file name> nvidia@192.168.55.1:
重要な注意点:camera_overrides.isp ファイルが e-con のリリース パッケージにない場合は、上記の手順をスキップしてください。
- 次のコマンドを使用して、Nvidia 提供の V4L2 準拠バイナリを更新します。
cd $TOP_DIR
scp $RELEASE_PACK_DIR/misc/v4l2-compliance nvidia@192.168.55.1:
7.2.2 Jetson プラットフォームのホーム フォルダーからルートにバイナリをコピーする
- 次のコマンドを使用して、ファームウェアを Jetson プラットフォーム内の特定のパスにコピーします。
sudo cp <firmware directory name>/* /lib/firmware
重要な注意点:ファームウェア ディレクトリが e-con のリリース パッケージにない場合は、上記のコマンドをスキップしてください。
- 次のコマンドを使用して、デバイス ツリー BLOB オーバーレイを Jetson プラットフォーム内の特定のパスにコピーします。
sudo cp tegra234-p3767-camera-p3768-eimx568-4lane.dtbo /boot/
- 次のコマンドを使用して、カーネルサプリメントを Jetson プラットフォーム内の特定のパスにコピーします。
sudo tar -xjmpf kernel_supplements.tar.bz2 -C /usr/lib/
- 次のコマンドを使用して、ISP ターニング ファイルを Jetson プラットフォームの特定のパスにコピーします。
sudo cp <camera overrides file name> /var/nvidia/nvcam/settings/camera_overrides.isp
重要な注意点:camera_overrides.isp ファイルが e-con のリリース パッケージにない場合は、上記の手順をスキップしてください。
上記のいずれかのフラッシュ方法を使用して開発キットをフラッシュした後、次のステップは必要なオーバーレイとドライバーを読む込むことです。
-
オーバーレイとドライバーの読み込み
Jetson プラットフォームにカメラを統合する最後のステップでは、必要なオーバーレイとカメラドライバーを読み込みます。このプロセスにより、ハードウェアとソフトウェアの構成がカメラ システムをサポートするように完全に調整されます。
モジュールのオーバーレイファイルを読み込むためには、次のコマンドを実行します。
sudo /opt/nvidia/jetson-io/config-by-hardware.py -n2="<Overlay_name>"
以下のような出力メッセージが表示されます。
Modified /boot/extlinux/extlinux.conf to add following
DTBO entries:
/boot/<dtbo_name>
Reboot system to reconfigure.
Jetson キットは自動的に再起動します。
この手順の後、Jetson キットは自動的に再起動し、構成の変更を適用します。システムが再起動すると、必要なオーバーレイとドライバーが完全に読み込まれ、カメラとプラットフォームを統合できるようになります。
重要な注意点:
e-CAM_OCTA_YUV_GMSL 製品 (STURDeCAM25_CUOAGX, STURDeCAM31_CUOAGX and STURDeCAM81_CUOAGX) の場合、次のコマンドを使用してモジュールの読み込み順序を指定します。
sudo bash -c 'echo "tegra_camera" >> /etc/modules'
sudo bash -c 'echo "tegra_camera_rtcpu" >> /etc/modules'
sudo bash -c 'echo "max96712" >> /etc/modules'
sudo bash -c 'echo "mcu_pwm" >> /etc/modules'
sudo bash -c 'echo "ecam_gmsl_yuv_common" >> /etc/modules'
For STURDeCAM34_CUOAGX 製品の場合、次のコマンドを使用してモジュールのロード順序を指定します。
sudo bash -c 'echo "tegra_camera" >> /etc/modules'
sudo bash -c 'echo "tegra_camera_rtcpu" >> /etc/modules'
sudo bash -c 'echo "max96712" >> /etc/modules'
sudo bash -c 'echo "mcu_pwm" >> /etc/modules'
sudo bash -c 'echo "ar0341_camera" >> /etc/modules'
-
カメラの初期化を確認する
すべての構成手順を完了したら、dmesg コマンドを使用して、カメラが適切に初期化され、アプリケーションの準備ができていることを簡単に確認できます。カメラが正常に検出されたら、特定のアプリケーションのニーズに応じて、V4L2 または GStreamer を使用してストリーミングを開始できます。
パート 2 では、カメラを NVIDIA® JetPack 6.2 にアップグレードする方法と、最新のアップデートと機能について説明します。
e-con Systems は、NVIDIA ベースのカメラで次世代ビジョンを提供します
e-con Systems® は 2003 年以来、OEM カメラの設計、開発、製造に携わってきました。NVIDIA Elite パートナーとして、当社の製品は Jetson AGX Orin™、NVIDIA® Jetson Orin NX/Nano™、Jetson Xavier™ NX/Nano/TX2 NX、Jetson AGX Xavier™ を含む NVIDIA Jetson の全ラインナップに対応しています。
以下は、NVIDIA® JetPack 6.1 にアップグレードできるカメラのリストです。
- STURDeCAM20_CUOAGX – IP67 Full HD GMSL2 HDR camera for Jetson AGX Orin™ / AGX Xavier™
- STURDeCAM21_CUOAGX – IP67 Full HD GMSL2 HDR Camera for Jetson AGX Orin™ / AGX Xavier™
- STURDeCAM25_CUOAGX – FHD AR0234 IP67 Global Shutter GMSL2 Multi Camera for NVIDIA Jetson AGX ORIN™ / AGX Xavier™
- STURDeCAM31_CUOAGX – 3MP 120dB HDR NVIDIA® Jetson Orin™ Camera for Autonomous Mobility
- STURDeCAM34_CUOAGX – 3MP 140dB HDR GMSL2 Camera for NVIDIA® Jetson AGX Orin™
- STURDeCAM81_CUOAGX – IP67 4K GMSL2 Camera for NVIDIA® Jetson AGX Orin™/ AGX Xavier™
- NileCAM20_CUOAGX – Full HD GMSL2 HDR camera for Jetson AGX Orin™ / AGX Xavier™
- NileCAM21_CUOAGX – HDR GMSL2 Multi-Camera Solution for NVIDIA® Jetson AGX Orin™ / AGX Xavier™
- NileCAM25_CUOAGX – Full HD GMSL2 Global Shutter camera for NVIDIA® Jetson™ AGX Orin™ / AGX Xavier™
- NileCAM81_CUOAGX – AR0821 4K HDR GMSL2 Camera for NVIDIA® Jetson AGX Orin™/ AGX Xavier™
- e-CAM200_CUOAGX – 20MP(5K) AR2020 High Resolution Multi-camera Solution for NVIDIA® Jetson AGX Orin™
- e-CAM80_CUOAGX – 4K camera based on SONY IMX415 for NVIDIA® Jetson AGX Orin™/ AGX Xavier™
- e-CAM25_CUONX – FHD AR0234 Global Shutter Camera for NVIDIA® Jetson Orin NX / Orin Nano
- e-CAM50_CUONX – 5MP AR0521 Color Camera for NVIDIA® Jetson Orin NX / Orin Nano
- e-CAM80_CUONX – 4K Sony Starvis IMX415 Ultra Low Light Camera for NVIDIA® Jetson Orin NX / Orin Nano
- e-CAM81_CUONX – 4K HDR Camera for NVIDIA® Jetson Orin NX / Orin Nano
- e-CAM200_CUONX – 20MP (5K) AR2020 High Resolution Camera for NVIDIA® Jetson Orin NX / Orin Nano
当社のカメラ ソリューションは、ISP チューニング、最大 8 台のカメラのサポート、優れた低照度イメージング、最大 20 MP の解像度、グローバル シャッター、LFM などの機能を備えています。
当社のNVIDIA® Jetsonカメラをすべてご覧いただけます
Use our カメラ セレクター を使用して、当社の完全なラインナップを閲覧してください。
お客様のアプリケーションに理想的なカメラが必要な場合は、camerasolutions@e-consystems.com までご連絡ください。

Prabu Kumarは、e-con Systemsの最高技術責任者兼カメラ製品責任者であり、組み込みビジョン分野で15年以上の豊富な経験があります。彼は、USBカメラ、組み込みビジョンカメラ、ビジョンアルゴリズム、FPGAに関する深い知識をも有しています。医療、工業、農業、小売、生体認証などのさまざまなドメインにまたがる50以上のカメラソリューションを構築してきました。また、デバイスドライバー開発とBSP開発の専門家でもあります。現在は、新時代のAIベースのアプリケーションを強化するスマートカメラソリューションの構築に全力を注いでいます。