Hacker News

How do traffic signals work? (2019)

교통 신호는 어떻게 작동하나요?

교차로의 처리량과 안전을 결정하는 신호 단계, 황색·전적색 시간, 차량 감지 센서, 신호 연동 방식을 설명합니다. 개별 교차로 제어에서 도시 전체를 최적화하는 ASCT까지 다룹니다.

AI 요약

교통 신호는 단순히 빨간불과 초록불을 번갈아 켜는 장치가 아닙니다. 차량·자전거·보행자가 서로의 경로를 건너는 교차로에서 통행 우선권을 배분하고, 안전과 처리량 사이의 타협점을 찾는 시스템입니다. 도로를 넓히거나 제한속도를 높여도 교차로가 병목이면 전체 도로의 수용량은 늘지 않으므로, 교통공학에서는 신호의 단계와 시간을 세밀하게 설계합니다.

교차로의 병목과 신호의 역할

도시 도로는 고속도로, 간선도로, 집산도로가 연결된 네트워크로 구성됩니다. 간선도로는 진입로와 입체교차로보다 평면 교차로를 많이 사용하므로 차량 흐름이 중간중간 끊깁니다. 이 교차로가 도로 전체 처리량의 상한이 되는 경우가 많습니다. 신호등은 표지판보다 많은 차량을 처리하면서도 입체교차로보다 공간과 비용을 적게 요구합니다.

일반적인 미국식 사거리에서는 각 접근로에서 차량이 우회전, 직진, 좌회전하는 움직임을 만듭니다. 우회전과 직진을 하나의 움직임으로 묶으면 차량 움직임은 8개, 보행자 움직임은 4개입니다. 서로 충돌하지 않는 움직임은 하나의 신호 단계(phase)로 묶습니다. 예를 들어 마주 보는 두 방향의 좌회전을 동시에 허용할 수 있습니다.

교통기사는 링 앤 배리어 다이어그램(ring-and-barrier diagram)으로 단계의 순서를 표현합니다. 예시 교차로는 큰길 좌회전, 큰길 직진과 보행자 횡단, 교차로를 비우는 배리어, 작은길 좌회전, 작은길 직진과 보행자 횡단, 다시 배리어를 거쳐 다음 주기로 넘어갑니다. 보호 좌회전(protected left turn)을 쓸지, 맞은편 차량 흐름 사이에서 좌회전을 허용하는 비보호 좌회전(unprotected left turn)을 쓸지도 교통량과 시야, 속도 등을 따져 결정합니다.

신호 시간과 안전 간격

초록불은 앞선 적색 시간 동안 쌓인 차량 행렬을 처리할 만큼 길어야 합니다. 교차로가 포화 상태라면 각 단계의 시작과 종료 때 생기는 비가동 시간을 줄이기 위해 초록불을 연장하기도 합니다. 황색등은 운전자가 신호 변화를 인지하고 편안하게 감속할 시간을 줘야 합니다. 일반적인 기준은 제한속도 10마일/시속 16킬로미터마다 1초입니다. 실제 시간은 접근로의 경사와 지역 조건을 함께 반영합니다.

북미 대부분 지역에서는 황색등이 켜진 동안 교차로에 진입할 수 있습니다. 따라서 한쪽 방향이 초록으로 바뀌기 전에 교차로 안에 남은 차량을 비우는 전적색 정리 간격(clearance interval)이 필요합니다. 이 간격은 보통 약 1초이며 제한속도와 교차로 크기에 따라 조정합니다.

차량 감지와 감응식 신호 제어

고정된 주기만 반복하는 신호와 달리 감응식 신호 제어(actuated signal control)는 외부 입력을 받아 단계와 시간을 즉시 조정합니다. 입력 장치로는 비디오 카메라와 레이더가 쓰이며, 가장 흔한 장치는 노면에 매립한 유도 루프 센서(inductive loop sensor)입니다. 큰 금속 탐지기처럼 차량이나 트럭이 위에 있는지 감지합니다. 차량 크기가 작은 자전거, 스쿠터, 오토바이는 루프를 제대로 작동시키지 못하는 경우가 있습니다.

센서 데이터는 교차로 옆 장비 캐비닛으로 전달됩니다. 캐비닛 안의 신호 제어기(traffic signal controller)는 센서 상태를 바탕으로 각 신호의 순서와 지속 시간을 결정합니다. 평소보다 교통량이 늘어난 우회 경로, 콘서트나 스포츠 경기, 관광지의 계절성 수요에도 대응할 수 있습니다. 반대 방향에 아무도 없는데 긴 신호를 기다리는 상황을 줄이고, 적외선이나 음향 센서로 긴급차량과 대중교통에 우선권을 줄 수도 있습니다.

인접 교차로와 신호 연동

감응식 제어만으로는 각 교차로를 따로 처리한다는 한계가 있습니다. 가까운 두 교차로의 신호가 서로 맞지 않으면 첫 번째 교차로에서 출발한 차량이 다음 교차로 앞에서 막힙니다. 차량 행렬이 뒤로 길게 늘어나면 첫 번째 교차로의 초록 주기에도 통과하지 못하고 여러 주기를 기다릴 수 있습니다.

신호 연동(signal coordination)은 인접 교차로의 상태를 함께 고려합니다. 긴 간선도로에서는 큰길의 여러 신호를 맞춰 차량 집단인 플래툰(platoon)이 교차로를 연속으로 통과하게 만듭니다. 다만 도로 중간에 진출입로와 상점이 많으면 차량 집단이 흩어져 연동 효과가 줄어듭니다.

더 넓은 단계의 기술이 적응형 신호 제어(Adaptive Signal Control Technologies, ASCT)입니다. ASCT는 여러 센서의 데이터를 중앙 시스템으로 모으고 알고리즘으로 도시 교통 흐름을 최적화합니다. 원문은 머신러닝 같은 알고리즘이 혼잡을 크게 줄일 수 있지만, 대도시에서 막 도입되기 시작한 단계라고 설명합니다. 도시 전체 신호를 하나의 시스템으로 연결하면 보안 위협의 영향 범위도 커질 수 있습니다.

중앙 제어의 한계와 자율주행

모든 차량이 서로 통신하고 움직임을 조정하면 신호 없이도 교통을 관리할 수 있다는 전망이 있습니다. 그러나 도시 혼잡에는 잠재 수요(latent demand)도 작용합니다. 도로 용량이 늘면 출퇴근을 미루던 사람들이 다시 도로로 나오고, 혼잡이 이전 수준으로 돌아올 수 있습니다. 따라서 신호를 더 정교하게 제어해도 교통 문제 전체가 사라지는 것은 아닙니다.

Hacker News 반응

  • @Sohcahtoa82 — 유도 루프 센서가 교차로 정지선 근처의 원형 표시라는 사실을 모르는 사람이 많다는 점이 놀랍습니다. 정지선에서 차 세 대 이상 뒤에 멈춘 뒤 왜 신호가 바뀌지 않는지 모릅니다. 집 근처에도 큰길에 500피트 정도 간격으로 교차로 두 개가 있는데, 출퇴근 시간 대부분의 차량이 한 방향에서 와도 신호가 자주 정확히 어긋납니다. 첫 신호가 빨간불일 때 다음 신호는 초록불이고, 첫 신호가 초록불이 되면 다음 신호가 빨간불이 됩니다. 차량은 500피트만 이동한 뒤 2분을 멈추고, 대기 행렬은 1마일 넘게 이어집니다. ASCT가 혼잡을 크게 줄인다는 설명을 보면 석유·가스 회사가 공회전 차량의 연료 판매를 위해 로비한다고 해도 놀랍지 않을 것 같습니다.
    • @at1as — 샌프란시스코와 제가 살았던 다른 도시에서는 출퇴근 시간에 교차로 한가운데 경찰을 세워 차량이 막힐 교차로 안으로 들어가지 않게 합니다. 신호보다 비효율적으로 보입니다.
    • @bluGill — 교통량이 정말 많을 때는 사람이 기계보다 차량을 잘 통과시킵니다. 다만 비용이 많이 들어서 드물게만 쓸 만합니다.
    • @account42 — 신호를 배분하는 효율보다 운전자가 신호를 따르는지가 더 큰 문제일 수 있습니다. 도로가 막혀 교차로 안에 갇힐 수 있어도 황색불에 비집고 들어가려는 사람은 많지만, 경찰이 지켜보면 그렇게 하지 않을 가능성이 큽니다.
    • @mlaretallack — ASCT는 영국 대부분의 도시와 마을 교차로에서 20년 넘게 표준 방식으로 사용해 왔습니다.
    • @Sohcahtoa82 — 영국에서는 이런 시스템을 정부 직원이 구현합니까? 미국에서는 세금으로 운영되는 기반시설도 상당 부분 계약업체가 만들고, 업체 선정 과정에 정치자금이 오간다는 냉소적인 생각이 자주 나옵니다.
    • @mlaretallack — 지방 의회가 보통 외부 회사에 시스템 설계를 맡기지만, 사용하도록 지정된 표준 기성 솔루션이 있습니다. 시간 동기화와 차량 감쇠를 쓰는 교차로부터 완전한 도시 교통 제어 시스템까지 범위가 다양합니다. 프로토콜은 대부분 UTMC 같은 표준을 따르므로 지방 당국은 필요한 기능만 지정하면 됩니다. 예전에는 의회가 도시 교통 제어 시스템을 직접 운영했지만, 클라우드 컴퓨팅이 보편화된 뒤에는 호스팅 시스템으로 운영을 맡기는 경우가 많습니다. 조달은 지방 의회 규칙에 따라 진행하며, 누가 만들지 결정하는 주체는 선출직 공무원이 아니라 의회 직원입니다.
    • @toast0 — ASCT를 연결하면 신호 장비가 더 복잡해지고 케이블을 설치하고 유지해야 하므로 비용이 늘어납니다. 편익은 작거나 예측하기 어렵고 측정하기도 쉽지 않을 수 있습니다. 지역 문화에 따라 교통을 일부러 늦추고 싶어 하는 사람도 많습니다. 그래도 신호 시스템을 개선하면 대중교통과 자전거 감지에 우선권을 주기 쉬워질 수 있습니다.
    • @monster_truck — 오토바이를 탈 때는 이 장치가 저를 감지하도록 아래쪽에 커다란 철 덩어리를 달아야 했습니다. 그래도 몇 분 동안 센서 위에서 오토바이를 좌우로 움직이다가 빨간불을 그냥 지나간 적이 있습니다.
  • @YPPH — 교통 신호 제어기의 컴퓨터 측면에서 가장 흥미로운 부분은 서로 충돌하는 단계가 동시에 켜지지 않도록 하는 인터록 설계입니다. 예를 들어 교차하는 두 접근로에 동시에 초록불이 켜지는 상황을 막아야 합니다. 일상 기반시설에 들어가는 장치 중 손꼽히게 안전이 중요한 시스템입니다. 이 부분을 더 깊게 다뤘으면 좋았겠지만, 세부 사항은 제어기와 공급업체마다 다를 것 같습니다. 이런 인터록은 ASCT의 보안 위험도 어느 정도 줄입니다. 제대로 만든 제어기라면 관제실에서도 충돌하는 단계를 의도적으로 켤 수 없어야 합니다.
    • @wsh — 일반적인 신호 캐비닛에는 충돌 감시기(conflict monitor), 또는 고장 관리 장치(malfunction management unit)가 있습니다. 제어기와 물리적으로 분리된 장치로 제어기 출력을 감시합니다. 충돌하는 단계에 초록, 황색, 보행 신호가 함께 표시되거나 적색 또는 보행 금지 신호가 빠지면 모든 방향을 점멸 적색으로 바꿀 수 있습니다. 더 복잡한 장치는 단계 순서나 변경·정리 간격의 시간 문제도 감지합니다.
  • @efavdb — 인접한 두 신호가 교통을 늘리는 문제를 버클리에서 매일 겪습니다. 신호가 쌓인 행렬을 매번 처리할 수 있어야 한다는 영상의 설명도 중요합니다. 유입량이 유출량보다 크면 행렬이 계속 커지고 결국 교통 정체가 됩니다.
    • @atoav — 이상적으로는 그렇지만 실제로는 다음 교차로의 상황도 봐야 합니다. 한 교차로의 처리량을 완벽하게 높여도 다음 노드에서 모든 차량이 막히면 도움이 되지 않습니다. 교차로 앞과 뒤의 용량을 함께 보고 흐름을 맞춰야 합니다. 4차로 도로가 2차로로 줄어들면 병목이 생기듯이, 신호는 앞뒤 구간의 용량 차이를 조절하는 장치가 될 수 있습니다.
  • @WalterBright — 집 근처 간선도로에서 정전으로 신호가 꺼진 날이 있었습니다. 운전자들이 서로 양보하자 간선도로와 교차로의 처리량이 크게 늘어나는 모습을 봤습니다. 신호 위에는 이미 카메라가 있는데, 처리량을 최대로 하도록 AI를 연결하는 일이 얼마나 어렵겠습니까? 차량이 없는 한 방향에 초록불을 주면서 나머지 세 방향을 막는 경우를 봤습니다.
    • @teelinger — 교통 신호의 주된 목적은 처리량 극대화가 아니라 사고 방지일 것 같습니다. 처리량 증가는 부수적인 이점일 뿐이라서 아무도 신경 쓰지 않는 것일 수 있습니다.
    • @toast0 — AI가 필요하지 않습니다. 시스템을 제대로 설정하면 됩니다. 부모님 집 근처 신호는 유도 루프를 사용해 실제 교통량에 맞춰 주기를 조정한 지 20~30년쯤 됐습니다. 감지된 차량이 없어도 가끔 짧은 초록불을 주는 이유가 있을 수 있습니다. 센서가 고장 나 계속 차량이 있다고 보고하는 최악의 상황을 처리하는 데 도움이 되기 때문입니다. 한 지역에서 최적이 아닌 동작이 다른 지역의 안전이나 처리량을 높이는 경우도 있습니다.
    • @Tangurena2 — 장비 캐비닛은 과거에 발생했던 치명적인 고장을 막도록 설계됐습니다. 한 릴레이가 붙어서 한 방향에 항상 초록불을 주고 다른 방향에는 적색·황색·초록 신호를 내보내는 식의 고장입니다. 현재 장치는 그런 일이 일어나지 않도록 만들며, 고장 나면 모든 방향이 점멸 적색으로 바뀝니다. 제어기는 표준화와 인증도 필요합니다. 전문가 시스템은 동작을 설명할 수 있어 원칙적으로 인증할 수 있지만, LLM은 왜 제대로 작동하는지 알기 어렵고 실패 여부도 검증하기 어렵습니다.
    • @tialaramex — 실제 전문가 시스템은 동작을 설명할 수 있으므로 원칙적으로 인증할 수 있습니다. 비용 대비 효과가 낮을 뿐입니다. 반면 LLM은 무엇을 하는지, 왜 유용한지, 어떻게 실패할지 알기 어렵습니다.
    • @__MatrixMan__ — 교통 신호 제어기 회사에서 일할 때 AI를 쓰지 말라는 지시를 받았습니다. 그래도 시뮬레이션에서 AI를 돌려 주말 동안 최적화했습니다. 월요일에 보니 이전 시도보다 결과가 훨씬 좋았습니다. 그런데 실제 해법은 한 단계에 계속 적색을 주고 다른 단계에 계속 초록을 주는 것이었습니다. 한 도로를 사실상 폐쇄하고 다른 도로의 처리량만 극도로 높인 결과였습니다. 이 결과를 상사에게 보여주지는 않았습니다.
    • @WalterBright — 교차 방향의 최대 대기 시간을 제한하는 매개변수가 필요합니다.
  • @programmertote — 캘리포니아에서 본 신호 동작이 궁금합니다. 큰길에 차량 4~5대가 접근하는데 작은길에서 차량 한 대가 오면 큰길 신호가 빨간불로 바뀝니다. 큰길 차량 모두가 멈추고 작은길 차량은 좌회전합니다. 몇 초 뒤 큰길이 다시 초록불이 되어 차량 4~5대가 지나갑니다. 카메라가 이미 있다면 큰길 차량을 먼저 보내고 작은길 차량은 조금 더 기다리게 하는 편이 연료 효율이 좋지 않을까 싶습니다. 이런 설계의 이유를 설명할 캘리포니아 교통기사가 있는지 궁금합니다.
    • @HnUser12 — 브리티시컬럼비아의 고속도로 교차로 근처에 사는데, 제안한 방식처럼 작동하는 것 같습니다. 작은길에서 접근했을 때 고속도로가 비어 있으면 거의 즉시 초록불이 됩니다. 차량이 있으면 도로가 비워질 때까지 기다립니다. 출퇴근 시간처럼 도로가 계속 차 있으면 일정 시간이 지난 뒤 초록불로 바뀌는 것 같습니다.
  • @KennyBlanken — ASCT가 혼잡을 크게 줄인다는 말은 맞지 않습니다. 기껏해야 교통 흐름을 한 자릿수 퍼센트 정도 높이는 수준일 가능성이 크며, 비용과 장비·운영 인력을 고려하면 미미합니다. 많은 도시는 비용이 많이 들고 효과가 작아서 ASCT를 도입하지 않습니다. 대중교통과 자전거를 빠르고 안전하게 만들면 차량 통행을 줄이고 긴급차량의 통로도 확보할 수 있습니다. 도로를 더 짓는다고 교통 문제가 해결되지는 않습니다.
    • @IshKebab — 차로를 늘리거나 줄이는 일이 최대 교통 흐름과 직접 관련이 없다는 말은 명백히 틀렸습니다. 4차선 고속도로가 1차선 시골길보다 더 많은 차량을 통과시키지 않습니까?
  • @skc — 남아프리카공화국에서 경험한 일입니다. 바쁜 교차로의 신호가 고장 나면 교차로가 사실상 사거리 일시정지로 바뀝니다. 모두가 규칙을 지키기만 하면 신호가 정상 작동할 때보다 차량이 더 빠르게 흐르는 것처럼 보입니다. 몇 번 시간을 재보기도 했습니다.
    • @Vinnl — 제가 사는 곳에서는 신호를 적극적으로 없애고 있습니다. 다차로 도로를 제한속도가 낮은 1차로 도로로 바꾸고, 자전거와 보행자를 위한 건널목 섬을 설치합니다. 차량 속도는 낮아지지만 흐름이 더 일정해지고 교통이 스스로 조절되므로 실제 이동은 더 빨라지는 것 같습니다.

원문: Practical Engineering / 번역·요약: Trawling