Orin Nano 在四平台中的位置
| 項目 | RPi5 | Orange Pi | Orin Nano | Thor T5000 |
| ISP 形態 | 開源 libcamera | 感測器內建 | NVIDIA ISP | Blackwell+Holoscan |
| AE/AWB | libcamera ✅ | sensor ⚠️ | NVIDIA 自動 ✅✅ | NVIDIA ✅✅ |
| LSC | ✅ | ⚠️ | ✅ | ✅ |
| NR/Sharpen | ✅ | ⚠️ | ✅✅ | ✅✅ |
| HDR | ✅ | ⚠️ | ✅ | ✅✅ |
| GMSL 多感測器 | ❌ | ❌ | ✅ | ✅(HSB) |
| 可視性 | 高 | 高 | 低(自動化) | 低 |
Orin Nano 定位:「專業自動化調校 + GMSL 多感測器」——RPi5 學習平台與 Thor 次世代平台之間的工業級橋樑。
選型建議
- 學習/開源 → RPi5。
- 底層/DIY → Orange Pi。
- 工業量產 → Orin Nano。
- 次世代機器人 → Thor T5000。
15.4 對同一顆 OV 感測器的操作差異
| 面向 | RPi5 | Orange Pi | Orin Nano | Thor |
| 感測器控制 | libcamera | V4L2 subdev | tegracam/Argus | tegracam/Holoscan |
| 曝光 | ExposureTime | exposure | SensorMode exp_time | SensorMode |
| 白平衡 | ColourGains | red/blue_balance | Argus AWB | Argus AWB |
| RAW | rpicam --raw | v4l2-ctl | argus raw | argus/Holoscan |
核心領悟:四平台做的是同一件事,只是介面不同——本課建立的原理與流程可 100% 平移。
15.5 感測器 register 層的共通性
無論平台,OV 感測器 register(0x300A ID、0x3500 曝光、0x350A 增益)相同——平台差異只在「誰幫你寫」。
四平台讀同一個 register(0x300A)
RPi5: i2ctransfer -y 22 w2@0x36 0x30 0x0a r1
Orange Pi: i2ctransfer -y 3 w2@0x3c 0x30 0x0a r1
Orin/Thor: i2ctransfer -y 0 w2@0x36 0x30 0x0a r1
15.4 深入:對同一顆 OV9281 的四平台操作
| 面向 | RPi5 | Orange Pi | Orin Nano | Thor |
| 感測器控制 | libcamera | V4L2 subdev | tegracam/Argus | tegracam/Holoscan |
| 曝光 | ExposureTime | exposure | SensorMode exp_time | SensorMode |
| 白平衡 | ColourGains | red/blue_balance | Argus AWB | Argus AWB |
| RAW | rpicam --raw | v4l2-ctl | argus raw | argus/Holoscan |
核心領悟:register 相同、概念相同、流程相同;變的只有介面。
15.5 練習
- 列出「讀 sensor ID」在四平台的指令。
- 說明 register 相同而介面不同的原因。
看完這單元你應該能說出:
- 四平台調校能力差異。
- Orin Nano 工業級定位。
- GMSL 多感測器關鍵差異。
- 依需求選平台。
15.6 深入原理:為什麼 register 相同、介面不同
感測器 register 是「硬體事實」——任何平台都得讀同一個 ID、寫同一組曝光位元。差異在於「軟體把 register 包裝到哪裡」:
| 平台 | 包裝層 | 你面對的介面 | 調校入口 |
| RPi5 | libcamera IPA | ColourGains / ExposureTime | tuning file |
| Orange Pi | V4L2 subdev | exposure / red_balance | V4L2 controls |
| Orin Nano | tegracam + Argus | SensorMode / Argus API | DTB mode + ISP 自動化 |
| Thor | tegracam + Holoscan | SensorMode | Holoscan pipeline |
核心領悟:你學的是「感測器本身」——這部分永不變;平台只是在變「誰幫你寫、用什麼介面寫」。這正是本課可以跨平台通用的原因。
15.7 Worked Example:同一顆 OV9281 在四平台出圖
四平台「拍照」對照
RPi5: rpicam-still --output img.jpg
Orange Pi: v4l2-ctl --stream-mmap --stream-count=1 --stream-to=img.raw
Orin/Thor: argus_camera --mode 0 --capture-auto 1 --duration 1
命令不同,但背後都是「初始化感測器 → 出圖」。把這三條命令當成平台能力的「hello world」,先跑通再談調校。
15.8 疑難排解決策樹:選平台 / 換平台
決策樹
1. 需要 GMSL / 工業距離多感測器?
├─ 是 → Orin Nano(或 Thor,需更高效能)
└─ 否 ┐
2. 需要開源調校演算法?
├─ 是 → RPi5(libcamera)
└─ 否 ┐
3. 預算最低、只要能出圖?
├─ 是 → Orange Pi(感測器內建 ISP)
└─ 否 ┐
4. 工業量產 + 自動化調校 → Orin Nano ✅
15.9 常見錯誤 / 陷阱
陷阱 ①:從 RPi5 帶「libcamera 參數」到 Orin 找不到對應——先找「功能對應」而非「參數同名」。
陷阱 ②:誤以為四平台「畫質一樣」——ISP 能力差異很大,同一顆感測器不同平台的品質表現不同。
陷阱 ③:換平台時把驗證流程丟掉——流程(black→LSC→AWB→回歸)才是可攜的資產。
15.10 練習
- 列出四平台「讀感測器 ID」的指令並排比較。
- 說明為何 register 相同、介面不同。
- 寫下你專案「現在 → 未來」的平台遷移策略。
15.11 進階:如何把 RPi5 的調校知識「翻譯」到 Orin
翻譯表
RPi5 libcamera ──────────→ Orin
ExposureTime → SensorMode exp_time / tegracam exposure
ColourGains → Argus AWB gains
rpicam --raw → argus_camera --raw-file
tuning file (json) → DTB mode + NVIDIA 內部 tuning
LSC tables → NVIDIA 工具生成網格
"逐參數手動" → "設場景讓自動化收斂"
方法:不要找「同名參數」,要問「這個功能在 Orin 上由誰負責、用什麼介面」——功能對應法讓你快速遷移。
15.12 快速參考:四平台關鍵指令小抄
| 操作 | RPi5 | Orange Pi | Orin |
| 出圖 | rpicam-still | v4l2-ctl | argus_camera |
| RAW | --raw | --stream-to | --raw-file |
| 曝光 | ExposureTime | exposure | exp_time |
| 白平衡 | ColourGains | red/blue_balance | AWB |
15.13 看完本單元該記住的三件事
① register 相同、介面不同——原理可 100% 平移。
② 遷移用「功能對應法」,不是「同名參數」。
③ 依需求選平台:開源→RPi5、量產→Orin、次世代→Thor。
延伸閱讀
15.9 進階真實情境 Worked Example:跨平台「同一功能」的實作差異
場景:你需要在四個平台上都做到「從 sensor 取 RAW → ISP 處理 → 顯示」,比較每個平台的實作複雜度。
四平台的「出圖」指令比較
# === Orin Nano ===
argus_camera --mode 0 --capture-auto 1 --duration 1
# 優點:Argus 自動管理 ISP pipeline
# 缺點:API 較複雜(需 libargus)
# === RPi5 ===
libcamera-still --nopreview -o rpi.jpg
# 優點:libcamera 簡單一行搞定
# 缺點:調校參數需改 YAML 配置檔
# === Qualcomm (如果有) ===
# vendor SDK(非公開),需要 QCOM 相權限
# 優點:ISP 性能強
# 缺點:封閉,不公開 API
# === STM32MPU ===
# GStreamer + ISP plugin
gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert ! autovideosink
# 優點:標準 Linux 生態
# 缺點:ISP 功能有限
設計決策:從「出圖到顯示」的指令複雜度:RPi5 最簡單 → Orin Nano 中等 → STM32 需手動設定 → Qualcomm 需要 vendor SDK。但「調校深度」正好相反:Qualcomm 最深 → Orin Nano 次深 → RPi5 中等 → STM32 最淺。
15.10 深入原理擴充:四平台的 ISP 調校工具比較
| 平台 | 調校工具 | 調校方式 | 特色 |
| Orin Nano | NVIDIA ISP Tuning Tool + Argus | GUI + script | 可視化 histogram/ waveform;參數可匯出為 .bin |
| RPi5 | libcamera YAML 配置 + tuning tool | 純文字配置 | open source;可即時重載 |
| Qualcomm | Chi-CDK / ISP Tuning Tool | GUI + vendor SDK | 功能最完整但封閉 |
| STM32MPU | GStreamer pipeline + 手動 register | 手動為主 | ISP 功能最少;調校空間有限 |
大家以為沒問題但其實是陷阱:「RPi5 的調校參數可以搬到 Orin Nano」——不行。兩者的 ISP 架構完全不同(libargus vs libcamera),參數格式、pipeline 順序、支援的功能都不一樣。搬到另一個平台需要「重新量測 + 重新調校」。
15.11 診斷式疑難排解表
| 症狀 | 可能原因 | 解決方案 |
| 從 RPi5 搬參數到 Orin 後色彩全錯 | 參數格式/含義不同(例如 CCM 矩陣的排列方式不同) | 不要搬參數。用 Orin 的 tuning tool 重新計算 |
| Orin Argus 比 RPi5 libcamera 延遲高 | Argus pipeline 較長(更多 ISP 區塊) | 用 bypass 模式跳過不需要的區塊;或評估 RPi5 是否夠用 |
| STM32 ISP 調校效果不如預期 | STM32 ISP 功能有限(無 LSC/AWB 自動化) | 接受限制;或外接 ISP 模組 |
| Qualcomm 的 ISP 性能最好但無法客製 | Qualcomm ISP 是封閉的硬體加速器 | 接受限制;在 Qualcomm SDK 允許的範圍內調校 |
| 跨平台測試時「同一感測器」表現不同 | 感測器 init table 不同(各平台驅動設定不同) | 固定感測器 init table(同一份 I2C 初始化 sequence)再比 ISP |
15.12 進階挑戰題
- 為你的專案做一個「平台選型決策矩陣」:列出行列(功能 × 平台),評分每個平台在該功能上的表現(1-5 分)。
- 若你需要將一個已調校好的影像系統從 Orin Nano 移植到 RPi5,寫出一份「移植 checklist」:哪些東西可以直接搬、哪些需要重寫、哪些需要重新量測。
- 比較四個平台的「調校學習曲線」:從「零經驗」到「能獨立完成調校」,每個平台大概需要多少時間和資源?
15.13 專案級端到端 Worked Example:平台選型與標竿專案
場景:新專案要在四平台中選一,需求是「工業環境、4 路 GMSL、自動化調校」。專案目標:用證據而不是喜好做選型——在各平台跑同一套標竿,輸出決策矩陣。
選型專案流程
# Step 1 · 需求量化(回顧 9.6 決策流程)
# 列出:感測器數、距離(GMSL?)、調校深度、預算、供電 / 散熱
# Step 2 · 標竿測試(每平台各跑一次,回顧 9.14 SOP)
# 出圖三件套 + RAW 品質 + 延遲 + 多路能力
# Step 3 · 能力矩陣(回顧 15.12-1)
# 列功能 × 平台,1-5 分 + 權重
# Step 4 · 風險評估
# Orin: GMSL ✅ / 黑箱 ⚠️;RPi5: 開源 ✅ / 無 GMSL ❌
# Orange Pi: 便宜 ✅ / 陽春 ⚠️;Thor: 強 ✅ / 貴 ⚠️
# Step 5 · 決策文件:結論 + 理由 + 備援方案
專案輸出:標竿數據 + 能力矩陣 + 決策文件。選型結果可用數據回推,不怕換人換意見。
15.14 量測/驗證 SOP:跨平台功能對照驗證
- 出圖:每平台跑「列舉 → 出圖 → RAW」三件套。
- RAW 品質:同一顆感測器跑同一套 rawstat。
- 延遲:量端到端延遲(取幀 → 顯示)。
- 多路:測試可同時開幾路相機。
- 調校深度:逐項核對 LSC / AWB / NR / HDR 可調性。
- GMSL:確認有無、幾路、remap 流程。
驗收指標:每平台一份標竿報告,同一量尺可比較。
15.15 平台間對照:調校功能(本單元主軸)
| 面向 | Orin Nano | RPi5 | Orange Pi | Thor |
| AE/AWB 自動化 | ✅✅ | ✅ | ⚠️(感測器) | ✅✅ |
| LSC | ✅ | ✅ | ⚠️ | ✅ |
| NR / Sharpen | ✅✅ | ✅ | ⚠️ | ✅✅ + AI |
| HDR | ✅ | ✅ | ⚠️ | ✅✅ |
| GMSL 多感測器 | ✅ | ❌ | ❌ | ✅(HSB) |
| 可視性 | 低(自動化) | 高 | 高 | 低 |
結論:Orin 是「工業自動化 + GMSL」的中堅;RPi5 是開源學習;Orange Pi 是成本最低;Thor 是次世代高階。選擇依「需求權重」而非「功能多寡」。
15.16 互動式檢核清單:跨平台驗收
- - [ ] 能畫出四平台的能力比較表並標出權重。
- - [ ] 完成一次「同一顆感測器、多平台」的標竿比較。
- - [ ] 能用功能對應法寫出 RPi5 ↔ Orin 的翻譯表。
- - [ ] 能說明「搬流程、不搬參數」的遷移原則。
- - [ ] 能針對你的專案需求選出平台並列出理由。
- - [ ] 能說出四平台「register 相同、介面不同」的原因。
15.13 Register 位元級完整工作流:跨平台 AWB 效果對比
| 步驟 | Orin Nano | RPi5 | Orange Pi |
| 1. 灰卡出圖 | argus --capture-auto 1 | rpicam --awb auto | v4l2-ctl(auto) |
| 2. RGB ratio | Python 計算 R/G, B/G | Python 計算 R/G, B/G | Python 計算 R/G, B/G |
| 3. 色偏判定 | < 0.05 = PASS | < 0.05 = PASS | < 0.05 = PASS |
| 4. 手動覆蓋 | argus --awb-mode manual | rpicam --awb manual | V4L2 awb=0 |
| 5. 色溫設定 | --color-temperature 5500 | --awb-gains 1.0,1.0 | 不支援 |
跨平台 AWB 對比驗證
#!/usr/bin/env python3
# cross_platform_awb.py — 比較三平台 AWB 效果
import numpy as np
platforms = {
"Orin Nano": "orin_graycard.raw",
"RPi5": "rpi5_graycard.raw",
"Orange Pi": "opi_graycard.raw"
}
for name, f in platforms.items():
try:
data = np.fromfile(f, dtype=np.uint16).reshape(800, 1280)
r = data[0::2, 0::2].mean()
g = data[0::2, 1::2].mean()
b = data[1::2, 0::2].mean()
rg = r / g; bg = b / g
deviation = abs(rg - 1.0) + abs(bg - 1.0)
verdict = "PASS" if deviation < 0.05 else "NEEDS TUNING"
print(f"{name}: R/G={rg:.3f} B/G={bg:.3f} deviation={deviation:.3f} [{verdict}]")
except FileNotFoundError:
print(f"{name}: file not found")
15.14 多層疑難排解決策樹
決策樹:跨平台調校移植失敗
1. Orin 的 tuning 參數搬到 RPi5 無效?
├─ 是 → 檔案格式不同(XML vs JSON)
│ 用語不同(gain vs analogue_gain)
│ 需要參數映射表
└─ 否 ┐
2. 數值範圍不同?
├─ 是 → 歸一化後比較(0-1 range)
└─ 否 → 參數語義不同 → 查各平台 API
15.15 量測驗證完整 SOP
- 統一測試條件:相同鏡頭 + 相同光源 + 相同灰卡。
- 各平台出圖:Orin(argus)、RPi5(rpicam)、Orange Pi(v4l2-ctl)。
- RGB ratio 計算:Python 全平台共用腳本。
- 結果比較:平台 A 色偏 0.03 vs B 0.04 → 差異 < 0.02 = 相當。
- 報告產出:表格格式——平台 × 調校功能 × 是否支援 × 效果。
判讀標準:各平台 AWB 色偏 < 0.05 = 功能等效;差異 > 0.02 需追查。
15.16 四平台终极對照
| 功能 | Orin Nano | RPi5 | Orange Pi | Thor |
| AWB 手動控制 | ✅ | ✅ | ❌ | ✅ |
| 曝光手動控制 | ✅ | ✅ | ✅ | ✅ |
| LSC 可調 | ✅ | ✅ | ❌ | ✅ |
| 降噪可調 | ✅ | ✅ | ❌ | ✅ + AI |
| HDR 控制 | ✅ | ✅ | 有限 | ✅ + AI |
| 銳利化控制 | ✅ | ✅ | ❌ | ✅ + AI 超解析度 |
| ROI 控制 | ✅ | 有限 | ❌ | ✅ |
| 即時預覽 | ✅ | ✅ | ✅ | ✅ |
| 調參 UI | NVIDIA tuning tool | libcamera 向導 | 無 | NVIDIA + Holoscan |
| 跨平台移植 | 需格式轉換 | JSON 格式 | N/A | 需格式轉換 |
15.17 完整 Bring-up 專案 Checklist
- - [ ] 選定功能清單(AWB/曝光/LSC/降噪/HDR/銳利化/ROI)
- - [ ] 逐功能在各平台驗證(支援/不支援/效果)
- - [ ] 跨平台對比表格產出
- - [ ] 識別各平台獨有功能
- - [ ] 建立參數映射表(若需移植)
- - [ ] 產出平台選擇建議(依應用場景)
- - [ ] 記錄各平台的調校工具與 workflow
- - [ ] 建立跨平台調校最佳實踐文件