차세대 ECU를 위한 AUTOSAR Adaptive Platform
등장 배경, 특징 및 전망
2017년 11월호 지면기사  / 글│조 재 윤 매니저, 임베디드 소프트웨어 사업부, Vector Korea IT



AUTOSAR Adaptive Platform은 왜 개발됐을까? AUTOSAR Classic Platform과는 어떤 차이가 있을까? 제어기를 개발함에 있어 어떤 플랫폼을 선택해야 할까? AUTOSAR Adaptive Platform이라 하면 우선 받게 되는 질문이다. 이 질문에 대한 답과 AUTOSAR Adaptive Platform의 등장 배경, 특징 및 전망에 대해 살펴본다.


2006년 AUTOSAR 2.0 배포를 시작으로 10여 년이 넘도록 Classic Platform은 2017년 10월 현재 AUTOSAR 4.3까지 진화하면서 바디, 섀시, 전자, ADAS 등 다양한 영역에 널리 사용되고 있다. 특히, ISO 26262 기능 안정성이 화두가 되면서 AUTOSAR에 대한 관심이 더욱 커져왔다.
 
한편, 자동차 업계에는 전기차와 자율주행이라는 새로운 패러다임이 형성되면서 IVI(In-Vehicle-Infotainment), ADAS(Advanced Driver Assistance System), V2X(Vehicle-to-X) 등을 필두로 차량 분야에서 전례 없는 IT 기술융합이 활발하게 일어나고 있다. 특히 리눅스를 차량에 적용하는 사례가 늘고 있는 것은 리눅스 환경이 다음과 같은 편의성을 제공하기 때문이다.
우선 비디오 코덱, 스트리밍, USB, SD-Card, LTE, Wi-Fi, GPS 등을 위한 다양한 드라이버를 활용해 인포테인먼트, V2X와 같은 애플리케이션을 보다 쉽게 구현할 수 있다. 또한 멀티미디어 라이브러리와 이미지 프로세싱 라이브러리 등을 재사용하고 머신러닝, 목표물 인지, 센서 퓨전 등의 연산을 위한 ADAS용 고성능 HW 사용도 가능하다.
 
이러한 리눅스 환경은 AUTOSAR Classic Platform이 가진 한계점을 보완하며 많은 장점을 갖추고는 있지만, 일반적인 차량 개발환경에 필요한 진단기능이나 CAN 통신 같은 차량 네트워크를 지원하는 SW를 갖추지 못한 태생적 한계를 지니고 있다. 이 때문에 리눅스 OS가 실행되는 프로세서와 함께 차량 기능을 실행하기 위한 AUTOSAR OS가 실행되는 별도의 프로세서가 공존하여 하나의 제어기가 구성되거나, 멀티코어 프로세서가 탑재된 제어기의 경우 리눅스 OS와 일반 차량 기능을 관장하는 AUTOSAR OS가 실행되는 코어가 각각 분리돼 사용됐다.
 
이것이 AUTOSAR Adaptive Platform이 등장하게 된 배경이다. 즉 미래 자동차 기능을 위해 필요한 고성능 HW 지원, 다양한 오디오 및 비디오 드라이버 지원, 외부 인터페이스 지원과 함께 차량 진단과 차량 통신 네트워크 및 보안의 요구까지 동시에 만족시켜야 하는 시대의 요구에 따라 AUTOSAR Adaptive Platform이라는 새로운 패러다임의 서막이 열리고 있다.
AUTOSAR Adaptive Platform은 C++ 객체지향 언어로 코딩돼 있다는 점이 아마도 가장 먼저 눈에 띄는 특징이자, 기존 Classic Platform과의 차이점 일 것이다. 그러나 코딩 언어뿐만 아니라 다양한 측면에서 Adaptive Platform은 Classic Platform과 다른 점이 있다.
 
적응성과 유연성을 지향


AUTOSAR Classic Platform은 다양한 차종과 플랫폼 베리언트(Variant) 대응에 적합하다. 이러한 확장성은 제어기를 구성하는 기능별 SW 모듈이 모두 표준화된 SW 스택을 통해 구성되기 때문이다. 반면 AUTOSAR Adaptive Platform은 확장성보다는 적응성과 유연성에 방점을 찍고 있다. “Adaptive”가 시사하는 바가 바로 이 적응성과 유연성이다. 이를 위해 Adaptive Platform은 8개의 Functional Cluster와 3개의 기본 서비스를 제공한다(그림 1).
 
 
3개의 기본 서비스는 Middleware 성격의 ara::com(AUTOSAR Runtime for Adaptive Applications)을 통해 호출할 수 있고, 8개의 Functional Cluster는 각 API를 통해 다른 애플리케이션과 통신한다. 눈여겨볼 부분은 오직 API 구현에 대한 정의만 돼 있다는 사실인데, 이 때문에 기존 Classic Platform을 구성하는 BSW 스택 구현에 비해 Adaptive Platform의 Functional Cluster 구현 자유도가 훨씬 높다.
 
SOME/IP에 기초한 서비스 지향 통신


AUTOSAR Adaptive Platform과 Classic Platform의 가장 큰 차이점은 통신 방식에 있다. 대부분의 기존 Classic Platform은 전통적인 Signal-Oriented 통신에 기초하지만, Adaptive Platform은 Service-Oriented Communication(SOC)에 그 기반을 두고 있다. 이는 서비스를 제공하는 서버인 Skeleton과 서비스를 소비하는 클라이언트인 Proxy 사이에 필요한 서비스가 Service Discovery와 SOME/IP(Scalable service-Oriented MiddlewarE over IP)를 통해 Dynamic 하게 연결하는 통신 방법이다(그림 2).
 
 
SOME/IP는 AUTOSAR Adaptive Platform에서 중요한 의미가 있다. 이는 Adaptive Platform의 궁극적인 지향점인 차량 애플리케이션 서버 구축과 운용에 백본(back-bone)이 되기 때문이다. 미래 차량은 스마트 센서와 스마트 액추에이터를 탑재하게 되고, 이는 모두 Ethernet으로 연결되어 궁극적으로 차량 애플리케이션 서버에 의해 모니터링되고 제어될 수 있다. 차량 애플리케이션 서버는 AUTOSAR Adaptive Platform이 탑재된 시스템으로서 SOME/IP를 통해 스마트 센서와 스마트 액추에이터를 차량 애플리케이션의 용도에 따라 자유롭게 모니터링하고 제어할 수 있다.
 
이는 지난 10여 년간 지속된 차량 전장 아키텍처와는 사뭇 다른 형태이다. 지금까지는 하나의 제어기에 연결된 센서와 액추에이터는 오직 그 제어기의 기능 수행에만 할당돼 사용됐다. 그러나 Adaptive Platform에서는 센서와 액추에이터가 여러 차량 애플리케이션 SW에 사용될 수 있다. 마치 스마트폰의 HW 자원이 특정 애플리케이션에만 사용되는 것이 아니라, 범용으로 모든 애플리케이션 SW에 사용되는 것과 같다고 할 수 있다. 예를 들면, 후진 시 후방을 보여주는 후방카메라를 통해 영상정보를 입력받아 모션/제스처를 인식하고, 트렁크를 제어하는 액추에이터를 제어하여 트렁크를 열어주는 차량 애플리케이션 SW 개발이 가능해진다.
 
POSIX 기반 운영체제 선택 필


AUTOSAR Classic Platform은 기본적으로 확장성(Scalability)에 따라 SC1~SC4까지 운영체제를 제공한다. 하지만 Adaptive Platform은 기본으로 제공하는 운영체제가 없기 때문에 사용자가 운영체제를 선택해야 하는데, POSIX(Portable Operating System Interface) 기반 운영체제를 Adaptive Platform에 사용할 수 있다. 이로써 Classic Platform에 사용됐던 HW에 비해 연산처리 능력이 월등히 뛰어난 HW 지원이 가능하고, MMU(Memory Management Unit) 및 멀티코어 프로세스 지원이 가능하다.
 
POSIX 운영체제 아래서 애플리케이션 SW의 실행은 곧 하나의 POSIX 프로세스 생성으로 간주된다. 이때, 애플리케이션은 또 다른 프로세스를 생성할 수 없는 PSE51(POSIX System Environment Profile)을 사용한다. PSE51은 단일 프로세스를 위한 멀티스레드(Multi-thread) 서브셋(subset)으로, 287개의 API로 구성돼 있다. 여기서 한 가지 주의할 점이 있다. 애플리케이션 SW만 PSE51을 사용한다는 것이지, 운영체제가 PSE51을 사용한다는 것은 아니라는 사실이다. 다시 말해, 운영체제는 멀티-프로세스를 지원하지만 애플리케이션은 싱글-프로세스만을 지원한다.
 
유동적 소프트웨어의 전개와 차량 애플리케이션 서버


AUTOSAR Adaptive Platform에서만 볼 수 있는 가장 획기적인 변화는 유동적 SW 전개에 있다고 해도 과언이 아닐 것이다. 앞서 SOC 설명을 하면서 차량 애플리케이션 서버를 통해 새로운 기능의 애플리케이션 SW를 설치할 수 있음을 잠시 언급한 바 있다. 미뤄 짐작할 수 있듯이, AUTOSAR Adaptive Platform에서는 애플리케이션 서버를 이용해 기존에 설치가 됐던 SW의 업그레이드는 물론, 새로운 SW의 설치도 가능하다. 물론, 정비 센터가 아닌 운전자가 차량을 운용하면서 말이다.
 
이는 기존 차량 SW 배포 및 유지보수 형태와는 매우 다른 혁명적 시도임이 틀림없다. 지금까지는 차량에 탑재된 SW를 EOL(End of Line)에서 제어기에 프로그램된 이후, 사용자(운전자)가 임의로 변경 및 수정하는 것이 원칙적으로 용인되지 않았다. 음성적으로 제어기 매핑을 새로 하는 등의 행태가 간혹 있으나, 제조사가 원천적으로 운전자에 의한 순정 SW 변경을 허락하지 않기 때문이다. 그러나 Adaptive Platform이 지향하는 바는 매우 다르다. 운전자 편의를 위한 새로운 애플리케이션 SW의 설치는 물론, 이론적으로는 차량 애플리케이션 서버에서 제어기의 SW까지도 업그레이드할 수 있게 된다.

이렇게 되면 스마트폰 앱스토어와 유사한 새로운 비즈니스 모델이 생겨날 수 있다(그림 3). 예를 들면, 장거리 여행을 위해 적응형순항제어(Adaptive Cruise Control, ACC) 애플리케이션을 다운받아 일정 기간 사용하거나, 가까운 주유소 및 목적지까지 자동주행(Auto Pilot) 애플리케이션을 다운받아 사용할 수도 있을 것이다. 이러한 Adaptive Platform용 애플리케이션은 차량 애플리케이션 서버에서 관련된 스마트센서와 스마트 액추에이터를 제어하며 운전자에게 필요한 서비스를 제공하게 될 것으로 전망된다.
 
 
LINUX Virtual Machine에 의한 Rapid Prototype


현재 벡터에서 제공하는 Evaluation 패키지에는 LINUX VM(Virtual Machine)을 빌드할 수 있는 YOCTO 실행 파일과 컴파일러, 소프트웨어 Linking에 필요한 제반 내용, Eclipse Mars.2(Yocto SDK plugin)와 같은 유용한 플러그인이 포함돼 있다. 따라서 실제 타깃 HW가 없이도 VM만으로 Rapid Prototype를 빌드할 수 있다. 리눅스에 필요한 커널과 라이브러리 등이 Intel xH6 시스템에 맞추어 컴파일 되어 있고, 라이브러리는 ARM 계열에서 사용하는 것과 동일하다.
 
Linux VM에 의한 Rapid Prototype은 프로젝트를 시작하는 애플리케이션 개발자들에게 큰 도움이 된다. 실제 HW가 없는 상태에서도 VM만으로도 기본적인 테스트를 수행할 수 있기 때문이다. 이러한 VM의 장점을 십분 활용해 벡터 인포마틱(Vector Informatik GmbH)은 현재 2019년 SOP를 목표로 한 Adaptive Platform 프로젝트들을 이미 2017년도부터 시작할 수 있었다. 벡터 인포마틱은 AUTOSAR Adaptive Platform 개발에 직접 참여하며 사양을 함께 정의해 나아가고 있고, Adaptive Platform을 자체적으로 구현한 Adaptive MICROSAR(벡터의 AUTOSAR Adaptive Platform 솔루션) 제품을 2018년 2분기 출시 목표로 활발히 개발하고 있다. 
 
벡터코리아(Vector Korea IT, Inc.)에서도 실습 예제를 포함한 2일 교육과정과 Linux VM Rapid Prototype 빌드를 통해 프로젝트를 시작한 이후, 현재 성공적으로 HW 샘플 검증 지원까지 완료하고 2019년도 양산을 목표로 기술지원을 하고 있다.
 
차세대 ECU를 위한 새로운 플랫폼 시대 개막


그러면 앞으로 AUTOSAR Classic Platform 대신 AUTOSAR Adaptive Platform을 적용해야 할까? 많은 개발자 또는 관리자들이 가질 수 있는 질문이다. 결론부터 말하면, AUTOSAR Adaptive Platform과 Classic Platform은 향후 공존하게 될 것이고 서로 다른 영역에서 차량 제어기를 구성하게 될 것으로 예상된다. 따라서 프로젝트에 맞은 AUTOSAR 플랫폼을 선택하는 것이 중요하다.
일반적으로 AUTOSAR Classic Platform은 비교적 실시간성이 중요시되는 작은 임베디드 시스템에 사용돼 왔다. 바디, 섀시, 및 전장 영역에 폭넓게 사용되고 있으며, 이는 향후에도 지속될 것으로 보인다.
AUTOSAR Adaptive Platform은 차량 애플리케이션 서버, ADAS, V2X 및 IVI와 같은 새로운 유스케이스(Use case)를 중심으로 적용되기 시작해 점차 미래 차량 기능을 구현하는 데 확대 적용될 것으로 보인다. 여기에는 고성능 HW 지원, 멀티미디어와 차량 통신 및 네트워크의 융합, 차량과 클라우드와의 연결성 등이 유기적으로 작용하면서 Adaptive Platform 개발을 견인할 것으로 전망된다.
 

참고 문헌 
[1] Guideline and Requirements Adaptive AUTOSAR for Application Developers V1.4 (2017-05-19) 



<저작권자 © AEM. 무단전재 및 재배포, AI학습 이용 금지>

PDF 원문보기

본 기사의 전문은 PDF문서로 제공합니다. (로그인필요)
다운로드한 PDF문서를 웹사이트, 카페, 블로그등을 통해 재배포하는 것을 금합니다. (비상업적 용도 포함)

  • 100자평 쓰기
  • 로그인


  • 세미나/교육/전시

TOP