Jetson へのGMSLカメラを調査中

GMSLカメラを関心を持っている人は、おそらく組み込みで通信量の多いカメラを複数接続したいと思っている人でしょう。
- USB3.0 の帯域では足りない。
- MIPIではケーブル長が足りない。そもそもMIPIの階層でカメラに触りたくない。

 [GMSLカメラをなんとなく理解する](https://zenn.dev/turing_motors/articles/00fa3a484520c3)の記事に、なぜGMSLカメラが必要なのか、GMSL規格の概要などが書かれています。

 ここでは、JetsonユーザーにとってのGMSLカメラの候補を探すためのヒントを書こうと思います。
 Jetosn GMSL camera で検索する以上の意味がある記事になるかどうかは不明です。

GMSL には
GMSL, GMSL2, GMSL3 の世代があります。
GMSLカメラはであれば、基本対応するインターフェースを持つボードであれば、別にJetsonであろうがなかろうが、接続できるはずのものです。

## 複数台のカメラ接続
複数台のカメラを接続する際には、以下のことを注意します。
- カメラの電気的なインタフェースが確保できるのか？
- カメラのデータを転送するのに帯域が足りるのか？
- カメラの解像度とfps の組合せ。
- 受け取る側がそのデータを処理しきれるのか？

## 動きを無視できるのか、無視できないのか？
動きを無視できる場合には、ローリングシャッター方式のカメラでもOK。
無視できない場合には、グローバルシャッター方式を選ぶ。

## カメラへの要求項目
- ハイダイナミックレンジであること
- 複数のカメラの同期がとれること
- ステレオ計測の場合には、対応するカメラでゲイン設定が同じにできること
- 反射光を抑制できるように、偏光フィルタが利用できること

## Jetson へのGMSLカメラ
### Jetson AGX orin developer kit の場合
- Jetson AGX orin developer kitの仕様には、GMSLのカメラインタフェースについて記述がありません。
- StereoLabs のZED X の場合には、下記のcapture card を必要とします。
- https://store.stereolabs.com/en-jp/products/gmsl2-capture-card
![](https://store.stereolabs.com/cdn/shop/files/DualCCAngledUsGMSL2_2544562f-339e-404e-ad3b-70a7a79b0364.jpg?v=1702575217&width=990)

[Get Started with ZED X](https://www.stereolabs.com/docs/get-started-with-zed-x)
StereoLabs のZED2iと同様にZED SDK を使って動作させることができるカメラです。
そのため、ZED SDK にある多様なサンプルが動作できるはずです。
そういう意味で始めやすいGMSLカメラだと思います。


### GMSLのサポートのある場合

[STURDeCAM20_CUXVR - Jetson AGX Xavier™用IP67フルHD GMSL2 HDRカメラ](https://www.e-consystems.com/jp/nvidia-cameras/jetson-agx-xavier-cameras/2mp-ip67-gmsl2-rugged-camera-jp.asp)



[STURDeCAM21_CUOAGX - Jetson AGX Orin / AGX Xavier 用 IP67 フル HD GMSL2 HDR カメラ](https://www.e-consystems.com/jp/nvidia-cameras/jetson-agx-orin-cameras/ar0233-ip67-full-hd-gmsl2-hdr-camera-jp.asp)
![](https://www.e-consystems.com/images/GMSL/STURDeCAM20_CUOAGX/IP67-FullHD-GMSL2-HDR-camera-for-Jetson-AGX-Xavier-thumb.png)

[ティアフォー社製自動運転・自律走行ロボットに最適なカメラユニット
GMSL2インタフェース対応 HDRカメラ C1](https://www.paltek.co.jp/solution/tier4/index.html)
![](https://www.paltek.co.jp/dcms_media/image/tier4_application_img01.png)
ハイダイナミックレンジ(HDR)、高感度・低ノイズ・LEDフリッカー抑制などの対応がされたカメラです。

[Orbbec Gemini 335Lg 3D depth and RGB camera features MX6800 ASIC, GMSL2/FAKRA connector for multi-device sync on NVIDIA Jetson Platforms](https://www.cnx-software.com/2024/10/29/orbbec-gemini-335lg-3d-depth-and-rgb-camera-features-mx6800-asic-gmsl2-fakra-connector-for-multi-device-sync-on-nvidia-jetson-platforms/)

![](https://www.cnx-software.com/wp-content/uploads/2024/10/Gemini-335Lg-3D-Camera-e1729958787561-720x556.webp)
## Jetson のボードコンピュータ（GMSLのサポートあり）
- [NRU-110V Series 8x GMSL車載カメラおよび10Gイーサネット対応NVIDIA® Jetson AGX Xavier™ エッジ AIプラットフォーム](https://www.neousys-tech.com/ja/product/product-lines/machine-vision/nru-110v-nvidia-jason-embedded-platform-gmsl-camera)
- ![](https://www.neousys-tech.com/images/com_hikashop/upload/thumbnails/200x320/nru-110-nvidia-jetson-embedded.webp)

- [NVIDIA® Jetson™  AGX Xavier 対応/ 組み込みシステム & キャリアボード (Embedded System / Carrier Board)](https://www.kbk.co.jp/ja/product_details/ConnectTech-Jetson-AGXXavier)
- ![](https://www.kbk.co.jp/application/files/1516/1198/2787/ESG610_Angle4.jpg)
- Jetsonのボードコンピュータである AGX Xavierでの組み込みシステムの例です。
- GMSLのインタフェースも用意されています。

# 複数台接続のカメラ
- このように複数台のカメラを接続することは簡単ではない。

[ADLINK社 ROS Cube-X（ROS2 Controller](https://www.paltek.co.jp/solution/tier4/ecu/index.html)

[自動運転カメラの高負荷、その原因はLinuxカーネルのどこに？](https://zenn.dev/turing_motors/articles/47399ffaad6887)

[GMSLカメラをなんとなく理解する](https://zenn.dev/turing_motors/articles/00fa3a484520c3)

## 利用する台数によって選択肢は変わりうる。
### 台数が少なければ、そのまま買ったほうが安上がり
- 単独のカメラモジュールを組合せてステレオカメラを作るには、カメラの同期やカメラキャリブレーションや、視差の算出、IMUなどとの関連付けが必要になる。
- ZED2iや ZED Xのような性能の自力で引き出すには、相当な労力がかかる。
− 台数が少ないときに、ほんのちょっとの「改良」のために、自作をしても報われない。

### 利用台数が1000台、１万台を超える場合
- 利用する台数がとても多いときには、独自の改良・独自の実装をする可能性が出てくる。
- 開発工数を考慮しても、台数分を考慮したときに費用的に許容できる状況になる。
- 既存の比較になる事例に対して、独自の追加の「改良」をしうる可能性が生じてくる。
- それでも、volume discountをした方が、実績のある実装をさっさと利用できるということも覚えておこう。