2017년 3월 3일 금요일

[214호 웹진: 인사이드 이슈] 자율주행 자동차에서 소프트웨어의 역할

자율주행 자동차에서 소프트웨어의 역할
최근에 열린 CES 2017에도 인공지능이 최고의 화두다. 많은 나라에서 인공지능이 적용된 클라우드, 사물인터넷, 음성인식, 로봇 등을 만들어내고 있다. 이 중에서도 일상생활에 가장 근접해서 적용되는 분야는 자동차 분야인데 자율주행 관련해서 빠르게 발전하고 있다. 최근의 조사에 따르면 자동차 업계에서 2020년에 완전한 자율주행 자동차를 출시할 것으로 예상하고 있다. 이번 회에서는 자율주행 자동차에 필요한 기술에 대해 현대파워텍 이윤희 팀장과 단국대학교 김규억 박사를 만나 이야기를 들어본다.

Q: 안녕하세요. 인공지능이 자동차에 적용되면서 자율주행이라는 말로 바뀌는 것 같습니다. 자율주행 자동차에 대해 먼저 간단히 정리해주시죠.

인공지능이 한 분야에 적용되면 거기에 맞는 용어가 생겨나는 것 같습니다. 자동차 분야에서는 드라이버가 차량을 조작하지 않아도 자동차 스스로 주행하는 것을 말합니다. 자동차가 스스로 동작하기 위해서는 다양한 하드웨어도 있어야 하지만 외부 정보를 받아 스스로 판단할 수 있는 소프트웨어도 중요합니다. 엄밀히 말하면 최근에 이슈로 부각되는 알파고처럼 스스로 학습해서 주행하는 기술이 진화하는 것은 아닙니다. 자동차가 주어진 정보나 기준에 따라 스스로 판단해서 주행하는 것이죠.

Q: 드라이버가 배제된 상태에서 자동차가 움직인다라는 것으로 범위를 정할 수 있겠네요. 최근에 출시되는 자동차를 보면 크루즈 컨트롤 기능이 대부분 장착되는데 이 것도 자율주행의 일종인가요?

일찍부터 자율주행을 연구한 구글의 경우는 자율주행 자동차를 만들어 실제 도로를 주행하기에 이르렀습니다. 그러다 보니 자율주행에 대한 수준에 대해 구체적인 기준이 정의되었는데요.

<그림1> 자율주행의 레벨(Levels of driving automation)
출처: Tongji University

그림1에서 보는 것처럼 5단계나 다른 기준에서는 4단계로 정의됩니다. 0과 1단계는 드라이버가 직접 운전하는 단계고, 2단계는 단위 기능이 자동화로 바뀐 것입니다. 3단계는 테슬라의 오토 파일럿 기능처럼 기존의 단위 자율주행 기술들이 통합된 단계로 보는데 드라이버의 시선은 계속 전방을 주시하지만 운전대와 페달은 사용하지 않아도 되는 단계입니다. 크루즈 기능도 이 레벨에 넣을 수 있습니다. 4단계는 자동차가 교통신호와 도로 상태에 따라 스스로 자율주행을 하는 단계인데 드라이버는 운전 외에 독서나 휴식을 취할 수 있고 특정 상황에서 드라이버 개입이 필요한 제한적 자율주행 단계입니다. 마지막으로 5단계는 말 그대로 자동차가 스스로 알아서 운전하는 자율주행 상태를 말합니다.

Q: 자율주행 기술에 대해 레벨까지 매겨져 있다면 구체적인 기술들이 정의되었고 발전도 있었을 것으로 보입니다. 어떤 것들이 있을까요?

크게 구분할 수 있는 것만 몇가지 살펴보면 먼저 방금 얘기된 크루즈 컨트롤(Cruise Control) 기능입니다. 크루즈 컨트롤은 일정 속도까지 차량을 가속한 후 가속 페달을 밟지 않아도 지정된 속도로 차를 주행할 수 있는 기능으로 일정한 속도로 오랜 시간 운전해야 하는 북미권이나 유럽에는 거의 필수 기능입니다. 수십년 전부터 연구되어 지금은 거의 안정화 단계에 있는 기술입니다.
두번째는 자동 긴급 제동 시스템(Autonomous Emergency Braking)입니다. 전방에 추돌 상황이 감지되면 드라이버가 브레이크를 밟지 않아도 경고를 하거나 자동차가 브레이크를 밟아 감속시키는 장치입니다. 이를 위해서는 사물 인식 카메라나 전방 레이더 같은 장비가 필요하겠죠. 메르세데스 벤츠의 디스트로닉 플러스(DISTRONIC PLUS) 시스템은 감지 범위가 다른 세 개의 레이더와 한 개의 카메라를 이용해 전방 교통상황을 파악합니다(그림2). 두 개의 단거리 레이더와 한 개의 중장거리 레이더를 통해 감지하는데 중거리는 전방 60m 이내의 물체를 60도 범위 내에서 감지하고 장거리는 전방 200m 이내의 물체를 18도 범위 내에서 감지하고, 카메라는 최대 500m 거리의 물체를 35도 범위 내에서 감지합니다.

<그림2> 메르세데스 벤츠의 디스트로닉 플러스 시스템
C:\Users\sds\Downloads\08C646_20-1024x402.jpg
출처: jasonryu.net

다음은 운전 보조 장치(Advanced Driver Assistance System)입니다. 자동차에 장착된 센서가 위험 상황을 감지하여 사고 위험에 대해 드라이버에게 경고하게 되고 드라이버가 이를 인지하여 대처하도록 도와주는 안전장치를 말하는데 자율주행 자동차의 근간이 되는 기술입니다. 운전 보조 장치에는 전방 충돌 회피 기능이나 차선을 이탈했을 때 경고하는 기능, 후방의 상황이나 위험을 감시하는 기능이 있습니다.

Q: 여기까지는 지금 출시되는 자동차에서도 볼 수 있는 기능인 것 같습니다. 그림1의 3단계 정도까지로 보면 될 것 같은데 이보다 더 발전된 기술은 어떤 것이 있나요?

제일 먼저 커넥티드 카(Connected Car) 기술이 있습니다. 일반적으로 자동차가 인터넷에 연결될 수 있다는 의미입니다. 전화나 지도를 찾고 뉴스나 날씨, 실시간 교통정보를 드라이버에게 제공합니다. 보통 대시보드의 디스플레이를 통해 기능을 실행 할 수 있죠.

Q: 커넥티드 카 기술은 스마트 디바이스나 지금도 거의 되는 기술 아닌가요? 와이브로나 와이파이 등으로 연결하면 될 것 같은데요?

네, 좁은 의미로는 그렇습니다. 그런데 넓은 의미로는 자동차가 인터넷에 연결된다는 의미는 자동차가 주행에 필요한 주행 정보나 도로 정보 등을 실시간으로 전달받고 전달한다는 것입니다. 이 것은 자동차에 장착된 장비들을 통해 직접 수집해야 하는 정보도 인터넷을 통해 정보를 전달받을 수 있다는 점에서 매우 중요한 발전이라고 볼 수 있습니다. 그림3과 같이 커넥티드 카 기술이 접목되면서 그림1의 4단계로 한걸음 더 나갈 수 있다는 것이지요.

<그림3> 현대자동차 커넥티드 카 구현 기술
출처: 현대자동차

이 외에 주차보조 시스템, 차선 유지 보조 시스템 등이 자율주행 자동차에 사용되는 기술들로 알려져 있습니다. 그림4는 자율주행 자동차가 가지는 5대 서비스를 나타냅니다. 앞에서 얘기된 기술들이 접목되면 그림4와 같은 서비스가 가능하고 자율주행이 가능하다는 것이죠.

<그림4> 자율주행 자동차의 5대 서비스
출처: 산업통상자원부

다수의 자동차 회사에서 크루즈 컨트롤, 차선이탈 경보 시스템, 주차 보조 시스템 등을 제공하고 있는데 IT 기업이 추구하는 자율주행 자동차와 자동차 회사가 추구하는 방향은 다소 다른 점이 있습니다.

Q: 그러고 보니 최근에는 구글이나 애플은 물론이고 우리나라의 네이버도 자율주행 자동차를 얘기하고 있네요. 기존 자동차 회사의 자율주행 자동차와 어떤 차이점이 있을까요? 그런데 IT 회사에서 자동차 기술을 얘기하니 이해하기는 좀 어렵습니다.

IT 기업이 추구하는 자율주행 자동차는 운전면허가 필요 없는 자율주행 자동차를 목표로 하고 있습니다. 현재 잘 알려진 구글의 자율주행 자동차는 무인자동차로 핸들 자체가 없습니다. 이에 반해 기존 자동차 회사는 직접 운전하는 것을 기본으로 하지요.

<그림5> 구글의 무인자동차
출처: Google
구글의 경우 가속 페달과 운전대가 없는 자동차를 목표로 했지만 최근에는 이러한 결정을 잠시 미룬다는 발표도 있었습니다. 어쨌든 운전대나 가속 페달이 없는 자동차를 만드는 것도 가능하다는 것을 증명한 셈이 됐지요.
이번에는 자율주행 자동차가 나오면서 자동차 시장의 경쟁에 IT기업이 가세하게 되는지 얘기해 보겠습니다. 세계 최대 전기 자동차 회사인 테슬라는 프리미엄 스포츠카 급의 양산형 전기 자동차를 개발했습니다. 설립된 지 불과 십 수년 정도 되었는데 말이죠. 여기에 자율주행 소프트웨어인 오토 파일럿 시스템을 2015년부터 장착해 정기적인 무료 업그레이드도 해주고 있습니다. 차 안에 있는 터치스크린으로 차 전체를 관리하고 무선 네트워크를 통해 인터넷에 상시 접속되어 있습니다.
자동차 산업은 매우 기술집약적 산업으로 나름의 노하우가 없이는 진입하기 힘든 시장이었고 전세계적으로 자동차 회사가 몇 개 없을 정도였지만 지금은 그렇지 않습니다. 자율주행 자동차 때문에 그런 것인가라는 생각을 가질 수 있지만 두가지 관점으로 볼 수 있습니다. 먼저 자동차가 고유의 엔진에 의해 움직이던 것이 전기로 바뀌면서 단순하게 바뀌었다는 점입니다. 이 점이 자동차 산업의 장벽을 상당히 걷어냈다고 볼 수 있고, 두번째로는 자율주행 자동차 개념이 생겨나며 IT 회사가 참여하기 시작했다는 것입니다.

Q: 자동차의 고유한 기술이 전기로 바뀌면서 자동차 산업의 주요 관심이 IT 쪽으로 옮겨간다고 봐야겠네요?

네, 그렇게 보는 것이 맞을 겁니다. 구글은 자율주행 자동차가 드라이버의 간섭 없이 일반 도로에서도 주행이 가능한 수준에 도달한 것으로 알려져 있습니다. 여기에 기존의 안드로이드 기술과 합쳐지면서 “스마트 자동차 OS”가 나올 것으로 예상되고 있습니다. 이렇게 된다면 기존 자동차 회사들도 IT 회사에서 만든 소프트웨어들을 필수로 사용할 수 밖에 없는 것이죠. 자율주행이 아니더라도 주행 정보나 드라이버 편의를 위해서는 반드시 소프트웨어의 도움이 필요하기 때문입니다. 그림6에는 아직 IT 기업에서 만든 자동차가 없지만 조만간 진입 할 것으로 예측되는 이유도 소프트웨어가 절대적으로 필요하기 때문입니다.

<그림6> 세계 자동차 업계 자율주행기술 순위
C:\Users\sds\Downloads\20160502162419389981.jpg
출처: 내비건트 리서치

Q: 자율주행 자동차를 통해 소프트웨어가 절대적으로 필요하게 된 이유는 무엇인가요?

예상하시겠지만 최근에 자동차에 드라이버 편의 기능이 많이 탑재되고 있습니다. 많은 소프트웨어들이 자동차 안에서 사용하고 있지요. 그런데 중요한 것은 그러한 편의성만이 아니고 소프트웨어가 없으면 주행 자체가 어렵다는 것입니다.
자율주행 자동차의 대표적인 기능이라 할 수 있는 주행 정보 수집을 보죠. IoT를 사용하면 정보 자체는 수집할 수 있습니다. 하지만 수많은 정보가 실시간으로 수집되고 이 것을 분석해서 빠르게 판단해낼 수 있도록 해야 원활한 주행이 가능한데 우수한 소프트웨어가 없으면 어렵다는 거지요. 자율주행 자동차의 발전으로 인해 ITS라 불리는 지능형교통시스템(Intelligent Transportation System: ITS) 시장이 급성장하는 이유입니다.

<그림6> ITS 시스템
출처: ITS Korea

이 외에도 소프트웨어의 필요성은 많지만 정리를 하면 자동차가 움직이는 동안 발생하는 정보를 기초로 해서 드라이버처럼 또는 그 이상으로 판단을 하도록 해주는 것이 소프트웨어라고 생각하시면 될 것 같습니다.

Q: 전세계적으로도 몇 개 되지 않는 자동차 회사의 경계를 무너뜨리는 것도 소프트웨어의 힘이 작용하는 것 같습니다. 마무리를 부탁합니다.

자동차 산업 외에도 소프트웨어를 필요로 하는 산업은 계속 생길 겁니다. 왜냐하면 인간을 대신해서 자동화하는 요구가 지속적으로 늘어나고 있고 이러한 요구는 인간보다 더 정확하고 효율적인 결과를 나타내기 때문일 겁니다. 반복적인 일들은 기계들 스스로도 할 수도 있지만 쌓이는 정보나 상황에 따라 다양한 판단을 해야하는 일들은 소프트웨어에서 해결해줘야 하는 부분입니다. 자동차 산업도 마찬가지 이유로 소프트웨어 전문가를 많이 찾고 있는 겁니다. 소프트웨어 업계도 이러한 요구에 부응하기 위해서 다양한 산업을 체계적으로 접근하는 방법을 준비해야 할 때라고 생각합니다.


Keyword: software engineering, driving automation, intelligent transportation system, connected car, artificial intelligence