글로벌오토뉴스

상단배너
  • 검색
  • 시승기검색

[오토저널] 차량개발을 위한 가상개발환경 구축과 연동시뮬레이션

페이지 정보

글 : 원선웅(mono@global-autonews.com)
승인 2020-10-26 09:22:45

본문

차량개발 프로세스에 혁신이 일어나고 있다. 시스템 엔지니어링(SE, System Engineering)에서 모델기반 시스템 엔지니어링(MBSE, Model-Based System Engineering)으로의 전환이 한 예이다. 그리고 그 중심에 가상차량개발환경 구축이라는 큰 도전과제가 있다.

 

본 고에서는 가상차량개발환경의 다양한 기능 중 하나인 연동시뮬레이션(Co-Simulation)을 중점적으로 소개하고, 완전한 가상차량개발환경 구축을 위한 도전과제를 연동시뮬레이션 측면에서 살펴보고자 한다. 

실제로 연동시뮬레이션 기법은 자동차산업뿐만 아니라 전자, 네트워크, 바이오 등 모델링/시뮬레이션을 활용하는 다양한 분야에서 활발히 연구하고 있다. 자동차산업에서는 2010년을 전후로 본격적인 연구가 시작돼, 현재까지도 활발한 연구와 논의가 진행중이다. (MODELISAR1, ACOSAR2, and ACoRTA3). 하지만 분야간 교류가 많지 않아 연구결과가 널리 드러나지 못했고, 자동차산업에서도 증가하는 관심에 비해 그 내용을 자세히 살펴볼 자료가 부족한게 사실이다. 

이에 본 지면을 통해 자동차산업에서 활용하는 연동시뮬레이션 개념과 원리를 4회에 걸쳐 간략히 소개하고자 한다.


시스템 엔지니어링 기반 차량개발 프로세스

시스템 엔지니어링(SE)을 기반으로 한 차량개발 프로세스에서는 시스템 수준을 여러 계층으로 나누고, 계층별 요구사항을 독자적으로 만족시키는데 중점을 둔다. 또한 제품개발주기를 크게 컨셉/제품설계(MiL/SiL)와 검증(HiL/ViL/차량) 측면으로 나눔으로써 모든 과정을 순차적으로 진행한다<그림 1>. 하위시스템이 독립적 위치에서 타계층과 유기적으로 협업하므로, 상위시스템의 반복적 검증으로 하위시스템별 중요특성까지 효과적으로 연구/개선하는 것이 가능하다. 결과적으로 제품개발주기를 상당히 단축시키지만, 계속해서 강화하는 시장의 요구사항에 충분히 대응하기에는 한계가 있다.

친환경차와 자율주행차의 등장은 차량개발프로세스에 새로운 혁신을 요구했다. 친환경차의 확산으로 개발 필요차종이 크게 증가했고, 자율주행차의 약진으로 시험/검증항목이 기하급수적으로 늘어났다. 이러한 도전과제를 기존 프로세스로 대응할 경우 차량개발주기가 비현실적으로 연장된다. 

앞서 언급한 바와 같이 SE 기반 프로세스에서는 설계, 개발, 검증의 차량개발주기가 순차적으로 흘러간다. 하위시스템 설계변경 때마다 시스템 전체에 대한 검증/평가를 반복적으로 수행해야 하는데, 이 경우 각 단계별 소요시간에 비례해 전체 차량개발주기가 크게 길어질 수 있다. 따라서 친환경차/자율주행차로 인해 급격히 증가한 개발부담을 SE 기반 프로세스만으로 완전히 소화하기엔 역부족이다.

80862e77303fc52b5b4660df6122dc26_1603671


에자일 차량개발 프로세스와 가상차량개발 환경 구축

앞서 살핀 한계를 프로세스 혁신 관점에서 극복하고자 한다면, 전체 개발프로세스 안에서 설계/개발/검증과정을 수시로 반복하는 방안을 떠올려볼 수 있다. 프로세스 초기부터, 통합시스템을, 여러번 검증/평가할 수 있다면, 단축된 차량개발주기의 반복이 가능해져 비현실적으로 증가한 요구사항을 보다 효과적으로 만족할 수 있다. 이렇게 빠르고 반복적인 개선으로 시스템을 설계/개발하는 방식을 민첩한(Agile) 개발프로세스라 한다<그림 2>. 

80862e77303fc52b5b4660df6122dc26_1603671

최근 많은 차량/ECU 제조사가 민첩한 개발방법론 적용을 위해 노력하고 있으며, 그 방안으로 모델기반 시스템 엔지니어링(MBSE)을 적극적으로 도입하고 있다. MBSE의 핵심은 가상차량개발환경 구축에 있다. 검증과정을 개발프로세스 초기에도 수행해야 하므로, 신뢰할만한 가상차량프로토타입을 사전에 완성해야 한다. 또한 가상프로토타입이 민첩한 개발프로세스, MBSE와 유기적으로 협업할 수 있어야 한다. 결과적으로 체계적인 가상차량개발환경 구축이 민첩한 개발방법론, MBSE 성공을 위한 필수불가결한 요소라 할 수 있다.

가상차량개발환경은 다양한 기능을 포함해야 한다. 가상프로토타입을 가상의 모델로 구성하므로, 기본적으로 각 모델에 시스템 요구사항을 독립적으로 반영할 수 있어야 한다<그림 3, 단계 1>. 같은 맥락에서 모델과 모델파라미터 관리를 위한 환경구축도 필요하다<그림 3, 단계 2-4>. 하지만 무엇보다도 각 시스템 모델을 통합해 단일시스템으로 연동해석해 원하는 결과를 얻을 수 있어야 한다<그림 3, 단계 5>. 여기에 시험시나리오와 시험결과를 관리하는 것이 새로운 도전과제로 대두되고 있으며, 이를 적시에 적절한 방법으로 관리해 향후 개발에 재사용한다면 민첩한 개발프로세스 효과를 극대화할 수 있다.


모델링/시뮬레이션(유닛)/연동시뮬레이션 

연동시뮬레이션 기법을 본격적으로 소개하기에 앞서, 이해를 돕기 위한 관련 용어 몇가지를 설명하고자 한다. 조금은 딱딱한 내용일 수도 있으나, 명확한 이해를 돕는데 효과적일 것으로 판단해 간단히 살펴보고 넘어가겠다.

80862e77303fc52b5b4660df6122dc26_1603671

● 모델링
물리시스템을 동적시스템으로 변환하는 과정을 시스템 모델링이라 한다. 동적시스템은 관측하려는 물리시스템의 ‘상태’와, ‘시간에 따라 달라지는 상태변화’를, 수학적으로 규정한 것이다. 예를 들어 교통신호등을 동적시스템으로 모델링하려면 ‘빨간색’, ‘노란색’, ‘녹색’, ‘꺼짐’을 신호등 상태로 두고 이 상태간 변화를 이산적으로 규정하면 된다(예 : 녹색으로 변하고 60초 후에 빨간색으로 변화). 유사한 방식으로 스프링-댐퍼 시스템을 모델링할 경우 물체의 ‘변위’, ‘속도’를 상태로 정한 뒤, 시간에 대한 상태변화를 상미분방정식(ODE)로 나타낼 수 있다. 시스템 모델링에서 가장 중요하게 볼 점은 생성한 모델이 실제시스템 거동을 최대한 유사하게 모사하도록 유효성(Validity)을 보장하는가이다. 실제로 물리시스템을 완벽하게 모델링하는 것은 불가능하다. 그럼에도 생성한 모델은 적정 요구사항 내에서 실제 시스템과 유사한 거동을 보장해야 하는데, 그렇지 않으면 해당 모델을 이용한 시뮬레이션에서 원하는 결과를 얻기 어렵다. 

● 시뮬레이션
시뮬레이션은 동적시스템을 해석하는 것으로, 모델링의 원형인 미분방정식의 수치해를 구하는 것과 같다. 예를 들어 스프링-댐퍼 시스템과 같은 연속시간시스템은 상미분방정식을 풀면 시스템 거동을 해석할 수 있다. 이 때 시뮬레이션 결과는 시간흐름에 따라 변화하는 시스템 상태(변위, 속도)로 나타난다. 시뮬레이션 정확도는 모델 유효성(Validity)과 솔버 정확도에 의해 결정된다. 생성한 모델이 물리시스템 거동을 충분히 모사하고, 관련 솔버가 해당 모델의 미분방정식 해를 효과적으로 계산한다면 시뮬레이션 정확도는 자연스레 높아진다. 스프링-댐퍼시스템에 대한 모델링/시뮬레이션 예를 <그림 4>에 나타냈다. 상미분방정식 해를 구하기 위해 해석적 방법과 전진오일러법(Forward Euler’s Method) 솔버 두 가지를 사용했고, 각 시뮬레이션 결과를 비교했다. 솔버를 이용해 얻은 근사해가 해석해 대비 큰 오차를 가짐을 확인할 수 있다. 

80862e77303fc52b5b4660df6122dc26_1603671

<표 1>에서 나타낸 것처럼 총오차합은 솔버 시간단위(Δt)에 따라 달라진다. 이 Δt는 시뮬레이션 정확도와 밀접한 연관이 있을뿐만 아니라, 연동시뮬레이션 정확도에도 상당한 영향을 미치므로 잘 기억해둘 필요가 있다. 

● 시뮬레이션 유닛 (SU, Simulation Unit)
동적시스템 모델과 시뮬레이션 솔버를 합쳐 시뮬레이션 유닛(SU)라 부른다. 일반 상업용 소프트웨어는 시스템 모델링과 시뮬레이션 기능 모두를 포함하고 있으므로 관련 소프트웨어 각각을 독립적인 SU로 간주할 수 있다. 시뮬레이션과 마찬가지로 SU의 정확성은 모델유효성과 솔버정확도에 의해 결정되며, 동일하게 Δt가 정확도에 미치는 영향이 크다.

● 연동시뮬레이션(Co-Simulation)
문자 그대로 연동시뮬레이션은 여러 SU를 연결해 하나의 시스템으로 해석하는 것을 의미한다. 이때 각 SU는 독립된 솔버를 가진 블랙박스처럼 동작하므로, 정확한 연동시뮬레이션 결과를 얻으려면 SU간 입/출력 데이터 흐름을 적절히 제어해야 한다. 이 때 연동과정을 시나리오로 사전에 명확히 정의하는 것은 큰 도움이 된다. 연동시뮬레이션 시나리오는 각 SU간 시뮬레이션 스케줄을 어떻게 관리할지, 시뮬레이션 스케줄에 따라 입력값을 어떻게 계산해야할지 등과 같은 내용을 자세히 포함해야 한다. 

SU 집합체를 대상으로 연동시뮬레이션을 수행하는 것이므로 모델유효성와 솔버정확도는 여전히 연동시뮬레이션 정확도를 결정하는 주요 요인이 된다. 아울러 연동시뮬레이션 시나리오를 수행하는 과정이 각 SU가 가지는 모델유효성과 솔버정확도 특성을 해치면 절대 안된다. 실제로 연동시뮬레이션시 이런 문제가 다수 발생하는데, 해결하기 쉽지 않은 경우가 대부분이다. 각 SU의 모델유효성, 솔버정확도를 연동시뮬레이션 정확도와 독립적으로 다루는 것은 앞으로 연동시뮬레이션 분야에서 우선적으로 해결해야 할 주요 과제 중 하나이다.

차량에서의 다중도메인 연동시뮬레이션
이제부터 실제 차량개발에서 연동시뮬레이션을 어떻게 적용할 수 있을지 살펴보자. 먼저 차량을 최상위시스템으로 상정한다면, 그 하부시스템은 크게 기계, 열, 전기적 특성을 갖는 세개의 도메인으로 나눌 수 있다. 이렇게 차량도메인을 나누는 이유는 도메인별 소프트웨어(SU)가 갖고있는 고유의 모델링 기법과 솔버 알고리즘이 서로 다르기 때문이다<그림5a>. 

이러한 사실을 바탕으로 차량개발에서의 연동시뮬레이션을 “다중도메인 시스템을 단일로 시뮬레이션하는 것”으로 간단히 정의할 수 있다. 이질적인 도메인 모델들을 가지고 정확한 연동시뮬레이션 결과를 얻으려면, 앞서 살펴본 연동시뮬레이션 특징을 바탕으로 다음 사항을 세밀히 고려해야 한다.

–도메인별 고유의 동적특성
–특정 도메인에 특화된 소프트웨어에서 구현한 모델링 기법과 솔버 알고리즘–도메인간 정확한 정보교환을 위한 연동시뮬레이션 시나리오

● 다중도메인 하이브리드 차량의 연동시뮬레이션
다중도메인으로 구성된 하이브리드 차량 모델을 연동시뮬레이션하는 예를 살펴보자<그림 5b>. 먼저 하이브리드 차량의 핵심 시스템을 모델링해야 한다. 엔진, 모터와 같은 추진계, 추진계에서 발생한 동력을 차량으로 전달하는 구동계(Drivetrain), 그 밖에 배터리, 냉각시스템, 제어기 등의 하위시스템을 도메인 특성에 맞게 적절히 모델링한다. 완성한 도메인별 모델은 적합한 솔버를 적용해 시뮬레이션하는데, 이 과정에서 모델유효성/솔버정확도를 함께 검증할 수 있다.

하위시스템에 대한 모델링/시뮬레이션 검증을 마쳤다면 모든 하위시스템이 하나의 단일시스템(가상하이브리드 차량)으로 동작하도록 연동시뮬레이션해야 한다. 각 차량도메인별 하위시스템이 이질적 동적특성을 가지므로, 하위시스템간 주고받는 입/출력 정보를 커플링 관점에서 살펴볼 필요가 있다. 

예를 들어 전기전자시스템이 수밀리초에서 마이크로초까지의 솔버 시간간격을 가지는데 반해, 기계시스템은 수밀리초의 솔버 시간간격을 갖는다. 따라서 두 시스템을 연동할 경우 전기전자시스템을 기계시스템 솔버 시간간격 관점에서 바라봐야 한다. 매우 느린 동적특성을 갖는 열시스템과 연동할 경우엔 전기전자시스템처럼 매우 작은 시간간격을 갖는 시스템 정보는 별다른 의미를 갖지 못할 수도 있다. 

결국 이러한 차이를 고려해, 이질적 도메인간 동적신호를 적절하게 연동하는 시나리오 구성하지 않는다면, 연동시뮬레이션 수행시 각 하위시스템(SU) 모델유효성/솔버정확도를 보장하지 못할 가능성이 커진다. 따라서 정확한 연동시뮬레이션을 통해 성공적인 가상차량개발환경을 구축하려면 연동시뮬레이션 시나리오를 명확히 정의하는게 매우 중요하다고 말할 수 있다.

80862e77303fc52b5b4660df6122dc26_1603671

본 고에서는 가상개발환경 구축 필요성에 대한 배경을 간단히 살펴보고, 가상개발환경 구축에 필수적인 연동시뮬레이션 기법에 대해 개략적으로 알아보았다. 다음 기사에는 실제적인 가상차량프로토타입 구성방식을 연동시뮬레이션 유형 기반으로 살펴볼 예정이다.

  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
하단배너
우측배너(위)
우측배너(아래)