바로가기 메뉴
메인 메뉴로 바로가기
본문으로 바로가기

2020.08.18 Tech

컴공과가 로봇 전문가로 전향한 이유

매일 수많은 사용자들의 목소리를 들으며 새로움에 도전하는 네이버 직원들이 자신이 하고 있는 업무와 생각, 그리고 경험들을 직접 소개하는 네이버 연재 칼럼, [네피셜]에 소개된 네이버랩스 이진한님의 이야기입니다.

누구나 자율주행 로봇들이 도로 위를 익숙하고 자연스럽게 움직이는 세상을 그려본 적 있을 겁니다. 저 역시도 그렇고요. 멀지 않은 미래에는 스스로 이동하는 공간들이 정보와 서비스, 상품 등을 담고 지금까지와 다른 새로운 연결들을 만들어 나갈 테죠.

그리고 이런 세상은 네이버랩스가 발표한 미래상 ‘A-CITY’와도 맥락을 같이 합니다. 저 또한 그 세상을 여는데 함께 하고 싶다는 열망을 가지고 있습니다. 그래서 저는 네이버에서 ‘도로 위를 달리는 자율주행 로봇을 연구’하는 개발자로 지금도 열심히 달려가고 있습니다.

간략한 소개처럼, 제가 하는 일의 대부분은 자율주행과 관련하여 팀에서 진행할 프로젝트의 목표에 대해서 고민하고 개발 방향과 범위를 정하는 일입니다. 여기서는 이 분야에 관심있는 많은 분들(이라고 쓰고 예비 네이버랩스인이라고 읽는다)을 위해 제가 네이버랩스에서 자율주행을 연구하게 된 계기와 저희 팀에서 하는 일, 자율주행 SW 기술/시스템 개발에 대해서 이야기를 소개해보려고 합니다.

컴퓨터과학 전공자가 로보틱스 전문가로 전향한 이유

과거를 돌이켜보면 저는 그렇게 큰 목표로 자율주행 개발을 시작하지는 않았던 것 같습니다. 전공을 컴퓨터 과학으로 시작했었는데 석사 1년차에 우연히 로봇 수업을 듣다 처음으로 로봇을 만났습니다. 소니에서 만든 아이보라는 강아지 로봇이었습니다. 수업에서는 아이보가 공을 찾고 공을 따라가는 주어진 SW를 수정하는 정도의 난이도의 과제를 주었는데 지금 생각하면 그리 대단하지 않았던 과제인 것 같지만, SW 알고리즘으로 로봇을 행동을 바꿀 수 있는 점이 그 당시 저에게 큰 매력이었습니다. 심지어 이 로봇을 만나고 저는 진로를 Robotics로 바꾸게 되었습니다. 우연한 경험이 만든 운명인 셈이죠.

출처: Sony AIBO

진로를 바꾸면서 만난 연구실에서는 DARPA에서 주관하는 LAGR 프로젝트에 참가하고 있었습니다. 당시 지도 교수님께서 “직접 한 번 해볼래?”하며 프로젝트 참가를 권유해 주셨고 저는 Outdoor용 Navigation 알고리즘 개발을 시작하면서 자율주행을 시작하게 되었습니다. 그 때가 2005년도이니, 15년이 넘었네요. (참고로, DARPA Grand Challenge가 2004년도에 있었으니 지금 생각해보면 자율주행 분야에 꽤 빨리 몸 담았던 것 같습니다.)

출처: DARPA LAGR Robot

(영화에서 보면 쉽던데…) 자율주행, 그거 어려운 거에요?

먼저 이미 정말 많이 들어 아시겠지만, 다시 한번 자율주행 기술에 대한 설명을 해보겠습니다.

한 마디로 자율주행 기술은 로봇이나 차량과 같은 플랫폼이 스스로 이동할 수 있게 하는데 필요한 모든 기술들의 모음입니다. 매핑·측위·인지·예측·계획 등 다양한 분야의 기술들이 모두 해결돼야 하는, 마치 종합예술과도 같죠. 이 기술들을 나눠서 생각해 보면 플랫폼의 위치를 순간 순간 추정하는 기술(Localization), 플랫폼의 이동 경로 주변의 이동체들과 정적인 장애물들을 위치와 속도를 추정하는 기술(Perception), 주변 이동체들의 이동 경로를 예측하는 기술(Prediction), 주어진 목적지까지 안전하게 이동할 수 있도록 플랫폼의 행동을 결정하고 최적의 경로를 생성하는 기술(Decision Making & Planning), 플랫폼이 주어진 경로를 잘 따르도록 하는 제어 기술(Control)로 나눌 수 있고 각 기술들의 신뢰성과 정확도를 높이기 위해서 환경 정보를 사전에 얻어서 잘 정돈된 그릇에 담는 기술(HD Mapping)이 있습니다.

그리고, 자율주행 기술은 다양한 종류의 여러 센서들(카메라, 라이다, Radar, GPS Receiver, Wheel Encoder, IMU등)로 부터 얻은 데이터를 기반으로 작동하기 때문에 센서 Intrinsic / Extrinsic Calibration 알고리즘 및 시스템을 갖추는 것은 중요합니다. 그리고 가끔은 당연히 주어진다고 생각하는 플랫폼의 센서 /제어 / 배터리 등을 관리하는 시스템을 개발하는 것도 필요합니다.

그 외에도 개발된 각 기술들을 모듈 또는 시스템 단위로 테스트하고 검증하는 것(Testing & Validation)도 기술을 개발하는 것 만큼 중요합니다. 플랫폼을 실 도로 환경에서 운용하기 위해서는 궁극적으로는 실 도로 환경에서 플랫폼을 테스트하고 검증하는 것이 필요하지만 도로에서 마주칠 수 있는 다양한 환경 및 주행 상황들을 사전에 시뮬레이션 상에서 테스트하고 문제가 없음을 확인하는 과정이 필요합니다.

자율주행에 필요한 것들을 하나 하나 나열하고 보니, 정말 많은데요. 제대로 기술을 개발하기 위해서는 모두 중요하기 때문에 하나도 빠뜨릴 수 없습니다. 재미있는 점은 저희는 대부분의 기술을 개발하고 있다는 점입니다. (이것이 얼마나 중요한지는 앞선 네.피.셜에서 소개드렸으니, 따로 더 설명드리진 않겠습니다!)

관련 글 : [네피셜] 로봇이 보는 세상은 어떤 모습일까

자, 그래서 중요한 건 ‘이거’야. 자율주행을 위한 센서이자 브레인, HD맵

HD맵은 한 마디로, 자율주행 플랫폼의 머리 또는 또 하나의 센서입니다. 조금 더 자세히 알아볼까요? 도로에서 이동하는 자율주행 플랫폼은 현재 위치에서 이동하고자 하는 곳까지 갈 수 있는 차선 단위의 경로를 만들기 위해서 도로에 대한 정보가 필요합니다. 이 정보는 차선 단위의 형상 및 연결성, 교차로, 및 신호등 등의 종합정보로 일반 내비게이션에서 길 찾기할 때 쓰는 도로 정보보다 훨씬 자세하고 정밀합니다.

자율주행을 하는 머신의 경우에는 사람 수준의 인지/행동 능력을 갖고 있지 않기 때문에 훨씬 더 많은, 상세한 정보가 필요하죠. 이 정보의 정밀도가 자율주행의 품질을 결정합니다. HD맵이 도로 자율주행연구에 필수적인 이유입니다.

HD맵은 만드는 회사마다 데이터의 형태는 다르지만, 공통점은 안에는 Localization, Decision Making & Planning, Perception등에서 필요한 정보를 담고 있습니다. 네이버랩스의 HD맵은 아래의 그림과 같이 도로 형상 정보 및 연결성 정보를 담고 있는 Road Layout, 도로의 정적인 장애물 정보를 담는 Point Cloud Feature와 카메라 기반의 Localization을 위한 Visual Feature로 나뉩니다.

네이버랩스는 자율주행 연구 시작 시점부터 HD맵 솔루션을 함께 연구해 왔습니다. 그 결과가 하이브리드 HD 매핑입니다. 항공사진과 MMS 데이터를 융합해 고정밀 지도를 만드는 독창적인 기술입니다. 항공 사진 맵핑 기술을 이용하여 Road Layout정보를 더욱 빠르게 획득할 수 있으며, 정확한 위치 정보를 갖는 항공 사진과 MMS차량의 센서 데이터를 Registration하여 위치가 매우 정확한 Feature를 생성해냅니다. 도심 단위 대규모 영역의 HD맵을 빠르고 정확하게 제작하는데 효과적인 방식입니다.

네이버랩스 ‘자율주행 개발자’에게 반드시 따라 오는 질문 두 가지

네이버랩스에서 목표하는 자율주행 기술은?

네이버랩스에서 목표하는 자율주행 수준을 SAE Level로 알려달라는 질문을 자주 받습니다. 이 Level이 갖는 의미는 기술에 대해서 한마디로 정의할 수 없지만 어느 수준을 목표로 하는지에 대해서 확인하기 좋은 지표입니다. 일반 자동차에서 지원하는 ADAS 기능은 SAE Level 2에 해당합니다. 그리고 도심 주행을 하기 위해서는 Level 4 정도의 기술을 목표해야 합니다. 저희 팀에서는 현재 “Level 5 자율주행 SW 개발” 프로젝트를 진행하고 있습니다. Level 5는 자율 주행의 SAE Level의 마지막 단계로 사람의 개입이 전혀 없이 모든 문제를 처리할 수 있는 기술의 단계입니다. 저희가 Level 5를 목표하는 것이 완벽하게 Level 4에 이미 도달했다는 의미는 아닙니다. 저희가 개발하고 있는 무인 로봇 플랫폼 ALT에 필요한 사람의 개입을 요구하지 않는 자율주행 기술을 개발한다는 의지의 표현이고 마음가짐입니다.

자율주행하면 논문 쓰고 연구도 많이 하나요?

자율주행을 업으로 삼고 있는 개발자들에게 다행인지 불행인지 자율주행 문제는 아직 풀리지 않았습니다. 당면한 자율주행 문제를 풀다보면 이미 풀려 있는 해법이 없어서 관련 최신 논문을 읽거나 스스로 연구를 해야 하는 경우가 매우 흔합니다. 그래서인지 여전히 컴퓨터 비전, 머신 러닝, 로보틱스 학회에서 자율주행 관련된 많은 논문들이 게재되고 있는 상황입니다. 상황이 이렇다 보니 저희는 연구를 하기 위해서 문제를 만들 필요가 없을 정도로 이미 연구가 필요한 많은 현실적인 문제를 가지고 있습니다. 그래서 저는 자율주행 팀에서 하는 모든 일이 모두 연구라고 생각합니다. 학교에 있을 때만큼 논문을 많이 쓰지는 않지만 연구와 개발을 구분짓지 않고 재밌게 일하고 있습니다.

다름을 존중하고, 책임소재보다 해법을 함께 찾는 네이버랩스의 문화

제가 네이버 랩스에 입사해서 정말 좋다고 느낀 점들이 몇 가지 있습니다. 그 중 한 가지가 다름을 인정하고 서로를 존중하는 문화입니다. 어떤 문제가 주어졌을 때 문제를 풀 수 있는 방법이 한 가지 이상인 경우가 대부분입니다. 저희 팀은 정말 다양한 전공과 배경의 개발자들이 모여 있기 때문에 같은 문제를 보는 시각이 다르고 푸는 해법 또한 많이 다릅니다.

이 다름을 어떻게 대하는지가 중요하다고 생각합니다. 과거의 경험을 보면 다름을 틀림으로 대하면서 사람들 간에 불협화음이 생겼던 것 같습니다. 이전에는 다름을 인정하는 것에 익숙하지 않았던 저도 다름을 인정하는 문화 속에서 생각해 보지도 못한 좋은 해법이 나오는 것을 경험해 보았습니다. 그 경험들이 차곡차곡 하나하나씩 쌓여 동료에 대한 신뢰를 쌓을 수 있는 바탕이 되는 것 같습니다.

또 한 가지 좋은 점은 열정적으로 책임을 지는 문화입니다. 앞서 이야기한 것처럼 자율주행에 많은 크고 작은 문제들이 존재하고 이 문제들은 서로 얽히고 설켜 있습니다. 문제들을 각자 풀다 보면, 문제들이 맞닿는 접점에서는 문제가 생기면 누가 풀어야 할 지 애매한 상황이 존재하기도 합니다. 이런 상황에서 문제가 잘 안 풀리기라도 하면 상황은 좀 더 곤란해 질수 있습니다. 제가 랩스 동료 분들께 고마운 점은 이런 상황이 되면 모두가 안 풀리는 문제를 풀기위해서 집중하지, 책임 소재를 찾으려고 하지 않는다는 점입니다. 프로젝트를 여러 번 진행하면서 같이 하는 동료들이 책임감을 가지고 자신이 풀어야 하는 문제를 정의하고 풀어나가는 모습을 많이 보았는데요. 이렇게 좋은 동료들과 같이 일을 할 수 있는 기회를 얻은 것이 행운이라는 생각을 자주 합니다.

쓰다보니 분량 조절에 실패했다, 그래도 마무리는 한다

신명나게 제가 하는 일, 그리고 네이버랩스가 하는 일에 대해 설명했지만, 정작 자율주행을 현실화하기 위해서는 아직 풀어야 하는 문제도 많고 갈 길이 멉니다. 좋은 분들과 함께 하기 때문에 가는 길이 꽤 즐겁다는 말로 이 글을 끝내며, 네이버랩스의 채용에 많은 관심을 가져주시길 부탁드립니다.

Career 페이지 바로가기 >

Related Articles