Edge.Auto Getting Started Manual
TIER IV
2024 年 09 月 20 日

i

目次

1

TIER IV Automotive HDR Camera スタートガイド

1

1.1

ADLINK ROSCube RQX‑58G 用 TIER IV カメラ スタート ガイド . . . . . . . . . . . . . . . .

1

1.2

ADLINK ROSCube RQX‑59G 用 TIER IV カメラスタートガイド . . . . . . . . . . . . . . . . 15

1.3

Nvidia Jetson AGX Orin/Xavier 開発者キット用 TIER IV カメラ スタートガイド . . . . . . . 28

1.4

Vecow EAC‑5000 用 TIER IV カメラ スタート ガイド . . . . . . . . . . . . . . . . . . . . . . 41

1.5

Connect Tech Anvil 用 TIER IV カメラスタートガイド . . . . . . . . . . . . . . . . . . . . . 442

センサー フュージョン開発キット スタート ガイド

48

2.1

ハードウェアのセットアップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

2.2

インストール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

2.3センサーのキャリブレーション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

2.4

アプリケーションの起動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

2.5

トラブルシューティング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

3

GMSL‑10GbE 変換モジュール スタートガイド

58

3.1

準備 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

3.2

Linux での使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

3.3

CUI 経由の画像出力設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

3.4

GUI による画像出力設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

3.5

画像を表示する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

3.6

トリガー信号の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

3.7

PTP を用いた時刻同期 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

3.8

Web GUI を用いた画質調整 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

3.9

REST API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

3.10 トラブルシューティング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

1

1

TIER IV Automotive HDR Camera スタートガイド

このセクションでは様々なプラットフォーム上で TIER IV カメラを使用し始めるための手順を説明します。

1.1 ADLINK ROSCube RQX‑58G 用 TIER IV カメラ スタート ガイド
注意: このドキュメントは ADLINK RQX‑58G のユーザー向けです。

1.1.1 準備
機材

• ADLINK ROSCube‑X RQX‑58G• JetPack4.5 (L4T 32.5.1) または JetPack4.6 (L4T 32.6.1)• GMSL2 同軸ケーブル (FAKRA ‑ mini FAKRA、1:4)• TIER IV 車載 HDR カメラ C1 または C2

Edge.Auto Getting Started Manual
カメラの接続1. まず、ROSCube‑X の電源がオフになっていることを確認します。
2. カメラをケーブルの FAKRA コネクタ (シングル FAKRA コネクタ側) に接続します。次に、ケーブルの
ミニ FAKRA コネクタを ROSCube‑X の GMSL2 ポートに挿入します。

3. FAKRA コネクタおよびミニ FAKRA コネクタのロックの方向が正しいことを確認してください (図 1 ～3)。

図 1.1 RosCube

図 1.2 コネクタ

2

1 TIER IV Automotive HDR Camera スタートガイド

Edge.Auto Getting Started Manual

図 1.3 Fakra ケーブル挿入方向

1.1.2 電源投入とカメラからの画像出力の確認
電源投入

ROSCube‑X の電源を入れ、パワーオン LED が青色に点灯することを確認します。

ログイン
起動ウィンドウで、パスワードを入力してログインします。
デフォルトの設定は以下のとおりです。

ユーザー

ros

パスワード

adlinkros

カメラドライバーのインストール

注釈: C2 を使用する場合、カメラドライバ v1.4.1 以上が必須です。必要な場合ドライバをアップデートしてください。
必要なカメラドライバーがすでにインストールされている場合は、このセクションをスキップしてください。

Github から カメラドライバ deb パッケージ を入手します。最新リリースは RQX‑58G で動作することが確1.1. ADLINK ROSCube RQX‑58G 用 TIER IV カメラ スタート ガイド

3

Edge.Auto Getting Started Manual
認されています。
提供されたドライバー パッケージ ファイル (tier4-isx021-gmsl_*.*.*_arm64.deb) を ROSCube‑X
内の任意のディレクトリ (例: ~/c1_driver) にコピーします。次に、以下の操作をコマンドラインで行います。

1. apt update でパッケージを更新します。インターネット接続が必要です。次に、apt install コ
マンドを使用してドライバーをインストールします。*.dtbo ファイルが /boot に生成されていることを確認してください。
# Installsudo apt update
sudo apt install make debhelper dkms
sudo apt install ~/c1_driver/tier4-camera-gmsl_1.2.1_arm64.deb# Confirm /boot/tier4-*.dtbo exists
ls /boot/*.dtbo

2. デバイスツリーオーバーレイのコマンドは、L4T バージョンによって異なります。L4T バージョンを確認するには、$ cat /etc/nv_tegra_release を実行して結果を確認します。たとえば、# R32(release), REVISION: 5.1..., が返された場合、インストールされている L4T バージョンは「32.5.1」です。

3. インストールされている L4T バージョンに応じた手順を選択してください。また、各ポートにカメラを割り当てるには、カメラ ドライバーの README ページ を参照してください。実現したいカメラの割
当に応じて適切なオーバーレイ コマンドを指定して下さい。

L4T 32.5.1# For L4T 32.5.1
sudo /opt/nvidia/jetson-io/config-by-hardware.py -n "TIERIV ISX021 GMSL2␣
˓→Camera Device Tree Overlay"# Confirm /boot/kernel_tegra194-rqx-58g-tier4-isx021-gmsl2-camera-device˓→tree-overlay-roscube-r32_x.dtb has been generated
ls /boot/kernel_tegra194-rqx-58g-tier4-isx021-gmsl2-camera-device-tree˓→overlay*.dtb# Then, shutdown the systemsudo shutdown -h now

4

1 TIER IV Automotive HDR Camera スタートガイド

Edge.Auto Getting Started Manual
L4T 32.6.1 以降# For L4T 32.6.1
sudo /opt/nvidia/jetson-io/config-by-hardware.py -n 2="TIERIV ISX021 GMSL2␣
˓→Camera Device Tree Overlay"# Confirm /boot/kernel_tegra194-rqx-58g-user-custom.dtb has been generated
ls /boot/kernel_tegra194-rqx-58g-user-custom.dtb# Then, shutdown the systemsudo shutdown -h now/opt/nvidia/jetson-io/config-by-hardware.py -l を実行すると、利用可能なオーバーレイ オ
プションを確認することができます。
$ sudo /opt/nvidia/jetson-io/config-by-hardware.py -l[sudo] password for ros:
Header 1 [default]: Jetson 40pin Header
No hardware configurations found!
Header 2: Jetson AGX Xavier CSI Connector
Available hardware modules:
1. TIERIV IMX490 GMSL2 Camera Device Tree Overlay
2. TIERIV ISX021 GMSL2 Camera Device Tree Overlay
3. TIERIV ISX021 IMX490 GMSL2 Camera Device Tree Overlay

たとえば、すべての GMSL ポートを C2 カメラに割り当てるには、overlay コマンドは次のようにして下さい。
sudo /opt/nvidia/jetson-io/config-by-hardware.py -n 2="TIERIV IMX490 GMSL2 Camera␣
˓→Device Tree Overlay"

C1 と C2 の両方に GMSL ポートを割り当てるには、overlay コマンドを次のようにして下さい。
sudo /opt/nvidia/jetson-io/config-by-hardware.py -n 2="TIERIV ISX021 IMX490 GMSL2␣
˓→Camera Device Tree Overlay"

この場合、ポート 1、2、5、および 6 は C1 に割り当てられ、ポート 3、4、7、および 8 は C2 に割り当てられます。
デバイスオーバーレイの詳細については、デバイスドライバの GitHub リポジトリを参照してください。

ROSCube‑X がカメラを認識しているかの確認
ターミナルウィンドウを開き、次のコマンドを入力します。/dev/videoX が返された場合、カメラはビデオ
デバイスとして正しく認識されています。
ls /dev/video*/dev/video0/dev/video1.
.
(次のページに続く)

1.1. ADLINK ROSCube RQX‑58G 用 TIER IV カメラ スタート ガイド

5

Edge.Auto Getting Started Manual(前のページからの続き).
/dev/video7 # When 8 cameras are connected

GStreamer を使用したカメラ出力の視覚化
ターミナルウィンドウを開き、次のコマンドを入力します。Gstreamer が起動し、新しいウィンドウにカメラ
画像ストリームが表示されます（図 4、図 5）
ケース 1: 1 台の C1 カメラが接続されている場合# If cameras are running in slave mode, execute this i2cset command firsti2cset -f -y 2 0x66 0x04 0xff
# Start streaming
gst-launch-1.0 v4l2src io-mode=0 device=/dev/video0 do-timestamp=true ! 'video/x˓→raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! videoscale !␣
˓→xvimagesink sync=false

ケース 2: 8 台の C1 カメラが接続されている場合# If cameras are running in slave mode, execute this i2cset command firsti2cset -f -y 2 0x66 0x04 0xff
# Start streaming
gst-launch-1.0 v4l2src io-mode=0 device=/dev/video0 do-timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! \xvimagesink sync=false v4l2src io-mode=0 device=/dev/video1 do-timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! xvimagesink␣˓→sync=false \v4l2src io-mode=0 device=/dev/video2 do-timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! xvimagesink␣˓→sync=false \v4l2src io-mode=0 device=/dev/video3 do-timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! xvimagesink␣˓→sync=false \v4l2src io-mode=0 device=/dev/video4 do-timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! xvimagesink␣˓→sync=false \v4l2src io-mode=0 device=/dev/video5 do-timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! xvimagesink␣˓→sync=false \v4l2src io-mode=0 device=/dev/video6 do-timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! xvimagesink␣˓→sync=false \v4l2src io-mode=0 device=/dev/video7 do-timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! xvimagesink␣˓→sync=false \6

1 TIER IV Automotive HDR Camera スタートガイド

Edge.Auto Getting Started Manual
参考:複数カメラを接続し、上記のコマンドでカメラを起動してカメラの起動が不安定な場合、こちらのページを参照ください。
ケース 3: C2 カメラ 1 台が接続されている場合
gst-launch-1.0 v4l2src io-mode=0 device=/dev/video0 do-timestamp=true ! 'video/x˓→raw, width=2880, height=1860, framerate=30/1, format=UYVY' ! videoscale !␣
˓→xvimagesink sync=false

C2 カメラに関する制限事項
現在、2 台の C2 カメラを 1 つのデシリアライザ ボードに接続することはできません。
例：• ポート 1 および 2 ... NG• ポート 3 と 4 ... NG• ポート 1 とポート 3 ... OK• ポート 1 と 5 ... OK

図 1.4 カメラ出力画像

カメラの起動順序の制約 (v1.1.1 以前のドライババージョンの場合)

v1.1.1 より前のバージョンのドライバを使用している場合は、起動のための特定の手順に従ってください。ドライババージョン v1.2.1 以降の場合、順序や制約の要件はありません。

1.1. ADLINK ROSCube RQX‑58G 用 TIER IV カメラ スタート ガイド

7

Edge.Auto Getting Started Manual

図 1.5 カメラ出力画像 (x8 カメラ)

複数のカメラを実行するには、カメラを一度に起動する必要があります。たとえば、2 台のカメラを実行するには、start‑streaming コマンドをワンライナーにする必要があります。
# This one-liner command works
gst-launch-1.0 v4l2src io-mode=0 device=/dev/video0 do-timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! \xvimagesink sync=false v4l2src io-mode=0 device=/dev/video1 do-timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! xvimagesink␣˓→sync=false \これらの個別のコマンドは機能しません# These separated commands may not work
# On a terminal
gst-launch-1.0 v4l2src io-mode=0 device=/dev/video0 do-timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! \xvimagesink sync=false# On another terminal
gst-launch-1.0 v4l2src io-mode=0 device=/dev/video1 do-timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! \xvimagesink sync=false

8

1 TIER IV Automotive HDR Camera スタートガイド

Edge.Auto Getting Started Manual

1.1.3 映像データを rosbag（ROS 形式のログデータ）として記録する
ROS melodic と gscam (GStreamer 用の ROS カメラドライバー) のインストール
コマンドラインで次の入力を行い、ROS melodic と gscam をインストールして下さい。

注意: インストールコマンドは変更される可能性があります。次のコマンドが機能しない場合は、ROS
公式ドキュメント を参照してください。

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" >˓→ /etc/apt/sources.list.d/ros-latest.list'
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt˓→key add sudo apt update
sudo apt install ros-melodic-desktop
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
sudo apt install -y ros-melodic-gscam

gscam の実行と画像トピックの可視化
以下の手順で gscam を実行して下さい。

1. 新しいターミナルを開き、次のコマンドを実行して roscore を起動します
roscore2. 別のターミナルを開き、次のコマンドを実行します
export GSCAM_CONFIG="v4l2src device=/dev/video0 ! video/x-raw,framerate=30/1 !
˓→ videoconvert"
rosrun gscam gscam

3. トピック（ROS 形式のメッセージデータ）camera/image_raw が公開されたので、rqt_image_view
でトピックを可視化します。rqt_image_view を起動するには、別のターミナルを開いて次のコマンドを実行します。
rosrun rqt_image_view rqt_image_view

このコマンドは、画像トピックを視覚化するためのウィンドウを開きます。ウィンドウ左上のプルダウ
ンメニューをクリックして、camera/image_raw を選択します (図 6)。
複数のカメラで gscam を実行するには、次の XML メッセージを含むテキスト ファイルを作成し、~/

2cameras.launch として保存します。この .launch ファイルは 2 台のカメラでのストリーミング用です。

1.1. ADLINK ROSCube RQX‑58G 用 TIER IV カメラ スタート ガイド

9Edge.Auto Getting Started Manual

図 1.6

公開された画像トピックを選択してください<launch><arg name="frame_rate" default="30"/><node name="gscam_driver_v4l_port_1" pkg="gscam" type="gscam" output="screen" ns=
˓→"port_1"><param name="camera_name" value="port_1"/><param name="frame_id" value="port_1"/><param name="camera_info_url" value="package://gscam/examples/uncalibrated_˓→parameters.ini"/><param name="gscam_config" value="v4l2src device=/dev/video0 ! video/x-raw,
˓→format=UYVY,width=1920,height=1280,framerate=30/1 ! videoconvert"/><param name="sync_sink" value="true"/></node><node name="gscam_driver_v4l_port_2" pkg="gscam" type="gscam" output="screen" ns=
˓→"port_2"><param name="camera_name" value="port_2"/><param name="frame_id" value="port_2"/><param name="camera_info_url" value="package://gscam/examples/uncalibrated_˓→parameters.ini"/><param name="gscam_config" value="v4l2src device=/dev/video1 ! video/x-raw,
˓→format=UYVY,width=1920,height=1280,framerate=30/1 ! videoconvert"/><param name="sync_sink" value="true"/></node></launch>

10

1 TIER IV Automotive HDR Camera スタートガイド

Edge.Auto Getting Started Manual

注意: 上記は C1 の設定です。C2 の場合は、必要に応じて「width」、「height」、「framerate」を変更してください。

/home/ros/2cameras.launch を作成したとして、次のコマンドを実行して複数のカメラで gscam を実行します。
roslaunch /home/ros/2cameras.launch

注釈: さらにカメラを追加するには、適切な node name、namespace(ns)、camera_name、frame_id、および gscam_config を使用してノードを追加します。

Rosbag を記録する
gscam の実行中に、次の方法で rosbag (ROS 形式のログ ファイル) を記録できます。
rosbag record -a

rosbag info で rosbag の情報を確認することができます。
rosbag info <recorded rosbag file name># example output
path:2022-03-29-17-42-07.bagversion:
2.0
duration:
3.1s
start:
Mar 29 2022 17:42:07.97 (1648543327.97)
end:
Mar 29 2022 17:42:11.07 (1648543331.07)
size:
365.7 MBmessages:
113
compression: none [53/53 chunks]
types:
rosgraph_msgs/Log[acffd30cd6b6de30f120938c17c593fb]
sensor_msgs/CameraInfo [c9a58c1b0b154e0e6da7578cb991d214]
sensor_msgs/Image[060021388200f6f0f447d0fcd9c64743]
topics:/port_1/camera/camera_info
26 msgs: sensor_msgs/CameraInfo/port_1/camera/image_raw
26 msgs: sensor_msgs/Image/port_2/camera/camera_info
26 msgs: sensor_msgs/CameraInfo/port_2/camera/image_raw
26 msgs: sensor_msgs/Image/rosout
8 msgs: rosgraph_msgs/Log(3␣
˓→connections)/rosout_agg
1 msg: rosgraph_msgs/Log

1.1. ADLINK ROSCube RQX‑58G 用 TIER IV カメラ スタート ガイド

11

Edge.Auto Getting Started Manual

1.1.4 設定変更
ドライバの設定を変更するには、設定ファイル /etc/modprobe.d/tier4-*.conf を編集します。(次のセクションを参照してください)。設定ファイルにはデフォルトで次の行が含まれています。(C1 の場合です)
options tier4_isx021 trigger_mode=0 enable_auto_exposure=1 enable_distortion_
˓→correction=1

設定を適用するには、編集後に ROSCube‑X を再起動します。

駆動モードの切り替え

注意: カメラをスレーブモードで動作させるには、ROSCube‑X からフレーム同期信号を入力する必要があります。カメラをスレーブ モードで駆動するには、Shutter triggering over GMSL2 をチェックしてください。

C1 の場合設定ファイルを編集することで、カメラの駆動モードをマスター モードからスレーブ モード (またはその逆)に切り替えることができます。

• マスターモード: 30fps のフリーランモード (デフォルト)• スレーブモード: シャッタートリガーモード。シャッタータイミング、フレームレートは FSYNC 信号
周波数によって調整可能 (ROSCube‑X で設定可能)
モードを切り替えるには、/etc/modprobe.d/tier4-isx021.conf の trigger_mode を編集します。
（以下参照）

駆動モード

フレームレート

trigger_mode=

マスター

30fps

0

スレーブ

FSYNC 入力周波数に依存

1

C2 の場合C2 の場合、/etc/modprobe.d/tier4‑imx490.conf を編集することで以下のモードを選択することができます。次の表に、使用可能な設定を示します。

12

1 TIER IV Automotive HDR Camera スタートガイド

Edge.Auto Getting Started Manual

駆動モード

フレームレート

trigger_mode=

マスター

10fps

0

スレーブ

10fps

1

マスター

20fps

2

スレーブ

20fps

3

マスター

30fps

4

スレーブ

30fps

5

レンズ歪み補正 (LDC) の有効化/無効化

注釈: この設定は C1 と C2 に共通です。

LDC を有効にするには、フラグ enable_distortion_correction=1 (デフォルト) を設定します。LDCを無効にするには、フラグ enable_distortion_correction=0 を設定します。

オートエクスポージャーの有効化/無効化

注釈: この設定は C1 と C2 に共通です。

LDC を有効にするには、フラグ enable_distortion_correction=1 (デフォルト) を設定します。LDCを無効にするには、フラグ enable_distortion_correction=0 を設定します。

露光時間の固定

C1 の場合C1 に は 3 種 類 の 露 光 時 間 が あ り、 変 数 shutter_time_min, shutter_time_mid,
shutter_time_max を 使 用 す る こ と で 各 々 を 設 定 す る こ と が 可 能 で す。 実 際 の 露 光 時 間 は、 周 囲 の明るさに応じてこれら３つの３変数値及びそれらの線形補間値の間を遷移します。各変数値の単位はマイクロ秒です。異なる環境光条件下であっても露光時間が変化しないように固定するには、これらの変数に対してす
べて同じ値を設定してください。例えば、/etc/modprobe.d/tier4-isx021.conf に対して以下の設定を記述することで露光時間を 11 ms に固定することができます。
shutter_time_min=11000 shutter_time_mid=11000 shutter_time_max=11000

1.1. ADLINK ROSCube RQX‑58G 用 TIER IV カメラ スタート ガイド

13

Edge.Auto Getting Started Manual
C2 の場合C1 と同様に、C2 では shutter_time_min 及び shutter_time_max の２種類の露光時間を設定することが可能です。各変数値の単位はマイクロ秒です。例えば、/etc/modprobe.d/tier4-imx490.conf に対して以下の設定を記述することで、露光時間を 11 ms に固定することができます。
shutter_time_min=11000 shutter_time_max=11000

1.1.5 GMSL2 経由のシャッタートリガー
スレーブ モードでのカメラ操作には、GMSL2 を介したトリガー信号入力 (FSYNC 入力) が必要です。FSYNC
パラメータと GPIO 設定の構成方法については、ADLINK のドキュメント を参照してください。

スレーブモードでカメラを駆動するための準備
ターミナルで i2cget -f -y 2 0x66 0x01 を実行して ROSCube‑X の HW バージョンを確認し、以下の手順に従ってください。

i2cget ‑f ‑y 2 0x66 0x01 が 0x23 を返す場合
ストリーミングを開始する前に i2cset -f -y 2 0x66 0x04 0xff を実行してください。システムでは、起動後にこの準備が 1 回だけ必要になります。

i2cget ‑f ‑y 2 0x66 0x01 が 0x21 を返す場合
準備は必要ありません。

C1 の FSYNC 周波数
30fps より低い任意の周波数を入力可能です

C2 の FSYNC 周波数
C2 の場合、入力可能な FYNC の周波数は駆動モードに依存します。以下の表を参照して下さい。
• 30fps モード (trigger_mode=5): 15 < f <= 30 fps• 20fps モード (trigger_mode=3): 10 < f <= 20 fps• 10fps モード (trigger_mode=1): 5 < f <= 10 fps

14

1 TIER IV Automotive HDR Camera スタートガイド

Edge.Auto Getting Started Manual
フレームレートの確認
ビデオ上で フレームレート設定を確認するには、次のコマンドを実行してください。

• カメラがポート 1 にのみ接続されてる場合
gst-launch-1.0 v4l2src io-mode=0 device=/dev/video0 do-timestamp=true !
˓→'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' !␣
˓→fpsdisplaysink video-sink=xvimagesink sync=false• カメラがポート 1 と 2 に接続されている場合
gst-launch-1.0 v4l2src io-mode=0 device=/dev/video0 do-timestamp=true !
˓→'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' !␣
˓→xvimagesink sync=false v4l2src io-mode=0 device=/dev/video1 do˓→timestamp=true ! 'video/x-raw, width=1920, height=1280, framerate=30/1,␣
˓→format=UYVY' ! fpsdisplaysink video-sink=xvimagesink sync=false

1.2 ADLINK ROSCube RQX‑59G 用 TIER IV カメラスタートガイド
注意: このドキュメントは ADLINK RQX‑59G のユーザー向けです

1.2.1 準備
必須項目

• ADLINK ROSCube‑X RQX‑59G• BSP バージョン 1.4.2• JetPack5.1.2 (L4T R35.4.1) がインストール済み• GMSL2 同軸ケーブル (FAKRA ‑ mini FAKRA、1:4)• TIER IV 車載 HDR カメラ C1 または C2

カメラ接続

1. まず、RQX‑59G の電源がオフになっていることを確認します。
2. カメラをケーブルの FAKRA コネクタ (シングル FAKRA コネクタ側) に接続します。次に、ケーブルの
ミニ FAKRA コネクタを RQX‑59G の GMSL2 ポートに挿入します。

3. FAKRA コネクタおよびミニ FAKRA コネクタのロックピエロの方向が正しいことを確認してください(図 1 ～ 3)。

1.2. ADLINK ROSCube RQX‑59G 用 TIER IV カメラスタートガイド

15

Edge.Auto Getting Started Manual

図 1.7 RosCube RQX‑59G

図 1.8 コネクタ

16

1 TIER IV Automotive HDR Camera スタートガイド

Edge.Auto Getting Started Manual

図 1.9 Fakra ケーブル挿入方向

1.2.2 電源を入れてカメラの画像ストリーム出力を確認します
電源オン

RQX‑59G の電源を投入し、パワーオン LED が青色に点灯することを確認します。

ログイン
起動ウィンドウで、パスワードを入力してログインします。
デフォルトの設定は以下のとおりです。

ユーザー

ロス

パスワード

アドリンククロス

カメラドライバーのインストール

注釈: 2024‑04‑01 現在、RQX‑59G を TIER IV カメラで使用するには、専用のドライバー deb パッケージが必要です。

Github からカメラ ドライバー deb パッケージを入手します。
提 供 さ れ た ド ラ イ バ ー パ ッ ケ ー ジ フ ァ イ ル (tier4-camera-gmsl_1.4.2_59g_arm64.deb) を

1.2. ADLINK ROSCube RQX‑59G 用 TIER IV カメラスタートガイド

17

Edge.Auto Getting Started Manual
RQX‑59G 内の任意のディレクトリ (例 ~/driver) にコピーします。次に、以下のコマンド ラインの指示に従います。

1. apt パッケージを更新しています。インターネット接続が必要です。次に、「apt install」コマンドを使用してドライバーをインストールします。*.dtbo ファイルが /boot に生成されていることを確認してください。
# Installsudo apt update
sudo apt install make debhelper dkms
sudo apt install ~/driver/tier4-camera-gmsl_1.2.1_arm64.deb# Confirm /boot/tier4-*.dtbo exists
ls /boot/*.dtbo/boot/tier4-imx490-gmsl-device-tree-overlay-roscube-orin-r354.dtbo/boot/tier4-isx021-gmsl-device-tree-overlay-roscube-orin-r354.dtbo/boot/tier4-isx021-imx490-gmsl-device-tree-overlay-roscube-orin-r354.dtbo

2. 各ポートにカメラを割り当てるには、configure-by-hardware.py スクリプトを使用できます。
詳細については、カメラ ドライバーの README ページ を参照してください。ユーザーは、各ユーザーの設定に適切なオーバーレイ コマンドを指定する必要があります。
# For RQX-59G# Please be noted that you need to specify "1=" (not "2=")sudo /opt/nvidia/jetson-io/config-by-hardware.py -n 1="TIERIV ISX021 GMSL2␣
˓→Camera Device Tree Overlay"# Confirm kernel_tegra234-p3701-0004-rqx590-nosuspend-user-custom.dtb has␣˓→been generated
ls /boot/*.dtb/boot/kernel_tegra234-p3701-0004-rqx590-nosuspend.dtb/boot/kernel_tegra234-p3701-0004-rqx590-nosuspend-user-custom.dtb# Then, shutdown the systemsudo shutdown -h now/opt/nvidia/jetson-io/config-by-hardware.py -l を実行して、利用可能なオーバーレ
イ オプションを確認できます。
sudo /opt/nvidia/jetson-io/config-by-hardware.py -l[sudo] password for ros:
Header 1 [default]: Jetson AGX CSI Connector
Available hardware modules:
1. TIERIV IMX490 GMSL2 Camera Device Tree Overlay
2. TIERIV ISX021 GMSL2 Camera Device Tree Overlay
3. TIERIV ISX021 IMX490 GMSL2 Camera Device Tree Overlay

たとえば、すべての GMSL ポートを C2 カメラに割り当てるには、overlay コマンドは次のようにする必要があります。

18

1 TIER IV Automotive HDR Camera スタートガイド

Edge.Auto Getting Started Manual

sudo /opt/nvidia/jetson-io/config-by-hardware.py -n 1="TIERIV IMX490 GMSL2␣
˓→Camera Device Tree Overlay"

C1 と C2 の両方に GMSL ポートを割り当てるには、 overlay コマンドを次のようにする必要があります。
sudo /opt/nvidia/jetson-io/config-by-hardware.py -n 1="TIERIV ISX021 IMX490␣
˓→GMSL2 Camera Device Tree Overlay"

この場合、ポート 1、2、5、6 は C1 に割り当てられ、ポート 3、4、7、8 は C2 に割り当てられます。
デバイス オーバーレイの詳細については、デバイス ドライバー GitHub リポジトリを参照してくだ
さい。

RQX‑59G がカメラを認識するか確認する
ターミナル ウィンドウを開き、次のコマンドを入力します。/dev/videoX が返された場合、カメラはビデ
オ デバイスとして正しく認識されています。
ls /dev/video*/dev/video0/dev/video1.
.
.
/dev/video7 # When 8 cameras are connected

GStreamer を使用してカメラ出力を視覚化する
ターミナル ウィンドウを開き、次のコマンドを入力します。Gstreamer が起動し、新しいウィンドウにカメ
ラ画像ストリームが表示されます（図 1）。4、図 5）。
さまざまな GStreamer の例については、GStreamer コマンドの例 も参照してください。
ケース 1: 1 台の C1 カメラが接続されている# If cameras are running in slave mode, execute this i2cset command firsti2cset -f -y 2 0x66 0x04 0xff
# Start streaming
gst-launch-1.0 v4l2src io-mode=0 device=/dev/video0 do-timestamp=true ! 'video/x˓→raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! videoscale !␣
˓→xvimagesink sync=false

1.2. ADLINK ROSCube RQX‑59G 用 TIER IV カメラスタートガイド

19

Edge.Auto Getting Started Manual
ケース 2: 8 台の C1 カメラが接続されている# If cameras are running in slave mode, execute this i2cset command firsti2cset -f -y 2 0x66 0x04 0xff
# Start streaming
gst-launch-1.0 v4l2src io-mode=0 device=/dev/video0 do-timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! \xvimagesink sync=false v4l2src io-mode=0 device=/dev/video1 do-timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! xvimagesink␣˓→sync=false \v4l2src io-mode=0 device=/dev/video2 do-timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! xvimagesink␣˓→sync=false \v4l2src io-mode=0 device=/dev/video3 do-timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! xvimagesink␣˓→sync=false \v4l2src io-mode=0 device=/dev/video4 do-timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! xvimagesink␣˓→sync=false \v4l2src io-mode=0 device=/dev/video5 do-timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! xvimagesink␣˓→sync=false \v4l2src io-mode=0 device=/dev/video6 do-timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! xvimagesink␣˓→sync=false \v4l2src io-mode=0 device=/dev/video7 do-timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! xvimagesink␣˓→sync=false \参考:
複数カメラを接続し、上記のコマンドでカメラを起動してカメラの起動が不安定な場合、こちらのページを参照ください。
ケース 3: C2 カメラ 1 台が接続されている場合
gst-launch-1.0 v4l2src io-mode=0 device=/dev/video0 do-timestamp=true ! 'video/x˓→raw, width=2880, height=1860, framerate=30/1, format=UYVY' ! videoscale !␣
˓→xvimagesink sync=false

複数の C2 カメラを接続する場合

RQX‑59G では、8 つの GMSL ポートに対して 4 つのデシリアライザが実装され、2 つの GMSL ポートが 1 つのデシリアライザとその帯域幅を共有します。

2 つの C2 カメラが 1 つのデシリアライザーで動作できることを確認しましたが、特に最大 4 つのカメラを接続している場合は、デシリアライザーごとに 1 つのカメラだけを使用するのが最善です。
例えば：

20

1 TIER IV Automotive HDR Camera スタートガイド

Edge.Auto Getting Started Manual• ポート 1 および 2 ... 推奨されません• ポート 3 および 4 ... 推奨されません• ポート 1 とポート 3 ... 推奨• ポート 1 および 5 ... 推奨

図 1.10 視覚化されたカメラ出力

図 1.11 視覚化されたカメラ出力 (x8 カメラ)

1.2. ADLINK ROSCube RQX‑59G 用 TIER IV カメラスタートガイド

21

Edge.Auto Getting Started Manual

1.2.3 映像データを rosbag（ROS 形式のログデータ）として記録
ROS melodic と gscam (GStreamer 用の ROS カメラドライバー) をインストールします。
コマンドラインの指示に従って、ROS melodic と gscam をインストールします。

注意: インストールコマンドは変更される可能性があります。次のコマンドが機能しない場合は、ROS
公式ドキュメント を参照してください。

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" >˓→ /etc/apt/sources.list.d/ros-latest.list'
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt˓→key add sudo apt update
sudo apt install ros-melodic-desktop
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
sudo apt install -y ros-melodic-gscam

gscam を実行し、画像トピックを視覚化します。
指示に従って gscam を実行します。

1. 新しいターミナルを開き、次のコマンドを実行して roscore を起動します
roscore2. 別のターミナルを開き、次のコマンドを実行します
export GSCAM_CONFIG="v4l2src device=/dev/video0 ! video/x-raw,framerate=30/1 !
˓→ videoconvert"
rosrun gscam gscam

3. トピック（ROS 形式のメッセージデータ）camera/image_raw が公開されたので、rqt_image_view
でトピックを可視化します。rqt_image_view を起動するには、別のターミナルを開いて次のコマンドを実行します。
rosrun rqt_image_view rqt_image_view

このコマンドは、画像トピックを視覚化するためのウィンドウを開きます。ウィンドウ左上のプルダウ
ンメニューをクリックして、camera/image_raw を選択します (図 6)。
複数のカメラで gscam を実行するには、次の XML メッセージを含むテキスト ファイルを作成し、~/

2cameras.launch として保存します。この .launch ファイルは 2 台のカメラでのストリーミング用です。

22

1 TIER IV Automotive HDR Camera スタートガイド

Edge.Auto Getting Started Manual

図 1.12 公開された画像トピックを選択してください<launch><arg name="frame_rate" default="30"/><node name="gscam_driver_v4l_port_1" pkg="gscam" type="gscam" output="screen" ns=
˓→"port_1"><param name="camera_name" value="port_1"/><param name="frame_id" value="port_1"/><param name="camera_info_url" value="package://gscam/examples/uncalibrated_˓→parameters.ini"/><param name="gscam_config" value="v4l2src device=/dev/video0 ! video/x-raw,
˓→format=UYVY,width=1920,height=1280,framerate=30/1 ! videoconvert"/><param name="sync_sink" value="true"/></node><node name="gscam_driver_v4l_port_2" pkg="gscam" type="gscam" output="screen" ns=
˓→"port_2"><param name="camera_name" value="port_2"/><param name="frame_id" value="port_2"/><param name="camera_info_url" value="package://gscam/examples/uncalibrated_˓→parameters.ini"/><param name="gscam_config" value="v4l2src device=/dev/video1 ! video/x-raw,
˓→format=UYVY,width=1920,height=1280,framerate=30/1 ! videoconvert"/><param name="sync_sink" value="true"/></node></launch>

1.2. ADLINK ROSCube RQX‑59G 用 TIER IV カメラスタートガイド

23

Edge.Auto Getting Started Manual

注意: C1 の設定です。C2 の場合は、必要に応じて「width」、「height」、「framerate」を変更してください。

/home/ros/2cameras.launch を作成したと仮定して、次のコマンドを実行して複数のカメラで gscamを実行します。
roslaunch /home/ros/2cameras.launch

注釈: さらにカメラを追加するには、適切なノード名、namespace(ns)、camera_name、frame_id、および gscam_config を使用してノードを追加します。

ロスバッグを記録する

gscam の実行中に、次の方法で rosbag (ROS 形式のログ ファイル) を記録できます。
rosbag record -a

rosbag info で rosbag の情報を確認することもできます。
rosbag info <recorded rosbag file name># example output
path:2022-03-29-17-42-07.bagversion:
2.0
duration:
3.1s
start:
Mar 29 2022 17:42:07.97 (1648543327.97)
end:
Mar 29 2022 17:42:11.07 (1648543331.07)
size:
365.7 MBmessages:
113
compression: none [53/53 chunks]
types:
rosgraph_msgs/Log[acffd30cd6b6de30f120938c17c593fb]
sensor_msgs/CameraInfo [c9a58c1b0b154e0e6da7578cb991d214]
sensor_msgs/Image[060021388200f6f0f447d0fcd9c64743]
topics:/port_1/camera/camera_info
26 msgs: sensor_msgs/CameraInfo/port_1/camera/image_raw
26 msgs: sensor_msgs/Image/port_2/camera/camera_info
26 msgs: sensor_msgs/CameraInfo/port_2/camera/image_raw
26 msgs: sensor_msgs/Image/rosout
8 msgs: rosgraph_msgs/Log(3␣
˓→connections)/rosout_agg
1 msg: rosgraph_msgs/Log

24

1 TIER IV Automotive HDR Camera スタートガイド

Edge.Auto Getting Started Manual

1.2.4 構成
ドライバー構成を変更するには、構成ファイル /etc/modprobe.d/tier4-*.conf を編集します。(次のセクションを参照してください)。設定ファイルにはデフォルトで次の行が含まれています。(C1 の場合です)
options tier4_isx021 trigger_mode=0 enable_auto_exposure=1 enable_distortion_
˓→correction=1

設定を適用するには、編集後に RQX‑59G を再起動します。

ドライブモードを切り替える

注意: カメラをスレーブモードで動作させるには、RQX‑59G からフレーム同期信号を入力する必要があります。カメラをスレーブ モードで駆動するには、Shutter triggering over GMSL2 をチェックしてください。

RQX‑59G からトリガー信号を生成する方法については、トリガー入力に関する ADLINK のドキュメント
を参照してください。

C1 の場合設定ファイルを編集することで、カメラの駆動モードをマスター モードからスレーブ モード (またはその逆)に切り替えることができます。

• マスターモード: 30fps のフリーランニングモード (デフォルト)• スレーブモード：シャッタートリガーモード、シャッタータイミング、フレームレートは FSYNC 信号
周波数によって調整可能（RQX‑59G で設定可能）
モードを切り替えるには、「/etc/modprobe.d/tier4‑isx021.conf」の trigger_mode を編集します。
（以下の事例を参照）

ドライブモード

フレームレート

トリガーモード=

マスター

30fps

0

スレーブ

FSYNC 入力周波数に依存

11.2. ADLINK ROSCube RQX‑59G 用 TIER IV カメラスタートガイド

25

Edge.Auto Getting Started Manual
C2 の場合C2 の場合、/etc/modprobe.d/tier4‑imx490.conf を編集することで以下のモードを選択することができます。次の表に、使用可能な設定を示します。

ドライブモード

フレームレート

トリガーモード=

マスター

10fps

0

スレーブ

10fps

1

マスター

20fps

2

スレーブ

20fps

3

マスター

30fps

4

スレーブ

30fps

5

レンズ歪み補正 (LDC) を有効/無効にする

注釈: この設定は C1 と C2 に共通です。

LDC を有効にするには、フラグ enable_distortion_correction=1 (デフォルト) を設定します。LDCを無効にするには、フラグ「enable_distortion_correction=0」を設定します。

自動露出 (AE) を有効/無効にする

注釈: この設定は C1 と C2 に共通です。

AE を有効にするには、フラグ enable_auto_exposure=1 (デフォルト) を設定します。AE を無効にするには、フラグ「enable_auto_exposure=0」を設定します。

露光時間の設定

C1 の場合C1 の場合、ユーザーは shutter_time_min、 shutter_time_mid、および shutter_time_max という名前の変数を介して 3 種類の露光時間を指定できます。C1 の実際の露光時間は、照度に応じてこれら 3
つの値 (および線形補間値) を推移します。変数の値はマイクロ秒単位で指定する必要があります。任意の照度条件下で露光時間を固定したいユーザーは、これらの変数にまったく同じ値を設定できます。たとえば、「/etc/modprobe.d/tier4‑isx021.conf」の次の設定では、露出時間が 11 ミリ秒に固定されます。
shutter_time_min=11000 shutter_time_mid=11000 shutter_time_max=11000

26

1 TIER IV Automotive HDR Camera スタートガイド

Edge.Auto Getting Started Manual
C2 の場合同様に、 C1、 C2 にも、 shutter_time_min および shutter_time_max という名前の変数を介して2 種類の露光時間を設定する機能があります。これらの変数の値の単位もマイクロ秒です。たとえば、「/etc/modprobe.d/tier4‑imx490.conf」の次の設定では、露出時間が 11 ミリ秒に固定されます。
shutter_time_min=11000 shutter_time_max=11000

1.2.5 GMSL2 経由のシャッタートリガー
スレーブ モードでのカメラ操作には、GMSL2 を介したトリガー信号入力 (FSYNC 入力) が必要です。FSYNC
パラメータと GPIO 設定の構成方法については、ADLINK のドキュメント を参照してください。

スレーブモードでカメラを駆動するための準備
端末で「i2cget ‑f ‑y 2 0x66 0x01」を実行して RQX‑59G の HW バージョンを確認し、以下の手順に従ってください。
返される値が少なくとも 0x24 であることを確認してください。
i2cget -f -y 2 0x66 0x01
0x24

C1 の FSYNC 周波数を入力
30fps より遅い任意の周波数を入力できます。

C2 の入力 FSYNC 周波数
C2 の場合、許可される FSYNC 周波数はドライブ モードによって異なります。以下のリストを参照してください。

• 30fps モード (trigger_mode=5) の場合: 15 < f <= 30 fps• 20fps モード (trigger_mode=3) の場合: 10 < f <= 20 fps• 10fps モード (trigger_mode=1) の場合: 5 < f <= 10 fps

1.2. ADLINK ROSCube RQX‑59G 用 TIER IV カメラスタートガイド

27

Edge.Auto Getting Started Manual
FPS チェック
視覚化されたビデオで FPS 設定を確認するには、次のコマンドを実行してください。

• カメラはポート 1 にのみ接続されています
gst-launch-1.0 v4l2src io-mode=0 device=/dev/video0 do-timestamp=true !
˓→'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' !␣
˓→fpsdisplaysink video-sink=xvimagesink sync=false• カメラはポート 1 と 2 に接続されています
gst-launch-1.0 v4l2src io-mode=0 device=/dev/video0 do-timestamp=true !
˓→'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' !␣
˓→xvimagesink sync=false v4l2src io-mode=0 device=/dev/video1 do˓→timestamp=true ! 'video/x-raw, width=1920, height=1280, framerate=30/1,␣
˓→format=UYVY' ! fpsdisplaysink video-sink=xvimagesink sync=false

1.2.6 参照• ADLINK のドキュメント

1.3 Nvidia Jetson AGX Orin/Xavier 開発者キット用 TIER IV カメラ ス
タートガイド

注意: このドキュメントは NVIDIA Jetson 開発キット Xavier/Orin のユーザーを対象としています。

1.3.1 必要な機材のリスト• Nvidia Jetson AGX Orin 開発者キットまたは Nvidia Jetson AGX Xavier 開発者キット x 1• デシリアライザキット– LI‑JXAV‑MIPI‑ADPT‑4CAM × 1– LI‑GMSL2‑IPX‑DESER x 1～4 (カメラ 2 台につき 1 個)
– FAW‑1233‑03 x 1～4 (カメラ 2 台につき 1 個)
• GMSL2 ケーブル (FAKRA C‑FAKRA C) x 1～8 (カメラ 1 台につき 1 本)
• TIER IV 車載 HDR カメラ C1 x 1~6 または C2

28

1 TIER IV Automotive HDR Camera スタートガイド

Edge.Auto Getting Started Manual

1.3.2 ハードウェアの接続
Jetson AGX Orin/Xavier Developer Kit（以下、Devkit）の電源が切れていることを確認してください。確認後、以下のようにデシリアライザーキットとカメラを取り付けます。次の手順を参照し、各コンポーネントを適切に接続してください。
C1 Camera <== GMSL2 cable(FAKRA Connector) ==> LI-GMSL2-IPX-DESER <== FAW-1233-03␣˓→==> MIPI-ADPT-4CAM <=> Jetson
AGX Orin Developer Kit

図 1.13 各コンポーネントの接続例 (Orin Devkit、カメラ 1 台)

デシリアライザキットとカメラの接続

LI‑JXAV‑MIPI‑ADPT‑4CAM を開発キットの背面にあるコネクタに接続します。

注釈: LI‑JXAV‑MIPI‑ADPT‑4CAM は Jetson AGX Xavier 開発者キット用に設計されているため、 Jetson

AGX Orin 開発者キットに接続するとエンクロージャとわずかに干渉する可能性があります。慎重に接続するか、問題を防ぐために リンクに記載されているアダプター の使用を検討してください。

次に、FAW‑1233‑03 ケーブルを LI‑MAX9296‑IPX‑DESER の CH1 に挿入します。
前に接続したケーブルのもう一方の端を LI‑MAX9296‑IPX‑DESER のポート A に挿入します。カメラ１つの評価の場合、GMSL2 ケーブルの FAKRA コネクタを LI‑MAX9296‑IPX‑DESER のポート A に挿入します。2 台の1.3. Nvidia Jetson AGX Orin/Xavier 開発者キット用 TIER IV カメラ スタートガイド

29

Edge.Auto Getting Started Manual

図 1.14 各コンポーネントの接続例（Xavier Devkit、カメラ 1 台）

図 1.15 ケーブル接続例（カメラ 4 台）

カメラを接続するには、FAKRA コネクタをポート A とポート B に接続します。

注意: デシリアライザには 12V の電源を外部 AC アダプタから別に供給する必要があります。

カメラを GMSL2 ケーブルのもう一方の FAKRA コネクタに接続します。銀色のラベルが付いている面が上を向くようにしてください。

30

1 TIER IV Automotive HDR Camera スタートガイド

Edge.Auto Getting Started Manual

図 1.16 LI‑JXAV‑MIPI‑ADPT‑4CAM コネクタ

図 1.17 FAW‑1233‑03 のケーブル接続例

1.3. Nvidia Jetson AGX Orin/Xavier 開発者キット用 TIER IV カメラ スタートガイド

31

Edge.Auto Getting Started Manual

図 1.18 LI‑MAX9296‑IPX‑DESER のケーブル接続例

図 1.19 カメラの向きとケーブルの挿入方向 (銀ラベル側を上)32

1 TIER IV Automotive HDR Camera スタートガイド

Edge.Auto Getting Started Manual
その他のハードウェア接続
必要に応じて、マウス、キーボード、HDMI ケーブルなどを Devkit に接続します。各種作業に必要な機器は別途ご用意ください。

1.3.3 ソフトウェアのセットアップ
ソフトウェア要件
開発キットが次のドライバーのソフトウェア要件を満たしているかどうかを確認してください。

ソフトウェアバージョン

ダウンロードリンク

JetPack

5.1.1 or 5.1.2

Nvidia Jetson quickstart guidetier4‑gmsl‑camera

1.2.1 以降

TIER IV Camera driver repository

バージョン v1.4.1 で追加: C2 カメラを使用するには、カメラドライバ バージョン 1.4.1 以上が必要です
バージョン v1.4.5 で追加: JetPack 5.1.2 を Nvidia AGX Orin Development Kit で使用するには、カメラド
ライバ バージョン 1.4.5 以上が必要です
ターゲットの Devkit がソフトウェア要件を満たしていない場合は、JetPack のインストールに進んでください。JetPack のインストールには 2 つの方法があります。

1. 手動インストール: 提供されたリンクから JetPack データをダウンロードし、手動でインストールを実行してください。

2. Nvidia SDK マネージャ: インストールには Nvidia SDK マネージャを使用してください。
潜在的なインストールの問題を回避するために、インストールには SDK マネージャー (方法 2) を使用することをお勧めします。

注意: Ubuntu22.04 をホストとして使用している場合、JetPack をインストールするのに SDK マネー
ジャーは使用できません。

ドライバーパッケージのインストール
この手順は、Devkit で実行する必要があります。
ドライバー パッケージ ファイル (提供されたリンクから最新バージョンを入手してください) を任意のディレ
クトリにコピーします。コピーが完了したら、以下のコマンドを入力します。※ xxx はドライバーのバージョンに置き換えてください。ダウンロードしたドライバーのバージョンを指定します。
cd <Directory of your choice>sudo apt install ./tier4-camera-gmsl_x.x.x_arm64.deb

1.3. Nvidia Jetson AGX Orin/Xavier 開発者キット用 TIER IV カメラ スタートガイド

33

Edge.Auto Getting Started Manual
ドライバーをインストールした後、カスタムの dtb ファイルを生成して、GMSL ポートごとにカメラの割り当てを定義する必要があります。詳細はカメラドライバーのインストールを参照してください。コマンドのオーバーレイの例については、ADLINK ROSCube のスタート ガイド を参照してください。
# This is the case that all GMSL ports are assigned as C1
sudo /opt/nvidia/jetson-io/config-by-hardware.py -n 2="TIERIV ISX021 GMSL2 Camera␣
˓→Device Tree Overlay"
sudo shutdown -h now # Power off

完了したら、Devkit を再起動してください。
ドライバーをインストールした後、i2c 書き込みエラーまたは同様の問題に関連するエラー メッセージがカー
ネル メッセージ (syslog または dmesg コマンド出力) に表示される場合があります。これらのエラーは通常、カメラが接続されていないポートに関連しており、問題なくカメラ画像の取得を続行できます。
エラーメッセージの例:
Jun 29 17:13:53 jetson-desktop kernel: [11.114217] tier4_max9295 30-0062:␣
˓→[tier4_max9295_write_reg] : Max9295 I2C write failed.
Reg Address = 0x0000 ␣
˓→Data= 0xC0.
Jun 29 17:13:53 jetson-desktop kernel: [11.115551] tier4_max9295 30-0060:␣
˓→[tier4_max9295_write_reg] : Max9295 I2C write failed.
Reg Address = 0x0010 ␣
˓→Data= 0x22.
Jun 29 17:13:53 jetson-desktop kernel: [11.116391] tier4_max9295 30-0060:␣
˓→[tier4_max9295_setup_control]: Ser device not foundJun 29 17:13:53 jetson-desktop kernel: [11.116617] tier4_isx021 30-001c: [tier4_
˓→isx021_gmsl_serdes_setup] : Failed to setup GMSL serializer.
Jun 29 17:13:53 jetson-desktop kernel: [11.116873] tier4_isx021 30-001c: [tier4_
˓→isx021_probe] : Failed GMSL Serdes setup.
Jun 29 17:13:53 jetson-desktop kernel: [11.117134] tier4_isx021: probe of 30˓→001c failed with error -121
Jun 29 17:13:53 jetson-desktop kernel: [11.117340] tier4_isx021 30-001b: [tier4_
˓→isx021_probe] : Probing V4L2 Sensor.
Jun 29 17:13:53 jetson-desktop kernel: [11.117666] debugfs: Directory 'isx021_a
˓→' with parent '/' already present!
Jun 29 17:13:53 jetson-desktop kernel: [11.117871] tier4_isx021 30-001b:␣
˓→tegracam sensor driver:isx021_v2.0.6
Jun 29 17:13:53 jetson-desktop kernel: [11.226016] tier4_max9295 30-0062:␣
˓→[tier4_max9295_write_reg] : Max9295 I2C write failed.
Reg Address = 0x0000 ␣
˓→Data= 0x84.
Jun 29 17:13:53 jetson-desktop kernel: [11.227182] tier4_max9295 30-0042:␣
˓→[tier4_max9295_write_reg] : Max9295 I2C write failed.
Reg Address = 0x0010 ␣
˓→Data= 0x21.
Jun 29 17:13:53 jetson-desktop kernel: [11.228005] tier4_max9295 30-0042:␣
˓→[tier4_max9295_setup_control]: Ser device not foundJun 29 17:13:53 jetson-desktop kernel: [11.228218] tier4_isx021 30-001b: [tier4_
˓→isx021_gmsl_serdes_setup] : Failed to setup GMSL serializer.
Jun 29 17:13:53 jetson-desktop kernel: [11.228465] tier4_isx021 30-001b: [tier4_
˓→isx021_probe] : Failed GMSL Serdes setup.
Jun 29 17:13:53 jetson-desktop kernel: [11.228717] tier4_isx021: probe of 30˓→001b failed with error -121

34

1 TIER IV Automotive HDR Camera スタートガイド

Edge.Auto Getting Started Manual

NVMe ストレージ（M.2 SSD）使用時
NVMe ストレージにオペレーティング システムをインストールしている場合、システムはオンボード スト
レージから構成を読み取っている可能性があることに注意してください。再起動後もカメラ デバイスが表示されない場合は、前述のセットアップ手順に加えて、オンボード ストレージをマウントし、次のファイルをオンボード ストレージの /boot ディレクトリにコピーする必要がある場合があります。
- /boot/extlinux/extlinux.conf- /boot/kernel_tegra234-p3701-0000-p3737-0000-user-custom.dtb

1.3.4 カメラ画像の取得
カメラデバイスを確認する
ターミナルを開き、次のコマンドを実行して、カメラが v4l2 デバイスとして認識されているかどうかを確認します。ビデオデバイスの数と接続されているカメラの数が一致していれば、カメラの認識チェックは完了です。
ls /dev/video*/dev/video0/dev/video1.
.

カメラ画像データ取得
ターミナルを開いて以下のコマンドを実行すると、Gstreamer を使用した画像取得が開始されます。新しいウィンドウが開き、カメラ画像が表示されます。
例 1：C1 カメラによる評価
gst-launch-1.0 v4l2src io-mode=0 device=/dev/video0 do-timestamp=true ! 'video/x˓→raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! videoscale !␣
˓→xvimagesink sync=false

1.3. Nvidia Jetson AGX Orin/Xavier 開発者キット用 TIER IV カメラ スタートガイド

35

Edge.Auto Getting Started Manual

図 1.20 カメラ画像データ取得例

例 2: 4 台の C1 カメラによる評価
gst-launch-1.0 v4l2src io-mode=0 device=/dev/video0 do-timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! \xvimagesink sync=false v4l2src io-mode=0 device=/dev/video1 do-timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! xvimagesink␣˓→sync=false \v4l2src io-mode=0 device=/dev/video2 do-timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! xvimagesink␣˓→sync=false \v4l2src io-mode=0 device=/dev/video3 do-timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! xvimagesink␣˓→sync=false

例 3：C2 カメラによる評価
gst-launch-1.0 v4l2src io-mode=0 device=/dev/video0 do-timestamp=true ! 'video/x˓→raw, width=2880, height=1860, framerate=30/1, format=UYVY' ! videoscale !␣
˓→xvimagesink sync=false

注釈: gstreamer 起動スクリプト も使用できます。

注 釈:

36

「no element "v4l2src"」 と い う エ ラ ー メ ッ セ ー ジ が 表 示 さ れ た 場 合 は、 デ ィ レ ク ト リ

1 TIER IV Automotive HDR Camera スタートガイド

Edge.Auto Getting Started Manual

図 1.21 カメラ画像データ取得例（カメラ 4 台）~/.cache/gstreamer‑1.0 を削除して、コマンドを再試行してください。

カメラの起動順序の制約 (v1.1.1 より前のドライバー バージョンの場合)

v1.1.1 より前のバージョンのドライバーを使用している場合は、起動のための特定の手順に従ってください。
ドライバー バージョン v1.2.1 以降の場合、順序や制約の要件はありません。

複数のカメラを使用する場合、すべてのカメラを同時に起動する必要があります。
たとえば、2 台のカメラを使用している場合は、次のワンライナー コマンドを使用して画像の取得を開始する必要があります。
```# This one-liner command works
tier4@jetson:~$ gst-launch-1.0 v4l2src io-mode=0 device=/dev/video0 do˓→timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! \xvimagesink sync=false v4l2src io-mode=0 device=/dev/video1 do-timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! xvimagesink␣˓→sync=false \```これらの分割されたコマンドは機能しない可能性があります。

1.3. Nvidia Jetson AGX Orin/Xavier 開発者キット用 TIER IV カメラ スタートガイド

37

Edge.Auto Getting Started Manual```# These separated commands may not work
# On a terminal
tier4@jetson:~$ gst-launch-1.0 v4l2src io-mode=0 device=/dev/video0 do˓→timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! \xvimagesink sync=false# On another terminal
tier4@jetson:~$ gst-launch-1.0 v4l2src io-mode=0 device=/dev/video1 do˓→timestamp=true ! \'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! \xvimagesink sync=false```

1.3.5 画像データの記録
Gstreamer を使用すると、画像データを H.265 でエンコードしながら記録できます。必要に応じてビット
レート、ファイル名、その他のパラメータを変更してください。
例 1: C1 カメラでの録画
gst-launch-1.0 -e v4l2src io-mode=0 device=/dev/video0 do-timestamp=true ! 'video/
˓→x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! nvvidconv !␣
˓→nvv4l2h265enc bitrate=3000000 ! h265parse ! qtmux ! filesink location=out.mp4

例 2: 2 台の C2 カメラで録画する
gst-launch-1.0 -e v4l2src io-mode=0 device=/dev/video0 do-timestamp=true ! 'video/
˓→x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! tee name=camera1␣
˓→v4l2src io-mode=0 device=/dev/video1 do-timestamp=true ! 'video/x-raw,␣
˓→width=1920, height=1280, framerate=30/1, format=UYVY' ! tee name=camera2 camera1.
˓→ ! nvvidconv ! nvv4l2h265enc bitrate=3000000 ! h265parse !
qtmux ! filesink␣˓→location=out_1.mp4 camera2. ! nvvidconv ! nvv4l2h265enc bitrate=3000000 !␣
˓→h265parse !
qtmux ! filesink location=out_2.mp4

In the case of the C2 camera, please change the width, height, and framerate settings
appropriately. width=2880 and height=1860.

38

1 TIER IV Automotive HDR Camera スタートガイド

Edge.Auto Getting Started Manual

1.3.6 ROS2 でカメラ画像データを利用する
ROS2 のインストール
Jetpack が提供する最新のディストリビューションは Ubuntu 20.04 です。Ubuntu 20.04 と互換性のある
ROS2 ディストリビューションは、Galaxy です。ただし、Galaxy はサポート終了 (EOL) に達しているため、ソースからビルドするか、Docker を使用して Humble をインストールしてください。

• ソースから Humble をインストールする場合• Docker を使う場合 (推奨)Jetson Orin (Ubuntu 20.04) 上のソースから ROS2 Humble をビルドすると、OS の互換性がないために失敗する可能性があります。Docker の使用をお勧めします。

ノードのインストール (未インストールの場合)

v4l2_camera ノードの使用をお勧めします。インストール手順については、Github リポジトリ を参照してください。

v4l2_camera ノードの起動と画像データの視覚化のトピック
ターミナルを開き、次のコマンドで v4l2_camera ノードを起動します。
ros2 run v4l2_camera v4l2_camera_node --ros-args \-p video_device:=/dev/video0 \-p pixel_format:=UYVY \-p image_size:=[1920,1280]

注釈: C2 の場合は image_size の設定を [2880,1860] に変更してください。

画像トピック (ROS 形式) /image_raw が公開されます。rqt_image_view を使用して視覚化します。新しいターミナルを開き、次のコマンドを実行して rqt_image_view を起動します。
ros2 run rqt_image_view rqt_image_view

Rosbag の記録
v4l2_camera ノードの実行中に、次のコマンドを使用して rosbag (ROS 形式のログ ファイル) を記録できます。
ros2 bag record -a

1.3. Nvidia Jetson AGX Orin/Xavier 開発者キット用 TIER IV カメラ スタートガイド

39

Edge.Auto Getting Started Manual

1.3.7 設定変更
カメラドライバーの設定を変更するには、/etc/modprobe.d/tier4‑*.conf ファイルを編集します。設定ファ
イルには次の行が含まれています (tier4‑isx021.conf の場合)。
# /etc/modprobe.d/tier4-isx021.conf
options tier4_isx021 trigger_mode=0 enable_auto_exposure=1 enable_distortion_
˓→correction=1

これらのフラグを編集した後、変更を有効にするためにシステムを再起動します。

駆動モードの切り替え（フリーラン/トリガー）

警告: Jetson Orin/Xavier 開発キットには FSYNC の入力機能がないため、 Jetson Orin/Xavier 開発
キットではトリガーモードはサポートされていません。フリーランモードからの変更は意図しない動作をする可能性がありますので、行わないでください。

C1 の場合駆動モードは 30fps のフリーランモードに固定されます。他のドライブモードはサポートされていません。

C2 の場合40

ドライブモード

フレームレート

trigger_mode=

フリーラン

10fps

0

フリーラン

20fps

2

フリーラン

30fps

4

1 TIER IV Automotive HDR Camera スタートガイド

Edge.Auto Getting Started Manual
レンズ歪み補正 (LDC) 機能の有効化/無効化

enable_distortion_correction フラグの値を変更することで、レンズ歪み補正 (LDC) 機能を有効または無効にできます。
レンズ歪み補正を有効にするには、enable_distortion_correction=1 を設定します。レンズ歪み補正を無効にするには、enable_distortion_correction=0 を設定します。

露光時間の固定

C1 の場合C1 に は 3 種 類 の 露 光 時 間 が あ り、 変 数 shutter_time_min, shutter_time_mid,
shutter_time_max を 使 用 す る こ と で 各 々 を 設 定 す る こ と が 可 能 で す。 実 際 の 露 光 時 間 は、 周 囲 の明るさに応じてこれら３つの３変数値及びそれらの線形補間値の間を遷移します。各変数値の単位はマイクロ秒です。異なる環境光条件下であっても露光時間が変化しないように固定するには、これらの変数に対してす
べて同じ値を設定してください。例えば、/etc/modprobe.d/tier4-isx021.conf に対して以下の設定を記述することで露光時間を 11 ms に固定することができます。
shutter_time_min=11000 shutter_time_mid=11000 shutter_time_max=11000

C2 の場合C1 と同様に、C2 では shutter_time_min 及び shutter_time_max の２種類の露光時間を設定することが可能です。各変数値の単位はマイクロ秒です。例えば、/etc/modprobe.d/tier4-imx490.conf に対して以下の設定を記述することで、露光時間を 11 ms に固定することができます。
shutter_time_min=11000 shutter_time_max=11000

その他のパラメータ調整について

T4cam‑ctrl ユーザーマニュアル を参照してください。

1.4 Vecow EAC‑5000 用 TIER IV カメラ スタート ガイド
注意: この文書は Vecow EAC‑5000 のユーザーを対象としています。

1.4.1 準備
必要アイテム• Vecow EAC‑5000
1.4. Vecow EAC‑5000 用 TIER IV カメラ スタート ガイド

41

Edge.Auto Getting Started Manual– Jetpack 5.1.1 (Linux for Tegra 35.3.1) がインストールされていること• GMSL2 同軸ケーブル• TIER IV 車載 HDR カメラ C1 または C2

カメラの接続1. まず、EAC‑5000 の電源が切れていることを確認してください。
2. FAKRA ケーブルを使用してカメラを EAC‑5000 に接続します。

1.4.2 電源投入とログイン
電源投入

EAC‑5000 の電源を入れ、パワーオン LED が青色に点灯することを確認します。

ログイン
起動ウィンドウで、パスワードを入力してログインします。
デフォルトの設定は以下のとおりです。

ユーザー

ubuntuパスワード

ubuntu1.4.3 カメラドライバーのインストール

注釈: 他の ECU とはインストール手順が異なりますので注意してください

現在、EAC‑5000 には、Out‑of‑tree モジュールのビルドとロードに関して問題があります。
複雑なカーネルの処理を避けるために、TIER IV は予めにビルドされたドライバーとインストール スクリプトを提供します。

GitHub リリース ページ からプリビルド ドライバーをダウンロードしてください。
1. Extract the tarball and run ./install.sh to install the camera drivers.
tar -xzvf tier4-drivers-for-eac-5000.tar.gz
cd tier4-drivers-for-eac-5000/./install.sh

2. インストール スクリプトは次の手順を実行します。
42

1 TIER IV Automotive HDR Camera スタートガイド

Edge.Auto Getting Started Manual• カメラドライバーの設定ファイルのインストール• 事前に構築されたカメラドライバーのインストール• 事前に構築されたデバイス ツリー BLOB のインストール• Create a new boot entry in the /boot/extlinux/extlinux.conf
3. イ ン ス ト ー ル

ス ク リ プ ト を 実 行 し た 後、/opt/nvidia/jetson-io/

configure-by-hardware.py を 実 行 で き ま す。 次 の プ ロ ン プ ト が 表 示 さ れ る こ と を 確 認 してください。
[*] Now you can run config-by-hardware.py

4. configure-by-hardware.py を使用して GMSL ポートの割り当てを選択します。詳細について
は、GitHub README を参照してください。
sudo /opt/nvidia/jetson-io/config-by-hardware.py -l

このコマンドは以下を出力します。
Header 1 [default]: Jetson 40pin Header
Available hardware modules:
1. Adafruit SPH0645LM4H
2. Adafruit UDA1334A
3. FE-PI Audio V1 and Z V2
4. ReSpeaker 4 Mic Array
5. ReSpeaker 4 Mic Linear Array
Header 2: Jetson AGX CSI Connector
Available hardware modules:
1. Jetson Camera Dual-IMX274
2. Jetson Camera E3331 module
3. Jetson Camera E3333 module
4. Jetson Camera Hawk-Owl p3762 module
5. Jetson Camera IMX185
6. Jetson Camera IMX390
7. Jetson Camera e3653-dual-Hawk module
8. TIERIV IMX490 GMSL2 Camera Device Tree Overlay
9. TIERIV ISX021 GMSL2 Camera Device Tree Overlay
10. TIERIV ISX021 IMX490 GMSL2 Camera Device Tree Overlay
Header 3: Jetson M.2 Key E Slot
No hardware configurations found!

次に、GMSL ポートの割り当てを選択してください。
sudo /opt/nvidia/jetson-io/config-by-hardware.py -n 2='TIERIV ISX021 GMSL2␣
˓→Camera Device Tree Overlay'

上記のコマンドは、すべての GMSL ポートに C1 カメラを割り当てます。他の割当を設定したい場合は

2= 以降を修正して下さい。
5. 再起動1.4. Vecow EAC‑5000 用 TIER IV カメラ スタート ガイド

43

Edge.Auto Getting Started Manual

sudo reboot now

6. カメラデバイスファイル (/dev/video*) が作成されていることを確認してください
ls -al /dev/video*

インストール スクリプトが完了した後 extlinux.conf が適切な形式で有効であることを確認する必要があります。この手順では手動での編集が必要になる場合があります。

1.4.4 GStreamer を使用してカメラ出力を表示する
The procedure to output the image using Gstreamer is identical to the other ECUs. Please refer tothe manual.
GStreamer コマンド例も参照してください。

1.4.5 制約事項

注意: EAC‑5000 はトリガ信号 (FSYNC) の入力を通常構成でサポートしていません。TIER IV カメラのフレーム同期機能は EAC‑5000 との組み合わせでは使用することができません。

1.5 Connect Tech Anvil 用 TIER IV カメラスタートガイド
注意: このドキュメントは Connect Tech Anvil のユーザー向けです1.5.1 準備必須項目

• Connect Tech Anvil– BSP: AGX Orin L4T r35.4.1• Fakra 同軸ケーブル• TIER IV 車載 HDR カメラ C1 または C2

44

1 TIER IV Automotive HDR Camera スタートガイド

Edge.Auto Getting Started Manual
カメラの接続1. まず、アンビルがオフになっていることを確認します。
2. FAKRA ケーブルを使用してカメラを Anvil に接続します。

1.5.2 電源投入とログイン
電源投入

Anvil の電源をオンにします。

ログイン
起動ウィンドウで、パスワードを入力してログインします。
デフォルトの設定は以下のとおりです。

ユーザー

nvidiaパスワード

nvidia

1.5.3 カメラドライバーのインストール

注釈: インストール手順は他の ECU とは異なります

現在、Anvil ではツリー外のモジュールのビルドとロードに問題があります。
複雑なカーネルの処理を避けるために、TIER IV は予めにビルドされたドライバーとインストール スクリプトを提供します。
弊社の GitHub リリースページからプレビルドドライバーをダウンロードしてください。

1. tarball を抽出し、./install.sh を実行してカメラ ドライバーをインストールします。
tar -xzvf tier4-camera-drivers-for-anvil.tar.gz
cd tier4-camera-drivers-for-anvil
sudo ./install.sh

2. インストール スクリプトは次の手順を実行します。
• カメラドライバーの設定ファイルのインストール• あらかじめ構築されたカメラドライバーのインストール• 事前に構築されたデバイスツリー BLOB のインストール
1.5. Connect Tech Anvil 用 TIER IV カメラスタートガイド

45

Edge.Auto Getting Started Manual• /boot/extlinux/extlinux.conf に新しいブートエントリを作成
3. イ ン ス ト ー ル

ス ク リ プ ト を 実 行 し た 後、/opt/nvidia/jetson-io/

configure-by-hardware.py を実行してください。次のプロンプトが表示されます。
[*] Installing configuration files...
[*] Enabling the C1 firmware...
Adding firmware to initrd...
42009 blocks
42009 blocks
INITRD Updated with Tier4 firmware.
[*] Installing the camera drivers...
[*] Renaming the existing base devicetree blobs: /boot/dtb/tegra234-orin-agx˓→cti-AGX201-JCB002-base.dtb[*] Copying the new devicetree blob[*] Copying the new kernel image with VI patches applied[*] Adding an entry to /boot/extlinux/extlinux.conf[*] Making the entry the default one[*] You can run config-by-hardware.sh to enable TIER IV cameras after␣
˓→rebooting[!] Please make sure extlinux.conf is well-formed and valid before rebooting.

4. configure-by-hardware.py を使用して GMSL ポート割り当てを選択します。詳細については、
GitHub README を参照してください。
sudo /opt/nvidia/jetson-io/config-by-hardware.py -l

このコマンドは以下を出力します。
Header 1 [default]: Jetson AGX CSI Connector
Available hardware modules:
1. TIERIV GMSL2 Camera Device Tree Overlay: C1x4 C2x4
2. TIERIV GMSL2 Camera Device Tree Overlay: C1x8
3. TIERIV GMSL2 Camera Device Tree Overlay: C2x8

次に、GMSL ポートの割り当てを選択します。たとえば、すべての GMSL ポートを C1 に割り当てる場
合は、次のように設定します。
sudo /opt/nvidia/jetson-io/config-by-hardware.py -n 1='TIERIV GMSL2 Camera␣
˓→Device Tree Overlay: C1x8'

上記のコマンドは、すべての GMSL ポートに C1 カメラを割り当てます。設定に応じて 1= の後を変更
してください。configure-by-hardware.py が正常に終了した場合は、次の出力が表示されます。
Configuration saved to /boot/tegra234-orin-agx-cti-AGX201-JCB002-base-user˓→custom.dtb.
Reboot system to reconfigure.

5. 再起動46

1 TIER IV Automotive HDR Camera スタートガイド

Edge.Auto Getting Started Manual

sudo reboot now

6. カメラデバイスファイル（/dev/video*）が作成されていることを確認してください
ls -al /dev/video*

インストール スクリプトが完了したら、extlinux.conf が適切に形成され、有効であることを確認する必要があります。この手順では、手動での編集が必要になる場合があります。

1.5.4 GStreamer を使用したカメラ出力の視覚化
GStreamer を使用して画像を出力する手順は他の ECU と同じです。マニュアルを参照してください。
GStreamer コマンドの例も参照してください。

1.5.5 制限

注意: Anvil との組み合わせにおけるカメラ同期機能は、現時点でサポートでされませんが、今後サポートされます。

1.5.6 参考資料
• Anvil ユーザーガイド• Anvil リリースノート

1.5. Connect Tech Anvil 用 TIER IV カメラスタートガイド

47

48

2

センサー フュージョン開発キット スタート ガイド

2.1 ハードウェアのセットアップ
最初のステップとして、センサーと ECU を含むハードウェアを準備します。

2.1.1 ハードウェア構成例
このチュートリアルでは、次のハードウェア構成が使用されます。

• ECU セットアップ– x86 ベースの ECU: ADLINK AVA‑3510– Jetson ベースの ECU: ADLINK RQX‑58G• センサーのセットアップ– 構成例 1

* カメラ: TIER IV Automotive HDR カメラ C1 (x2)
* LiDAR: HESAI AT128 (x1)– 構成例 2

* カメラ: TIER IV Automotive HDR カメラ C1 (x2)
* LiDAR: HESAI Pandar XT32 (x1)

Edge.Auto Getting Started Manual
接続図
以下の図は、このチュートリアルのセンサーと ECU 間の接続を示しています。特定のインターフェイスへのIP アドレスの適用を含むこのネットワークの構成は、インストール ページの手順中に自動的に行われます。

インストールにはインターネット接続が必要です。
次の インストール ステップでは、git clone と ML モデルをダウンロードのため、インターネット接続が必要です。インターネット接続には、下図に示すポートにイーサネットケーブルを接続してください。

注釈: ディスプレイに何も表示されない場合は、別のディスプレイ ポートを試してください。

図 2.1

2.1. ハードウェアのセットアップ

サンプルシステムの接続図

49

Edge.Auto Getting Started Manual

図 2.2

サンプルシステムのハードウェアセットアップ

センサードライバ

Edge.Auto は、さまざまなタイプのセンサーをサポートしています。これらのセンサーを ROS2 環境で利用できるようにするために、次のリポジトリを使用します。詳細については、各リポジトリを参照してください。

• カメラドライバ– tier4/tier4_automotive_hdr_camera: Video4Linux2 インターフェイスで TIER IV カメラを使用するためのカーネル ドライバ

– tier4/ros2_v4l2_camera: Video4Linux2 を使用するカメラドライバー用の ROS2 パッケージ• LIDAR ドライバ
– tier4/nebula: イーサネットベースの統合 LiDAR ドライバの ROS2 パッケージ• センサー同期– tier4/sensor_trigger: センサー トリガー信号を生成するための ROS2 パッケージ

センサー/ECU 同期
本サンプルシステムでは、センサーと ECU 間のクロック同期やタイミング同期を実現し、高精度なセンサー
フュージョンを実現します。以下の図は、このサンプル システムにおけるセンサーと ECU 間の同期設計を示しています。
詳細については、tier4/sensor_trigger リポジトリを参照してください。

50

2 センサー フュージョン開発キット スタート ガイド

Edge.Auto Getting Started Manual

図 2.3 サンプルシステムの同期設計

2.1.2 x86 ベースの ECU
2. インストール の手順に進む前に、x86 ベースの ECU に Ubuntu 22.04 をインストールします。

2.1.3 Jetson ベースの ECU
2. インストール の手順に進む前に、NVIDIA L4T R32.6.1 (Ubuntu 18.04 を含む) を Jetson ベースの ECUにインストールします。

ADLINK RQX‑58G 用 BSP のインストール
RQX‑58G は、ADLINK Technology, Inc. の公式クイック スタート ガイドに従って適切に設定する必要があります。公式ドキュメント を参照してください。

2.1. ハードウェアのセットアップ

51

Edge.Auto Getting Started Manual
BSP イメージをダウンロードするには、ADLINK 公式ページ にアクセスしてください。(初めてサイトにアクセスする場合は、アカウントの作成を求められます。)

TIER IV カメラ ドライバー (tier4/tier4_automotive_hdr_camera) は RQX‑58G BSP 公式イメージに含まれていますが、次のセットアップ プロセス中に更新することもできます。

2.2 インストール
x86 ベースと Jetson ベースの両方の ECU のセットアップを行います。

注釈: このステップにはインターネット接続が必要です。

2.2.1 x86 ベース ECU

警告: このステップを行うと、ネットワーク設定が自動的に更新されます。

この手順では、netplan を使用して、いくつかのネットワーク インターフェイスに IP アドレスが割り当てられます (詳細については、ハードウェア セットアップ の接続図を参照してください)。これらのインターフェ
イスを介して ECU にリモートでアクセスしている場合、この動作により予期しない切断が発生する可能性があります。
割り当てるネットワークインターフェースや IP アドレスを変更したい場合は、setup-dev-env.sh を実行
する前に edge-auto/ansible/playbooks/vars/edge_auto.yaml を編集してください。

リポジトリをダウンロードして環境をセットアップする
最初のステップとして、tier4/edge-auto のクローンを作成し、そのディレクトリに移動します。
git clone https://github.com/tier4/edge-auto.git
cd edge-auto提供された ansible スクリプトを使用して依存関係をインストールできます。
./setup-dev-env.sh

最後に、システムを再起動して、インストールされた依存関係と権限の設定を有効にしてください。
sudo reboot

52

2 センサー フュージョン開発キット スタート ガイド

Edge.Auto Getting Started Manualedge‑auto のビルド
vcstool を使用して ROS ワークスペースを作成し、リポジトリのクローンを作成します。
cd edge-auto
mkdir src
vcs import src < autoware.reposros パッケージの依存関係をインストールし、ROS ワークスペースを構築します。
rosdep install -y -r --from-paths src --ignore-src --rosdistro $ROS_DISTRO
colcon build \--symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release \--packages-up-to edge_auto_launch

2.2.2 Jetson ベースの ECU
次の手順は、x86 ベースの ECU から ssh 経由で実行できます

リポジトリをダウンロードして環境をセットアップする
最初のステップとして、 tier4/edge-auto-jetson のクローンを作成し、そのディレクトリに移動します。
git clone https://github.com/tier4/edge-auto-jetson.git
cd edge-auto-jetson

提供された ansible スクリプトを使用して依存関係をインストールできます。インストール プロセス中に、

TIER IV カメラ ドライバーをインストールするかどうかを尋ねられます。ドライバーがすでにインストールされており、この手順をスキップしたい場合は、「N」を入力して続行してください。

注意: 「setup‑dev‑env.sh」スクリプトには数時間かかる場合があります。

./setup-dev-env.sh[Warning] Do you want to install/update the TIER IV camera driver? [y/N]:

最後に、システムを再起動して、インストールされた依存関係と権限の設定を有効にしてください。
sudo reboot

2.2. インストール

53

Edge.Auto Getting Started ManualEdge‑auto‑jetson ワークスペースを構築する
vcstool を使用して ROS ワークスペースを作成し、リポジトリのクローンを作成します。
cd edge-auto-jetson
mkdir src
vcs import src < autoware.repos

ROS ワークスペースを構築します。
colcon build \--symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release \-DPython3_EXECUTABLE=$(which python3.6) -DCMAKE_CUDA_STANDARD=14 \--packages-up-to edge_auto_jetson_launch

2.2.3 ワークスペースを更新する
クローン作成されたリポジトリを更新する場合は、次のコマンドを使用します。
vcs import src < autoware.repos
vcs pull src

2.2.4 カメラの露出タイミングを変更する

注釈: ハードウェアセットアップの手順で導入したサンプルシステムでは、これを変更する必要はありません。

センサー同期のためにカメラの露光時間を変更したい場合は、以下のファイルを変更してください。
edge-auto-jetson/src/individual_params/individual_params/config/└── default├── camera0│├── trigger.param.yaml├── camera1│├── trigger.param.yaml

詳細については、tier4/sensor_trigger リポジトリを参照してください。

54

2 センサー フュージョン開発キット スタート ガイド

Edge.Auto Getting Started Manual

2.3 センサーのキャリブレーション
tier4/calibration_tools を使用して、センサー システムの固有/外部パラメーターを推定します。

注釈: x86 ベースの ECU で次のタスクを実行します。

2.3.1 カメラの固有パラメータを計算する
まず、calibration_intrinsic を起動して、カメラの固有パラメータを推定します。ツールの詳細な操作については、このドキュメント を参照してください。
cd edge-auto
source install/setup.bash
ros2 launch edge_auto_launch calibration_intrinsic_sample.launch.xml

システムを構成するすべてのカメラの組み込みパラメータ (たとえば、このチュートリアルの camera0 と

camera1) は、individual_params に保存する必要があります。ファイルを取得したら、Jetson ベースの ECU 上の適切なフォルダーに配置し、camera_info トピックとして読み込まれて公開されるようにします。
edge-auto-jetson/src/individual_params/individual_params/config/└── default # <- this will be an identifier, which refered to as the value of␣˓→`VEHICLE_ID` environment variable, of your system├── camera0│├── camera_info.yaml # <- replace this file with your calculated results│├── trigger.param.yaml│└── v4l2_camera.param.yaml├── camera1│├── camera_info.yaml # <- replace this file with your calculated results│├── trigger.param.yaml│└── v4l2_camera.param.yaml

2.3.2 (HESAI AT128 のみ) LiDAR から補正ファイルを取得
HESAI AT128 には、内部に保存されている独自の補正ファイルにアクセスする機能があります。より良い結果を得るには、個々の LiDAR から補正ファイルをダウンロードし、x86 ベースの ECU 上の適切なフォルダーに保存することをお勧めします。
edge-auto/src/individual_params/individual_params/config/└── default└── lidar└── at128_default.dat # <- replace this file with your downloaded dat file

2.3. センサーのキャリブレーション

55

Edge.Auto Getting Started Manual

2.3.3 LiDAR とカメラの間の外部パラメータを計算する
最後に、LiDAR 設定に一致する calibration_extrinsic を起動して、LIDAR とカメラの間の外部パラメータを推定します。ツールの詳細な操作については、このドキュメント を参照してください。
cd edge-auto
source install/setup.bash
ros2 launch edge_auto_launch calibration_extrinsic_at128_sample.launch.xml## orros2 launch edge_auto_launch calibration_extrinsic_xt32_sample.launch.xml

センサー フュージョンを実行するには、すべてのフューズされたセンサー間の姿勢関係 (すなわち外部パラメーター) を「TF」に登録する必要があります。これは、関係を表現するための ROS 形式です。

注釈: これらのサンプルでは、すべてのセンサーが固定されており、それらの相対位置が変化しないと仮定しています。

外部パラメータを計算した後、結果を x86 ベースの ECU 上の適切なファイルに保存します。
edge-auto/src/individual_params/individual_params/config/└── default├── at128_to_camera0.json # <- replace this file with your calculated results└── at128_to_camera1.json # <- replace this file with your calculated results

2.4 アプリケーションの起動
autoware.universe に実装されている認識アプリケーションを起動します。

2.4.1 Jetson ベースの ECU

注釈: 次の手順は、x86 ベースの ECU から ssh 経由で実行できます。

次のサンプルでは、2 台のカメラで個別に実行される画像ベースのオブジェクト検出を起動します。
cd edge-auto-jetson
source install/setup.bash
ros2 launch edge_auto_jetson_launch edge_auto_jetson.launch.xml

注釈: 最初の実行時に結果が利用可能になるまでに約 15 分かかる場合があります。これは、ONNX モデルを

TensorRT エンジンに変換することによって発生します。変換結果はディスクにキャッシュされるため、2 回
56

2 センサー フュージョン開発キット スタート ガイド

Edge.Auto Getting Started Manual
目の起動以降は結果がすぐに利用可能になります。

このサンプルは、autoware.universe に実装されている tensorrt_yolox および bytetrack を利用します。
詳細については、これらのパッケージの README を参照してください。

2.4.2 x86 ベースの ECU
次のサンプルは、LiDAR ベースのオブジェクト検出と、2D オブジェクト検出と 3D オブジェクト検出の間のバウンディングボックス レベルのフュージョン (すなわち レイトフュージョン) を起動します。LiDAR 設定に一致する起動ファイルを起動します。
cd edge-auto
source install/setup.bash
ros2 launch edge_auto_launch perception_at128_sample.launch.xml## orros2 launch edge_auto_launch perception_xt32_sample.launch.xml

こ の サ ン プ ル は 主 に autoware.universe の pointcloud_preprocessor、 centerpoint お よ び

image_projection_based_fusion を利用します。詳細については、これらのパッケージの README を参照してください。
このサンプルでは、パーセプションスタックに加えて、ユーザーが認識結果を視覚的に確認できるようにビューアも起動します。

2.5 トラブルシューティング

2.5. トラブルシューティング

57

58

3

GMSL‑10GbE 変換モジュール スタートガイド

このセクションは、TIER IV の GMSL‑10GbE 変換モジュールの使用を開始するためのガイドです。

危険: This section is published only for TIER IV internal review. Descriptions available here may

be neither COMPLETE nor ACCURATE.

3.1 準備
3.1.1 前提条件
以下のハードウェアを準備してください。

• GMSL2‑10GbE 変換モジュール x 1• Micro SD カード (> 16GB) x 1• TIER IV Automotive HDR Camera C1 または C2– 最大 8 台の C1 カメラを接続可能– 最大 4 台の C2 カメラを接続可能• 10Gb イーサネットカード搭載のコンピュータ x 1– Linux (Ubuntu)– インターネット接続環境

Edge.Auto Getting Started Manual
参考:GMSL2‑10GbE 変換モジュールを接続するための PC スペックについて教えて下さい• SFP+ イーサネット ケーブルまたは SFP から RJ45 へのコンバーター• AC Adapter

注意: 使用するホスト コンピューターに 10Gb イーサネット カード/ポートがあることを確認してください。そうでない場合は、アダプター (Thunderbolt‑10Gb イーサネット アダプターなど) を使用してください。
本システムは Windows のような Linux 以外の OS 環境のホストコンピュータとの組み合わせでも動作すると思われますが、TIER IV では現時点でサポートを提供しておりません。

3.1.2 SD カードイメージの準備 (Linux 環境の場合)
まず、イメージァイルをダウンロードします。

To download the v7 image, please follow the below instruction.
1. イメージのダウンロード
wget https://swdownloads.analog.com/cse/gmsl/10G/v2_24/gmsl-10g-v7.tar.xz.gpg`

2. gpg コマンドを用いて、ファイルを復号化します。
3. パスフレーズを問われるので、入力します。パスフレーズについては TIER IV にお問い合わせ下さい。
4. ファイルを復号化したら、次の手順に進んでください。
イメージファイルを展開します。
tar Jxvf ./gmsl-10g-v7.tar.xz

SD カードをコンピューターに接続します。次に、lsblk コマンドを使用して SD カードを識別します。結果
は次のようになります。
NAME
MAJ:MIN RM
SIZE RO TYPE MOUNTPOINT
loop0
7:0
0
16M 1 loopsda
8:0
1 57.7G 0 disk
├─sda1
8:1
1
256M 0 part /media/ubuntu/bootfs└─sda2
8:2
1
4.9G 0 part /media/ubuntu/rootfs
mmcblk0
179:0
0 59.3G 0 disk
├─mmcblk0p1 179:1
0 57.8G 0 part /├─mmcblk0p2 179:2
0128M 0 part├─mmcblk0p3 179:3
0768K 0 part├─mmcblk0p4 179:4
0 31.6M 0 part├─mmcblk0p5 179:5
0128M 0 part
(次のページに続く)

3.1. 準備59

Edge.Auto Getting Started Manual(前のページからの続き)├─mmcblk0p6

179:6├─mmcblk0p7 179:7├─mmcblk0p8 179:8├─mmcblk0p9 179:9├─mmcblk0p10 179:10├─mmcblk0p11 179:11├─mmcblk0p12 179:12├─mmcblk0p13 179:13└─mmcblk0p14 179:14
zram0
251:0
zram1
251:1
zram2
251:2
zram3
251:3
zram4
251:4
zram5
251:5
zram6
251:6
zram7
251:7
zram8
251:8
zram9
251:9
zram10251:10
zram11
251:11

0768K 0 part
0 31.6M 0 part0
80M 0 part
0512K 0 part0
64M 0 part0
80M 0 part
0512K 0 part0
64M 0 part
0 879.5M 0 part
0
2.6G 0 disk [SWAP]
02.6G 0 disk [SWAP]
02.6G 0 disk [SWAP]
02.6G 0 disk [SWAP]
02.6G 0 disk [SWAP]
02.6G 0 disk [SWAP]
02.6G 0 disk [SWAP]
02.6G 0 disk [SWAP]
02.6G 0 disk [SWAP]
02.6G 0 disk [SWAP]
02.6G 0 disk [SWAP]
02.6G 0 disk [SWAP]

この場合、SD カードは /dev/sda です。
次に、イメージ ファイルを SD カードに書き込みます (name-of-the-image.img と /dev/xxx は環境に応じて変更してください)。これには数分かかります。
sudo dd if=name-of-the-image.img of=/dev/xxx bs=4M status=progress
sync

イメージ ファイルを書き込んだら、次の手順に進んでください。

3.1.3 SD カードイメージの準備（Windows 環境の場合）
イメージのダウンロードと展開

1. イメージを以下の URL からダウンロードします。
2. gpg を用いてファイルを復号化します。パスフレーズについては TIER IV にお問い合わせ下さい。
3. イメージを展開します。例として、Zip Extractor を使用します。

60

3 GMSL‑10GbE 変換モジュール スタートガイド

Edge.Auto Getting Started Manual
イメージの書き込み

Etcher や Raspberry pi Imager](https://www.raspberrypi.com/software/) などのさまざまなソフトウェアを使用して、イメージ ファイルを SD カードに書き込むことができます。お好みのソフトウェアをダウンロードしてインストールしてください。
このドキュメントでは、Raspberry pi Imager を使用します。

1. Raspberry pi Imager を開く
2. CHOOSE OS ‑> Use custom を選択

3. イメージファイルを展開する
4. 対象となる SD Card を CHOOSE STORAGE を選択して選ぶ

3.1. 準備61

Edge.Auto Getting Started Manual

5. NEXT を選択して書き込みを開始する

C2 カメラを使用する場合注意:• この設定は C2 カメラを使用するときのみ必要です。
• この操作は SD カードが host にマウントされている状態で行う必要があります

デフォルトでは、イメージファイルは C1 カメラに向けて構成されています。C2 カメラを接続するには、デバ
イスツリーファイル (dtb) を変更する必要があります。
デバイスツリーファイルを変更するには、C2 カメラ用の設定を bootfs の直下に配置する必要があります。
つまり、以下のコマンドを実行して下さい。
cp /media/ubuntu/bootfs/boot_files_v7/imx490/system.dtb/media/ubuntu/bootfs/※ SD カードが /media/ubuntu にマウントされているものと仮定します
上記が終わったら、次のステップに進んで下さい。

62

3 GMSL‑10GbE 変換モジュール スタートガイド

Edge.Auto Getting Started Manual

3.1.4 ハードウェアの接続とセットアップ

図 3.1

ボードの前面

図 3.2

ボードの裏面

1. Fakra ケーブルを GMSL ポートに接続します。ミニ Fakra ジャック ケーブルを使用してください。
• 4 台の C1 カメラを接続する場合は、Fakra ケーブルを P1 ポートまたは P2 ポートのいずれかに接続します。

3.1. 準備63

Edge.Auto Getting Started Manual• 4 台の C2 カメラを接続する場合は、Fakra ケーブルを P1 ポートに接続します。
• 8 台の C1 カメラを接続する場合は、Fakra ケーブルを P1 ポートと P2 ポートの両方に接続します。
2. カメラを Fakra ケーブルに接続します。
3. イーサネット ケーブルをイーサネット ポートに接続します。

注意: SFP+ イーサネット ケーブルまたは SFP から RJ45 へのコンバーターを使用してください。

4. (オプション) ミニ USB ケーブルをシリアル ポートに接続します。
5. SD カードを SD カードスロットに挿入します。
6. 電源プラグを差し込んでボードの電源を入れます。

3.2 Linux での使用
3.2.1 イーサネットケーブルをホストコンピュータの 10G イーサネットポートに接続する
必ず 10Gb 互換のポートにイーサネット ケーブルを接続してください。このマニュアルでは、eth1 ポートを使用します。

3.2.2 ネットワークを構成する
リンクステータスを確認する
リンクステータスを確認するには、ethtools コマンドを使用します。
ethtools eth1

出力は次のようになります。
ubuntu@EAC-5000:~$ ethtool eth1
Settings for eth1:
Supported ports: [ TP ]Supported link modes:
100baseT/Full
1000baseT/Full
10000baseT/Full
2500baseT/Full
5000baseT/FullSupported pause frame use: Symmetric Receive-only
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 100baseT/Full
1000baseT/Full(次のページに続く)

64

3 GMSL‑10GbE 変換モジュール スタートガイド

Edge.Auto Getting Started Manual(前のページからの続き)10000baseT/Full
2500baseT/Full
5000baseT/FullAdvertised pause frame use: No
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: 10000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
MDI-X: Unknown
Cannot get wake-on-lan settings: Operation not permitted
Current message level: 0x00000005 (5)drv link
Link detected: yes

Speed: 10000Mb/s が表示されていることを確認します。

MTU 9000 を設定意図したネットワーク帯域幅を実現するには、 MTU を 9000 に設定します。次のコマンドを使用してください。
sudo ifconfig eth1 down
sudo ifconfig eth1 mtu 9000
sudo ifconfig eth1 up

その後、MTU 設定を確認してください。
ifconfig

出力は次のようになります。
ubuntu@EAC-5000:~$ ifconfig...
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9000
inet 10.42.0.1 netmask 255.255.255.0 broadcast 10.42.0.255...

mtu 9000 と表示されれば設定は成功です。

3.2. Linux での使用

65

Edge.Auto Getting Started Manual
IP アドレスを設定する
本ボードでは、3 つの手法で IP アドレスを設定することができます。

• マニュアルでの設定• ネットワーク ファイル経由での設定• DHCP による設定
手動またはネットワークファイル経由で IP アドレスを設定するには、まず本ボードにシリアルコンソールを用いてログインする必要があります。
ネットワーク経由で IP アドレスを設定した場合、再起動後にも設定が保たれます

DHCP を用いた IP アドレスの設定
本ボードのイーサネット ポートに IP アドレスを割り当てるには、GUI を使用してネットワーク設定を構成します。

1. ネットワーク設定を開きます（設定 ‑> ネットワーク）。
2. 10Gb の速度を持つイーサネット アダプタを選択します (この例では Aquantia Ethernet です)
3. 詳細設定（歯車アイコン）に移動し、IPv4 を選択して、Shared to other computers (他のコンピューターと共有) を選択します。
デフォルトでは、このインターフェースに 10.42.0.1 が設定されます。
手動で IP アドレスを設定する

ifconfig コマンドを用いて、IP アドレスを 10.42.0.3 に設定します
sudo ifconfig eth0 10.42.0.3

この後、IP アドレスを確認して下さい。結果は以下のようになります。
analog@kria-gmsl :~ $ ip a
1: lo: <LOOPBACK, UP, LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN groupdefault qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft foreverinet6 :: 1/128 scope hostvalid_lft forever preferred_lft forever
2: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
link/sit 0.0.0.0 brd 0.0.0.0
3: eth0: <BROADCAST, MULTICAST, UP, LOWER_UP> mtu 9000 qdisc mq state UP groupdefault qlen 1000
link/ether a2:c2:aa:da:45:73 brd ff : ff: ff:ff:ff:ff
inet 10.42.0.3/8 brd 10.255.255.255 scope global eth0
(次のページに続く)

66

3 GMSL‑10GbE 変換モジュール スタートガイド

Edge.Auto Getting Started Manual

図 3.3 ネットワーク設定ウィンドウ(前のページからの続き)

valid_lft forever preferred_lft foreverinet6 fe80 :: a0c2:aaff:feda:4573/64 scope link
valid_lft forever preferred_1ft forever

inet 10.42.0.3 の表示により、IP アドレスが正しく設定されていることが確認できます。
ネットワーク ファイル経由で IP アドレスを設定する
以下の設定を/etc/systemd/network/10-static.network に記載して下さい。
[Match]Name=eth0[Network]
DHCP=noAddress=10.42.0.3(次のページに続く)

3.2. Linux での使用

67

Edge.Auto Getting Started Manual

図 3.4

フロントネットワーク共有設定(前のページからの続き)[Link]
MTUBytes=9000

この手法でも eth0 の IP アドレスを 10.42.0.3 に設定できます

3.2.3 画像出力設定
本ボードを CUI を用いて設定するには、ボードにログインする必要があります。そのためには、2 つの方法があります。

• SSH 経由• シリアルコンソール経由

68

3 GMSL‑10GbE 変換モジュール スタートガイド

Edge.Auto Getting Started Manual
SSH 経由でログイン
本ボードのイーサネット ポートには 2 つの IP アドレスが割り当てられています。

• 画像データ出力用の IP アドレス（デフォルトでは 10.42.0.2 に固定）
• ログイン用の IP アドレス ( DHCP を用いた場合、デフォルトではランダムに割り当てられます)
ここでは、ログイン用の IP アドレスを使用して本ボードにログインします。

1. DHCP を用いて IP アドレスを割り当てた場合、デフォルトでは、IP アドレスはランダムに割り当てられるため、arp コマンドを使用して IP アドレスをスキャンします。
arp

次のような結果が表示されます。
ubuntu@EAC-5000:~$ arp
Address
˓→Iface10.42.0.63
˓→eth1

HWtypeHWaddress

Flags Mask

␣

ether

66:4d:9a:96:5a:68

C␣

今回割り当てられた IP アドレスは「10.42.0.63」です。

2. 画像出力設定を行うには、次のユーザー名とパスワードを使用して、SSH を使用して 本ボードにログインします。

• ユーザー名: analog• パスワード: analog
ssh analog@<assigned ip address>

3. ログインに成功すると、次のような出力が出力されます。
ubuntu@EAC-5000:~$ ssh analog@10.42.0.63
analog@10.42.0.63's password:(Put <analog> here)
Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 6.1.5-g19e31fe4c1ae-dirty aarch64)* Documentation:* Management:* Support:

https://help.ubuntu.com
https://landscape.canonical.com
https://ubuntu.com/advantage

This system has been minimized by removing packages and content that are
not required on a system that users do not log into.
...

参考:

mDNS を使用したホスト名を用いて本ボードにログインすることも可能です。この場合、kria-gmsl.local
をホスト名として指定して下さい。具体的には、以下のようにログインします。

3.2. Linux での使用

69

Edge.Auto Getting Started Manualssh analog@kria-gmsl.local

シリアルコンソール経由でのログイン
シリアルコンソール経由でログインする必要がある場合は、次の手順に従ってください。

1. シリアルコンソールに接続されている USB ケーブルをホスト PC に接続します。
2. シリアル ポートが PC によって認識されているかどうかを確認します。ls -al /dev/ttyUSB* でttyUSB デバイスが表示されることを確認してください。
ubuntu@EAC-5000:~$ ls -al /dev/ttyUSB*
crw-rw---- 1 root dialout 188, 0 Aug 8 04:07 /dev/ttyUSB0

3. sudo chmod 666 /dev/ttyUSB0 を使用して読み取り/書き込み権限を追加します。
4. シリアルコンソールを使用するにはいくつかのオプションがあります。このドキュメントでは、
gtkterm を使用します。gtkterm をインストールするには、次の手順に従ってください。
sudo apt update
sudo apt install gtkterm

5. gtkterm を開きます (ターミナルで gtkterm と入力します)。次に、configuration を選択します。Port 設定で /dev/ttyUSB0 を選択します。また、Baud Rate が 115200 に設定されていることを確認します。

6. [OK] をクリックします。
7. ログインメッセージが表示されます (表示されない場合は、ENTER キーを押します)。
8. ログインユーザーとして「analog」と入力し、パスワードとして「analog」と入力します。

3.2.4 次のステップ
カメラからの画像を表示するようにボードを設定するには、CUI 経由の画像出力設定 または GUI による画像出力設定 に進んでください。

3.3 CUI 経由の画像出力設定
このセクションでは、コマンドラインを使用して GMSL ボードを構成します。

注意: この設定は GMSL2‑10GbE 変換モジュール側で行います70

3 GMSL‑10GbE 変換モジュール スタートガイド

Edge.Auto Getting Started Manual

図 3.5

フロントシリアルコンソール設定（gtkterm の場合）

3.3.1 画像出力設定
設定ファイルは Workspace/config_streaming_v2 ディレクトリに保存されます。
cd Workspace/config_streaming_v2

次に、接続されたカメラに応じてボードを構成します。

注意: v7 までのイメージでは、すべての GMSL ポートが C1 または C2 カメラのいずれかに割り当てられます。C1 カメラと C2 カメラの組み合わせは許可されません。

3.3. CUI 経由の画像出力設定

71

Edge.Auto Getting Started Manual

図 3.6

接続成功時の出力

C1 カメラ./media_cfg_des12_v2_isx021.sh./set_num_lines./set_num_px_p_line

C2 カメラ./media_cfg_des12_v2_imx490.sh./set_num_lines_imx490./set_num_px_p_line_imx490

C1 カメラ設定の場合、media_cfg_des12_v2_isx021.sh を実行すると次の出力が表示されます。8 台
未満のカメラを接続する場合は、エラー メッセージが表示されますが、設定自体は問題なく行われます。
./media_cfg_des12_v2_isx021.sh[sudo] password for analog:
No XFCP interface available: No module named 'xfcp'[2024-08-06 09:34:09,523] npap_enum.board (discover_structure) INFO:Found base wrapper: erd_info_block(次のページに続く)

72

3 GMSL‑10GbE 変換モジュール スタートガイド

Edge.Auto Getting Started Manual(前のページからの続き)[2024-08-06 09:34:09,564] npap_enum.board (discover_structure) INFO:Found block: tcp_udp_netperf_npap_support_wrapper[2024-08-06 09:34:09,568] npap_enum.board (initialise) INFO:Found 1 NPAP instances[2024-08-06 09:34:09,603] npap_enum.board (discover_structure) INFO:Found base wrapper: tcp_udp_netperf_npap_support_wrapper[2024-08-06 09:34:09,639] npap_enum.board (discover_structure) INFO:Found block: npap_support_wrapper[2024-08-06 09:34:09,644] npap_enum.board (discover_structure) INFO:Found block: tcp_udp_support_wrapper[2024-08-06 09:34:09,672] npap_enum.board (discover_structure) INFO:Found block: tcp_gen_support_wrapper[2024-08-06 09:34:09,677] npap_enum.board (discover_structure) INFO:Found block: udp_gen_support_wrapper_0[2024-08-06 09:34:09,706] npap_enum.board (discover_structure) INFO:Found block: udp_support_wrapper_0[2024-08-06 09:34:09,711] npap_enum.board (discover_structure) INFO:Found block: udp_support_wrapper_1[2024-08-06 09:34:09,716] npap_enum.board (discover_structure) INFO:Found block: udp_support_wrapper_2[2024-08-06 09:34:09,721] npap_enum.board (discover_structure) INFO:Found block: udp_support_wrapper_3[2024-08-06 09:34:09,726] npap_enum.board (discover_structure) INFO:Found block: udp_support_wrapper_4[2024-08-06 09:34:09,731] npap_enum.board (discover_structure) INFO:Found block: udp_support_wrapper_5[2024-08-06 09:34:09,736] npap_enum.board (discover_structure) INFO:Found block: udp_support_wrapper_6[2024-08-06 09:34:09,741] npap_enum.board (discover_structure) INFO:Found block: udp_support_wrapper_7[2024-08-06 09:34:09,831] npap_enum.board (discover_structure) INFO:Found block: udp_demo_application_7[2024-08-06 09:34:09,920] npap_enum.board (discover_structure) INFO:Found block: udp_demo_application_6[2024-08-06 09:34:10,008] npap_enum.board (discover_structure) INFO:Found block: udp_demo_application_5[2024-08-06 09:34:10,097] npap_enum.board (discover_structure) INFO:Found block: udp_demo_application_4[2024-08-06 09:34:10,186] npap_enum.board (discover_structure) INFO:Found block: udp_demo_application_3[2024-08-06 09:34:10,275] npap_enum.board (discover_structure) INFO:Found block: udp_demo_application_2[2024-08-06 09:34:10,364] npap_enum.board (discover_structure) INFO:Found block: udp_demo_application_1[2024-08-06 09:34:10,452] npap_enum.board (discover_structure) INFO:Found block: udp_demo_application_0[2024-08-06 09:34:10,553] npap_enum.board (discover_structure) INFO:Found block: npap_configuration_block[2024-08-06 09:34:10,582] npap_enum.board (discover_structure) INFO:Found block: priority_manager_configuration_block
Configure MAC for packet direction infrastructrure.
(次のページに続く)

3.3. CUI 経由の画像出力設定

73

Edge.Auto Getting Started Manual(前のページからの続き)

Read MAC address 0X20A35088080, default: 0X20A35088080
Read MAC address 0XAABBCCDDEE12, default: 0X20A35088080
Successfully set MAC address for packet steering
NPAP subsystem build date: 2024-05-23 14:59:52
NPAP subsystem git hash: 43390C65
Now exiting...

3.3.2 画像の出力
最後に、以下のコマンドを使用してイメージを出力します。

C1 カメラ• P2 ポート（UDP ポート 5008‑5011）から画像データを出力する
v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1280,pixelformat=UYVY -˓→stream-mmap• P1 ポート（UDP ポート 5004‑5007）から画像データを出力する
v4l2-ctl -d /dev/video1 --set-fmt-video=width=1920,height=1280,pixelformat=UYVY -˓→stream-mmap• P1 ポートと P2 ポートの両方から画像データを出力する
v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1280,pixelformat=UYVY -˓→stream-mmap &v4l2-ctl -d /dev/video1 --set-fmt-video=width=1920,height=1280,pixelformat=UYVY -˓→stream-mmap &C2 カメラ• P1 ポート（UDP ポート 5004‑5007）から画像データを出力する
v4l2-ctl -d /dev/video0 --set-fmt-video=width=2880,height=1860,pixelformat=UYVY -˓→stream-mmap &警告: v7 までのイメージでは、P1 ポートからの出力のみをサポートしています。P2 ポートからの出力はサポートしていません。

74

3 GMSL‑10GbE 変換モジュール スタートガイド

Edge.Auto Getting Started Manual

3.3.3 画像ストリームを停止する
イメージ ストリームを停止するには、& なしでストリーミングを開始した場合に Ctrl-C を押します。& を使用してイメージ ストリームを開始した場合、プロセスはバックグラウンドで実行されます。この場合、pidof
コマンドを使用して対応するプロセスを見つけ、kill コマンドを使用してそのプロセスを強制終了できます。
pidof v4l2-ctl
sudo kill <displayed numbers>

3.4 GUI による画像出力設定
このセクションでは、画像出力の設定に Web GUI を使用します。

3.4.1 画像出力設定
ホスト PC でブラウザを開き、 http://<GMSL board ip address>:3000 にアクセスします。 Web
ベースの GUI が表示され、各種設定を行うことができます。

RTP Control タブでは、TierIV Cam 1 は C1 カメラを、TierIV Cam 2 は C2 カメラをそれぞれ表します。Setup RTP related settings は前項で記載した Image output configuration と同等の設定となります。
カメラからの画像ストリームを有効にするには、「ストリーミング設定」に移動します。

CUI で同等の設定を行うことができます。

3.5 画像を表示する
注意: このページに記載されている設定は受信側（ホストコンピュータ）側で行う必要があります。

このドキュメントでは、GStreamer を使用して画像を出力しますが、RTP パケット (RFC 4175) を受信できる任意のアプリケーションを使用可能です。

3.5.1 準備
GStreamer がまだインストールされていない場合はインストールしてください。GStreamer をインストー
ルするには、GStreamer の公式手順 に従ってください。

注釈: デフォルトでは、カメラ (C1/C2) は フリーラン モード で動作します。フレーム同期モードを切り替え

3.4. GUI による画像出力設定

75

Edge.Auto Getting Started Manual

図 3.7

ウェブ GUI

るには、トリガー信号の設定 を参照してください。

参考:
各カメラの同期に関する仕様の詳細については、C1 のフレーム同期モードおよび C2 のフレーム同期モード
を参照してください。

76

3 GMSL‑10GbE 変換モジュール スタートガイド

Edge.Auto Getting Started Manual

図 3.8

ストリーミング設定

3.5.2 1 台のカメラを表示
ポート 5008 にアサインされている C1 カメラの画像を表示するには、以下の GStreamer コマンドを使用してください。
gst-launch-1.0 udpsrc caps='application/x-rtp, sampling=YCbCr-4:2:2,␣˓→depth=(string)8, width=(string)1920, height=(string)1280' port=5008 !␣
˓→rtpvrawdepay ! videoconvert ! queue ! fpsdisplaysink video-sink=autovideosink␣˓→text-overlay=true sync=false

ポート 5004 にアサインされている C2 カメラの画像を表示するには、以下の GStreamer コマンドを使用してください。
gst-launch-1.0 udpsrc caps='application/x-rtp, sampling=YCbCr-4:2:2,␣˓→depth=(string)8, width=(string)2880, height=(string)1860' port=5004 !␣
˓→rtpvrawdepay ! videoconvert ! queue ! fpsdisplaysink video-sink=autovideosink␣˓→text-overlay=true sync=false

3.5.3 4 台のカメラを表示
4 つのカメラの画像を表示するには、以下の GStreamer コマンドを使用してください。
• C1 カメラ、ポート 5004 ‑ 5007
gst-launch-1.0 \udpsrc caps='application/x-rtp, sampling=YCbCr-4:2:2, depth=(string)8,␣˓→width=(string)1920, height=(string)1280' port=5004 ! rtpvrawdepay ! videoconvert␣
˓→! queue ! fpsdisplaysink video-sink=autovideosink text-overlay=true sync=false \(次のページに続く)

3.5. 画像を表示する

77

Edge.Auto Getting Started Manual(前のページからの続き)

udpsrc caps='application/x-rtp, sampling=YCbCr-4:2:2, depth=(string)8,␣˓→width=(string)1920, height=(string)1280' port=5005 ! rtpvrawdepay ! videoconvert␣
˓→! queue ! fpsdisplaysink video-sink=autovideosink text-overlay=true sync=false \
udpsrc caps='application/x-rtp, sampling=YCbCr-4:2:2, depth=(string)8,␣˓→width=(string)1920, height=(string)1280' port=5006 ! rtpvrawdepay ! videoconvert␣
˓→! queue ! fpsdisplaysink video-sink=autovideosink text-overlay=true sync=false \
udpsrc caps='application/x-rtp, sampling=YCbCr-4:2:2, depth=(string)8,␣˓→width=(string)1920, height=(string)1280' port=5007 ! rtpvrawdepay ! videoconvert␣
˓→! queue ! fpsdisplaysink video-sink=autovideosink text-overlay=true sync=false• C1 カメラ、ポート 5008 ‑ 5011
gst-launch-1.0 \udpsrc caps='application/x-rtp, sampling=YCbCr-4:2:2, depth=(string)8,␣˓→width=(string)1920, height=(string)1280' port=5008 ! rtpvrawdepay ! videoconvert␣
˓→! queue ! fpsdisplaysink video-sink=autovideosink text-overlay=true sync=false \
udpsrc caps='application/x-rtp, sampling=YCbCr-4:2:2, depth=(string)8,␣˓→width=(string)1920, height=(string)1280' port=5009 ! rtpvrawdepay ! videoconvert␣
˓→! queue ! fpsdisplaysink video-sink=autovideosink text-overlay=true sync=false \
udpsrc caps='application/x-rtp, sampling=YCbCr-4:2:2, depth=(string)8,␣˓→width=(string)1920, height=(string)1280' port=5010 ! rtpvrawdepay ! videoconvert␣
˓→! queue ! fpsdisplaysink video-sink=autovideosink text-overlay=true sync=false \
udpsrc caps='application/x-rtp, sampling=YCbCr-4:2:2, depth=(string)8,␣˓→width=(string)1920, height=(string)1280' port=5011 ! rtpvrawdepay ! videoconvert␣
˓→! queue ! fpsdisplaysink video-sink=autovideosink text-overlay=true sync=false• C2 カメラ、ポート 5004 ‑ 5007
gst-launch-1.0 \udpsrc caps='application/x-rtp, sampling=YCbCr-4:2:2, depth=(string)8,␣˓→width=(string)2880, height=(string)1860' port=5004 ! rtpvrawdepay ! videoconvert␣
˓→! queue ! fpsdisplaysink video-sink=autovideosink text-overlay=true sync=false \
udpsrc caps='application/x-rtp, sampling=YCbCr-4:2:2, depth=(string)8,␣˓→width=(string)2880, height=(string)1860' port=5005 ! rtpvrawdepay ! videoconvert␣
˓→! queue ! fpsdisplaysink video-sink=autovideosink text-overlay=true sync=false \
udpsrc caps='application/x-rtp, sampling=YCbCr-4:2:2, depth=(string)8,␣˓→width=(string)2880, height=(string)1860' port=5006 ! rtpvrawdepay ! videoconvert␣
˓→! queue ! fpsdisplaysink video-sink=autovideosink text-overlay=true sync=false \
udpsrc caps='application/x-rtp, sampling=YCbCr-4:2:2, depth=(string)8,␣˓→width=(string)2880, height=(string)1860' port=5007 ! rtpvrawdepay ! videoconvert␣
˓→! queue ! fpsdisplaysink video-sink=autovideosink text-overlay=true

注釈: v7 までのイメージでは、 10fps モードだけがサポートされています。他のフレームレート設定はサポートされていません。

78

3 GMSL‑10GbE 変換モジュール スタートガイド

Edge.Auto Getting Started Manual

3.5.4 8 台のカメラを表示
8 つのカメラの画像を表示するには、以下の GStreamer コマンドを使用してください。

注釈: C1 カメラ 8 台をフリーラン モード (30fps) で駆動すると、画像が乱れる可能性があります。C1 カメラ

8 台の画像を表示するには、カメラをフレーム同期モードに設定し (詳細については トリガー信号の設定 を参照)、フレーム同期周波数を低く設定してください。詳細はフレームレートの制限に関する注意を参照して下
さい。

gst-launch-1.0 \udpsrc caps='application/x-rtp, sampling=YCbCr-4:2:2, depth=(string)8,␣˓→width=(string)1920, height=(string)1280' port=5004 ! rtpvrawdepay ! videoconvert␣
˓→! queue ! fpsdisplaysink video-sink=autovideosink text-overlay=true sync=false \
udpsrc caps='application/x-rtp, sampling=YCbCr-4:2:2, depth=(string)8,␣˓→width=(string)1920, height=(string)1280' port=5005 ! rtpvrawdepay ! videoconvert␣
˓→! queue ! fpsdisplaysink video-sink=autovideosink text-overlay=true sync=false \
udpsrc caps='application/x-rtp, sampling=YCbCr-4:2:2, depth=(string)8,␣˓→width=(string)1920, height=(string)1280' port=5006 ! rtpvrawdepay ! videoconvert␣
˓→! queue ! fpsdisplaysink video-sink=autovideosink text-overlay=true sync=false \
udpsrc caps='application/x-rtp, sampling=YCbCr-4:2:2, depth=(string)8,␣˓→width=(string)1920, height=(string)1280' port=5007 ! rtpvrawdepay ! videoconvert␣
˓→! queue ! fpsdisplaysink video-sink=autovideosink text-overlay=true sync=false \
udpsrc caps='application/x-rtp, sampling=YCbCr-4:2:2, depth=(string)8,␣˓→width=(string)1920, height=(string)1280' port=5008 ! rtpvrawdepay ! videoconvert␣
˓→! queue ! fpsdisplaysink video-sink=autovideosink text-overlay=true sync=false \
udpsrc caps='application/x-rtp, sampling=YCbCr-4:2:2, depth=(string)8,␣˓→width=(string)1920, height=(string)1280' port=5009 ! rtpvrawdepay ! videoconvert␣
˓→! queue ! fpsdisplaysink video-sink=autovideosink text-overlay=true sync=false \
udpsrc caps='application/x-rtp, sampling=YCbCr-4:2:2, depth=(string)8,␣˓→width=(string)1920, height=(string)1280' port=5010 ! rtpvrawdepay ! videoconvert␣
˓→! queue ! fpsdisplaysink video-sink=autovideosink text-overlay=true sync=false \
udpsrc caps='application/x-rtp, sampling=YCbCr-4:2:2, depth=(string)8,␣˓→width=(string)1920, height=(string)1280' port=5011 ! rtpvrawdepay ! videoconvert␣
˓→! queue ! fpsdisplaysink video-sink=autovideosink text-overlay=true sync=false

3.6 トリガー信号の設定
警告: v7 までのイメージファイルでは、この機能は C2 カメラには使用できません

GMSL2‑10GbE 変換モジュールの Trigger Settings タブを使用して、カメラトリガーパルスを入力できます。
参考:3.6. トリガー信号の設定

79

Edge.Auto Getting Started Manual• C1 カメラのフレーム同期仕様• C2 カメラのフレーム同期仕様
ウェブインターフェースを使用して、次のパラメータを設定できます。

• トリガーモード• 周波数• デューティサイクル
• オフセット

注意: 8 台のカメラをストリーミングする場合、P2 に対してオフセットを設定する必要があります。この設定なしでは P1 と P2 の信号が干渉し、出力される画像に乱れが発生します。
以下のようにオフセットパラメータを設定することで、8 台の C1 カメラが 20Hz まで安定して動作する
ことが確認されています。

80

3 GMSL‑10GbE 変換モジュール スタートガイド

Edge.Auto Getting Started Manual

カメラ

オフセット

P2 / ポート 1

15000000 (15 ミリ秒)

P2 / ポート 2

20000000 (20 ミリ秒)

P2 / ポート 3

25000000 (25 ミリ秒)

P2 / ポート 4

30000000 (30 ミリ秒)

最後に Apply All を押すことを忘れないでください。

3.7 PTP を用いた時刻同期
3.7.1 Web UI を用いた PTP の設定
Web UI には、PTP Settings というタブがあります。このタブを開くと 5 つのボタンが表示されます。以下に各ボタンの機能について説明します。

図 3.9 PTP 設定用の Web GUI

Update System TimeHTTP リクエストを介してローカル時刻を取得し、システム時刻を更新します。
等価なコマンドは以下のとおりです。
sudo date -s "$(wget -qs0- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d'
˓→' -f5-8)Z" && sudo phc_ctl /dev/ptp0 set

3.7. PTP を用いた時刻同期81Edge.Auto Getting Started ManualStart PTP‑based Synchronization
eth0 で ptp4l スレーブ (クライアント) プログラムを起動します。
等価なコマンドは以下のとおりです。
sudo ptp41 -i eth0 -s

Sync System Clock to PHC
PHC 時間に基づいてシステム クロックを更新するプログラムを起動します。
等価なコマンドは以下のとおりです。
sudo phc2sys -a -r

Stop PTP‑based Synchronization
ptp4l スレーブ プログラムを停止します。
等価なコマンドは以下のとおりです。
sudo pkill -x "ptp41"

Stop PHC to System
PHC ベースのシステムを停止します。
等価なコマンドは以下のとおりです。
sudo pkill -x "phc2sys"

3.7.2 PTP のテスト
PTP を使用するには、ホスト PC がマスター モード (‑m フラグ) で ptp4l を実行し、本ボードがスレーブ モードになっている必要があります。本ボードは、上記の表に示すように、Web GUI を介して適切な PTP プログ
ラムを起動できます。以下の手順により、PTP を起動して機能を確認していきます。

82

3 GMSL‑10GbE 変換モジュール スタートガイド

Edge.Auto Getting Started Manual
ホスト上で PTP マスターを起動する
ホスト上で次のコマンドを発行すると、PTP マスターを起動できます。
sudo ptp41 -i enp2s0f1 -m -S -A # replace enp2s0f1 with the proper interface

デバイス上で PTP スレーブを起動する

Web GUI の PTP タブで Start PTP-based Synchronization をクリックします。

PTP ベースのストリーミングが機能することを確認する
Web GUI の RTP Control タブで、Custom Timestamp と Start of Frame を有効にします。次に、ストリーミングのセクションに従ってストリーミングを開始します。その後、ホスト PC で次のコマンドを使用して、パケットに適切な RTP 情報が含まれていることを確認します。
sudo tcpdump -i enp2s0f1 -T rtp -x | grep "0x0020" | awk '{print "0x"$3$4}'

これにより、現在のエポック秒が HEX 形式で出力されます。これは、Web サイト epoch converter を用いて比較することで確認できます。
たとえば、0x66bb12ac を取得した場合、データに埋め込まれたタイムスタンプは 2024-8-13 Tuesday

08:00:44 (GMT) です。

注釈: カスタム タイムスタンプは次のように構成されます (最大 合計 96 bit• 48b ‑ 秒を表す (先頭から 48bit)• 32b ‑ ナノ秒を表す (続く 32bit)• 16b ‑ ナノ秒の小数部表現 (最後の 16bit)
したがって、Custom Timestamp と共に使用した場合、RTP ヘッダーには次のデータ セットが含まれます。

• RTP ヘッダーの timestamp ‑ 秒を表す 48bit のうち、先頭の 32bit• RTP ヘッダーの SSRC_ID ‑ 先頭の 16bit は秒を表す 48bit の下位部分、残りはナノ秒表現の上位部分• RTP ヘッダーの CSRC_ID ‑ ナノ秒表現の下位部分に 16 ビット、ナノ秒の小数部表現に 16 ビット

3.7. PTP を用いた時刻同期83Edge.Auto Getting Started Manual
システムクロックが PTP 経由で同期していることを確認する&quot; システム クロックを PHC に同期&quot; ボタンを押すと、システム クロックが同期されます。2 つのマシンで次のコマンドの出力を比較することで、2 つのクロックが同期していることを確認できます。
watch -n 0.1 date +%s. %N

ボード上で次のコマンドを発行すると、間違ったクロックをシミュレートできます。
sudo date +%T -s "15:00:00"'With synchronization' の結果では、ホストとボードのシステムクロックが一致していることを確認できます。一方、'Without synchonization' の場合は、ホストとボードのシステムクロックが異なります。

3.8 Web GUI を用いた画質調整
警告: v7 までのイメージファイルでは、この機能は C2 カメラには使用できません

Camera Settings タブを用いることで、以下のパラメータをカメラに設定することができます。
• 露光時間 [usec]• オートエクスポージャーの有効/無効• 歪み補正の有効/無効

84

3 GMSL‑10GbE 変換モジュール スタートガイド

Edge.Auto Getting Started Manual

図 3.10 画質調整

3.8. Web GUI を用いた画質調整

85

Edge.Auto Getting Started Manual

3.9 REST API
GMSL2‑10GbE 変換モジュールには REST API インターフェイスがあります。このセクションでは、使用可能
な API について説明します。

3.9.1 概要
接続先は下記の通りです。

• プロトコル: http• ホスト名: assigned-ip-address または kria-gmsl.local• ポート: 3000
したがって、REST API の URI は http://kria-gmsl.local:3000/<URI-path>です。
パラメータが必要な場合は、JSON 形式にする必要があります。パラメータは content‑type ヘッダーに含める必要があります。

3.9.2 利用可能なエンドポイント
C1 カメラのセットアップ
説明

C1 カメラの画像出力設定の設定
リクエスト

POST /setup-cam1
パラメータ

該

当なし
例

curl -X POST http://kria-gmsl.local:3000/setup-cam1

C2 カメラの設定
説明

C2 カメラの画像出力設定の設定
リクエスト/setup-cam2 を POST する
パラメータ

該

当なし

86

3 GMSL‑10GbE 変換モジュール スタートガイド

Edge.Auto Getting Started Manual例

curl -X POST http://kria-gmsl.local:3000/setup-cam2

タイムスタンプの適用
説明

タ
イムスタンプを設定する

リクエスト

POST /apply-timestampパラメータ• timestamp: カスタムタイムスタンプを適用するかどうか– 0: 適用しない– 1: 適用する• frame: タイムスタンプの位置– 0: フレームの終了 (EoF)– 1: フレームの開始 (SoF)例

curl -d '{"timestamp":"1","frame":"1"}' -H "Content-Type:application/json" -X POST http://kria-gmsl.local:3000/
apply-timestamp

フレーム同期設定を構成する（すべてのカメラ）
説明フ
レーム同期パルス設定（周波数、デューティ サイクル、オフセット）を構成します。これはすべてのカメラに適用されます。

リクエスト

POST /commandパラメータ• frequency: パルスの出力周波数。
• duty_cycle: パルスのデューティサイクル。
• offset: オフセット
パラメータの例を以下に示します。

3.9. REST API

87Edge.Auto Getting Started Manual{"data":{"trigger_mode":"triggered","deserializers":{"p1":[{"frequency":"20","duty_cycle":"20","offset":"0"},{"frequency":"20","duty_cycle":"20","offset":"0"},{"frequency":"20","duty_cycle":"20","offset":"0"},{"frequency":"20","duty_cycle":"20","offset":"0"}],"p2":[{"frequency":"20","duty_cycle":"20","offset":"10000000"},{"frequency":"20","duty_cycle":"20","offset":"20000000"},{"frequency":"20","duty_cycle":"20","offset":"25000000"},{"frequency":"20","duty_cycle":"20","offset":"30000000"
}
]
}
}
}

88

3 GMSL‑10GbE 変換モジュール スタートガイド

Edge.Auto Getting Started Manual
カメラをフリーランモードに設定するには、以下のパラメータをセットして下さい。
{"data":{"trigger_mode":"free-running","deserializers":{"p1":[{"frequency":"0","duty_cycle":"20","offset":"0"},{"frequency":"0","duty_cycle":"20","offset":"0"},{"frequency":"0","duty_cycle":"20","offset":"0"},{"frequency":"0","duty_cycle":"20","offset":"0"}],"p2":[{"frequency":"0","duty_cycle":"20","offset":"0"},{"frequency":"0","duty_cycle":"20","offset":"0"},{"frequency":"0","duty_cycle":"20","offset":"0"},{"frequency":"0","duty_cycle":"20","offset":"0"
}
]
}
}
}

3.9. REST API

89

Edge.Auto Getting Started Manual例

curl -X POST http://kria-gmsl.local:3000/apply-timestamp -data-raw$(cat trigger.json)
上記の json が trigger.json として保存されていると仮定します

単一カメラのフレーム同期パルスを設定する
説明

単一のカメラのフレーム同期パルス設定 (周波数、デューティ サイクル、オフセット) を構成します。

リクエスト

POST /save-single
パラメータ{index, frequency, duty_cycle, offset, fsync_source}
例

P1 から C1 のストリーミングを開始する
説明
ボードの P1 ポートから C1 カメラの画像ストリーミングを開始します。
リクエスト

POST /streaming-cam1-des1
パラメータ

該

当なし
例

curl -X POST http://kria-gmsl.local:3000/streaming-cam1-des1

P2 から C1 のストリーミングを開始する
説明
ボードの P2 ポートから C1 カメラの画像ストリーミングを開始します。
リクエスト

POST /streaming-cam1-des2
パラメータ

該

当なし
例

curl -X POST http://kria-gmsl.local:3000/streaming-cam1-des290

3 GMSL‑10GbE 変換モジュール スタートガイド

Edge.Auto Getting Started Manual
両方のデシリアライザプロトコルから C1 のストリーミングを開始する
説明
ボードの P1 ポートと P2 ポートの両方から C1 カメラの画像ストリーミングを開始します。
リクエスト

POST /streaming-cam1-des12
パラメータ

該

当なし
例

curl -X POST http://kria-gmsl.local:3000/streaming-cam1-des12

P1 から C2 のストリーミングを開始する
説明
ボードの P1 ポートから C2 カメラの画像ストリーミングを開始します。
リクエスト

POST /streaming-cam1-des2
パラメータ

該

当なし
例

curl -X POST http://kria-gmsl.local:3000/streaming-cam2-des1

ストリーミングを停止
説明

す
べてのポートからのカメラストリームのストリーミングを停止します

リクエスト

POST /stop-streaming
パラメータ

該

当なし
例

curl -X POST http://kria-gmsl.local:3000/stop-streaming

3.9. REST API

91

Edge.Auto Getting Started Manual
システム時間の更新
説明

HTTP リクエストを介してローカル時刻を取得し、システム時刻を更新します。
このエンドポイントは対応する GUI コントロールと同等です。
リクエスト

POST /update-time
パラメータ

該

当なし
例

curl -X POST http://kria-gmsl.local:3000/update-time

PTP ベースの同期を開始する
説明

eth0 で ptp4l スレーブ (クライアント) プログラムを起動します。
このエンドポイントは対応する GUI コントロールと同等です。
リクエスト

POST /sync-ptp
パラメータ

該

当なし
例

curl -X POST http://kria-gmsl.local:3000/sync-ptp

システムクロックを PHC に同期する
説明

PHC 時間に基づいてシステム クロックを更新するプログラムを起動します。
このエンドポイントは対応する GUI コントロールと同等です。
リクエスト

POST /sync-phc
パラメータ

該

当なし
例

curl -X POST http://kria-gmsl.local:3000/sync-phc

92

3 GMSL‑10GbE 変換モジュール スタートガイド

Edge.Auto Getting Started Manual
PTP ベースの同期を停止する stop‑ptp4l
説明

ptp4l スレーブ プログラムを停止します。
このエンドポイントは対応する GUI コントロールと同等です。
リクエスト

POST /stop-ptp4l
パラメータ

該

当なし
例

curl -X POST http://kria-gmsl.local:3000/stop-ptp4l

システムへの PHC を停止
説明

PHC ベースのシステムを停止します。
このエンドポイントは対応する GUI コントロールと同等です。
リクエスト

POST /stop-phc2sys
パラメータ

該

当なし
例

curl -X POST http://kria-gmsl.local:3000/stop-phc2sys

カメラの露出設定の適用
説明

各
カメラに露出時間設定を適用します。
このエンドポイントは対応する GUI コントロールと同等です。

リクエスト

POST /apply-exposure-cam<X>
X は 0 から 7 まで
パラメータ

expCam<X>: 0 ‑ 33000, [usec]
例

curl -d '{"expCam0":11000}' -H "Content-Type: application/json" -X
POST http://kria-gmsl.local:3000/apply-exposure-cam0
3.9. REST API

93

Edge.Auto Getting Started Manual
これにより、カメラ 0 の露出時間が 10 ミリ秒に設定されます。

自動露出の有効化/無効化
説明

各
カメラの自動露出設定を有効/無効にします。
このエンドポイントは対応する GUI コントロールと同等です。

リクエスト

POST /apply-auto-exposure-cam<X>
X は 0 から 7 まで
パラメータ

autoExpCam<X> :• 0: 無効• 1: 有効例

curl -d '{"autoExpCam0":1}' -H "Content-Type: application/json" -X
POST http://kria-gmsl.local:3000/apply-auto-exposure-cam0
これにより、カメラ 0 の自動露出が有効になります

歪み補正の有効化/無効化
説明

各
カメラの歪み補正設定を有効/無効にします。
このエンドポイントは対応する GUI コントロールと同等です。

リクエスト

POST /apply-dist-corr-cam<X>
X は 0 から 7 まで
パラメータ

distCorrCam<X> :• 0: 無効• 1: 有効例

curl -d '{"distCorrCam0":1}' -H "Content-Type: application/json" -X
POST http://kria-gmsl.local:3000/apply-dist-corr-cam0
これにより、カメラ 0 の歪み補正が有効になります。

94

3 GMSL‑10GbE 変換モジュール スタートガイド

Edge.Auto Getting Started Manual

3.10 トラブルシューティング
3.10.1 ホストコンピューターで GStreamer を起動しましたが、画像が表示されません。
• GStreamer 設定で正しい port 値が設定されていることを確認してください。
• UDP パケットがホスト コンピューターに送信されているかどうかを確認するには、 wireshark や
tcpdump を使用できます。
Host PC に対して画像のパケットが到達しているかを確認するには、以下のコマンドを使用します。
sudo tcpdump -i eth0 dst port 5004

上記のコマンドは eth0 の port 5004 に対して到達したバケットをダンプします。

• 画像出力を行うためのプロセスが動作していることを確認するには、GMSL2‑10GbE 変換モジュール
上で以下のコマンドを使用します。
pidof v4l2-ctl

動作しているデシリアライザの数に応じて、プロセス ID が出力されます。

3.10.2 複数のカメラを同じデシリアライザポートに接続すると画像にアーティファクトが発生します
参考サイトのような画像が表示される場合は、ホスト PC 側のカーネルパラメータを以下のように設定してみてください。
sudo sysctl -w net.core.rmem_default=33554432
sudo sysctl -w net.core.rmem_max=33554432

参考:• Nvidia Jetson デバイスでの UDP‑Raw ストリームの問題• gstreamer rtpvrawpay による生データ ビデオが安定しない
参考:

GMSL2‑10GbE 変換モジュール ハードウェア リファレンス マニュアル

3.10. トラブルシューティング95