Ouster TOP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】

※当サイトにはプロモーションリンクが含まれます。

Ouster TOP の Ouster ライダーセンサ接続機能を示すサムネイル

記事更新の通知はXでアナウンス٩(๑❛ᴗ❛๑)
@maru6o6をフォロー

概要 📖 – ライダー画像を取り込む

Ouster TOPは、Ouster OS シリーズライダーセンサから点群データを UDP で受信し、各ピクセルが 1 サンプルの 2D 画像として出力する TOPです。X / Y / Z 座標、Range、Reflectivity、Signal Photons、Near IR などのセンサ値を R / G / B / A 各チャンネルに自由に割り当て可能で、Azimuth Window によるROI 制限や PTP 1588 同期による複数センサ統合にも対応します。

主な用途 🎯

  • Ouster OS シリーズライダーからの点群データのリアルタイム受信
  • X / Y / Z 座標を RGBA チャンネルに割り当てた点群イメージの生成
  • Range / Reflectivity / Signal Photons / Near IR の各種センサ値のテクスチャ化
  • Azimuth Window による関心領域 (ROI) 限定と帯域削減
  • PTP 1588 同期による複数センサのフレーム単位整合
  • Phase Lock による回転位相同期 (マルチセンサ・特定角度同時計測)

データフロー 🔄

入力: Ouster ライダーセンサ (UDP 受信)

デバイスアドレスとライダーポート / IMU ポートを設定

Scan Mode で水平解像度と回転速度を決定

R / G / B / A 各チャンネルに X / Y / Z / Range / Reflectivity 等を割り当て

出力: 横解像度がポイント数、縦解像度がレーザ本数の 2D 点群イメージ

Tips

初心者の方は、以下日本語書籍も手元にあると安心です。

まる。
まる。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!


パラメータ解説 ⚙️

Connection Page 🔌

接続制御 🔄

Active .active
Active (接続有効化) — センサとの通信を ON にします。デバイス設定の変更後はこのトグルを OFF→ON することでセンサ側の設定が反映されます。

Re-Init .reinitialize 🔁
Re-Init (再初期化) — センサを手動で再初期化します。ファームウェアエラー復旧やネットワーク切断後の再接続に使います。

ネットワーク設定 🌐

Ouster センサのアドレスと UDP ポートの指定

Device Address .deviceaddress 📡
Device Address (デバイスアドレス) — Ouster センサの IP アドレスまたはホスト名
– センサ本体上面に印字された os-##### (例: os-991900123456) のシリアル番号からも指定可能
– ホスト名を使う場合は os-991900123456.local 形式で入力 (mDNS 解決が必要)
– IP アドレスは DHCP 割り当て後 ping -4 os-991900123456 で取得可能

Lidar Port .lidarport 🎯
Lidar Port (ライダーポート) — 点群データを受信する UDP ポート番号 (デフォルト 7502)。同一マシンで複数センサを動かす場合は重複しない番号を指定します。

IMU Port .imuport 🧭
IMU Port (IMU ポート) — センサ内蔵 IMU (慣性計測ユニット) のデータを受信する UDP ポート番号 (デフォルト 7503)。IMU データは Info CHOP 経由で取得できます。

Target Address .targetaddress 🎯
Target Address (送信先アドレス) — センサがデータを送る宛先 IP。空欄なら現在マシンのアドレスが使われます。NIC が複数あるマシンや、別マシンへ転送したい場合に明示します。

Scan Mode .scanmode 🌀

Scan Mode (スキャンモード) — 水平解像度と毎秒回転数を設定。垂直解像度はハードウェア固定 (例: OS1-64 なら 64 行)

Scan Mode .scanmode
OS シリーズ機種ごとに対応モードが異なります (例: 512x10Hz / 1024x10Hz / 2048x10Hz / 1024x20Hz)。高解像度ほどデータ量とネットワーク帯域要求が増します。

Operating Mode .opmode

センサの動作モード

項目 内部名 説明
Standby .standby 省電力モード (5W)。モーター停止・レーザ発射停止。アイドル時に使用
Normal .normal 通常動作モード。スキャン継続

※ 注意: Standby から Normal への復帰時、ライダーモーターの起動安定化に数秒かかります。

引用元: 公式 docs

Azimuth Window .azimuthwindow 🎚️

Azimuth Window (方位角ウィンドウ) — 関心領域 (ROI) をミリ度単位で指定。ウィンドウ外のデータは送信されないため帯域削減に有効

Azimuth Window .azimuthwindow
開始角と終了角をミリ度で指定 (0〜360000 mdeg)。最大ウィンドウサイズは Signal Multiplier 設定によって制限されます。

Signal Multiplier .signalmultiplier 📶

Signal Multiplier (信号倍率) — 信号強度の倍率設定。倍率を上げると最大方位角ウィンドウが狭くなる相反関係

Signal Multiplier .signalmultiplier
倍率が高いほど遠距離検出性能が向上しますが、ウィンドウサイズの上限が下がります (帯域・処理負荷とのトレードオフ)。

Data Format .dataformat 📦

ライダーデータのパケットフォーマット選択

項目 内部名 説明
Legacy .legacy 旧世代パケットフォーマット (互換性維持用)
Single Return .single 1 サンプルあたり 1 リターンを送信 (標準)
Dual Return .dual 1 サンプルあたり 2 リターン送信 (雨・霧・透明物体の検出向上、帯域 2 倍)
Low Data Rate (Single Return) .lowrate Single Return で帯域削減版 (帯域制限環境向け)

Red .redchannel 🔴

Red (赤チャンネル) — 出力画像の R チャンネルに割り当てるセンサデータ

項目 内部名 説明
X .x ライダー座標 X (横方向, メートル単位)
Y .y ライダー座標 Y (奥行き方向)
Z .z ライダー座標 Z (高さ方向)
Range .range 1st リターンのレンジ (センサからの距離, メートル)
Range 2 .range2 2nd リターンのレンジ (Dual Return 時のみ有効)
Signal Photons .signal 1st リターンの信号光子数 (受光強度)
Signal Photons 2 .signal2 2nd リターンの信号光子数 (Dual Return 時)
Reflectivity .reflectivity 1st リターンの反射率 (キャリブレーション済み)
Reflectivity 2 .reflectivity2 2nd リターンの反射率 (Dual Return 時)
Near IR Photons .nir 近赤外背景光の光子数 (環境光の参考値)
Flags .flags 1st リターンの状態フラグ (ビット情報)
Flags 2 .flags2 2nd リターンの状態フラグ
Constant 1 .one 定数 1 を出力 (チャンネルを使わないとき)
Constant 0 .zero 定数 0 を出力

Green .greenchannel 🟢

Green (緑チャンネル) — 出力画像の G チャンネルに割り当てるセンサデータ

項目 内部名 説明
X .x ライダー座標 X (横方向, メートル単位)
Y .y ライダー座標 Y (奥行き方向)
Z .z ライダー座標 Z (高さ方向)
Range .range 1st リターンのレンジ (センサからの距離, メートル)
Range 2 .range2 2nd リターンのレンジ (Dual Return 時のみ有効)
Signal Photons .signal 1st リターンの信号光子数 (受光強度)
Signal Photons 2 .signal2 2nd リターンの信号光子数 (Dual Return 時)
Reflectivity .reflectivity 1st リターンの反射率 (キャリブレーション済み)
Reflectivity 2 .reflectivity2 2nd リターンの反射率 (Dual Return 時)
Near IR Photons .nir 近赤外背景光の光子数 (環境光の参考値)
Flags .flags 1st リターンの状態フラグ (ビット情報)
Flags 2 .flags2 2nd リターンの状態フラグ
Constant 1 .one 定数 1 を出力 (チャンネルを使わないとき)
Constant 0 .zero 定数 0 を出力

Blue .bluechannel 🔵

Blue (青チャンネル) — 出力画像の B チャンネルに割り当てるセンサデータ

項目 内部名 説明
X .x ライダー座標 X (横方向, メートル単位)
Y .y ライダー座標 Y (奥行き方向)
Z .z ライダー座標 Z (高さ方向)
Range .range 1st リターンのレンジ (センサからの距離, メートル)
Range 2 .range2 2nd リターンのレンジ (Dual Return 時のみ有効)
Signal Photons .signal 1st リターンの信号光子数 (受光強度)
Signal Photons 2 .signal2 2nd リターンの信号光子数 (Dual Return 時)
Reflectivity .reflectivity 1st リターンの反射率 (キャリブレーション済み)
Reflectivity 2 .reflectivity2 2nd リターンの反射率 (Dual Return 時)
Near IR Photons .nir 近赤外背景光の光子数 (環境光の参考値)
Flags .flags 1st リターンの状態フラグ (ビット情報)
Flags 2 .flags2 2nd リターンの状態フラグ
Constant 1 .one 定数 1 を出力 (チャンネルを使わないとき)
Constant 0 .zero 定数 0 を出力

Alpha .alphachannel

Alpha (アルファチャンネル) — 出力画像の A チャンネルに割り当てるセンサデータ

項目 内部名 説明
X .x ライダー座標 X (横方向, メートル単位)
Y .y ライダー座標 Y (奥行き方向)
Z .z ライダー座標 Z (高さ方向)
Range .range 1st リターンのレンジ (センサからの距離, メートル)
Range 2 .range2 2nd リターンのレンジ (Dual Return 時のみ有効)
Signal Photons .signal 1st リターンの信号光子数 (受光強度)
Signal Photons 2 .signal2 2nd リターンの信号光子数 (Dual Return 時)
Reflectivity .reflectivity 1st リターンの反射率 (キャリブレーション済み)
Reflectivity 2 .reflectivity2 2nd リターンの反射率 (Dual Return 時)
Near IR Photons .nir 近赤外背景光の光子数 (環境光の参考値)
Flags .flags 1st リターンの状態フラグ (ビット情報)
Flags 2 .flags2 2nd リターンの状態フラグ
Constant 1 .one 定数 1 を出力 (チャンネルを使わないとき)
Constant 0 .zero 定数 0 を出力

Timing Page ⏱️

Time Sync Mode .timemode 🕐

Time Sync Mode (タイムシンクモード) — タイムスタンプ生成方式

項目 内部名 説明
Internal OSC .internalosc センサ内蔵発振器で生成 (デフォルト, 単体運用向け)
PTP 1588 .ptp1588 外部 PTP マスタに同期 (複数センサ同期・収録同期向け)

※ 注意: PTP 1588 同期にはネットワーク機器側の PTP 対応が必要です (PTP 対応スイッチ等)。

引用元: 公式 docs

Sync Pulse In Polarity .pulseinpolarity 📥

Sync Pulse In Polarity (同期パルス入力極性) — SYNC_PULSE_IN 信号の極性

項目 内部名 説明
Active Low .activelow Low (0V) でアクティブ
Active High .activehigh High (3.3V/5V) でアクティブ

Multipurpose IO Mode .iomode 🔀

Multipurpose IO Mode (多目的 IO モード) — SYNC_PULSE_OUT 信号の用途

項目 内部名 説明
Off .off 未使用 (デフォルト)
Input NMEA .inputnmea NMEA $GPRMC UART 入力を受け付ける (GPS 同期向け)
Output Internal OSC .outputinternalosc 内蔵発振器からパルス出力
Output PTP 1588 .outputptp1588 PTP 1588 同期信号からパルス出力
Output Encoder Angle .outputangle エンコーダ角度に基づくパルス出力 (特定角度トリガー)

Sync Pulse Out Polarity .pulseoutpolarity 📤

Sync Pulse Out Polarity (同期パルス出力極性)

項目 内部名 説明
Active Low .activelow Low でアクティブ
Active High .activehigh High でアクティブ

パルス出力パラメータ 📏

Output Internal OSC / Output PTP 1588 時のパルス波形設定

Sync Pulse Out Frequency .pulseoutfrequency 📈
Sync Pulse Out Frequency (出力パルス周波数) — Hz 単位で指定 (0 より大きい値)。

Sync Pulse Out Angle .pulseoutangle 🎯
Sync Pulse Out Angle (出力パルス角度) — Output Encoder Angle 時、パルス出力するエンコーダ角度 (0〜360 度未満)。

Sync Pulse Out Width .pulseoutwidth 📐
Sync Pulse Out Width (出力パルス幅) — 出力パルスの幅をミリ秒で指定。

NMEA In Polarity .nmeainpolarity 📡

NMEA In Polarity (NMEA 入力極性) — NMEA UART 入力 $GPRMC メッセージの極性

項目 内部名 説明
Active Low .activelow Low でアクティブ
Active High .activehigh High でアクティブ

NMEA 制御 🛰️

NMEA GPS 同期の付加設定

NMEA Ignore Valid Char .nmeaignorevalidchar 🚦
NMEA Ignore Valid Char (Valid キャラ無視) — オフなら有効キャラが立っていない $GPRMC メッセージを無視。オンなら有効キャラに関わらず時刻同期に使用します。

NMEA Leap Seconds .nmealeapseconds 🔢
NMEA Leap Seconds (うるう秒) — UDP タイムスタンプから 1970-01-01 起点秒を計算する際に加算する整数うるう秒。Unix エポック時刻にしたい場合は 0 を指定します。

NMEA Baud Rate .nmeabaudrate ⚙️

NMEA Baud Rate (NMEA ボーレート) — 入力 NMEA UART のボーレート

項目 内部名 説明
Baud 9600 .baud9600 9600 bps (標準 GPS モジュール向け)
Baud 115200 .baud115200 115200 bps (高速 GPS モジュール向け)

Phase Lock 🔗

回転位相のロック制御

Phase Lock .phaselock 🔒
Phase Lock (位相ロック) — 有効化すると入力パルスを基準にセンサの回転位相を同期します。複数センサで特定角度を同時に計測したいときに使用します。

Phase Lock Offset .phaselockoffset 🎯
Phase Lock Offset (位相ロックオフセット) — 入力パルス時に同期する角度 (度単位)。複数センサで異なる角度に同期させたい場合に個別設定します。


Common Page 🔧

Output Resolution .outputresolution 🖼️

出力解像度の決定方式

項目 内部名 説明
Use Input .useinput 入力 TOP の解像度をそのまま継承
Eighth .eighth 入力解像度の 1/8
Quarter .quarter 入力解像度の 1/4
Half .half 入力解像度の 1/2
2X .2x 入力解像度の 2 倍
4X .4x 入力解像度の 4 倍
8X .8x 入力解像度の 8 倍
Fit Resolution .fit 指定解像度に縦横比を保持して収める
Limit Resolution .limit 指定解像度を上限としてクランプ
Custom Resolution .custom Resolution パラメータで任意指定

Resolution .resolution 📐

カスタム解像度の幅・高さ指定 (Output Resolution = Custom 等の時のみ有効):

  • Resolution W: 出力幅 (ピクセル単位)。Output ResolutionCustom Resolution / Fit Resolution / Limit Resolution の時に有効
  • Resolution H: 出力高 (ピクセル単位)。同上

Resolution Menu .resmenu 📋

よく使う解像度プリセットのドロップダウン:

  • Resolution Menu: NTSC / PAL / HDTV 720 / HDTV 1080 / 4K UHD 等のプリセットから選択すると Resolution W / Resolution H が自動セットされる

Use Global Res Multiplier .resmult 🔢

プロジェクト全体の解像度倍率の適用:

  • Use Global Res Multiplier: Project Settings の Global Resolution Multiplier をこの TOP に適用するかどうか。プロトタイプを低解像度で動かしつつ最終出力で一括フル解像度化する運用に便利

Output Aspect .outputaspect 📏

出力アスペクト比の決定方式

項目 内部名 説明
Use Input .useinput 入力 TOP のアスペクトを継承 (伝播事故の元、非推奨)
Resolution .resolution 解像度から自動導出 (推奨デフォルト)
Custom Aspect .custom Aspect1 / Aspect2 で手動指定

Aspect .aspect 📐

カスタムアスペクト比の指定 (Output Aspect = Custom Aspect の時のみ有効):

  • Aspect1: 横方向アスペクト値 (Output Aspect = Custom Aspect の時のみ有効)
  • Aspect2: 縦方向アスペクト値 (同上)

Input Smoothness .inputfiltertype 🎚️

入力テクスチャのサンプリング方式

項目 内部名 説明
Nearest Pixel .nearest 最近傍ピクセルサンプリング (ピクセルアート向け、ジャギーが残る)
Interpolate Pixels .linear バイリニア補間 (滑らか、デフォルト)
Mipmap Pixels .mipmap ミップマップ補間 (縮小時のモアレ抑制、わずかにコスト高)

Fill Viewer .fillmode 🖥️

ビューア内でのテクスチャの収め方

項目 内部名 説明
Use Input .useinput 入力 TOP の Fill Viewer 設定を継承
Fill .fill ビューアいっぱいに引き伸ばす (アスペクト無視)
Fit Horizontal .width 横幅に合わせて収める (上下に余白)
Fit Vertical .height 縦幅に合わせて収める (左右に余白)
Fit Best .best アスペクト保持で内側に収まる最大サイズ
Fit Outside .outside アスペクト保持で外側まで覆う最小サイズ (はみ出しあり)
Native Resolution .nativeres テクスチャのネイティブ解像度のまま等倍表示

Viewer Smoothness .filtertype 🎛️

ビューア表示時のサンプリング方式

項目 内部名 説明
Nearest Pixel .nearest 最近傍ピクセルサンプリング (ピクセル単位での確認向け)
Interpolate Pixels .linear バイリニア補間 (滑らか、デフォルト)
Mipmap Pixels .mipmap ミップマップ補間 (縮小ビュー時のモアレ抑制)

Passes .npasses 🔁

オペレータの反復実行回数:

  • Passes: TOP の処理を何パス繰り返すかの整数値。前回パスの結果が次回パスの入力になる。ブラー反復やフィードバック処理に利用

Channel Mask .chanmask 🎨

処理対象のチャンネルマスク (R/G/B/A 個別トグル):

  • Channel Mask: R / G / B / A 各チャンネルのオン/オフトグル。オフのチャンネルは TOP の処理を受けず入力値がそのまま通過

Pixel Format .format 🎨

出力テクスチャのピクセルフォーマット (ビット深度・チャンネル構成)

項目 内部名 説明
Use Input .useinput 入力 TOP のフォーマットを継承
8-bit fixed (RGBA) .rgba8fixed 標準 8 ビット固定小数 RGBA (デフォルト、軽量)
sRGB 8-bit fixed (RGBA) .srgba8fixed sRGB ガンマ補正済 8 ビット RGBA
16-bit float (RGBA) .rgba16float 16 ビット浮動小数 RGBA (HDR・中間処理向け)
32-bit float (RGBA) .rgba32float 32 ビット浮動小数 RGBA (最高精度、メモリ大)
10-bit RGB with 2-bit Alpha .rgb10a2fixed 10-10-10-2 ビット固定小数 (バンディング抑制)
16-bit fixed (RGBA) .rgba16fixed 16 ビット固定小数 RGBA
11-bit float (RGB) .rgb11float 11-11-10 ビット浮動小数 RGB (アルファなし、HDR 軽量)
16-bit float (RGB) .rgb16float 16 ビット浮動小数 RGB (アルファなし)
32-bit float (RGB) .rgb32float 32 ビット浮動小数 RGB (アルファなし)
8-bit fixed (Mono) .mono8fixed 8 ビット固定小数モノクロ
16-bit fixed (Mono) .mono16fixed 16 ビット固定小数モノクロ
16-bit float (Mono) .mono16float 16 ビット浮動小数モノクロ
32-bit float (Mono) .mono32float 32 ビット浮動小数モノクロ
8-bit fixed (RG) .rg8fixed 8 ビット固定小数 R+G 2 チャンネル
16-bit fixed (RG) .rg16fixed 16 ビット固定小数 R+G
16-bit float (RG) .rg16float 16 ビット浮動小数 R+G
32-bit float (RG) .rg32float 32 ビット浮動小数 R+G
8-bit fixed (A) .a8fixed 8 ビット固定小数アルファ単体
16-bit fixed (A) .a16fixed 16 ビット固定小数アルファ単体
16-bit float (A) .a16float 16 ビット浮動小数アルファ単体
32-bit float (A) .a32float 32 ビット浮動小数アルファ単体
8-bit fixed (Mono+Alpha) .monoalpha8fixed 8 ビット固定小数モノクロ+アルファ
16-bit fixed (Mono+Alpha) .monoalpha16fixed 16 ビット固定小数モノクロ+アルファ
16-bit float (Mono+Alpha) .monoalpha16float 16 ビット浮動小数モノクロ+アルファ
32-bit float (Mono+Alpha) .monoalpha32float 32 ビット浮動小数モノクロ+アルファ

実践アイデア 💡

Example 1: ライダー点群を取得 📡

Ouster TOP (Active=on) → Reorder TOP → TOP to CHOP

OS1-64 等の Ouster センサに接続し、X/Y/Z 座標をそれぞれ R/G/B チャンネルに割り当てて点群イメージを取得する最小構成のフロー。最初の接続確認とチャンネル割り当て検証に使う。

  1. Ouster TOP を作成し Device Address にセンサ IP (例: 192.168.1.45) を入力
  2. Lidar Port = 7502 / IMU Port = 7503 を確認 (デフォルト値)
  3. Scan Mode をセンサ対応モード (例: 1024x10Hz) に設定
  4. Red = X, Green = Y, Blue = Z に割り当て
  5. Active を ON にして接続開始 → ビューアで点群イメージを確認
  6. TOP to CHOP で実数値を確認 (Pixel Format は 32-bit float (RGBA) 推奨)

Example 2: 関心領域で帯域削減 🎚️

Ouster TOP (Azimuth Window 90000-270000 mdeg) → Analyze TOP (Count Pixels + Mask) → TOP to CHOP

舞台正面 180 度だけを計測したい場合、Azimuth Window で方位角を絞ることでネットワーク帯域と GPU 負荷を半減できる。さらに Analyze TOP で有効点数を集計しイベント判定に使う応用例。

  1. Ouster TOP の Azimuth Window 開始角に 90000 mdeg (90 度)、終了角に 270000 mdeg (270 度) を設定
  2. Signal Multiplier を 1x のままにして最大ウィンドウサイズの制限内に収める
  3. 出力 TOP を Analyze TOP に接続し Operation = Count Pixels + Mask = Alpha で有効点数を集計
  4. TOP to CHOP で値を読み出し、閾値超えをトリガー化

Example 3: 複数センサを同期収録 🕐

Ouster TOP A + Ouster TOP B (Time Sync Mode=PTP 1588) → Composite TOP → Render TOP

複数の Ouster センサを設置して空間全体を計測する場合、PTP 1588 でタイムスタンプを揃えることでフレーム単位の整合性が取れる。Phase Lock を併用すれば回転位相も揃い、複数視点の点群を合成できる。

  1. ネットワークに PTP 対応スイッチを設置し、PTP マスタクロックを構成
  2. 各 Ouster TOP の Time Sync ModePTP 1588 に設定
  3. Phase Lock を ON にして Phase Lock Offset でセンサごとに位相を割り当て (例: A=0 度, B=180 度)
  4. 両 Ouster TOP の出力を Composite TOP で合成し、Render TOP で 3D 表示
  5. Info CHOP で各センサのタイムスタンプを取得して同期確認

関連オペレータ 🔗

類似機能OP 🔍

  • Ouster Select TOP — 既存 Ouster TOP の出力から特定チャンネルやサブ画像を抽出する選択用 TOP
  • Kinect TOP — Kinect v1/v2 のデプスマップを画像として取得 (距離計測センサの別系統)
  • Kinect Azure TOP — Azure Kinect のデプス・カラー画像取得 (短距離 ToF センサ)
  • RealSense TOP — Intel RealSense のデプスマップを取得 (近距離向けデプスセンサ)
  • ZED TOP — Stereolabs ZED のステレオデプスを取得

組み合わせ推奨OP 🔄

  • TOP to CHOP — 点群イメージを CHOP として読み出し制御信号化
  • Info CHOP — Ouster TOP の IMU データ (加速度・ジャイロ) と接続状態をチャンネルで取得
  • Point Transform TOP — 点群イメージを座標変換 (回転・並進・スケール) で空間位置調整
  • Analyze TOP — 点群イメージの平均・最大・有効点数等の統計値を 1 ピクセルに集約
  • GLSL TOP — シェーダで点群イメージを処理 (フィルタリング・クラスタリング・地面検出など)
  • Render TOP — 点群を 3D シーンとしてレンダリング (Geometry COMP + Point Sprite MAT 等経由)
  • Composite TOP — 複数 Ouster センサの出力を合成・並列配置

前処理・後処理TOP 🎯


Info情報 📊

Ouster TOP は Info CHOP による接続状態と IMU (慣性計測ユニット) データ取得に対応しています。標準 TOP メタチャンネル (resolution_w / resolution_h / num_components / gpu_mem_used) に加え、Ouster 固有の IMU 加速度・ジャイロ・タイムスタンプが取得できます。

TOP固有情報 🖼️

  • resx: TOP の出力解像度 X (ピクセル単位)
  • resy: TOP の出力解像度 Y (ピクセル単位)
  • aspectx: アスペクト比 X
  • aspecty: アスペクト比 Y
  • depth: 3D テクスチャ / テクスチャ配列の深度 (2D テクスチャでは 1)
  • gpu_memory_used: TOP が消費している GPU メモリ量 (MB 単位)

汎用オペレータ情報 🔄

  • total_cooks: プロセス開始からのクック回数
  • cook_time: 最後のクック時間 (ミリ秒)
  • cook_frame: 最後にクックされたフレーム番号
  • warnings: 警告数
  • errors: エラー数

TOP 共通情報 🖼️

  • resolution_w: 出力テクスチャの幅 (Scan Mode に依存、例: 1024)
  • resolution_h: 出力テクスチャの高さ (センサのレーザ本数、例: OS1-64 なら 64)
  • num_components: チャンネル数 (R/G/B/A 構成で 4)
  • gpu_mem_used: GPU メモリ使用量 (バイト単位)

Ouster IMU 情報 🧭

  • imu_accel_x / imu_accel_y / imu_accel_z: IMU 加速度センサ値 (m/s²)、3 軸
  • imu_gyro_x / imu_gyro_y / imu_gyro_z: IMU ジャイロセンサ値 (rad/s)、3 軸
  • imu_timestamp: IMU サンプルのタイムスタンプ (PTP / 内蔵発振器の基準)
  • connected: センサ接続状態 (1=接続中, 0=未接続)

トラブルシューティング ⚠️

よくある問題と解決策 🔧

❌ Problem: Active を ON にしても画像が出ない / 接続できない
✅ Solution:

  • Device Address の指定形式を確認 (IP アドレスか os-#####.local ホスト名)
  • Lidar Port (7502) と IMU Port (7503) が他プロセスに占有されていないか確認 (Ouster Studio 等)
  • 複数 NIC マシンでは Target Address を明示してセンサが送る先 IP を指定
  • PC のファイアウォールで UDP 受信を許可 (Windows Defender で TouchDesigner.exe を許可)

❌ Problem: 出力画像が真っ黒で値が読めない
✅ Solution:

  • Common Page の Pixel Format32-bit float (RGBA) に上げる (8 bit では座標値・レンジ値の範囲を保持できない)
  • Red / Green / Blue / AlphaConstant 0 になっていないか確認
  • TOP to CHOP で実数値を CHOP として確認 (ビューア表示は normalize されていない素の値)

❌ Problem: 複数センサのフレームが同期しない / タイムスタンプがずれる
✅ Solution:

  • Time Sync ModePTP 1588 にして外部 PTP マスタに同期
  • ネットワーク経路に PTP 対応スイッチを配置 (非対応スイッチでは精度が低下)
  • Phase Lock を有効化し Phase Lock Offset でセンサごとに異なる角度を割り当てて回転位相を分散
  • Info CHOPimu_timestamp を比較し同期検証

❌ Problem: Azimuth Window を広げてもデータ量が変わらない / 制限がかかる
✅ Solution:

  • Signal Multiplier の値が高いほど最大ウィンドウサイズが狭くなる相反関係を確認
  • Signal Multiplier を下げる (例: 2x → 1x) ことで広い方位角範囲が使用可能に
  • Ouster 公式ドキュメントの倍率別ウィンドウサイズ上限表で組み合わせ可否を確認

参考資料 📚

その他 🔗

公式リソース 📖

ハードウェア情報 🔧

この記事はLLMと共に内容を執筆、更新しています。
最新バージョンとの項目差異など、情報の不一致を見つけた心優しい方はXもしくはInsta、メールなどよりサイト管理者までご連絡ください😎


まる。

お仕事のご依頼はDM又はメールにて。
━━━━━━━━━━━━━━━━━
Python/Touchdesigner/M5Stackをこよなく愛すフルスタックエンジニア。
専門は生理心理学、趣味はヨガやサウナ、EMS電気風呂などヘルスケア全般。
脳波や筋電、心拍を中心とした生体情報のセンシング&インタラクティブアートづくりがライフワーク。

普段はワントゥーテンという会社で空間演出エンジニアをしています。
リファラル採用お繋ぎできますので、我こそはという尖った方は経歴と希望職種添えてDMください(エンジニア以外、営業職等もOK)。
ご飯行きましょう。

↓日常垢
Instagram:@malmal0v0

まる。をフォローする
その他の記事はこちら
Math Combine POP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
ZED Select TOP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
ZED POP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
Window COMP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
Widget COMP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】

タイトルとURLをコピーしました