콘텐츠로 바로가기

Hardware-in-the-Loop Simulation (HILS)

실제 하드웨어를 가상의 환경에 연결하여 위험 요소 없이 정밀하게 성능과 안전성을 검증하는 하드웨어-시뮬레이터 통합 테스트 물리 체계를 다루는 학습 노드입니다.

sys.entry
M

Me

hyunyoun's Blog

posts7 min read

1. Overview

하드웨어 인 더 루프 시뮬레이션(Hardware-in-the-Loop Simulation, HILS)은 "비싼 시제품을 망가뜨리지 않고도 극한 상황에서의 동작을 100% 재현하는" 실시간 가상 물리 검증 기술입니다.

자동차 엔진 제어기나 미사일 유도 장치를 실제 기계에 달고 테스트하는 것은 위험하고 비용이 많이 듭니다. 학습자는 실제 하드웨어(Controller)와 가상의 식물 모델(Plant Model, 엔진/비행체 등)을 실시간으로 연결하는 전기적 접점 인터페이스를 배웁니다. 또한, 시뮬레이터가 하드웨어의 클록에 맞춰 0.0001초의 오차도 없이 가상 세계의 물리 수치(온도, 속도, 압력)를 계산해내는 **실시간 결정론(Real-time Determinism)**의 원리를 익힙니다. 이를 통해 '책상 위'에서 '실전과 동일한 물리적 자극'을 하드웨어에 주입하여 완벽한 신뢰성을 검증하는 능력을 확보합니다.

2. Scope & Boundaries

In-Scope

  • X-in-the-Loop Hierarchy: Model(MILS), Software(SILS), Processor(PILS), Hardware(HILS)의 단계적 검증 물리
  • Real-time Plant Modeling: 지연 없는 수치 연산을 위한 하드웨어 가속 시뮬레이션 모델
  • I/O Injection: 실제 센서 신호 대신 시뮬레이터가 생성한 전압/데이터를 주입하는 물리 기법
  • Fault Injection Physics: 단선, 합선, 노이즈 등 물리적 고장 상황의 인위적 생성 및 대응 검증

Out-of-Scope

  • 단순한 소프트웨어 단위 테스트(Unit Test) 및 UI 테스트 (09. Software Engineering 영역으로 위임)
  • 동역학 시뮬레이션의 그래픽 렌더링 상세 (12. HCI & Graphics 영역으로 위임)

Boundaries

  • HILS vs. Emulation: 에뮬레이션이 '하드웨어 구조'를 소프트웨어로 흉내 낸다면, HILS는 '하드웨어는 진짜'를 쓰고 그 '주변 물리 환경'만을 실시간으로 속이는 방식입니다.

3. Counterexample

  • 단순히 "시뮬레이터를 돌린다"는 표현은 HILS 학습이 아닙니다. 왜 HILS 장비와 대상 하드웨어(DUT) 사이의 **전송 지연(Round-trip Latency)**이 실제 물리 현상의 시간 상수(TauTau)보다 작아야만 시뮬레이션 결과가 유효한지 수리적으로 설명할 수 있어야 하며, 가상 엔진 모델이 6000 RPM으로 돌 때 발생하는 캠/크랭크 신호를 FPGA가 어떻게 나노초 단위의 정밀 도로 합성(Synthesis)해내는지 물리적 사상 관점에서 입증하지 못한다면 HILS의 실체를 놓친 것입니다.

4. Prerequisites

  • Embedded Systems & Controllers (Basic): ADC/DAC 및 인터럽트 응답성 지식이 필수입니다. (02-05-06 ESC)
  • Feedback Control & PID Physics (Recommended): 플랜트 모델의 거동 이해가 권장됩니다. (02-08-03 FCP)

5. Learning Map

  1. Reality Mirroring: 현실의 물리 현상(온도 변위, 중력 등)을 0과 1의 실시간 연산 식으로 사상하는 법을 배웁니다.
  2. Signal Synthesis: 가상의 전압을 만들어 실제 하드웨어의 핀을 살살 속이는(Trick) 기법을 익힙니다.
  3. Loop Closing: 제어기의 응답이 시뮬레이션 세상의 상태를 즉시 바꾸는 물리적 순환 고리를 연결합니다.
  4. Extreme Testing: 현실에서는 불가능한 '엔진 폭발'이나 '센서 단전'을 물리적으로 주입하여 하드웨어의 생존력을 완성합니다.

6. Learning Topics

Basic

Core: X-in-the-Loop 단계와 HILS의 의미 (HILS Foundations)

  • Why to Learn: 하드웨어가 완성되기 전부터 소프트웨어를 검증하여 개발 비용과 시간을 물리적으로 아끼기 위함입니다.
  • What to Learn:
    • Verification Stages: 알고리즘 검증(MILS)부터 최종 하드웨어 검증(HILS)까지의 전개
    • RTOS-based Simulator: 시뮬레이터 자체가 왜 범용 PC가 아닌 실시간 전용 장비여야 하는지
    • Interface Mapping: 가상 물리 수치(100C100^\circ C)를 실제 물리 전압(5V5V)으로 변환하는 사상
  • How to Learn:
    • 단순 가열 시스템 모델을 PC에서 돌릴 때(SILS)와 실시간 타겟 장비에서 돌릴 때의 시간 오차 분석 실습
    • HILS 환경에서 실제 MCU가 가상의 온도 센서 값을 어떻게 읽어들이는지 신호 경로 추적
  • Implement: 설정된 물리 모델 수식에 따라 일정 간격(dtdt)으로 다음 상태 값을 뱉어주는 실시간 플랜트 스켈레톤

Core: 실시간 플랜트 모델링과 수치 분석 (Plant Modeling Architecture)

  • Why to Learn: 모델이 물리 세계를 충분히 빠르게 흉내 내지 못하면 하드웨어 제어기가 오작동하기 때문입니다.
  • What to Learn:
    • Deterministic Calculation: 정해진 클록 내에 연산을 마치는 하드웨어 모델링 기법
    • Solver Selection: 오일러(Euler) vs 룬게-쿠타(Runge-Kutta) 방식의 연산 오버헤드와 정밀도 물리
    • FPGA Acceleration: 초고속 물리 현상(모터 위상 등)을 처리하기 위한 논리 게이트 시뮬레이션
  • How to Learn:
    • 엔진 사이클이 빨라질 때 시뮬레이터 연산 시간이 마감 시간(Deadline)을 넘기는 'Overrun' 현상 포착 실습
    • 모델의 정밀도(Step size)가 제어 안정성에 미치는 수리적 파급력 도출
  • Implement: 물리 상수를 입력받아 선형 미분 방정식을 실시간으로 푸는 이산 연산 로직

Practical

Core: 물리적 신호 인터페이싱과 전기적 모사 (Signal Conditioning)

  • Why to Learn: 시뮬레이터가 내보내는 전압이 실제 센서와 물리적으로 구별 불가능해야 하기 때문입니다.
  • What to Learn:
    • Signal Conditioning: 시뮬레이터 DAC 출력을 대상 하드웨어가 원하는 임피던스와 전압으로 맞추는 물리
    • Protocol Simulation: CAN, LIN, Ethernet 패킷을 실시간 물리 타이밍에 맞춰 생성
    • Load Emulation: 제어기가 내보내는 전력을 수동적으로 받아주는 전자 부하(E-Load) 연동
  • How to Learn:
    • 실제 가속도 센서의 노이즈 프로파일을 시뮬레이터에 주입하여 하드웨어가 이를 어떻게 필터링하는지 비교 실습
    • 시뮬레이터의 I/O 지연 시간이 제어 루프의 위상 지연(Phase Margin)을 깎아먹는 물리적 과정 분석
  • Implement: 특정 센서의 하드웨어 특성(Resistance, Voltage Range)을 전기적으로 모방하기 위한 제어 파라미터 도출 프로그램

Advanced

Core: 고장 주입과 안전 무결성 검증 (Fault Injection Technology)

  • Why to Learn: 실제 세상에선 재현하기 힘든 위험한 사고 상황에서 하드웨어가 사람을 구하는지 입증하기 위함입니다.
  • What to Learn:
    • FIU (Fault Injection Unit): 물리적 배선을 강제로 떼거나(Open) 붙이는(Short) 하드웨어 장비
    • Boundary Testing: 물리적 한계를 벗어난 입력값을 주었을 때의 하드웨어 예외 처리 무결성
    • ASIL/SIL Verification: 국제 안전 표준을 만족하기 위한 HILS 기반의 전수 검증 기법
  • How to Learn:
    • 주행 중인 가상 자동차의 '엔진 보조 센서'를 HILS에서 물리적으로 차단했을 때, 제어기가 'Limp Home' 모드로 즉각 전이하는지 시퀀스 분석 실습
    • 수천 번의 자동화 시나리오를 돌려 하드웨어가 멈추지 않는 '물리적 신뢰도 신뢰 구간' 산출
  • Implement: 테스트 시나리오에 따라 FIU 릴레이를 제어하여 특정 핀의 물리 상태를 High-Z나 Ground로 바꾸는 자동화 스크립트

7. Terminology

Term (EN / ko, abbr) 1문장 정의 단계(기본/권장/실무/심화) 역할/맥락 관련 개념 유사/대비/함께 사용 오해 포인트 Evidence(Primary/Secondary/Industry) Flags(core)
HILS 실제 제어기 하드웨어를 실시간 물리 주입 장치에 연결하여 폐루프(Closed-loop) 성능을 시험하는 기법입니다. 기본 최종 검증 Plant / DUT SILS '소프트웨어만 테스트' 아님 Industry core
Plant Model 시뮬레이터 내부에서 실제 기계(엔진, 로봇 등)의 물리적 거동을 수행하는 수식 기반의 모델입니다. 추천 가상 물리 Modeling / State Simulation '공장 건물' 의미 아님 Industry Sys core
Overrun 시뮬레이션 연산이 정해진 샘플링 주기를 넘겨 실제 시간(Wall clock)과 어긋나게 된 물리적 사고 현상입니다. 실무 실시간성 위반 Determinism Jitter '속도가 느린 것' 이상의 정지 문제 Industry/NI core
Fault Injection 시스템의 회복력을 평가하기 위해 하드웨어 핀이나 통신 라인에 인위적으로 오류를 주입하는 물리 처리입니다. 심화 안전 인증 FIU / Safety Robustness '버그 수정'이 아닌 '유발' Industry 26262 core

8. References

Primary

Secondary

  • [Simulation-Based Design and Evaluation of Embedded Control Systems] — Comprehensive HILS theory.
  • [Real-Time Simulation Technologies: Principles and Applications] — Industry standard methodology.

Industry

  • [dSPACE: Hardware-in-the-Loop (HIL) Simulation Guide] — Market leading equipment docs.
  • [National Instruments: ADAS HIL Test Solutions Case Studies] — Real-world autonomous driving HILS.

9. Final Checklist

Primary

  • 'SILS'와 'HILS'의 물리적 차이점(실제 하드웨어 개입 여부와 전기적 신호 변환 유무)을 명확히 설명 가능한가? (P1)
  • 시뮬레이터 모델이 '실시간성'을 잃었을 때, 왜 대상 하드웨어의 피드백 제어 로직이 물리적으로 붕괴하는지 입증할 수 있는 가? (P1)

Secondary

  • 'FPGA 기반 HILS'가 'CPU 기반 HILS'보다 고속 물리 현상(나노초 단위 스위칭)을 모사하는 데 왜 유리한지 전파 지연 관점에서 소통 가능한가?
  • 모델 연산 주기(dtdt)가 시스템의 물리 시간 상수보다 10배 이상 빨라야 하는 이유를 제어 정밀도 수리적 근거로 도출할 수 있는 가?

Industry

  • 자율주행 차량의 긴급 제동 시스템(AEB) 검증 시, 왜 전용 HILS 장비를 통한 '단선/합선 테스트'가 필수적인지 안전 규격 관점에서 제안할 수 있는 가? (SFIA)
  • HILS 시험 결과가 실제 차량의 실도로 시험 결과와 물리적으로 일치(Correlation)함을 증명하기 위해 필요한 데이터 보정 절차를 기술할 수 있는 가?