軟體在環(Software-in-the-loop,簡稱 SIL)是在模擬元件上執行生產軟體或具有代表性的軟體。硬體在環(Hardware-in-the-loop,簡稱 HIL)把真實硬體接入閉環測試,而被控物件、感測器或環境的其餘部分仍由模擬模型代替。真正有用的區別是真實與模擬的邊界,而不是模擬器產品名稱。
SIL 支援快速、確定性場景探索。 HIL 揭示了控制器排程、真實 I/O、轉換器、網路和電氣行為。物理機器人測試仍能揭示結構順應性、摩擦、安裝、感應和環境效應,而這些都無法完美模擬。
本指南應與 虛擬除錯指南 及 機器人延遲預算指南結合使用。高能耗和安全相關測試需要受控設施和合格人員。
為每個檢驗定義實邊界和模擬邊界
列出真實應用程式碼、控制器 CPU、輸入輸出模組、網路、驅動器、感測器、被控物件動態、環境和操作員介面。辨識每個介面是生產硬體、模擬器、模型、重放還是測試替身。
說明測試無法暴露的內容。僅透過理想化軟體 API 連線的真實控制器可能進行排程,但會錯過模擬量縮放、佈線故障和現場匯流排時序;呼叫 HIL 無法彌補這一空白。
使用 SIL 實現快速且可重複的狀態-空間探索
SIL 可以確定性地執行,速度快於或慢於實際時間,分叉精確初始狀態,並掃描數千個環境、參數和策略組合。它非常適合邏輯、狀態機、規劃器、感知和迴歸測試,然後再進行硬體存取。
保留隨機種子、模擬器和資產版本、數值設定和場景定義。高模擬透過率僅是建模條件和驗收判據的證據。
用 HIL 來暴露控制器和介面的行為
HIL 將真實控制硬體與生產介面的模擬輸入和裝置反應連線起來。它可以揭示錯過截止時間、量化、 I/O 縮放、匯流排時序、啟動序列、看門狗行為以及鏈路或電源中斷的恢復情況。
驗證電平、取樣、傳輸、轉換和命令應用。如果旁路測試埠跳過生產協議或韌體路徑,記錄該差異並保留單獨介面測試。
把物理測試平台當作另一個受控證據層
NIST 將其 製造機器人測試平台 描述為結合了代表性的機器人、感測器、 AGV、測量系統和模擬,包括模擬驗證的研究。這說明了為什麼真實和虛擬元件可以有意地結合起來。
物理測試平台可以測量運動、負載、感知和環境相互作用,但仍存在地形、生產差異和罕見危險的限制。記錄其與部署機器人和現場的差異。

將一個需求轉化為層級特定觀測
拒絕陳舊感知等需求可以透過 SIL 時間戳場景、 HIL 真即時鐘和匯流排行為,以及機器人感測器對運動反應的測量來驗證。需求保持不變,而可用測量值會變化。
在每一層分配需求 ID、場景、輸入、預期狀態、容忍和證據路徑。不要讓每個測試團隊自行發明一個無關的透過定義。
| 層 | 實元素 | 主要證據 | 暴露風險 |
|---|---|---|---|
| SIL | 目標軟體 | 邏輯與情景反應 | 硬體時序與物理 |
| HIL | 控制器與輸入輸出 | 截止日期與介面 | 完整機械繫統與部署現場 |
| 測試平台 | 機器人或子系統 | 測量的物理反應 | 生產差異 |
| 場地試驗 | 已安裝系統 | 端對端操作 | 罕見的長期工況 |
| 車隊監控 | 現場部署機群 | 漂移與復發 | 可控因果關係 |
將模型忠實度表示為決策相關誤差
避免僅僅給模型貼上高保真度標籤。測量可能改變測試決策的殘差:制動距離、接觸力、致動器飽和度、感測器雜訊、定位漂移、能耗或場景下的延遲。
定義速度、負載、姿態、表面、光照、溫度和故障類型的有效性域。域外則降級信心分數或要求另一層測試。
將模擬時間與即時執行分開
模擬步進可以不受實際計算耗時約束,而真實控制器必須滿足實際時鐘週期和裝置截止時間。比即時更快的 SIL 對覆蓋範圍有價值,但無法證明即時可行性。
在 HIL 中,測量合格時鐘上的輸入到達、控制器釋放、計算、輸出傳輸及被控物件模型反應。當證據跨越時鐘領域時 ,使用機器人時間同步指南。
在受控地點和時間注入故障
指定故障是否發生在感測器物理、數字化、訊息傳輸、控制器儲存、致動器命令、電源或機械裝置。記錄起始時間、持續時間、強度、通道與恢復或鎖存行為之間的相關性。
感測器值被強制歸零並不代表所有開路、陳舊樣品或合理的偏置測量。利用失效分析選擇注射點,並保留獨立的安全包覆以應對危險情況。
對測試裝置及其自身的失效模式進行資格認證
校正 I/O、時序、負載和參考測量。驗證模擬器和介面硬體能否在不導致資料飽和或無聲丟失的情況下,生成所需的速率和極端值。
應與被測裝置分開監控測試裝置健康狀況。測試台架執行超限、被控物件模型過期或通道失效時,應判定本次試驗無效,而非機器人故障或透過。
在驗收中包含診斷和安全故障
驗收不僅應涵蓋命令準確性,還應涵蓋檢測、故障報告、安全狀態轉換、重啟控制和證據完整性。在隱藏注入故障的情況下達到預期輸出的系統可能不適合操作。
儘可能使用獨立判據。比較指令狀態和測量狀態、控制器診斷、測試裝置真實性和物理參考,這樣一個受損訊號就無法自我判斷。
在與風險變化頻率匹配的測試中進行測試
在持續整合中加入快速確定性 SIL 檢查。在計劃中的基礎設施 HIL 控制器、介面和時序的變更,並保留物理裝置用於相關性、高影響行為以及改變機械或環境假設的變化。
維護一個變更測試矩陣。模型、驅動、控制器、校正、有效負載更新或網路更新可能需要不同層,相關性失敗的結果應重新開啟模擬器假設。

釋出一個模擬到物理驗證的檔案
保留需求、迴路邊界、模型版本與有效域、測試台架校正、時序設定、故障注入記錄、各驗證層結果、相對於實機測試的殘差、未解決問題以及釋出依據。
仔細審查,請進行以下檢查。
評估“機器人 SIL 與 HIL 測試:模型、時序與故障注入”時,還應儲存模型版本、機器人設定、校正檔案、測試日期和全部試驗記錄。
只有把這些持續投入與單位成功任務的價值比較,才能判斷方案是否適合擴大。
上線後仍要持續檢查分佈變化、感測器漂移、機械磨損和人工接管原因。
實際專案還應指定資料、模型、控制器和安全流程的負責人,並預先定義回復條件。責任邊界、審批記錄與變更紀錄越清楚,故障發生後越容易停止擴散、定位原因並安全恢復。
| 證據門 | 所需產物 | 失效模式 | 升級 |
|---|---|---|---|
| 邊界 | 環路和介面對映 | HIL 標籤,沒有細節 | 重新分類測試 |
| 模型 | 效度域與殘差 | 無界保真度主張 | 物理相關性 |
| 時間安排 | 合格時鐘和軌跡 | 步進時間稱為延遲 | 即時 HIL |
| 斷層 | 注入規格 | 零值捷徑 | 介面特定測試 |
| 發行 | 跨層可追溯性 | 無間隙的及格率 | 靶向機器人試驗 |
- 說出所有真實的、模擬的、重玩和模擬的元件。
- 測量可能改變接受度的模型誤差。
- 將模擬時間與現即時間下的截止時限區分開來。
- 在顯式介面注入故障,並實現受控恢復。
- 將 SIL 與 HIL 結果與物理測試證據進行關聯。
常見問題
使用真實控制器會讓每個模擬測試都成為 HIL 嗎?
只有真實硬體透過相關生產介面接入明確定義的閉環時才算 HIL;同時應記錄仍被旁路的環節。
高度詳細的 SIL 模型能否消除物理測試?
不。它可以減少和聚焦這些問題,但必須透過實物證據來確立模型有效性。
應該先注入哪些故障?
優先考慮可信且高後果的失敗、診斷漏洞和現有層能安全且現實地注入的變更。
為什麼要分開模擬時間和實際時鐘時間?
在真實硬體上,正確的模擬軌跡可能耗時過長,而實際時鐘的截止日期即使模型步驟看起來正確也可能失敗。
SIL 和 HIL 結果應該如何關聯?
使用相同的需求和場景 ID、層級特定觀察以及物理行為的測量殘差。
模擬到物理證據的邊界
SIL 和 HIL 是證據層,而非質量標籤。僅在真實與模擬的邊界、時序、故障模型及與物理機器人的相關性明確且與決策相關時釋出。