기술 칼럼

대규모 클라우드 기반 시뮬레이션을 위한 가상 차량 모델 구축

작성자: MathWorks Brad Hieb, Mike Sasena 및 Scott Furry


업계 전반의 자동차 회사는 차량 모델을 사용하여 가상 프로토타입 제작, 검증 및 통합을 가능하게 하는 가상 개발 방법에 점점 더 의존하고 있습니다. 이 접근 방식은 실물 프로토타입이 최종 검증에만 사용되기 때문에 비용 절감과 개발 시간 단축 측면에서 상당한 이점을 제공합니다.

그러나 엔지니어링 팀은 가상 개발이 가져다주는 이점을 실현하기 위해서는 몇 가지 장애물을 극복해야 한다는 것을 인지하고 있습니다. 첫째, 팀은 적절한 수준의 충실도를 갖춘 가상 차량 모델을 만들어야 합니다. 즉, 모델은 관심 있는 효과를 잡아낼 수 있을 만큼 충분히 세밀해야 하지만, 시뮬레이션 시간이 너무 오래 걸리지 않도록 너무 세밀하게 만들어져서는 안 됩니다. 다음으로는 물리적인 플랜트 모델과 소프트웨어 모델을 통합하는 작업이 필요합니다. 또한 엔지니어링 팀은 폐루프 모델을 실행하고, 시뮬레이션 결과를 시각화하여 유용한 인사이트를 얻기 위해 다양한 운전 시나리오를 통합해야 합니다. 많은 경우 설계 상충관계 연구나 최적화를 지원하기 위해 대규모 시뮬레이션을 실행할 수 있는 방법도 필요합니다.

이 문서에서는 이러한 모든 주요 영역을 다루는 워크플로를 설명합니다. 워크플로우에는 다음을 사용하여 모델을 구축하는 것이 포함됩니다. 가상 차량 구성기 앱, 해당 모델을 사용자 정의하고 이를 사용하여 데스크톱에서 시뮬레이션을 실행한 다음 클라우드에 배포하여 대규모 연구를 실행합니다(그림 1). 많은 MathWorks 고객은 이미 이 워크플로 또는 이와 유사한 워크플로를 사용하여 시뮬레이션 시간을 단축하고 클라우드 기반 시뮬레이션을 단순화하며 점점 더 많은 가상 차량 모델링 활용 사례를 지원하고 있습니다.

위의 시뮬레이션을 실행하는 가상 차량의 Simulink 모델과 아래의 다양한 측정항목을 보여주는 사용자 정의 대시보드입니다.

그림 1. 처음에 Virtual Vehicle Composer 앱을 사용하여 생성된 후 사용자 정의된 Simulink 가상 차량 모델입니다.

가상 차량 모델 생성 및 사용자 정의

처음부터 차량 모델을 구축하는 것은 간단한 작업이 아닙니다. 특정 프로젝트의 요구 사항을 충족하도록 사용자 정의하기 전에 참조 모델로 시작하는 것이 큰 도움이 됩니다. 이것이 바로 MathWorks가 수년 동안 다양한 차량 테스트 및 조종을 위해 사전에 구축된 차량 참조 애플리케이션을 제공해 온 이유 중 하나입니다. R2022a에서 MathWorks Powertrain Blockset™ 및 Vehicle Dynamics Blockset™ 의 Virtual Vehicle Composer 앱을 출시했습니다. 이 앱을 사용하면 엔지니어링 팀이 직관적인 사용자 인터페이스를 통해 성능 테스트 및 분석을 위한 가상 차량을 더욱 쉽게 구성하고 구축할 수 있습니다. 앱을 사용할 때 엔지니어는 차량용 파워트레인(예: 2개 모터 EV 파워트레인)을 선택하고, 순수 종단 모델 또는 측면 동역학을 포함하는 모델을 지정한 다음, 차량의 질량이나 타이어 크기, 최대 모터 토크 등과 같은 주요 매개변수를 설정하는 것으로 시작합니다. 그런 다음 일련의 드라이브 사이클 및 조작에서 실행할 테스트 사례를 선택하고, 시뮬레이션 중에 기록할 신호들을 선택할 수 있습니다. 이러한 구성을 선택하면 한 번의 클릭으로 시뮬레이션 준비가 완료된 Simulink®모델이 생성됩니다. (그림 2)

그림 2. 가상 차량 구성기 앱.

Virtual Vehicle Composer 앱을 사용하면 팀이 몇 분 안에 완전한 모델을 구성하고 생성할 수 있습니다. 그러나 더 중요한 것은 결과 모델이 완전히 사용자 정의 가능하므로 팀이 새로운 플랜트, 컨트롤러 또는 센서 모델 기능이나 C 또는 MATLAB®으로 작성된 추가 기능을 사용하여 모델을 강화할 수 있다는 것입니다.

워크플로우의 이 부분을 설명하기 위해 우리는 Virtual Vehicle Composer 앱으로 생성된 EV 모델 버전을 사용자 정의한 다음 이를 사용하여 자율 긴급 제동(AEB) 시스템의 성능을 연구하는 활용 사례를 구현했습니다.

우리가 생성한 EV 모델에는 AEB 테스트를 실행하는 데 필요한 센서, 제어 알고리즘 및 테스트 시나리오가 포함되어 있지 않았기 때문에 Automated Driving Toolbox™ 샘플 모델의 이러한 구성 요소를 통합했습니다. 그 단계에서는 필요한 AEB 구성요소를 선택하고, 모델 프레임워크에 맞춰 필요한 신호를 연결한 다음, AEB 예제 모델에서 차량 매개변수와 컨트롤러 보정 데이터를 복사해야 했습니다. EV 플랜트와 AEB 컨트롤러를 포함한 최종적으로 완성된 폐루프 모델은 약 33,000개의 블록으로 구성되었습니다. (그림 3)

다양한 차량 기능에 대한 높은 수준의 보기를 보여주기 위해 확장된 차량의 Simulink 모델.

그림 3. 생성된 차량 모델의 ​​상위 수준 뷰입니다.

데스크탑 시뮬레이션 수행

전체 시스템 모델이 조립 및 구성되면 워크플로우의 다음 단계는 데스크탑에서 시뮬레이션을 수행하는 것입니다. 예시 활용 사례에서 목표는 AEB 제어 알고리즘이 우리가 모델링한 EV에 얼마나 잘 작동하는지 이해하는 것이었습니다. 예를 들어, 우리는 다양한 시나리오와 차량의 무게가 다른 상황에서 컨트롤러가 충돌 없이 차량을 안전하게 정지시켰는지 알고 싶었습니다. 또한, 초기 제동력(또는 브레이크 압력)의 적용과 브레이크가 완전히 작동하는 특정 시점과 같은 주요 제어 매개변수를 평가하고자 했습니다(그림 4). 데스크탑 시뮬레이션은 보다 포괄적인 연구로 확장하기 전에 모델을 검증하고, 테스트 구성을 평가하고, 제한된 테스트 실행 세트로 자동화 스크립트를 확인하는 방법을 제공합니다.

자차량에 연속적인 제동 단계가 적용되기 전에 전방 충돌 경고가 발행되는 AEB 테스트 시나리오를 설명하는 다이어그램입니다.

그림 4. 부분 제동 시간(TPB1 및 TPB2), 완전 제동 시간(TPFB), 제동력(노란색, 주황색, 빨간색으로 표시)을 포함하여 연구에서 평가할 주요 매개변수를 보여주는 일반적인 AEB 시나리오.

테스트용 합성 운전 시나리오를 설계하기 위해 우리는 Automated Driving Toolbox 의 대화형 운전 Scenario Designer 앱을 사용했으며, 이는 AEB 및 충돌 회피 예시 애플리케이션을 제공합니다. 각 시나리오에 대한 간단한 통과/실패 기준이 있었습니다. 자차량이 경로에 있는 차량, 보행자 또는 장애물과 충돌하기 전에 정지한 경우 테스트가 통과된 것입니다(그림 5).

그림 5. 보행자가 자차량 앞으로 걸어가는 샘플 테스트 시나리오입니다.

우리는 여러 테스트 케이스를 실행하고 싶었기 때문에 MATLAB 스크립트 또는 Simulink Test™를 통해 수행할 수 있는 테스트 실행을 자동화하기로 결정했습니다. 데스크톱 시뮬레이션의 초기 단계에서, 우리는 시스템을 다양한 조건에서 테스트하기 위해 차량 속도와 같은 여러 매개변수를 변화시키면서, 플랜트와 제어 알고리즘, 그리고 테스트 시나리오를 포함한 16가지 다른 테스트를 진행하기로 결정했습니다. 단일 처리 코어에서 이 16개 실행 스윕을 완료하는 데 약 23분이 걸렸습니다. 시뮬레이션 시간을 단축하기 위해 Parallel Computing Toolbox™ 사용하여 4개의 코어에서 동일한 테스트를 병렬로 실행했습니다. 이로 인해 시뮬레이션 시간이 7분 남짓으로 단축되었습니다. 그러나 이려한 빠른 속도에서도 우리가 수행하고자 했던 수천 번의 시뮬레이션을 포함한 전체 요인 연구를 완료하는 데는 여전히 며칠이 걸릴 것입니다. 이러한 대규모 연구는 클라우드에 적합합니다. 데스크탑에서 이 소규모 매개변수 스윕을 먼저 수행함으로써 시뮬레이션을 실행하고 통과/실패 기준을 확인하는 자동화 스크립트가 의도한 대로 작동하는지 확인할 수 있었습니다. 결과적으로, 클라우드를 통해 훨씬 더 많은 테스트 조건 조합을 연구할 수 있게 되었다는 확신을 갖게 되었습니다.

클라우드에서 대규모 시뮬레이션 연구 실행

클라우드에서 시뮬레이션을 실행하는 데는 여러 가지 이유가 있습니다. 더 큰 컴퓨팅 리소스를 활용하기 위한 확장은 일반적인 동기입니다. 엔지니어는 단순히 자신의 주요 워크스테이션에서 계산 작업을 분산시키고 싶을 수도 있고, 팀은 필요할 때마다 특수 계산용 하드웨어를 온디맨드로 접근하고 싶어할 수도 있습니다.

MATLAB 에서 작업할 때 데스크탑에서 클라우드로의 전환은 간단합니다. 스크립트나 알고리즘을 다시 작성할 필요가 없습니다. MathWorks 클라우드의 가상 머신(VM)에서 MATLAB 및 Simulink 실행하기 위한 참조 아키텍처는 물론 클라우드에 배포할 수 있는 사전 구축된 컨테이너도 제공합니다.

우리 연구에서는 Amazon®에서 MATLAB Parallel Server™ 웹 서비스 실행을 위해 참조 아키텍처를 사용했습니다. GitHub®에서 사용 가능, 이 참조 아키텍처를 사용하면 사전 구축된 최신 MathWorks® Amazon 머신 이미지(AMI) 기반의 Windows® 또는 리눅스® 가상 머신 인스턴스를 쉽게 시작할 수 있습니다.- 클라우드 경험이 거의 또는 전혀 없는 팀에도 적합합니다. 인스턴스가 시작되면 원격 데스크톱을 통해 인스턴스에 연결하고 테스트 설정 파일을 업로드한 다음 4개의 32코어 시스템이 있는 Linux VM 클러스터에서 테스트를 실행할 준비가 되었습니다.

우리는 28개의 시나리오, 플랜트 모델 매개변수에 대한 16개의 값, 2개의 제어 매개변수에 대해 각각 5개의 값을 포함하는 전체 요인 연구를 실행했습니다. 그 결과 11,200번의 시뮬레이션 테스트가 이루어졌습니다. 클라우드에서는 테스트 실행이 약 90분 만에 완료되었지만, 4코어 워크스테이션에서는 동일한 연구에 약 2일이 걸렸습니다.

이 연구 결과를 검토한 결과 AEB 컨트롤러가 모든 테스트에서 합리적으로 견고하다는 것을 확인했습니다. 우리는 가상 차량이 제 시간에 정지하지 못하는 일부 실패 사례를 발견했습니다(그림 6). 일반적인 워크플로에서는 이러한 사례를 데스크톱에서 더 자세히 조사하고 엔지니어는 MATLAB 및 Simulink 의 결과를 분석하여 실패의 근본 원인을 파악하고 문제 해결 방법(예: 컨트롤러 조정)을 결정합니다. 매개변수), 필요한 경우 클라우드에서 후속 테스트 실행을 위해 모델을 업데이트합니다. 가상 차량 모델을 사용한 대규모 시뮬레이션 연구를 통해 이러한 잠재적인 실패 사례를 더 쉽게 식별하고 엔지니어링 팀이 설계 프로세스 초기에 잠재적으로 중요한 문제에 집중할 수 있습니다.

AEB 시나리오 테스트 결과를 보여주는 3개 축 그래프입니다. 실패한 테스트는 빨간색 점으로 표시됩니다.

그림 6. 실패한 테스트 중 하나(빨간색 X)에 대한 입력을 강조한 연구의 샘플 결과입니다.

결론

가상 차량 개발이 전체 자동차 워크플로우에서 더욱 중심이 되면서 엔지니어링 팀은 계속해서 증가하는 시뮬레이션 수요를 따라잡을 수 있는 방법이 필요합니다. Virtual Vehicle Composer는 팀이 적합한 차량 모델을 신속하게 구성할 수 있도록 하여 이 분야에서 상당한 생산성 이점을 제공합니다. 이러한 모델은 블랙박스가 아니기 때문에 엔지니어는 Simulink 에서 해당 모델을 프로젝트의 특정 요구 사항에 맞게 신속하게 향상하고 사용자 정의할 수 있는 유연성을 갖습니다. 또한 팀은 계속해서 클라우드 컴퓨팅과 함께 MATLAB 및 Simulink 사용하여 대규모 시뮬레이션 연구를 자동화하고 광범위한 조건에서 시스템을 분석하여 잠재적인 문제를 식별하고 설계 장단점을 평가하며 최적화를 수행할 수 있습니다.

2024년 기고