판단은 현재가 아니라 미래에서 시작된다
자율주행차가 도로를 달릴 때 가장 중요한 질문은 이것이다. 지금 내 앞에 무엇이 있는가가 아니라, 몇 초 뒤 어디에서 위험이 생길 것인가.
센서와 인지 기술은 현재 장면을 만든다. 앞차의 위치, 보행자의 방향, 차선의 모양, 신호등 상태, 우리 차의 위치를 알려준다. 그러나 주행 판단은 현재 장면만으로 끝나지 않는다. 앞차가 급정거할 수 있고, 보행자가 횡단보도로 들어올 수 있으며, 옆 차선의 차량이 우리 앞으로 끼어들 수 있다. 따라서 자율주행 시스템은 현재 상태를 바탕으로 여러 가능한 미래를 계산한다.
이 과정을 크게 두 단계로 나눌 수 있다. 첫째는 예측이다. 주변 차량, 보행자, 자전거가 앞으로 어떻게 움직일지 추정한다. 둘째는 경로 계획이다. 그 예측을 고려해 우리 차가 어떤 속도와 방향으로 움직일지 결정한다.
여기서 중요한 점은 예측이 하나의 정답을 맞히는 작업이 아니라는 것이다. 사람의 행동은 불확실하다. 보행자는 기다릴 수도 있고, 갑자기 건널 수도 있다. 옆 차량은 양보할 수도 있고, 속도를 올릴 수도 있다. 그래서 자율주행차는 하나의 미래가 아니라 여러 개의 가능한 미래를 만들고, 각각의 위험도를 계산한다.
AI 생성 이미지
횡단보도 앞 보행자를 어떻게 판단할까
가장 단순해 보이지만 실제로 어려운 장면을 생각해 보자. 자율주행차가 시속 30킬로미터로 주행하고 있다. 전방에는 횡단보도가 있고, 그 근처에 보행자 한 명이 서 있다. 보행자는 아직 도로에 들어오지 않았다.
이때 차량이 선택할 수 있는 행동은 대략 세 가지다. 그대로 통과한다. 속도를 줄인다. 완전히 정지한다.
사람 운전자는 보행자의 얼굴 방향, 발의 움직임, 주변 차량 흐름, 횡단보도 신호, 도로 폭, 자신의 속도를 종합해 판단한다. 자율주행차도 비슷한 정보를 계산 가능한 형태로 바꾼다. 보행자의 현재 위치, 횡단보도까지의 거리, 몸의 방향, 최근 몇 초간의 이동 경로, 신호 상태, 우리 차가 정지하는 데 필요한 거리, 뒤차와의 거리 등을 함께 본다.
예측 모듈은 몇 가지 가능성을 만든다. 보행자가 그대로 서 있을 가능성, 천천히 횡단보도로 들어올 가능성, 뛰어서 건널 가능성이다. 경로 계획 모듈은 각 가능성에서 충돌 위험을 계산한다. 만약 보행자가 한 걸음만 움직여도 우리 차의 예상 경로와 겹친다면, 그대로 통과하는 선택은 위험해진다. 이때 시스템은 감속하거나 정지할 준비를 한다.
중요한 것은 자율주행차가 보행자의 의도를 완벽하게 읽지 못해도 안전하게 행동해야 한다는 점이다. 확신이 낮으면 속도를 낮춘다. 보행자가 실제로 건너지 않더라도 감속은 비교적 작은 손실이다. 반대로 보행자가 건너는데 통과를 선택하면 결과는 치명적일 수 있다. 그래서 횡단보도 주변에서는 이동 시간보다 안전 여유가 우선한다.
다만 항상 정지하는 것도 좋은 해결은 아니다. 보행자가 도로와 충분히 떨어져 있고, 보행자 신호가 적색이며, 차량 흐름이 안정적이라면 불필요한 정지는 뒤차의 급제동을 유발할 수 있다. 좋은 판단은 무조건 멈추는 것이 아니라, 위험의 크기와 불확실성에 맞게 속도를 조정하는 것이다.
예측은 왜 어려운가
도로 위 물체 중 일부는 비교적 예측하기 쉽다. 차선 중앙을 일정한 속도로 달리는 앞차는 짧은 시간 동안 현재 속도와 방향을 유지할 가능성이 크다. 하지만 상호작용이 많은 상황에서는 예측이 급격히 어려워진다.
차선 변경을 보자. 옆 차선 차량이 방향지시등을 켰다면 끼어들 가능성이 커진다. 그러나 방향지시등을 켜지 않고도 차선을 바꾸는 차량이 있고, 방향지시등을 켜고도 그대로 가는 차량도 있다. 차량의 위치가 차선 경계에 가까워지는지, 앞차와의 간격이 줄어드는지, 주변 속도 흐름이 어떤지까지 함께 봐야 한다.
고속도로 합류 구간도 어렵다. 합류 차량은 본선 차량의 속도를 보고 들어오고, 본선 차량은 합류 차량을 보고 감속하거나 차선을 바꾼다. 서로가 서로의 행동을 바꾸는 구조다. 한쪽의 미래가 고정되어 있지 않기 때문에 단순한 직선 예측만으로는 충분하지 않다.
비보호 좌회전은 더 복잡하다. 자율주행차가 좌회전을 하려면 맞은편 직진 차량, 횡단보도 보행자, 뒤따르는 차량, 신호 주기, 교차로 안의 정체 상태를 함께 고려해야 한다. 맞은편 차량이 감속하는 이유가 양보인지, 단순한 교통 흐름 때문인지도 구분해야 한다.
회전교차로에서는 진입 차량과 회전 중인 차량 사이의 암묵적 규칙이 중요하다. 누가 먼저 들어갈지, 어느 차량이 다음 출구로 빠질지, 진입하려는 차량이 실제로 멈출지 등을 짧은 시간 안에 판단해야 한다. 이런 상황에서는 도로 규칙만으로 충분하지 않고, 주변 운전자의 행동 패턴까지 고려해야 한다.
예측이 어려운 이유는 결국 사람의 의도가 센서에 직접 보이지 않기 때문이다. 센서는 위치와 속도를 측정하지만, 양보하려는 마음이나 급하게 끼어들려는 의도는 직접 측정하지 못한다. 자율주행차는 관측 가능한 움직임을 통해 의도를 추정할 뿐이다.
경로 계획은 여러 층으로 나뉜다
경로 계획이라고 하면 지도 위에 선 하나를 그리는 장면을 떠올리기 쉽다. 실제 시스템은 보통 여러 층으로 나누어 계획한다. 멀리 있는 목적지까지의 길을 고르는 일과, 지금 이 순간 차선을 바꿀지 판단하는 일과, 실제 조향·가속·제동으로 이어질 부드러운 움직임을 만드는 일은 서로 다른 문제이기 때문이다.
가장 위에는 전역 경로 선택이 있다. 목적지까지 어느 도로를 이용할지 정한다. 내비게이션의 역할과 비슷하다. 그 아래에는 행동 계획이 있다. 현재 차선을 유지할지, 차선을 바꿀지, 정지할지, 양보할지, 추월할지를 결정한다. 마지막에는 궤적 계획이 있다. 선택한 행동을 실제 차량이 따라갈 수 있는 위치, 속도, 가속도의 연속된 곡선으로 바꾼다.
예를 들어 앞에 느린 차량이 있을 때, 시스템은 먼저 목적지 경로상에서 추월이 필요한지 판단한다. 그다음 왼쪽 차선으로 변경할 수 있는지 본다. 옆 차선 차량의 예측 궤적과 우리 차의 예상 궤적이 겹치지 않는지 계산한다. 가능하다고 판단되면, 조향각과 가속도가 너무 급하지 않도록 부드러운 차선 변경 궤적을 만든다.
좋은 계획은 단지 충돌하지 않는 경로가 아니다. 법규를 지키고, 승객이 불편하지 않으며, 다른 도로 사용자에게 예측 가능한 움직임을 보여야 한다. 너무 늦게 방향을 틀거나, 갑자기 멈추거나, 지나치게 천천히 머뭇거리면 주변 차량도 대응하기 어려워진다.
규칙 기반, 최적화 기반, 학습 기반 계획
자율주행의 계획 알고리즘은 하나의 방식으로만 이루어지지 않는다. 실제 시스템은 여러 방식을 섞어 쓴다. 대표적으로 규칙 기반 계획, 최적화 기반 계획, 학습 기반 계획이 있다.
규칙 기반 계획은 사람이 정한 조건과 규칙에 따라 행동을 선택한다. 예를 들어 앞차와의 시간 간격이 일정 기준 이하로 줄어들면 감속한다, 정지선 앞에서는 멈춘다, 보행자가 횡단보도에 진입하면 정지한다 같은 방식이다. 장점은 설명하기 쉽고 검증하기 비교적 쉽다는 것이다. 단점은 모든 예외 상황을 규칙으로 미리 적기 어렵다는 것이다. 도로에서는 규칙과 규칙이 충돌하는 장면도 자주 나온다.
최적화 기반 계획은 여러 후보 경로를 만들고 점수를 매긴 뒤 가장 좋은 경로를 고른다. 점수에는 충돌 위험, 차선 중심과의 거리, 목표 속도와의 차이, 가속도의 크기, 조향 변화량, 법규 위반 가능성 등이 들어간다. 이 방식은 안전거리, 승차감, 이동 시간 같은 목표를 하나의 비용 함수로 다룰 수 있다. 단점은 비용을 어떻게 설계하느냐에 따라 행동이 달라지고, 계산 시간이 제한되어 있다는 점이다.
학습 기반 계획은 많은 주행 데이터에서 사람 운전자의 판단이나 성공적인 주행 패턴을 배워 행동을 결정한다. 복잡한 상호작용을 데이터로부터 익힐 수 있다는 장점이 있다. 예를 들어 합류 구간에서 어느 정도 간격이면 들어가고, 어느 정도면 기다리는지 학습할 수 있다. 그러나 학습 데이터에 드문 위험 상황이 부족하면 예상 밖의 장면에서 취약해질 수 있다. 또한 왜 그런 행동을 선택했는지 설명하기 어려운 경우가 있다.
그래서 실제 자율주행 시스템은 보통 한 가지 방식만 믿지 않는다. 상위 행동은 규칙과 안전 정책으로 제한하고, 후보 궤적은 최적화로 고르며, 예측이나 상호작용 판단에는 학습 모델을 활용한다. 그리고 마지막에는 안전 제약을 다시 확인한다. 학습 모델이 좋은 제안을 하더라도 충돌 가능성이 높거나 법규를 위반하면 실행해서는 안 된다.
충돌하는 목표 사이에서 우선순위를 정한다
경로 계획은 여러 목표 사이의 균형 문제다. 안전거리, 승차감, 법규 준수, 이동 시간 단축은 모두 중요하지만 언제나 같은 방향을 가리키지는 않는다.
안전거리를 크게 잡으면 충돌 위험은 줄어든다. 그러나 도심 합류나 차선 변경에서는 너무 큰 간격만 기다리면 사실상 움직일 수 없다. 승차감을 높이려면 가감속과 조향을 부드럽게 해야 한다. 하지만 갑자기 뛰어나온 보행자 앞에서는 승차감보다 급제동이 우선이다. 법규 준수도 기본 원칙이지만, 공사 구간에서 임시 유도선이 기존 차선을 가로지르는 경우처럼 현실 도로가 지도나 표지와 다를 때는 별도의 판단이 필요하다.
이 때문에 자율주행차는 목표에 우선순위를 둔다. 가장 위에는 충돌 회피와 생명 보호가 있다. 그다음 법규와 도로 운영 규칙이 따른다. 그 아래에 승차감, 효율, 이동 시간이 놓인다. 평상시에는 모든 목표를 함께 만족시키려 하지만, 위급 상황에서는 낮은 우선순위 목표를 포기한다.
계획 모듈은 이를 제약 조건과 비용으로 표현한다. 절대 넘으면 안 되는 조건은 제약으로 둔다. 예를 들어 보행자와의 충돌 예상 영역에 들어가는 궤적은 후보에서 제외한다. 반면 차선 중심에서 조금 벗어나는 정도, 목표 속도보다 느린 정도, 조향이 약간 큰 정도는 비용으로 계산해 비교한다. 이 구조 덕분에 시스템은 여러 후보 중 가장 덜 위험하고 가장 자연스러운 행동을 선택할 수 있다.
너무 보수적이어도, 너무 공격적이어도 문제다
자율주행차는 안전해야 한다. 그러나 안전하다는 말이 항상 가장 느리게 움직인다는 뜻은 아니다.
너무 보수적인 차량은 작은 불확실성에도 계속 멈춘다. 횡단보도 근처 사람이 스마트폰을 보고 서 있기만 해도 정지하고, 합류 구간에서 아주 큰 간격만 기다리며, 회전교차로에서 진입 기회를 놓친다. 이런 차량은 승객에게 답답함을 주는 데 그치지 않는다. 뒤차의 추월을 유발하거나, 교통 흐름을 끊거나, 주변 운전자가 예측하기 어려운 정지를 반복하게 만들 수 있다. 지나친 보수성도 도로 전체의 위험을 키울 수 있다.
반대로 너무 공격적인 차량은 작은 간격에 끼어들고, 보행자의 움직임을 낙관적으로 해석하며, 신호가 바뀌기 직전 무리하게 통과하려 한다. 이동 시간은 줄어들 수 있지만 안전 여유가 사라진다. 특히 예측이 틀렸을 때 회복할 시간이 부족하다. 자율주행차는 사람보다 빠르게 계산할 수 있지만, 물리 법칙을 넘어설 수는 없다. 제동거리와 타이어 마찰, 차량 무게는 그대로 존재한다.
좋은 계획은 방어적이되 마비되지 않는 것이다. 위험이 크면 확실히 멈추고, 위험이 작고 규칙상 허용되면 자연스럽게 진행한다. 다른 운전자에게 의도를 분명히 보여 주고, 필요할 때는 속도를 조절해 협상한다. 자율주행의 판단 기술은 단순히 똑똑한 선택을 하는 기술이 아니라, 불확실한 도로에서 안전 여유를 관리하는 기술이다.
계획은 계속 다시 계산된다
자율주행차가 한 번 경로를 정했다고 해서 그대로 밀고 나가는 것은 아니다. 차량은 짧은 주기로 주변을 다시 보고, 예측을 갱신하고, 계획을 수정한다. 앞차가 감속하면 우리 차의 속도 계획이 바뀐다. 보행자가 발을 내딛으면 정지 계획이 강화된다. 위치 추정 신뢰도가 낮아지면 차선 변경보다 감속과 차선 유지가 우선될 수 있다.
이 반복 구조가 중요하다. 예측은 틀릴 수 있고, 지도는 오래되었을 수 있으며, 인지 결과는 흔들릴 수 있다. 경로 계획은 이러한 불확실성을 전제로 움직여야 한다. 따라서 자율주행차의 판단은 확신에 찬 한 번의 결론이 아니라, 계속 수정되는 임시 결정에 가깝다.
결국 예측과 경로 계획의 핵심은 몇 초 뒤의 공간을 안전하게 비워 두는 일이다. 우리 차가 지나갈 자리와 다른 도로 사용자가 지나갈 자리가 겹치지 않도록 조정한다. 그 과정에서 법규를 지키고, 승객이 견딜 수 있는 움직임을 만들며, 교통 흐름 속에서 자연스럽게 행동해야 한다.
자율주행차가 도로를 이해한다는 것은 현재 장면을 보는 능력만을 뜻하지 않는다. 가능한 미래를 그리고, 위험한 미래를 피하며, 가장 안전한 행동을 계속 선택하는 능력을 뜻한다.
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.