자율주행 기술 구현의 첨병, 자동차 임베디드 소프트웨어 ②

[테크월드=정환용 기자] 운전보조시스템, 그리고 최종적으로 자율주행을 실현시키기 위해 국내외 자동차 제조사들과 IT 기업들은 각각 하드웨어와 소프트웨어 개발에 열중하고 있다. 아직은 기능 별 전자 제어 유닛(Electronic Control Unit, 이하 ECU)로 현재의 자율주행 단계를 보조할 수 있기 때문에, 기업들이 섣불리 하드웨어-소프트웨어 통합을 위한 연구·개발에는 소극적인 자세를 취하고 있다. ECU는 전자장치가 많지 않았던 과거에는 엔진 제어 유닛(Engine Control Unit)을 지칭하는 단어로 사용됐고, 현재는 전자 장비를 제어하는 유닛을 칭하는 단어로 사용하고 있다. 본 기사에 사용하는 ECU는 전자 제어 유닛이다.

각각의 기능에 필요한 센서와 하드웨어는 자율주행 단계 구현에 조금씩 가까워지고 있다. 차선이탈 방지 시스템(Lane Departure Warning System, 이하 LDWS)의 구현에는 주행 차로의 차선을 실시간 확인하는 센서, 차량이 차선을 벗어나는 것이 정상 기동인지 판단할 수 있는 센서(운전자 졸음 확인, 조향장치 정상 작동 확인 등), 소리나 진동으로 운전자에 차선 이탈을 알리는 장치 등이 동시에 작동해야 한다.

LDWS 관련 센서와 제어 소프트웨어를 하나의 단위로 묶는 것은 가능하지만, 다음 단계의 구현을 위해서는 LDWS 그룹뿐 아니라 FCW, ACC 등 다른 ADAS 관련 기능을 각각의 애플리케이션으로 구분하고, 이를 하나의 운영체제에서 통합 관리하는 것이 필요하다. 스마트폰의 모든 애플리케이션이 스마트폰 운영체제 속에서 작동하는 것처럼, 자동차 역시 실시간으로 모든 기능을 구현하고 제어할 수 있는 실시간 운영체제(Real Time Operation System, 이하 RTOS)가 필요하다.

 

전장화의 확대, 점점 복잡해지는 제어 모듈
대부분의 자동차·IT 기업들은 전장 분야를 통해 차세대 자동차가 등장할 것으로 전망하고 있다. 엔진을 비롯해 변속기, 제동기, 센서 등 다양한 부품에서 전장화가 확대되고 있으며, 이는 해당 부품의 제어를 담당하는 ECU가 증가하고 있다는 뜻이다. 또한, 차량 내외적으로 연결되는 통신 기술이나 센서, 카메라를 통해 수집되는 데이터의 양도 급격히 증가하고 있다.

▲자동차 엔진 컨트롤 유닛.
▲제조사마다 크기와 형태가 제각각이지만, 기본적으로 위 사진과 같은 구조를 띠고 있다. 사진은 어댑트로닉(Adaptronic)의 M6000 모듈러 ECU(출처: Adaptronic).
▲자동차 오너가 별도로 구입해 장착할 수 있는 무선 연동 ECU. 모바일 기기로 자동차의 상태를 확인하는 정도로 많이 사용된다.

임베디드소프트웨어시스템산업협회(Korea Embedded Software and System Industry Association, 이하 KESSIA)의 2016년 이슈리포트에 따르면, 전자장치의 적용 분야 확대는 곧 이를 제어하기 위한 소프트웨어와 통합 제어 모듈의 복잡도가 함께 증가한다는 것을 의미한다. 이미 자동차 소프트웨어의 코드는 1억 라인을 넘겼으며, 소프트웨어 복잡도가 증가할수록 결함으로 인한 안전사고도 확대될 가능성이 높아진다. 이미 토요타(Toyota)의 하이브리드 자동차 프리우스의 리콜 사태의 원인도 사소한 소프트웨어의 오류로 인해 엔진의 결함이 발생했다는 점으로 이를 간접적으로 보인 바 있다.

▲차량 전자부품 구성요소(출처: KESSIA).

 

2016년 기준으로 자동차 소프트웨어가 차지하는 원가 비중은 52.4%로, 의료기기(40.9%)보다 높고 스마트폰(54.3%)과 비슷한 수준이다. 차종에 따라 다르지만 대체로 자동차 한 대에 약 70~100개의 ECU가 탑재되고, 코드 라인 수는 스마트폰보다 더 많아질 전망이다. ‘코드는 간단할수록 좋다’는 말은 여기에도 적용되는데, 이를 위해선 차량 전체에 산재돼 있는 ECU를 소수의 그룹 유닛으로 통합하는 과정이 필요하다.

자동차 소프트웨어는 크게 ▲개발과 검증 ▲전장부품 제어 ▲외부 연계와 통신 ▲인포테인먼트 등 4가지로 구분된다. 지금까지는 각 요소 별로 펌웨어 업데이트를 통해 전장 시스템과 응용프로그램을 개발해 왔다. 개별적으로 대응했기 때문에 하드웨어와 소프트웨어가 밀접하게 결합된 구조로 관리가 수월했지만, 다른 애플리케이션과의 연동이 어렵고 소프트웨어를 재사용할 수 없어 개발 주기가 더딘 것이 단점이었다.

최근 모바일 기기와 자동차 인포테인먼트 시스템을 연계하는 것으로 소프트웨어의 연동이 점차 확대되고 있다. 또한, 운행과 유지·보수 과정에 적용될 수 있는 소프트웨어들이 다양하게 개발되고 있으며, 운행 패턴과 시스템 작동 현황 등의 정보를 수집해 성능 개선에 활용하기도 한다. ETRI는 해외 임베디드 시스템 시장이 2016년 196억 5000만 달러(약 22조 1000억 원)를 기록한 데 이어, 2020년에는 270억 달러(약 30조 2000억 원)로 연간 8% 이상 성장할 것으로 전망했다.

 

자동차 소프트웨어 적용의 난제
부분적, 혹은 전체적인 제어를 담당하는 자동차 소프트웨어의 적용 확대에 따라, 다양한 이슈들이 새로 등장하고 있다. 무엇보다 시스템 통합에 따른 편의와 함께 안정성이 보장돼야 하는 만큼, 소프트웨어의 신뢰도에 대한 요구가 커지고 있다. 소프트웨어 오류로 인한 제어 시스템에 문제가 발생해, 2012년 토요타(1400만 대), 2013년 현대자동차(203만 대) 등의 대규모 리콜 사태가 발생하기도 한다. 이 때문에 관련 국제표준 ISO 26262의 적용이 요구된다. 국내 OEM과 협력사들이 기능안전 기술 적용을 추진하고 있지만, 관련 기술이나 인력, 투자가 부족하다.

또한, 전 세계의 자동차 부품 협력사들을 중심으로 AUTOSAR 소프트웨어 플랫폼 적용이 추진되고 있다. OEM의 경우 협력사가 AUTOSAR 표준에 적합한지 검증하는 과정이 필요하고, 협력사는 표준 검증에 대한 결과를 입증해야 한다. 그러나 국내에서는 AUTOSAR 플랫폼 적용과 함께 ISO 26262 표준을 지키기 위한 소프트웨어 안전 구조를 설계하거나 구현하는 데 기술적으로 어려움을 겪고 있고, 관련 지식과 장비를 갖춘 곳도 부족한 실정이다.

▲자율주행 자동차 임베디드 소프트웨어 구조(출처: ETRI)

1순위는 ‘인포테인먼트’
자동차 소프트웨어 중 운전자와 가장 가까운 것은 인포테인먼트 시스템이다. KESSIA는 국내 인포테인먼트 소프트웨어와 개발 툴 시장은 2020년 약 3600억 원으로 연평균 8.2% 성장할 것으로 예상된다. 그러나 국내 시장은 특정 기업에 상당히 국한돼 있고, 인포테인먼트와 연결되는 서비스가 많지 않아 시장 규모에 한계가 있다. 소프트웨어 전장화가 폭넓게 적용될 수 있는 전기자동차 시장이 확대되면, 세계에서나 국내에서 관련 서비스가 확대되며 규모가 크게 증가할 것으로 예상된다.

자동차 인포테인먼트 시스템은 BMW, 인텔(Intel), 윈드리버(Windiver) 3사가 2009년 결성한 단체 ‘제니비’(GENIVI)에서 플랫폼 표준화를 진행하고 있다. 발제 기업을 비롯해 멘토(Mentor Automotive), 프리스케일(Freescale), 엔비디아(Nvidia), 르네사스(Renesas), TI 등의 기업들이 개발에 참여하고 있다. 단체 내부 기술위원회가 제니비 시스템의 구조를 정의하고 개선하면, 개발 그룹이 ‘adopt – adapt – create’란 철학에 따라 기술 개발을 진행한다. adopt는 오픈소스 사용을 명확히 하고, adapt와 create는 오픈소스의 개조, 새로운 코드의 생성 등의 작업으로 자동차에 적합한 플랫폼을 만든다. 이렇게 만들어지는 제니비 플랫폼은 오픈소스 80%, 개조·생성 코드 20%로 구성돼 있다.

▲제니비 플랫폼 비전(출처: GENIVI Alliance)

 

24시간 운영, 작은 오류도 치명적
RTOS는 시스템의 신뢰도에 따라 경성(Hard), 연성(Soft), 준경성(Firm)으로 구분한다. 이를 구분하는 요소는 돌발상황이 벌어지는 데드라인을 어디까지 허용할 것인지, 데드라인을 계산한 결과가 얼마나 유효한지, 데드라인을 놓쳤을 때의 결과가 얼마나 심각한지 등에 따라 결정된다.

연성 시스템은 데드라인을 놓쳐도 실패했다고 판단하지는 않고, 단지 약간의 가치가 떨어지는 정도의 결과를 나타낸다. 반면 경성 시스템은 데드라인을 놓쳤을 때 발생하는 결과가 치명적인 피해를 초래할 수 있어, 데드라인을 놓친 경성 시스템은 존재 가치가 사라진다고 봐도 무방하다. 게임 콘솔에서 디스크 인식 시간이 약간 지연되는 것은 큰 문제가 없지만, 고속도로 요금소의 하이패스 시스템이 자동차를 인식하지 못하면 무용지물인 것과 마찬가지다. 준경성 시스템은 데드라인에 큰 의미를 두지 않는 반복작업 등에 활용된다.

▲자동차 멀티미디어 플랫폼(출처: ETRI)

자동차의 통합 제어를 위한 RTOS로는 경성 실시간 시스템이 요구된다. 자동차 자체가 속도가 빠르고 사고로 인한 피해가 작지 않기 때문에, 자동차 RTOS가 데드라인을 놓치면 막대한 손실이나 피해가 발생할 수 있다. 또한, 공장에서 사람이 하는 일을 기계가 대신 하는 이유는 생산성과 정확도의 향상인 것처럼, 자율주행 자동차 역시 사람이 직접 운전하는 것보다 높은 효율과 정확도, 그리고 높은 신뢰도의 기준과 안전성이 요구된다.

RTOS의 프로세스 관리 측면에서의 특징은 ▲멀티 스레드 지원과 선점 ▲스레드 간의 우선순위 보장 ▲스레드 간의 동기화 지원 ▲운영체제 제어 등이다. 특히 운영체제 제어는 인터럽트 지연 시간, 시스템 콜 처리 시간, 운영체제와 드라이버가 인터럽트를 마크하는 시간 등을 명확히 제어할 수 있어야 한다.

자동차 하드웨어는 같은 부품도 여러 제작사 간의 경쟁을 통해 성능과 가격을 함께 잡을 수 있다. 하지만 전장 소프트웨어는 하드웨어와 달리 기술 표준을 잡기 어렵고, 소프트웨어 OEM 업체 한 곳에 의존하게 된다. 소프트웨어가 표준화되면 특정 업체에 대한 의존도를 낮출 수 있고, 해당 업체는 한 번 개발한 소프트웨어를 다양한 제조사에 공급할 수 있게 된다.

독일은 AUTOSAR 표준을 적용한 플랫폼 개발을 추진해 소프트웨어 공동 사용을 위한 단체를 구성하고, 오픈 플랫폼 보급을 시작했다. 국내에서도 현대자동차가 AUTOSAR 플랫폼 ‘오딘’을 개발해 2015년부터 독자 기반을 확보하고 시험 보급하고 있다. KESSIA는 국내 전장 소프트웨어 시장 규모가 2015년 역 4600억 원에서 2020년 약 6090억 원으로 성장할 것이며, 세계 시장은 2015년 약 69억 달러(약 7조 7000억 원)에서 2020년 약 103억 달러(약 11조 원)로 성장할 것으로 전망했다.

▲아우디(AUDI)의 자율주행 통합 제어 시스템(Domail Control Unit, DCU) ‘zFAS’를 개발하고 있다. 국내에는 지난 3월 zFAS가 탑재된 A8 모델이 자율주행 임시 운행허가를 획득한 바 있다(출처: AUDI).
이 기사를 공유합니다
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지