1. Model Based Design (MBD)
- 시스템을 개발할 때, HW랑 SW를 수학적 모델링을 하고, 시뮬레이션을 통해 테스트 / 검증 방식을 거치면서 설계하는 방법론이다.
MBD의 특징은 다음과 같다.
(1) 모델링 - 시스템의 동작을 수학적 모델로 표현
- 이는 물리적인 시스템 (엔진, 서스펜션)이 될 수도 있고, 소프트웨어 제어 로직(ABS 등) 이 될 수도 있다.
(2) 시뮬레이션 - 만든 모델을 바탕으로, 실제 시스템처럼 동작하도록 시뮬레이션
- 물리적 장비 없이 여러 시나리오 상에서 시뮬레이션이 가능하다
(3) 자동 코드 생성
- 구현에 필요한 코드를 모델을 바탕으로 자동 생성이 된다.
(4) 검증 및 테스트
- 개발 초기 단계부터 각 테스트 단계에 맞게 MIL, SIL, HIL 등을 통해 현실적인 환경에서의 동작을 확인할 수 있다.
(5) 재사용성
**
- 기존의 MBD가 아닌 전통적인 설계 방식으로는,
요구사항 명세서 -> 디자인 -> 구현(코드) -> integration & testing 의 단계였다.
문제는 이 과정에서 (1) 디자인 / 구현 단계에서 integrated system의 테스트가 불가능했고, (2) 개발자가 수동으로 작성하는 코드의 오류 가능성/재사용성 (3) 요구사항 확인의 어려움 등의 문제가 있었다.
반면 MBD에서는 통합된 시뮬레이션 환경에서의 설계가 가능하고, 자동 코드 생성이 가능하므로 이러한 기존의 단점들이 보완된다.
이때 MBD의 검증 및 테스트 단계에서는 MIL, HIL, SIL등 다양한 테스트가 가능한데, 이에 대해서는 다음과 같이 설명할 수 있다.
2. MIL, SIL, HIL testing
(1) MIL (Model-in-the-Loop)
개발 초기 단계에 수행되는 테스트로, 시스템의 모델을 시뮬레이션한다.
이때는 SW(코드), Hardware 모두 없이 시스템의 동작을 모델로만 검증한다.
제어 시스템이 예상대로 동작하는지 확인하는 것이 목적
(2) SIL (Software-in-the-Loop)
MBD를 통해 자동으로 생성된 SW코드를 테스트하는 단계이다.
실제 HW 없이 가상환경에서만 실행하며, SW(코드)가 시스템 모델과 올바르게 작동하는지 확인한다.
(3) HIL (Hardware-in-the-loop)
실제 하드웨어와 결합하여 MBD로 설계한 모델을 테스트한다.
ECU와 시스템 모델을 연결하여, 실제 환경을 시뮬레이션하며 ECU 를 검증한다.
(4) VIL(Vehicle-in-the-loop)
실차와 가상환경을 결합한 테스트다.
MBD로 설계한 모델을 실차와 결합하여 도로 상황 등 가상 시나리오에서 테스트한다.
이를 통해 자율주행과 같은 복잡한 환경에서 미리 검증할 수 있다.
자동차 개발은 일반적으로 위와 같은 V -cycle의 모델을 따르는데, V cycle의 각 phase에 대응되는 test는 아래와 같다.
*PIL test는 ECU 테스트 (processor in the loop)
reference
**추가 용어 정리
Closed-Loop Simulation (폐루프 시뮬레이션) : 시스템 출력(피드백 신호)를 통해 입력을 조정한다. 즉, 시스템의 상태나 성능이 실시간으로 반영되며 제어 동작이 수정된다.
시스템이 외부 환경에 맞춰 스스로 조정되기 때문에, 실제 환경에서처럼 유사하게 동작한다.
(예: 자율주행 등에 사용되는데, 자율주행차는 주변 환경에 대한 데이터를 지속적으로 입력받고, 그에 맞춰 차량의 움직임을 조정한다)
<-> Open-loop simulation : 입력 신호가 미리 결정되어 있으며, 시뮬레이션 중에 출력이 입력에 영향을 미치지 않는다. 즉, 출력값이 입력으로 피드백되지 않는다는 것.
* 자동차 관련 공부를 하고 있는 학생으로,해당 포스팅 내용은 틀릴 수 있는 점 참고 바랍니다
'자동차 관련' 카테고리의 다른 글
Software-Defined Vehicle (SDV) (1) | 2024.10.20 |
---|---|
240925 Automotive News (0) | 2024.09.25 |
240920 뉴스 (7) | 2024.09.21 |