글로벌오토뉴스

상단배너

  • 검색
  • 시승기검색
ä ۷ιλƮ  ͼ  ī 󱳼 ڵδ ʱ ڵ 躴 ͽ ǽ ȣٱ Ÿ̾ Auto Journal  Productive Product

[오토저널] SDV의 초석을 다지는 커넥티드카 OS 개발기

페이지 정보

글 : 오토저널(ksae@ksae.org)
승인 2022-10-11 10:14:25

본문

최근 점차 중요성이 강조되는 모빌리티 산업 발전에 발맞춰 차량 소프트웨어 경쟁력을 확보하기 위한 독자적인 커넥티드카 운영체제(ccOS, Connected Car Operation System)를 개발하고 있다. ccOS 플랫폼 개발 경험을 바탕으로 ccOS의 의미와 개발 과정, 그리고 향후 계획에 대해 공유해 보고자 한다.

소프트웨어로 정의되는 차량(SDV)과 커넥티드카 운영체제(ccOS)
SDV(Software Defined Vehicle)란 소프트웨어로 정의되는 자동차를 뜻한다. 즉, 소프트웨어가 하드웨어를 제어하고 관장하는 자동차라고 할 수 있다. <그림 1>은 차량의 소프트웨어와 하드웨어의 발전 속도를 보여주고 있다. 과거의 자동차는 기계공학 중심의 하드웨어가 주를 이뤘지만, SDV는 그 반대이다. 소프트웨어가 자동차의 주행 성능은 물론 편의 기능, 안전 기능, 심지어 차량의 감성 품질과 브랜드의 아이덴티티까지 규정한다.

최근 글로벌 자동차 업계에서는 전동화와 함께 SDV가 크게 주목받고 있다. 기존의 자동차가 단순히 이동 수단에 불과했다면, SDV는 ‘도로 위의 스마트폰’이라고 불릴 정도로 모빌리티 산업에서의 큰 혁신이 될 것이라 예상되기 때문이다. 하지만 SDV를 목적에 맞게 개발하고 양산하려면, 차량의 소프트웨어를 최적의 상태로 구동할 차량용 운영체제 개발이 선행되어야 한다. 이것이 독자적인 커넥티드카 운영체제 개발에 매진하고 있는 이유이다.

커넥티드카 생태계를 구축하고, 다가올 미래를 대비하기 위해 2016년부터 독자적인 ccOS 개발에 착수하여, 2019년 ccOS를 기반으로 증강현실(AR), 내비게이션, 차량 내 간편 결제, 그리고 필기 인식 등을 탑재한 고급형 인포테인먼트 시스템을 선보였고, 앞으로 그 대상 차종을 더욱 확대해 나갈 예정이다.

2df5a3972340aea11a269e57f8bf80d3_1665450

ccOS 개발의 목표
과거에 적용되었던 인포테인먼트 시스템은 WinCE, Android, QNX 등 다양한 플랫폼을 기반으로 개발되었다. 하지만 동일한 문제를 개선하는 과정에서 플랫폼별로 각각 해결해야 했고, 또한 플랫폼마다 해결하는 방식이 다르다 보니 개선 시간에도 차이가 나는 등 동시에 개선 작업을 전개하는 데 어려움이 있었다. 이로 인해 단일 플랫폼이 필요하다는 공감대가 형성됐고, 이는 곧 독자적인 ccOS 개발의 계기가 되었다. 이에, 2016년 ccOS 개발을 공식화하면서 다음과 같은 세 가지 목표를 설정했다. 첫째는 커넥티드카 개발 콘셉트와 전략을 실현하기 위한 플랫폼 확보였고, 둘째는 차량용 초고속 네트워크 및 클라우드 환경에 맞는 소프트웨어 기술 내재화였으며, 마지막은 커넥티드카 서비스 기반 확립이었다.

위 목표를 달성하기 위해 우선 고성능 차량 반도체를 활용해 IT 기술 통합을 지원할 수 있는 시스템을 선정하고, 성능 최적화를 진행했다. 또한 차량의 온·오프라인 상태와 관계없이 이질감 없는 커넥티드카 서비스를 제공하고, 주변 인프라 및 기기들과 연계해 모바일 사용자 경험을 차량으로 확장할 수 있도록 고려하여 개발했다. 특히 안전과 직결된 차량 환경을 고려해 보안 문제에도 철저히 대비했다. 차량의 안전과 관련된 부분은 별도로 구성해 침입을 어렵게 하였고, 차량 네트워크 보안을 강화한 뒤 이를 모니터링함으로써 높은 보안 기준을 수립했다.

ccOS 개발의 시작, 그리고 과정
2016년 공식화된 ccOS의 개발은 그보다 앞선 2013년, 차량용 인포테인먼트 시스템에 단일 플랫폼이 필요하다는 인식에서 시작됐다. 당시에는 단일 소프트웨어 플랫폼의 개발을 위해 두 가지 주요 속성을 고려했다. 개발된 애플리케이션 로직이 새로운 시스템에 그대로 적용 가능하고(Reusability), 다양한 하드웨어에 손쉽게 이식이 되어야(Portability) 한다는 것이다. 따라서 앞서 언급한 두 가지 속성을 가장 잘 지원해 줄 수 있는 언어를 검토했고, HTML5를 선정하여 개발에 착수했다.

하지만 여러 차례의 테스트 결과 WebEngine 자체가 무거워 전체적인 시스템 부팅 속도가 느리고, 코드 노출 등의 문제가 발생할 수 있음을 확인했고, 결국은 Native 기반으로 시스템을 구축해야 한다는 결론에 이르렀다. 아쉽지만 처음부터 다시 시작해야 했다.

2df5a3972340aea11a269e57f8bf80d3_1665450

Native 기반으로 플랫폼 API 통일이라는 목표를 달성하기 위해 ‘HAFI(Hyundai Application Framework Interface)’ 프로젝트에 착수하게 되었다. HAFI 프로젝트에서는 오디오, 미디어, 내비게이션 등 다양한 플랫폼 API를 정의하고, 애플리케이션 및 미들웨어를 개발해 사용성 검증도 병행했다. HAFI 프로젝트가 커넥티드카를 위한 소프트웨어 플랫폼 개발로 발전되면서 현재의 ‘ccOS’라는 이름이 되었다. 지속적인 개발을 통해 ccOS를 양산차에 적용하는 데 성공했으며, 이때 개발된 플랫폼 API는 약 1만여 개였다. 이러한 수년간의 과정에서 많은 개발자가 새로 합류했고, ccOS의 개발을 성공적으로 진행할 수 있었다.

2df5a3972340aea11a269e57f8bf80d3_1665450

ccOS의 아키텍처 구성
앞에서는 개발 과정을 살펴보았으니, 지금부터 ccOS 아키텍처에 대해 조금 더 자세히 알아보겠다. <그림 3>은 ccOS 레이어드 아키텍처의 구성이다. ccOS는 하드웨어의 독립적인 구성을 위해 HAL1 레이어를 적용했다. 이를 통해 ARM 기반의 NVIDIA, 라즈베리파이, x86 아키텍처 기반의 큐이엠유(QEMU)를 지원한다. 앞으로도 보다 다양한 하드웨어를 지원할 수 있도록 지속적인 업데이트가 이루어질 예정이다.

HAL 레이어 위에는 ccOS Framework를 통해 플랫폼
의 기본 기능을 제공한다. ccOS를 인포테인먼트 시스템인 AVN 외에도 적용할 수 있도록 설계했기 때문에 해당 플랫폼을 활용하여 타 시스템에 적용할 수도 있다. 그리고 애플리케이션 Framework를 통해 인포테인먼트 시스템의 특화 기능을 제공한다. 예를 들어, Media Gate Manager는 다양한 미디어 애플리케이션을 등록하고, 현재 재생 중인 미디어 정보를 확인할 수 있는 기능을 제공한다. 또한 ccOS 플랫폼 기반으로 다양한 HMI Application이 구성돼 있으며, 이는 모두 양산 시스템에 적용돼 있다.

스마트폰 OS와 ccOS의 차이점 1 : 차량 안전을 위한 네트워크의 분리와 보안
ccOS와 스마트폰 OS는 각종 하드웨어를 제어하고, 응용 소프트웨어를 위한 기반 환경을 제공한다는 점에서 동일하다. 하지만 ccOS는 차량 환경에 초점을 맞추고 있다는 점에서 스마트폰 OS와 차이가 있다. 대표적으로 네트워크 환경을 예로 들 수 있다. ccOS는 외부 네트워크의 관리 외에도 차량 내 네트워크를 처리할 수 있어야 한다. In-Vehicle 네트워크는 차량의 상태 표시 및 제어, 그리고 차량 진단을 수행하고 있고, 인증된 신호에만 통신이 가능하도록 보안 설계가 되어 있다.

2df5a3972340aea11a269e57f8bf80d3_1665450

외부 네트워크에는 다양한 사례가 있다. 브랜드에 따라 다양한 커넥티드카 서비스(GCS, 블루링크, 커넥트 등)가 있으며, 각각 서비스 내 별도의 요금제를 사용하는 미디어 스트리밍 기능이 존재한다. 미디어 스트리밍의 경우, 요금제 가입자와 미가입자의 서비스 구분이 필요해 별도의 APN을 사용하고 있다.

앞으로 미디어 스트리밍 외에도 비디오 스트리밍, 오디오북 등 다양한 서비스가 추가될 예정이며, API 또한 지속적으로 증가할 것이다. 이를 효율적으로 대응하기 위해 ccOS 플랫폼에서는 네트워크 설정을 통해 쉽게 확장이 가능하도록 아키텍처를 설계했다. 앞으로 ccOS 아키텍처는 네트워크 아키텍처 효율화, 보안 아키텍처 강화 등 커넥티드 차량에 최적화된 아키텍처로 지속적인 개발이 이뤄질 것이다.

스마트폰 OS와 ccOS의 차이점 2 : 콕핏 환경을 고려한 ccOS의 인포테인먼트 시스템
인포테인먼트 시스템의 제어 방식도 ccOS와 스마트폰 OS의 다른 점 중 하나이다. 예를 들어, 운전자는 센터 콘솔에 위치한 중앙 집중 조작계(CCP), 스티어링 휠에 있는 리모트 컨트롤러, 센터패시아에 있는 멀티미디어 키보드, 그리고 센터 디스플레이의 터치 방식 등으로 인포테인먼트 시스템을 제어할 수 있다. 이 모든 제어 방식은 차량 내에서 일관되게 작동해야 하고, 이는 단일 제어장치(터치)를 사용하는 스마트폰과 구분되는 부분이다. 따라서 ccOS에서는 General Input과 System Input을 분리하고 처리 주체를 분리해, 시스템의 복잡도를 분산시켰다. 또한 다양한 입력 방식을 수용할 수 있도록 설계해 새로운 컨트롤러가 추가되더라도 손쉽게 대응이 가능하다는 특징이 있다.

다수의 디스플레이를 갖췄다는 점 역시 스마트폰과 비교되는 부분이다. 디지털 클러스터, 헤드업 디스플레이(HUD), 센터 디스플레이(AVN), 후석 디스플레이(좌/우) 등, 각 디스플레이의 표현 방식이 다른 점을 고려하여 ccOS는 통합 콕핏 개념을 반영했고, 클러스터와 AVN이 하나처럼 보이도록 구성했다. 고객이 차량에 진입했을 때 반응하는 부팅 애니메이션 역시 두 화면에 걸쳐 심리스하게(Seamless) 재생된다.

2df5a3972340aea11a269e57f8bf80d3_1665450

일반적인 상황에서는 AVN이 HUD, 센터 디스플레이, 후석 좌/우 디스플레이로 구성된 4개의 화면을 상시 제어하고, AR 내비게이션 동작이 필요한 경우에는 클러스터 영역에 할당된 하드웨어 플레인을 활용해 표시하게 된다. 그리고 차량 주위를 비추는 카메라 영상을 위한 별도의 하드웨어 플레인을 할당하여, 카메라 화면이 표시되어야 하는 상황에서는 우선적으로 보이도록 설계했다.

2df5a3972340aea11a269e57f8bf80d3_1665450

이처럼 스마트폰 OS와는 달리, 차량용 OS의 개발에서는 차량에 대한 이해를 바탕으로 사용자 경험을 고려할 필요가 있으며, 반드시 주행 상황에서의 안전을 고려하여 개발되어야 한다.

ccOS 향후 계획
ccOS 디벨로퍼 사이트를 구축하는 중이다. 개발자는 디벨로퍼 사이트를 통해 ccOS API와 튜토리얼을 확인할 수 있고, ccOS SDK와 IDE를 다운로드 받아 앱 개발 시 로그를 확인하고 프로젝트 세팅도 가능하며, 애플리케이션 위저드를 통해 보다 쉽게 앱 개발이 가능할 예정이다. 더불어 ccOS 에뮬레이터를 통해 실행 및 디버깅까지 애플리케이션 개발에 필요한 모든 것을 지원하기 위해 준비하고 있다​.

글 / 오민혁 (현대자동차)
출처 / 오토저널 2022년 8월호 
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
하단배너
우측배너(위)
우측배너(아래)