Waymo의 자율주행 소프트웨어 스택
웨이모 Driver의 소프트웨어 스택은 입력된 센서 데이터를 해석하고 주행 결정을 내리기 위한 일련의 모듈들로 구성되어 있습니다. 일반적으로 환경 인식(Perception) → 행동 예측(Behavior Prediction) → 경로 계획(Planning) → 제어(Control)의 단계를 거치며, 각 단계는 인공지능과 알고리즘 기법을 활용해 정교하게 동작합니다. 웨이모는 “AI가 스택 전체에 활용된다”고 밝힐 정도로(퍼셉션뿐 아니라 예측, 플래닝, 맵핑까지 딥러닝을 사용) 모든 주요 모듈에 기계학습 모델을 도입하여 성능을 높였습니다. 다음에서는 각 구성 요소의 기능과 구현 사례를 살펴봅니다[waymo.com].
1) Perception (환경 인식)
환경 인식 모듈은 멀티 센서로부터 입력된 방대한 데이터를 처리하여, 주변 환경의 객체와 의미적 요소들을 식별하고 상황을 이해하는 역할을 합니다. 구체적으로는 차량 주변의 차량, 보행자, 자전거, 오토바이 등의 3차원 객체 감지(3D Object Detection), 신호등이나 표지판 인지 및 해석(이미지 분류), 도로 차선과 주행 가능 영역 파악(시맨틱 분할 및 주행 가능 공간 검지) 등을 수행합니다.

웨이모 Driver의 퍼셉션은 라이다로 얻은 3D 포인트 클라우드와 카메라 영상 등을 함께 활용하여, 거리/속도 같은 기하학 정보와 색상/텍스처 등의 시각 정보를 모두 고려한 정교한 인식을 합니다. 이를 위해 웨이모는 딥러닝 기반의 객체 인식 기술을 광범위하게 적용하였는데, 과거 구글 브레인 팀과의 협업으로 보행자 감지에 신경망을 도입해 오류율을 100배 줄인 것이 대표적 성과입니다. 현재 웨이모는 3D 객체 탐지를 위한 맞춤형 신경망 아키텍처를 연구하여, 먼 거리의 물체도 정확히 잡아내면서도 실시간 처리에 적합한 효율적인 모델을 개발하고 있습니다. 예를 들어 웨이모 연구진은 원시 센서 데이터를 바로 사용하기보다는 폴리라인 그래프 표현으로 추상화하여 도로 지도 정보와 객체 궤적 정보를 효율적으로 처리하는 VectorNet이라는 그래프 신경망 기반 인식/예측 모델을 선보였는데, 이 접근은 기존의 이미지 기반 방법보다 계산량을 크게 줄이면서도 정확도를 향상시켰습니다[waymo.com].
퍼셉션 모듈은 이렇게 검출된 객체들에게 ID를 부여하고 시간에 따른 추적(tracking)을 수행하여 동적인 상황 변화를 파악합니다. 또한 시맨틱 분할을 통해 도로, 인도, 건물, 차선, 신호기 등 장면의 의미적 구성요소를 픽셀 단위로 구분함으로써, 주행 가능한 공간과 불가능한 영역, 정지선이나 횡단보도와 같은 요소들을 이해합니다. 웨이모의 풍부한 고정밀 지도 정보는 이러한 인식 결과에 문맥(context)을 더해주는데, 예컨대 인식 결과 한 교차로에 정지한 차량이 있다면 HD맵을 통해 해당 차량이 STOP 사인을 가진 도로에 있음을 알고 상황을 더 정확히 판단합니다. 퍼셉션 모듈의 최종 출력은 주변 환경에 대한 정합된 인지 결과로서, 이후 단계인 예측과 계획에서 활용될 종합적인 상황 모델을 형성합니다. 웨이모는 이 퍼셉션 능력이 자율주행 기술의 가장 기초적인 요소이므로 지속적으로 연구를 투입하고 있으며, 라벨링 데이터 절감을 위한 멀티태스크 학습 등 최첨단 기법을 도입해 성능을 높이고 있다고 밝혔습니다
.
2) Behavior Prediction (행동 예측)
행동 예측 모듈은 주변의 동적 객체들(다른 차량, 보행자, 자전거 등)이 앞으로 어떻게 움직일지를 짧은 미래 시계열로 예측합니다. 안전한 주행을 위해서는 주변 객체의 의도를 미리 파악하는 것이 필수이며, 예를 들어 “앞차가 차선을 변경할 것인가?”, “횡단보도 앞의 보행자가 건널 것인가?” 등을 확률적으로 예측해야 합니다[waymo.com].
웨이모 Driver의 예측 시스템은 과거 궤적 데이터와 지도 정보를 함께 활용하여, 각 객체의 향후 위치 분포를 시간의 함수로 추정합니다. 이때 도로의 형태(차선 구성, 교차로 구조), 교통 규칙(신호등, 일시정지 표지 등)과 각 객체의 현재 동작(속도, 가속도, 방향)을 종합적으로 고려하는데, 이러한 맥락 정보를 모델에 효율적으로 주입하기 위해 웨이모는 딥러닝 기반의 그래프 모델을 적용했습니다[waymo.com]. VectorNet이라 불리는 웨이모의 행동예측 모델은 지도 요소(차선 경로 등)와 객체 궤적을 폴리라인(vector) 형태로 표현하고, 이를 그래프 신경망으로 학습함으로써 장거리 관계까지 포괄하는 상황 이해를 구현합니다. 이 접근은 전통적으로 지도 이미지를 CNN으로 처리하던 방식보다 계산 효율이 높으면서도, 도로의 장기 기하구조(예: 수백 미터 앞에서 합류하는 차선 등)를 놓치지 않고 모델링할 수 있는 장점이 있습니다.
결과적으로 웨이모 Driver는 다른 차량이나 보행자의 잠재 경로를 다수의 시나리오로 예측하고(예: 좌회전할 가능성 x%, 직진할 가능성 y% 등), 각 시나리오에 대한 확률값을 산출합니다. 예측 모듈은 또한 주변 객체들이 규칙을 어길 가능성도 염두에 두는데, 이는 실제 도로에서는 모든 운전자가 교통법규를 완벽히 따르지 않기 때문입니다. 웨이모는 광범위한 실제 주행 데이터를 통해 학습함으로써, 다른 운전자의 복잡한 패턴이나 가끔 발생하는 비정상 행동까지도 포착하려고 합니다.
예를 들어 좁은 도로에서 마주 오는 상대 차량이 우리 차에 길을 양보할 것인지, 무리해서 지나갈 것인지 등의 미묘한 의사결정도 주변 차량의 움직임과 도로 구조를 바탕으로 예측하게 됩니다. 이렇게 생성된 행동 예측 결과는 다음 경로 계획 단계에서 각 상황에 대비한 운행 계획을 수립하는 기반이 됩니다. 웨이모 Driver의 행동 예측 능력은 업계 최고 수준으로 평가받고 있으며, 실제로 어려운 주행 시나리오에서 안정적인 대응을 가능케 한 주요 요소로 꼽힙니다[waymo.com]
.
3) Planning (경로 계획)
경로 계획 모듈은 퍼셉션과 예측 모듈로부터 얻은 정보를 바탕으로, 자차(Ego Vehicle)가 앞으로 어떤 경로로 주행할지를 결정합니다. 이는 전역적인 경로(목적지까지의 전체 경로 선택)와 단계별 주행 경로(현재 상황에서 다음 몇 초간의 차량 이동 경로)의 결정으로 나뉘는데, 일반적으로 웨이모 Driver는 HD 지도와 목적지를 활용해 전반적인 경로를 설정하고, 실시간으로 단기 주행 경로를 지속적으로 업데이트합니다. 계획 단계의 가장 중요한 목표는 안전하고 효율적인 경로를 찾는 것입니다. 구체적으로, 예측된 다른 객체들의 움직임을 고려하여 충돌을 회피하고 교통법규를 준수하며, 승객이 탑승했다면 승차감과 쾌적함도 고려한 주행 궤적을 생성합니다. 웨이모의 경로계획에는 전통적인 최적화 기법과 규칙기반 알고리즘, 그리고 최근에는 학습 기반 기법이 모두 활용됩니다. 예를 들어 Waymo 연구팀이 발표한 ChauffeurNet은 운전자 행동을 모방 학습하여 주행 경로를 생성하는 딥러닝 RNN 모델로서, 새 맵 상의 주행환경을 래스터라이즈한 새로운 표현을 입력받아 차량의 미래 경로를 출력하는 시도를 보여주었습니다[waymo.com].

이 모델은 반복적으로 한 점씩 미래 경로를 그려나가는 RNN으로, 최종적으로 수 초에 걸친 예상 궤적을 만들어내고, 저수준 제어 모듈이 이를 따라가도록 합니다. 실제 웨이모 Driver의 상용 계획 모듈은 이와 같은 학습된 정책과 더불어, 규칙 기반 안전 컨스트레인츠를 결합하여 운행합니다. 즉, 머신러닝이 제안한 경로라도 안전 규칙(예: 차선을 유지해야 함, 중앙선을 넘지 말아야 함, 정지 신호에서는 반드시 정지 등)을 어기는 경우 채택되지 않도록 다단계로 검증합니다.
경로 계획 결과는 시간에 따라 변하는 일련의 차량 위치 및 속도 프로파일로 표현되며, 보통 수초 이내의 horizon을 갖고 주기적으로 재계산됩니다 (상황이 바뀔 때마다 즉각 재계획). 웨이모는 경로 계획의 안전성 검증을 위해 막대한 노력을 기울이고 있는데, 실제 도로 테스트에서 수집된 데이터로 가상 시나리오 시뮬레이션을 수행하여 계획 알고리즘을 개선하는 피드백 루프를 운용합니다[venturebeat.com].
예를 들어 사람이 개입한 디스인게이지(disengagement) 이벤트가 발생하면, 해당 순간 자율주행 시스템이 개입 없이 계속 주행했을 경우 어떤 일이 벌어졌을지를 시뮬레이트 하는 반사실(counterfactual) 분석을 합니다. 이때 잠재적으로 충돌이나 위험 상황이 발견되면, 엔지니어들은 그 사례를 바탕으로 소프트웨어 로직을 개선하고 해당 시나리오를 시뮬레이션 테스트 세트에 추가하여 향후 소프트웨어 버전에서 재발 여부를 검증합니다. 이러한 과정을 통해 웨이모의 주행 정책은 점차 보강되며, 실제 운행에서 문제 소지가 있는 경로는 걸러지고 안전 여유를 충분히 두는 보수적 경로가 선택되도록 진화해왔습니다. 덧붙여 웨이모 Driver는 자신의 한계도 인지하도록 설계되어 있어서, 센서가 완전히 보지 못하는 사각 영역에 대해서는 속도를 줄이는 등 방어운전을 합니다
4) Control (제어 시스템)
제어 모듈은 계획 단계에서 산출된 주행 경로를 실제 차량의 조향 및 속도로 제어(control)하도록 만드는 하위 시스템입니다. 이 모듈은 차량의 조향각, 가속 페달, 브레이크 등을 제어하는 명령을 초당 수십 회 이상 생성하여, 계획된 경로를 따라 부드럽고 안전하게 움직이도록 합니다. 웨이모 Driver의 제어 시스템은 일반적인 자동주행차와 마찬가지로 종방향 제어(속도 및 간격 조절)와 횡방향 제어(조향 각도 조절)로 구성되며, 차량의 운동학 모델을 활용한 피드백 제어를 수행합니다. 예를 들어, 목표 속도에 도달하기 위해 가속도를 조절하거나 목표 궤적을 따르기 위해 조향각을 미세 조정하는 등의 작업을 합니다. 상위 계획 모듈로부터는 보통 “1초 후 목표 위치/속도”와 같은 형식의 궤적 점열(points) 또는 연속 경로가 전달되는데, 앞서 언급한 ChauffeurNet 연구의 경우 10개의 미래 경로 점을 예측하여 제어모듈에 전달하면, 이 제어 모듈이 이를 차량 명령으로 변환하는 방식을 취했습니다[waymo.com].
제어 시스템은 실시간성과 안전성이 특히 중요하기 때문에, 웨이모는 자동차 산업에서 검증된 안전 메커니즘들을 적용했습니다. 예를 들어 주요 제어 장치에 이중화된 회로와 소프트웨어를 두어 하나에 이상이 생겨도 즉시 백업 모드로 전환하고, 브레이크/조향 등의 핵심 액추에이터는 별도의 페일-세이프(fail-safe) 장치를 통해 언제든지 안전 정지할 수 있도록 합니다[automotivedive.com].
또한 제어기는 차량 내 다양한 센서(속도계, 관성센서 등)로부터 상태를 지속 모니터링하여, 계획 경로와 실제 차량 움직임 간 오차를 최소화하도록 피드백 루프를 돌립니다. 웨이모 차량은 사람이 운전할 때와 유사하게 부드러운 가/감속과 안정된 조향을 구현하기 위해 모델 예측 제어(MPC) 등 고급 기법도 활용하고 있는 것으로 알려져 있습니다. 그리고 승객의 승차감을 해치지 않도록 급가속이나 급제동을 피하고, 동시에 돌발 상황에서는 즉각 최대 성능으로 제동을 걸 수 있도록 튜닝되어 있습니다.
요약하면, 제어 모듈은 계획된 주행경로를 현실에서 정밀하게 재현하는 역할을 하며, 웨이모 Driver의 실질적인 차량 조종자로 기능합니다. 이 부분의 완성도 덕분에 웨이모 차량은 일반 운전자의 스타일에 가깝게 자연스럽고 안정적으로 움직이며, 수 센티미터 이내의 정밀도로 차선을 지키고 장애물을 피할 수 있습니다.
* Behavior Model

Waymo의 Behavior Model은 도로 위 여러 주체(agents)와 주변 환경을 심층 신경망(Deep Neural Network)으로 학습하여, 각 객체가 앞으로 어떻게 움직일지를 예측하는 시스템입니다. 이때 World State(세계를 표현하는 상태)가 모델의 핵심 입력으로 작용하며, 구체적으로 다음 요소들로 구성됩니다:
1) World State
Agent State History
• 차량, 보행자, 자전거 등 모든 “에이전트”의 과거 위치·속도·가속도 등의 정보가 포함됩니다.
• 일정 시간 동안의 히스토리를 모아서, 각 에이전트가 어떻게 이동해 왔는지를 모델에 전달함으로써 향후 움직임 예측 정확도를 높입니다.
Traffic Light
• 교차로·횡단보도·도로 위 신호등 상태(빨간 불, 초록 불, 화살표 신호 등)와 신호 변경 타이밍 등을 포함합니다.
• 신호 정보는 에이전트(차량, 보행자 등)가 어떻게 반응·이동할지를 결정짓는 주요 요인이므로, 모델 예측에 중요한 역할을 합니다.
Road Network
• 도로 구조(차선, 차선 수, 속도 제한, 합류·분기, 교차로 구성 등)와 지리적 맥락이 담긴 맵 정보가 포함됩니다.
• 각 차선의 곡률·폭, 교차로 연결 방식 등을 활용해 에이전트가 이동 가능한 경로와 주행 제약을 모델이 이해하게 됩니다.
2) Deep Neural Network (DNN) 구조
• Waymo는 이러한 World State를 종합하여 심층 신경망에 입력하고, Behavior Model이 에이전트의 미래 위치·속도 등 “행동 궤적”을 예측하도록 학습합니다.
• 네트워크는 CNN, RNN, Transformer 등 다양한 딥러닝 기법을 병합 또는 변형해 사용하며, 시공간 정보를 반영해 복잡한 교통 상황에서의 상호작용(Interaction)을 효과적으로 처리합니다.
3) Agents
• 모델이 다루는 “에이전트”는 도로 위 모든 이동 객체(차량, 버스, 트럭, 보행자, 자전거 등)를 포함합니다.
• 에이전트마다 상태(위치, 속도, 가속도, 차선 점유, 차량 형태 등)와 히스토리가 주어지며, Behavior Model은 이 정보를 바탕으로 “어떤 경로를 택할 것인가?”, “언제 멈추거나 좌회전할 것인가?” 등을 확률적으로 추론합니다.
요약하면
Waymo의 Behavior Model은 World State에 담긴 에이전트 과거 움직임(Agent State History), 교통 신호(Traffic Light), 도로 구조(Load/Road Network) 정보를 딥러닝으로 통합 처리하여, 모든 객체(Agents)의 미래 행동을 예측합니다. 이렇게 나온 예측 결과는 자율주행차의 경로 계획(Planning)과 안전한 주행 의사결정에 직접 활용되어, 다양한 교통 상황에서 사람처럼 유연하고 정확하게 대응할 수 있도록 돕습니다.