Chapter 18

자율주행의 눈: 센서

사람은 두 눈과 귀, 그리고 몸으로 느끼는 가속으로 운전한다. 자율주행차는 그 일을 카메라, 레이더, 라이다, 초음파, 위성 항법 수신기와 관성 센서로 나누어 맡긴다. 센서마다 쓰는 파동이 다르고, 그래서 잘 재는 양과 실패하는 조건도 다르다. 이 장은 각 센서가 무엇을 어떻게 재는지를 수식 한두 줄과 시뮬레이터로 확인하고, 왜 한 종류만으로는 부족한지를 수치로 따져 본다.

왜 여러 종류의 센서가 필요한가

17장의 ACC와 AEB는 앞차까지의 거리와 상대 속도만 알면 되었다. 자율주행은 훨씬 많은 것을 알아야 한다. 주변 물체가 어디에(거리와 방향) 있고, 얼마나 빨리 움직이며, 그것이 무엇인지(차, 보행자, 신호등의 색, 차선), 그리고 내 차가 어디에 있는지다. 한 가지 센서로 이 넷을 모든 날씨와 조도에서 재는 방법은 아직 없다.

이유는 물리에 있다. 센서는 결국 파동을 받아 그 세기, 도달 시간, 주파수 변화, 들어온 방향을 재는 장치다. 파장이 짧으면 작은 구경으로도 방향을 세밀하게 가를 수 있지만, 빗방울이나 안개 입자처럼 파장과 비슷하거나 더 큰 입자에 쉽게 산란된다. 파장이 길면 악천후를 잘 뚫지만 각 분해능이 떨어진다. 구경 \(D\)인 센서의 각 분해능 한계는 대략 \(\theta \approx \lambda / D\)다.

100 nm1 µm10 µm 1 mm10 cm1 m 카메라 400~700 nm 라이다 905 · 1550 nm 레이더 77 GHz 3.9 mm GNSS L1 19 cm 초음파 48 kHz 음파, 파장 약 7 mm ← 짧은 파장: 각 분해능 좋음, 비·안개에 약함 긴 파장: 악천후 투과, 각 분해능 낮음 → 빗방울 0.5~5 mm, 안개 입자 1~20 µm
그림 18-1. 센서별 파장(로그 눈금). 카메라와 라이다는 수백 nm~1.5 µm의 빛을, 레이더는 mm 파장의 전파를 쓴다. 초음파는 전자기파가 아닌 음파이지만 파장은 레이더와 비슷한 크기다.

측정 방식도 갈린다. 수동 센서인 카메라는 햇빛이나 전조등이 물체에서 반사된 빛을 받기만 하므로 싸고 해상도가 높지만, 거리를 직접 재지 못하고 조명에 좌우된다. 능동 센서인 레이더·라이다·초음파는 스스로 파동을 쏘고 돌아오는 시간을 재므로 거리를 직접 얻고 밤낮을 가리지 않는다. 대신 송신 출력, 안구 안전, 간섭이라는 제약이 붙는다.

센서직접 재는 양대표 거리강점약점
카메라방향별 밝기와 색약 50~250 m색·글자·차선, 높은 각 분해능, 저렴거리 간접 추정, 역광·야간·악천후
레이더거리, 시선 속도, 방위각약 80~300 m속도 직접 측정, 비·안개·먼지 투과낮은 각 분해능, 물체 분류 어려움
라이다방향별 거리, 반사 강도약 100~250 mcm급 3D 형상, 조명 무관가격, 비·안개·오염, 검은 물체
초음파가장 가까운 물체까지 거리약 0.2~5 m아주 저렴, 근거리 정밀짧은 거리, 느린 갱신, 바람·온도
GNSS지구상 절대 위치·시각—누적되지 않는 절대 기준터널·빌딩 숲, 수 m 오차
IMU·휠 속도가속도, 각속도, 바퀴 회전—높은 갱신율, 외부 신호 불필요적분 오차가 시간에 따라 누적

아래 3D 그림은 대표적인 센서 배치를 실제 축척으로 보여 준다. 초음파가 덮는 범위는 차 주변 몇 m뿐이고, 전방 레이더와 망원 카메라는 200 m 넘게 뻗는다. 옆 차로의 차를 뒤에서 앞으로 옮겨 가며 어떤 센서가 차례로 그 차를 넘겨받는지 확인해 보자.

3D

센서 배치와 시야

끌어서 회전 · 휠/핀치로 확대
센서 종류
시점
옆 차를 보는 카메라—
레이더—
라이다—
초음파—
자차 기준 위치—
해볼 것: 카메라만 켜고 옆 차를 −40 m에서 +230 m까지 옮기면 측후방 → 측전방 → 전방 광각 → 주 → 망원 카메라로 시야가 넘어간다. 레이더만 켜면 차 바로 옆(0 m 부근)에서 코너 레이더 둘이 겹치는 것이 보인다. 격자 한 칸은 10 m다. 가려짐(오클루전)은 계산하지 않고 시야각과 거리만으로 판정한다.

시야가 겹치도록 배치하는 데에는 두 가지 이유가 있다. 한 센서가 놓친 것을 다른 센서가 잡는 보완, 그리고 같은 물체를 서로 다른 원리로 두 번 확인하는 이중화다. 이 둘을 실제로 묶는 방법인 센서 융합은 19장에서 다룬다.

카메라: 방향을 재는 센서

카메라는 렌즈로 빛을 모아 이미지 센서 위에 상을 맺는다. 기하학적으로는 작은 구멍 하나로 빛이 지나가는 핀홀 모델(pinhole model)로 충분히 설명된다. 카메라 좌표계에서 \((X, Y, Z)\)에 있는 점(\(Z\)가 광축 방향 거리)은 영상의 다음 픽셀에 찍힌다.

$$u = f\,\frac{X}{Z} + c_x, \qquad v = f\,\frac{Y}{Z} + c_y$$
여기서 \(f\)는 픽셀 단위로 나타낸 초점 거리, \((c_x, c_y)\)는 광축이 영상과 만나는 주점이다. 초점 거리를 mm로 알고 있으면 픽셀 피치로 나누어 픽셀 단위로 바꾼다.
광축 Z 영상면 핀홀 Y 물체 v f Z 닮은 삼각형: v / f = Y / Z
그림 18-2. 핀홀 투영. 물체 높이 \(Y\)와 거리 \(Z\)가 이루는 삼각형과, 상의 크기 \(v\)와 초점 거리 \(f\)가 이루는 삼각형이 닮음이다. 상은 뒤집혀 맺힌다.

화각, 해상도, 그리고 픽셀 수

가로 픽셀 수가 \(W\)인 카메라의 수평 화각(Field of View, FOV)은 \(\mathrm{FOV} = 2\arctan(W/2f)\)다. 같은 센서에서 초점 거리를 늘리면 화각이 좁아지고 먼 물체가 크게 찍힌다. 높이 \(H\)인 물체가 거리 \(Z\)에서 차지하는 픽셀 높이는 위 식에서 바로 나온다.

$$h_{px} = \frac{f\,H}{Z}, \qquad f = \frac{W}{2\tan(\mathrm{FOV}/2)}$$

검출 신경망이 물체를 안정적으로 알아보려면 일정한 픽셀 수가 필요하다. 그래서 "몇 m 앞의 보행자가 몇 픽셀인가"가 카메라 사양을 정하는 출발점이 된다. 넓은 화각과 먼 인식 거리는 같은 픽셀 수로는 동시에 얻을 수 없으므로, 전방에는 화각이 다른 카메라를 두세 대 함께 단다.

SIMULATOR

핀홀 카메라와 픽셀 수

해상도
물체
초점 거리 f—
각 분해능—
물체 픽셀 높이—
1 픽셀이 덮는 폭—
최대 인식 거리—
해볼 것: 2 MP·50°에서 보행자를 150 m로 보내면 높이가 20여 픽셀로 줄어 오른쪽 아래 확대 그림에서 사람 형태가 무너진다. 화각을 30°로 좁히거나 8 MP로 바꾸면 다시 살아난다. 최대 인식 거리는 높이 20 픽셀(표지판은 16 픽셀)이 필요하다고 가정한 값이다. 위쪽 광선 그림은 세로를 과장해 그렸다.
계산 예: 100 m 앞 보행자는 몇 픽셀인가

가로 1,920 픽셀, 수평 화각 50°인 카메라의 초점 거리는 \(f = 1920 / (2\tan 25^\circ) \approx 2059\) 픽셀이다. 키 1.7 m인 보행자는 100 m에서 \(2059 \times 1.7 / 100 \approx 35\) 픽셀 높이로 찍힌다. 한 픽셀은 \(100/2059 \approx 4.9\) cm를 덮는다. 같은 화각에서 8 MP(가로 3,840)로 올리면 70 픽셀이 되고, 화각을 30°로 좁힌 8 MP 망원 카메라는 250 m에서도 약 49 픽셀을 확보한다.

단안의 거리 모호성과 스테레오

투영식에서 \(X\)와 \(Z\)를 같은 배율로 키워도 \(u\)는 변하지 않는다. 가까운 작은 물체와 먼 큰 물체가 같은 상을 만든다는 뜻이다. 카메라 한 대(단안)는 방향만 재고 거리는 재지 못한다. 실제 시스템은 물체의 알려진 크기, 물체가 지면과 닿는 위치(지면이 평면이라는 가정), 시간에 따른 상의 변화, 학습된 깊이 추정을 써서 거리를 추정하지만 모두 가정에 기대는 간접 측정이다.

카메라 두 대를 간격 \(B\)(베이스라인)만큼 떨어뜨려 놓으면 가정 없이 거리를 잴 수 있다. 같은 점이 좌우 영상에서 찍히는 가로 위치의 차이인 시차(disparity) \(d\)가 거리에 반비례한다.

$$Z = \frac{f\,B}{d}, \qquad \Delta Z \approx \frac{Z^2}{f\,B}\,\Delta d$$
여기서 \(\Delta d\)는 시차 측정 오차(픽셀), \(\Delta Z\)는 그에 따른 거리 오차다. 두 번째 식은 첫 식을 \(d\)로 미분해서 얻는다.

거리 오차가 \(Z^2\)에 비례한다는 점이 스테레오의 한계를 정한다. 거리가 두 배가 되면 오차는 네 배다. 베이스라인이나 초점 거리를 키우면 줄일 수 있지만 차폭과 화각이 한계를 정한다.

SIMULATOR

스테레오 시차와 거리 오차

시차 d—
거리 오차 ΔZ—
상대 오차—
시차 1 픽셀이 되는 거리—
해볼 것: 물체를 20 m → 40 m → 80 m로 보내며 위 그림의 빨간 불확실 구간이 4배씩 길어지는 것을 본다. 베이스라인을 두 배로 늘리면 오차가 절반이 된다(그래프의 점선). 위 그림의 카메라 간격과 가로 방향 각도는 보기 쉽게 과장했다.
계산 예: 스테레오로 100 m를 재면

\(f = 2000\) 픽셀, \(B = 0.3\) m이면 \(fB = 600\)이다. 50 m의 시차는 12 픽셀, 100 m는 6 픽셀이다. 시차를 0.25 픽셀 정확도로 잰다면 50 m에서 \(\Delta Z = 50^2 \times 0.25 / 600 \approx 1.0\) m, 100 m에서는 약 4.2 m다. 고속도로에서 필요한 거리의 정확도를 스테레오만으로 얻기 어려운 이유다.

밝기의 범위, 깜빡이는 LED, 밤

도로 장면은 밝기 차이가 극단적이다. 터널 출구의 햇빛과 터널 안 그늘, 마주 오는 전조등과 그 옆의 어두운 보행자가 한 화면에 들어온다. 차량용 카메라에는 대표적으로 120 dB 이상(밝기 비 100만 대 1)의 다이내믹 레인지(High Dynamic Range, HDR)가 요구되고, 노출 시간이 다른 영상을 여러 장 합치거나 크기가 다른 광다이오드를 한 화소에 넣는 방식으로 이를 얻는다.

LED 신호등과 차량 등화는 눈에 보이지 않는 빠르기(대표적으로 약 90 Hz~수 kHz)로 켜졌다 꺼지는 PWM 방식으로 밝기를 조절한다. 밝은 낮에 노출 시간을 수백 µs로 짧게 잡으면 마침 꺼진 순간만 찍혀 신호등이 꺼진 것처럼 보이거나 프레임마다 깜빡일 수 있다. 이를 막는 화소 설계를 LED 플리커 저감(LED Flicker Mitigation, LFM)이라 한다. 밤에는 광자 수 자체가 부족해 잡음이 늘고, 전조등이 닿지 않는 곳은 보이지 않는다. 근적외선 감도를 높인 센서나 열화상 카메라가 보조 수단으로 쓰인다.

이미지 센서를 더 깊이 알고 싶다면

화소 구조, 광전 변환, 잡음, HDR, 롤링·글로벌 셔터처럼 이미지 센서 자체의 동작은 자매 교재 SensorBook에서 같은 방식의 시뮬레이터와 함께 자세히 다룬다.

레이더: 거리와 속도를 한 번에

차량용 레이더는 76~81 GHz 대역(파장 약 3.9 mm)의 전파를 쓴다. 펄스를 쏘고 왕복 시간을 직접 재려면 1 m 분해능에 수 ns의 시간 정밀도와 높은 순간 출력이 필요하다. 그래서 차량용은 거의 모두 FMCW(Frequency-Modulated Continuous Wave, 주파수 변조 연속파) 방식을 쓴다. 시간 대신 주파수 차이를 재는 것이다.

송신 주파수를 시간에 따라 직선으로 올리는 신호를 처프(chirp)라 한다. 대역폭 \(B\)를 시간 \(T_c\) 동안 훑으면 기울기는 \(S = B/T_c\)다. 거리 \(R\)에서 반사되어 온 신호는 \(\tau = 2R/c\)만큼 늦게 도착하므로, 같은 순간의 송신 주파수보다 \(S\tau\)만큼 낮다. 송신과 수신을 섞으면(믹싱) 이 차이에 해당하는 낮은 주파수의 비트 신호가 남는다.

$$f_b = S\,\tau = \frac{2\,R\,B}{c\,T_c} \quad\Longrightarrow\quad R = \frac{c\,T_c}{2B}\,f_b, \qquad \Delta R = \frac{c}{2B}$$
여기서 \(f_b\)는 비트 주파수, \(\Delta R\)은 거리 분해능이다. 처프 하나를 \(T_c\) 동안 관측하면 주파수를 \(1/T_c\)까지 가를 수 있고, 이를 거리로 환산하면 \(c/2B\)가 된다. 분해능은 대역폭만으로 정해진다.

타깃이 여럿이면 비트 신호는 여러 주파수의 합이 되고, 푸리에 변환(FFT)을 하면 거리마다 봉우리가 하나씩 선다. 두 타깃의 거리 차가 \(c/2B\)보다 작으면 봉우리가 하나로 합쳐진다.

속도는 도플러 효과로 잰다. 상대 속도 \(v\)로 다가오는 타깃에서 돌아온 전파는 \(f_d = 2v/\lambda\)만큼 주파수가 높다. 처프 하나 안에서는 이 변화가 너무 작아서, 같은 처프를 수십~수백 번 연속으로 쏘고 처프 사이에 비트 신호의 위상이 얼마나 돌아가는지를 본다. 처프 간격마다 위상은 \(4\pi v T_c/\lambda\)씩 돈다. 처프 방향으로 FFT를 한 번 더 하면 거리–속도 2차원 지도가 나온다.

$$f_d = \frac{2v}{\lambda}, \qquad v_{max} = \frac{\lambda}{4T_c}, \qquad \Delta v = \frac{\lambda}{2\,M\,T_c}$$
여기서 \(M\)은 한 프레임의 처프 개수, \(v_{max}\)는 위상이 반 바퀴를 넘지 않는 최대 속도, \(\Delta v\)는 속도 분해능이다.
SIMULATOR

FMCW 레이더: 처프에서 거리–속도 지도까지

송신 처프타깃 1 수신타깃 2 수신
거리 분해능 c/2B—
타깃 1 비트 주파수—
타깃 1 도플러—
FFT가 찾은 봉우리—
봉우리의 속도—
해볼 것: 두 타깃을 40 m와 41 m에 두면 300 MHz(분해능 0.5 m)에서는 봉우리 둘이 보이지만 대역폭을 100 MHz(1.5 m)로 줄이면 하나로 합쳐진다. 이때 타깃 1에 속도를 주면 거리 스펙트럼에서는 여전히 하나지만 아래 거리–속도 지도에서는 세로로 갈라진다. 처프 길이 25 µs, 처프당 2,048 샘플, 프레임당 64 처프로 실제 신호를 만들어 직접 구현한 FFT로 계산한다. 위 그림의 수신 지연은 3배 과장했다.
계산 예: 100 m 앞, 시속 108 km로 다가오는 차

\(B = 300\) MHz, \(T_c = 50\) µs인 처프의 기울기는 \(S = 6\times10^{12}\) Hz/s다. 100 m의 왕복 지연은 \(\tau = 200/(3\times10^8) \approx 0.67\) µs이므로 비트 주파수는 \(f_b \approx 4.0\) MHz다. 77 GHz 전파를 수 MHz의 신호로 바꿔 재는 셈이다. 거리 분해능은 \(c/2B = 0.5\) m다. 접근 속도 30 m/s의 도플러는 \(2 \times 30 / 0.0039 \approx 15.4\) kHz다. 대역폭을 4 GHz까지 쓰는 근거리 레이더는 분해능이 약 3.75 cm다.

방향은 안테나 배열로

레이더 한 채널은 거리와 속도만 준다. 방향은 수신 안테나를 여러 개 나란히 놓고 각 안테나에 도달한 신호의 위상 차로 구한다. 간격 \(d\)인 두 안테나에 각도 \(\theta\)로 들어온 파는 경로 차 \(d\sin\theta\)만큼 늦게 닿는다.

d·sinθ θ d = λ/2 Rx 1Rx 2Rx 3Rx 4 반사파(평면파) 위상 차 Δφ = 2π·d·sinθ / λ
그림 18-3. 수신 안테나 배열. 이웃 안테나 사이의 위상 차에서 도래각 \(\theta\)를 구한다. 안테나가 많을수록(배열이 길수록) 가까운 두 방향을 가를 수 있다.

안테나 \(N\)개를 반파장 간격으로 놓은 배열의 각 분해능은 대략 \(2/N\) rad이다. 8개면 약 14°, 1°를 얻으려면 100개가 넘게 필요하다. 송신 안테나 여러 개와 수신 안테나 여러 개를 조합해 그 곱만큼의 가상 배열을 만드는 MIMO 기법이 쓰인다(송신 3 × 수신 4 = 가상 12채널). 기존 레이더는 방위각만 쟀지만, 가상 채널을 수백~수천 개로 늘리고 세로 방향으로도 배열해 고도각까지 재는 4D 이미징 레이더가 등장했다. 방위각 분해능 약 1° 수준으로, 육교(지나갈 수 있음)와 정지한 차(지나갈 수 없음)를 구분하고 성긴 포인트 클라우드를 낸다.

레이더가 헷갈리는 것

금속 가드레일, 맨홀 뚜껑, 터널 벽은 강하게 반사하고, 전파가 노면이나 옆 차에 튕겨 돌아오는 다중 경로는 없는 곳에 유령 타깃을 만든다. 각 분해능이 낮던 기존 레이더는 정지 물체를 대부분 걸러 냈는데, 이것이 정차한 차량을 늦게 인식하는 원인이 되기도 한다. 사람이나 플라스틱처럼 반사 단면적이 작은 물체는 신호가 약하다.

라이다: 빛으로 재는 3D 형상

라이다(LiDAR, Light Detection and Ranging)는 레이저 펄스를 쏘고 반사광이 돌아오는 시간(Time of Flight, ToF)으로 거리를 잰다.

$$R = \frac{c\,t}{2}$$
여기서 \(t\)는 왕복 시간이다. 200 m의 왕복은 약 1.33 µs이고, 1 ns의 시간 오차가 15 cm의 거리 오차다.

빛은 파장이 짧아 손톱만 한 렌즈로도 0.1° 이하의 가는 빔을 만들 수 있다. 빔의 방향을 가로·세로로 바꿔 가며 초당 수십만~수백만 번 거리를 재면, 각 측정이 3차원 공간의 점 하나가 된다. 이 점들의 집합이 포인트 클라우드다.

파장과 스캔 방식

파장은 주로 두 가지다. 905 nm는 값싼 실리콘 검출기를 쓸 수 있지만 망막에 초점이 맺히는 파장이어서 안구 안전 기준이 출력을 강하게 제한한다. 1550 nm는 각막과 수정체의 물에 흡수되어 망막에 닿지 않으므로 훨씬 높은 출력을 쓸 수 있어 먼 거리에 유리하지만, InGaAs 검출기와 광섬유 레이저가 비싸고 비와 젖은 표면에서 물에 더 많이 흡수된다.

기계식 회전MEMS·미러 스캔플래시FMCW 360°, 검증된 성능크고 비쌈, 내구성 작은 거울이 빔을 흔듦소형, 시야 약 120° 한 번에 전체 조사구동부 없음, 근거리 주파수 처프 + 간섭속도 직접 측정
그림 18-4. 라이다의 네 가지 방식. 왼쪽 셋은 펄스 ToF이고 빔을 움직이는 방법이 다르다. FMCW 라이다는 레이더와 같은 원리를 빛에 적용한다.

각 분해능과 포인트 밀도

각 분해능이 \(\Delta\theta\)인 라이다에서 이웃한 두 빔은 거리 \(R\)에서 \(R\,\Delta\theta\)만큼 벌어진다. 폭 \(w\), 높이 \(H\)인 물체에 닿는 점의 수는 대략 다음과 같다.

$$N \approx \frac{w}{R\,\Delta\theta_h}\times\frac{H}{R\,\Delta\theta_v} \;\propto\; \frac{1}{R^2}$$
여기서 \(\Delta\theta_h, \Delta\theta_v\)는 수평·수직 각 분해능(rad)이다. 점의 수는 거리의 제곱에 반비례해 급격히 줄어든다.

돌아오는 빛의 양도 거리에 따라 줄어든다. 표면에서 사방으로 흩어진 빛 가운데 수신 렌즈에 들어오는 비율이 \(1/R^2\)로 줄기 때문이다. 받는 세기는 표면 반사율에 비례하므로, 라이다의 최대 거리는 "반사율 10 %에서 200 m"처럼 반사율과 함께 적는다. 흰 차는 멀리서도 보이고, 검은 차나 젖은 아스팔트는 훨씬 가까이 와야 보인다. 비와 안개 속에서는 빛이 물방울에 산란되어 왕복 경로에서 지수적으로 약해지고, 가까운 물방울에서 되돌아온 빛이 허상 점을 만든다.

SIMULATOR

라이다 스캔: 광선에서 포인트 클라우드로

보행자흰 차 (반사율 50 %)검은 차 (6 %)벽허상 점
보행자—
흰 차—
검은 차—
벽—
보행자 위치의 점 간격—
보행자 3D 점 수 (추정)—
해볼 것: 보행자를 끌어 10 m에서 50 m로 옮기면 점 수가 거리에 반비례해 줄어든다(수직 방향까지 치면 제곱에 반비례). 보행자를 흰 차 뒤로 옮기면 가려져 0이 된다. 최대 거리를 줄이면 같은 거리의 검은 차가 흰 차보다 먼저 사라진다. 비·안개를 올리면 먼 물체부터 사라지고 차 주변에 허상 점이 생긴다. 수평면 한 층만 계산한 것이며, 3D 점 수는 수직 분해능이 수평과 같다고 가정한 추정이다.
계산 예: 100 m 앞 보행자에 닿는 점

수평·수직 각 분해능이 모두 0.2°(0.0035 rad)인 라이다의 빔 간격은 100 m에서 \(100 \times 0.0035 = 0.35\) m다. 폭 0.5 m, 키 1.7 m인 보행자에는 가로 1~2점, 세로 4~5점, 합쳐서 대략 5~10점이 닿는다. 같은 보행자가 20 m에 있으면 간격이 7 cm로 줄어 약 170점이 된다. 먼 물체를 "있다"고 아는 것과 "무엇인지" 아는 것 사이에는 큰 차이가 있다.

초음파: 가장 가까운 몇 미터

범퍼에 박힌 동전 크기의 원형 센서가 초음파 센서다. 압전 소자가 대표적으로 40~58 kHz의 음파 묶음(버스트)을 내보내고, 같은 소자로 메아리를 듣는다. 원리는 라이다와 같은 ToF지만 파동이 빛이 아니라 소리다. 음속은 빛보다 약 백만 배 느리므로 시간 측정이 쉽고 회로가 아주 싸다.

$$d = \frac{c_s\,t}{2}, \qquad c_s \approx 331.3 + 0.606\,T \;\;[\mathrm{m/s}]$$
여기서 \(c_s\)는 공기 중 음속, \(T\)는 섭씨 온도다. 20 °C에서 약 343 m/s다.

느린 음속은 약점이기도 하다. 5 m를 왕복하는 데 약 29 ms가 걸려 갱신율이 낮고, 차가 빠르게 달리면 바람 소리에 묻힌다. 음속이 온도에 따라 변하므로 외기 온도로 보정해야 한다. 또 하나의 한계는 최소 감지 거리다. 소자는 송신을 멈춘 뒤에도 종처럼 한동안 울리는데(링잉), 이 잔향이 가라앉기 전에 돌아온 메아리는 구분할 수 없다. 그래서 대표적으로 15~25 cm 안쪽은 재지 못한다.

SIMULATOR

초음파 주차 센서: 버스트와 메아리

음속—
왕복 시간—
20 °C로 가정한 거리—
최소 감지 거리—
판정—
해볼 것: 거리를 0.15 m까지 줄이면 메아리가 송신 잔향(회색 구간)에 묻혀 감지되지 않는다. 버스트를 길게 하면 메아리 에너지는 커지지만 최소 감지 거리도 늘어난다. 온도를 −20 °C로 내리면 같은 거리의 왕복 시간이 길어지고, 보정하지 않으면 실제보다 멀게 읽는다. 주파수 48 kHz, 파형은 포락선으로 그렸다.
계산 예: 온도 보정을 빼먹으면

−10 °C에서 음속은 \(331.3 + 0.606 \times (-10) \approx 325.2\) m/s다. 실제 2.00 m 거리의 왕복 시간은 \(4.00/325.2 \approx 12.30\) ms다. 이를 20 °C의 음속 343.4 m/s로 환산하면 2.11 m가 되어 11 cm를 멀게 읽는다. 주차에서 11 cm는 범퍼가 닿고 안 닿고의 차이다.

초음파 센서는 앞뒤 범퍼에 4~6개씩, 모두 8~12개가 달린다. 주차 보조(17장)에서 장애물 경고와 주차 공간 탐색에 쓰이고, 이웃 센서가 서로의 메아리를 듣는 방식으로 장애물의 가로 위치도 추정한다. 눈, 진흙, 얼음이 소자 표면에 붙으면 감도가 크게 떨어진다.

내 위치를 재는 센서: GNSS, IMU, 휠 속도

지금까지의 센서는 바깥을 본다. 차가 스스로 어디에 있고 어떻게 움직이는지를 재는 센서가 따로 필요하다.

GNSS: 위성까지의 거리로 위치를

GNSS(Global Navigation Satellite System)는 GPS, 갈릴레오, 글로나스, 베이더우를 아우르는 이름이다. 고도 약 2만 km의 위성들이 자기 위치와 송신 시각을 실어 전파를 내보낸다. 수신기는 도착 시각과 송신 시각의 차에 광속을 곱해 위성까지의 거리를 구한다. 그런데 수신기의 값싼 시계는 위성의 원자시계와 맞지 않는다. 1 µs만 틀려도 300 m다. 그래서 이 거리를 의사 거리(pseudorange)라 부르고, 수신기 시계 오차 자체를 네 번째 미지수로 함께 푼다.

$$\rho_i = \sqrt{(x-x_i)^2+(y-y_i)^2+(z-z_i)^2} + c\,\delta t + \varepsilon_i$$
여기서 \(\rho_i\)는 \(i\)번 위성의 의사 거리, \((x_i,y_i,z_i)\)는 위성 위치, \(\delta t\)는 수신기 시계 오차, \(\varepsilon_i\)는 나머지 오차다. 미지수가 \(x, y, z, \delta t\) 넷이므로 위성이 4개 이상 필요하다.
위성 1위성 2위성 3위성 4 수신기 (x, y, z, δt) ρ₁ = r₁ + c·δt ρ₄ = r₄ + c·δt 전리층·대류권 지연 건물 반사(다중 경로)
그림 18-5. 의사 거리. 각 위성을 중심으로 한 구면이 한 점에서 만나도록 위치와 시계 오차를 동시에 푼다. 시계 오차는 모든 의사 거리에 같은 양으로 더해지므로 네 번째 위성으로 가려낼 수 있다.

오차의 원인은 여럿이다. 전리층과 대류권을 지나며 전파가 늦어지고, 위성 궤도와 시계 정보에 오차가 있으며, 도심에서는 건물에 반사된 신호가 직접 신호보다 늦게 들어오는 다중 경로가 수십 m의 오차를 만든다. 하늘이 트인 곳의 단독 측위는 대표적으로 수 m 수준이다. 차로 하나의 폭이 약 3.5 m이므로 어느 차로에 있는지 알기에는 부족하다.

RTK(Real-Time Kinematic)는 위치를 정확히 아는 기준국이 같은 위성을 관측해 구한 보정값을 받아 공통 오차를 상쇄하고, 코드 대신 반송파(파장 약 19 cm)의 위상을 세어 cm 수준의 정확도를 얻는다. 다만 위성이 가려지면 쓸 수 없다는 점은 그대로다.

IMU와 휠 속도: 적분은 드리프트를 부른다

관성 측정 장치(Inertial Measurement Unit, IMU)는 3축 가속도계와 3축 자이로(각속도계)로 이루어진다. 각속도를 적분하면 자세가, 가속도를 두 번 적분하면 위치가 나온다. 초당 100회 이상 값을 내고 외부 신호가 필요 없다. 문제는 적분이 작은 오차를 키운다는 것이다. 가속도계에 일정한 바이어스 \(b_a\)가 있으면 위치 오차는 \(\tfrac{1}{2} b_a t^2\)로 자란다.

계산 예: 터널 60초

가속도 바이어스가 0.05 m/s²(중력의 약 0.5 %)라면 10초 뒤 위치 오차는 \(0.5 \times 0.05 \times 10^2 = 2.5\) m, 60초 뒤에는 90 m다. 자이로 바이어스 0.1 °/s는 60초 뒤 방위각을 6° 틀어 놓고, 시속 72 km로 달렸다면 1.2 km를 가는 동안 옆으로 약 60 m가 어긋난다.

휠 속도 센서(ABS용, 8장)로 바퀴 회전을 세어 이동 거리를 구하는 휠 오도메트리는 가속도를 두 번 적분하는 것보다 훨씬 안정적이어서, 보통 속도는 바퀴에서, 방향은 자이로에서 가져와 위치를 적분한다. 이를 추측 항법(dead reckoning)이라 한다. 그래도 타이어 반지름 오차, 미끄러짐, 자이로 바이어스 때문에 오차는 달린 거리에 따라 계속 쌓인다.

GNSS와 추측 항법은 오차의 성질이 정반대다. GNSS는 측정마다 수 m씩 튀지만 오래 써도 오차가 쌓이지 않는다. 추측 항법은 짧은 시간에는 매끄럽고 정확하지만 시간이 갈수록 흘러간다. 둘을 합치면 추측 항법으로 매끄럽게 예측하고 GNSS로 천천히 끌어당겨 드리프트를 지운다. 아래 시뮬레이터는 가장 단순한 융합인 상보 필터를 쓴다. 실제 차량은 19장에서 다루는 칼만 필터를 쓴다.

SIMULATOR

GNSS + IMU: 튀는 센서와 흘러가는 센서

표시
실제 경로GNSS 측위점추측 항법만융합
GNSS 오차—
추측 항법 오차—
융합 오차—
융합 평균 오차—
상태—
해볼 것: 추측 항법만의 궤적(주황)은 처음에는 정확하지만 바퀴를 돌수록 실제 경로에서 멀어진다. 융합(파랑)은 터널 안에서 추측 항법처럼 흘러가다가 출구에서 GNSS를 다시 받으면 끌려 돌아온다. 이득 K를 키우면 빨리 돌아오는 대신 GNSS 잡음을 그대로 따라 흔들리고, 줄이면 매끄럽지만 느리게 돌아온다. 차는 15 m/s로 달리며 GNSS는 초당 5회, 관성 센서는 초당 50회 갱신된다.

센서를 비교하고 조합하기

지금까지의 내용을 한 표에 모은다. 값은 양산 수준 센서의 대표적인 범위이고, 제품과 세대에 따라 크게 달라진다.

항목카메라레이더라이다초음파
탐지 거리약 50~250 m약 80~300 m약 100~250 m약 0.2~5 m
거리 정확도거리의 수 %~10 % (추정)약 0.1~0.5 m약 2~5 cm약 1~3 cm
각 분해능약 0.01~0.05°약 1~15°약 0.05~0.4°수십 ° (방향 구분 거의 없음)
속도프레임 간 변화로 추정도플러로 직접 측정프레임 간 추정 (FMCW는 직접)측정 안 함
비·안개·눈약함강함약함~보통보통
야간·역광약함영향 없음영향 거의 없음영향 없음
색·글자·신호등가능불가반사 강도만불가
상대 가격낮음낮음~중간높음아주 낮음
SIMULATOR

날씨에 따른 센서 성능 비교

조건
센서 구성
이 구성의 가장 약한 축—
그 축의 점수—
융합 다각형 면적—
해볼 것: 카메라만 켜고 맑은 낮 → 안개로 바꾸면 다각형이 크게 쪼그라든다. 레이더를 더하면 탐지 거리와 속도 축이 채워지지만 "거리 정확도"와 안개 속 "각 분해능"은 여전히 약하다. 라이다를 더하면 무엇이 채워지고 무엇을 잃는지(저렴함 축은 구성 전체의 비용이므로 가장 비싼 센서를 따른다) 본다. 점수는 0~5의 정성적 평가다.

카메라 중심 접근과 라이다 포함 접근

업계는 센서 구성에서 크게 두 갈래로 나뉜다. 카메라 중심 접근은 사람이 눈만으로 운전한다는 점에서 출발한다. 카메라 8대 안팎을 차 둘레에 달고, 거리와 3D 구조는 대량의 주행 데이터로 학습한 신경망이 추정한다. 센서가 싸서 수백만 대에 달 수 있고, 그 차들이 다시 학습 데이터를 모은다. 약점은 거리가 추정값이라는 점과 역광·악천후·처음 보는 물체에서의 신뢰성이다. 레이더를 보조로 함께 쓰는 구성도 많다.

라이다 포함 접근은 카메라, 레이더, 라이다를 모두 달아 서로 다른 물리 원리로 같은 물체를 독립적으로 확인한다. 학습 데이터에 없던 물체라도 라이다는 "거기에 무언가 있다"는 사실을 형상으로 알려 준다. 운전자 없는 로보택시는 거의 모두 이 구성이다. 약점은 비용, 전력, 세정과 캘리브레이션의 복잡함이다. 라이다 가격이 내려가면서 양산 승용차의 고속도로 자동화 기능에도 전방 라이다 한 대를 더하는 구성이 늘고 있다. 어느 쪽이 옳은지는 목표로 하는 자동화 레벨(17장)과 안전을 어떻게 입증할 것인가(21장)에 달린 문제다.

배치, 캘리브레이션, 그리고 더러워진 렌즈

어디에 달 것인가

센서 위치는 성능과 디자인, 내구성 사이의 타협이다. 전방 카메라는 와이퍼가 닦아 주는 앞 유리 안쪽 위에 둔다. 높아서 멀리 보이고 오염에서 보호된다. 레이더는 전파가 플라스틱을 통과하므로 범퍼나 엠블럼 뒤에 숨긴다. 금속 성분이 든 도료나 두꺼운 얼음은 전파를 막는다. 라이다는 높을수록 가려짐이 적어 지붕 앞이 유리하지만 공기 저항(12장)과 외관에 불리하다. 지붕 위 센서는 차 바로 옆의 낮은 곳을 보지 못하므로 근거리는 초음파와 주변 카메라가 덮는다.

캘리브레이션: 센서들이 같은 세계를 보게 하기

카메라의 한 픽셀과 라이다의 한 점이 같은 물체라는 것을 알려면, 각 센서가 무엇을 어떻게 왜곡하는지, 그리고 차체 어디에 어느 방향으로 붙어 있는지를 정확히 알아야 한다.

차량 좌표계 (뒤 차축 중심) 카메라 좌표계 R, t 회전이 0.5° 틀리면 100 m 앞에서 0.87 m 어긋난다 카메라라이다레이더 같은 순간? 시간 → (라이다는 한 바퀴 100 ms 동안 차례로 측정) 시각이 10 ms 어긋나면 30 m/s에서 0.3 m
그림 18-6. 왼쪽: 외부 파라미터는 각 센서 좌표계를 하나의 차량 좌표계로 옮긴다. 오른쪽: 센서마다 측정 주기와 순간이 달라 공통 시각으로 맞춰야 한다.

요구되는 정밀도는 꽤 높다. 카메라의 방향이 0.5° 틀리면 100 m 앞에서 \(100 \times \tan 0.5^\circ \approx 0.87\) m가 어긋나 옆 차로의 차를 내 차로로 착각할 수 있다. 공장에서 타깃을 세워 놓고 맞추지만, 온도 변화와 진동, 가벼운 접촉 사고로도 틀어지므로 주행 중에 차선이나 주변 구조물을 이용해 스스로 다시 맞추는 온라인 캘리브레이션이 필수다. 앞 유리나 범퍼를 교체한 뒤 정비소에서 ADAS 재보정을 하는 것도 같은 이유다.

오염과 세정

센서는 차에서 가장 더러워지기 쉬운 곳에 노출되어 있다. 진흙, 벌레, 염화칼슘, 성에, 빗방울 하나가 카메라 시야의 큰 부분을 가린다. 그래서 워셔액 분사 노즐, 압축 공기, 렌즈 히터, 발수 코팅이 센서와 한 묶음으로 설계된다. 그보다 중요한 것은 센서가 자신이 가려졌다는 사실을 아는 것이다. 영상의 선명도 저하, 레이더 수신 세기의 전반적 하락, 라이다 창에서의 강한 근거리 반사를 감시해 성능 저하를 판단하고, 기능을 제한하거나 운전자에게 넘긴다. 이처럼 고장이 아닌 성능 한계로 생기는 위험을 다루는 체계가 21장의 SOTIF다.

센서끼리의 간섭

도로 위 레이더와 라이다가 늘면 남의 송신을 내 반사파로 착각할 수 있다. FMCW 레이더는 처프의 기울기와 시작 시각이 정확히 같아야만 비트 신호가 생기므로 남의 처프는 대부분 넓게 퍼진 잡음으로 나타나지만, 잡음 바닥이 올라가 약한 타깃을 놓칠 수 있다. 처프 시작 시각과 기울기를 무작위로 바꾸거나 간섭 구간을 검출해 지우는 방법을 쓴다. 펄스 라이다는 펄스 간격에 고유한 부호를 싣고, FMCW 라이다는 자기 송신광과 간섭하는 빛만 검출하므로 원리적으로 간섭에 강하다.

핵심 정리

  1. 파장이 짧을수록 각 분해능이 좋고 비·안개에 약하다. 카메라·라이다(빛)와 레이더(mm파)의 장단점은 여기서 갈리며, 그래서 서로를 보완한다.
  2. 카메라는 방향을 재는 센서다. 물체의 픽셀 높이는 \(fH/Z\)이고, 넓은 화각과 먼 인식 거리는 같은 픽셀 수로 함께 얻을 수 없다.
  3. 단안 카메라는 거리를 추정할 뿐이다. 스테레오는 \(Z = fB/d\)로 거리를 재지만 오차가 \(Z^2\)에 비례해 원거리에 약하다.
  4. FMCW 레이더는 비트 주파수로 거리를, 처프 사이의 위상 변화(도플러)로 속도를 잰다. 거리 분해능은 \(c/2B\)로 대역폭만이 정한다. 방향은 안테나 배열의 위상 차로 구하며 각 분해능이 약점이다.
  5. 라이다는 \(R = ct/2\)로 방향마다 거리를 재어 3D 포인트 클라우드를 만든다. 물체에 닿는 점의 수는 거리의 제곱에 반비례하고, 반사율이 낮은 물체와 악천후에서 탐지 거리가 줄어든다.
  6. 초음파는 음속(20 °C에서 약 343 m/s)으로 근거리를 싸게 잰다. 온도 보정이 필요하고 잔향 때문에 최소 감지 거리가 있다.
  7. GNSS는 위성 4개 이상의 의사 거리로 절대 위치를 주지만 수 m씩 튀고 터널에서 끊긴다. IMU와 휠 오도메트리는 매끄럽지만 적분 오차가 쌓인다. 둘의 융합이 드리프트를 지운다.
  8. 센서 성능은 내부·외부 캘리브레이션, 시간 동기, 세정과 오염 감지가 뒷받침될 때만 의미가 있다.

확인 퀴즈

가로 1,920 픽셀, 초점 거리 2,000 픽셀인 카메라로 80 m 앞의 키 1.6 m 보행자를 찍으면 픽셀 높이는?

\(h = fH/Z = 2000 \times 1.6 / 80 = 40\) 픽셀이다. 가로 픽셀 수는 화각을 정할 뿐, 픽셀 단위 초점 거리가 주어지면 계산에 쓰이지 않는다.

스테레오 카메라로 30 m에서 거리 오차가 0.5 m였다. 다른 조건이 같을 때 90 m에서의 오차는?

\(\Delta Z \propto Z^2\)이다. 거리가 3배이므로 오차는 9배, \(0.5 \times 9 = 4.5\) m다.

FMCW 레이더에서 1 m 떨어진 두 타깃을 거리로 구분하려면 무엇을 바꿔야 하는가?

거리 분해능은 \(c/2B\)다. 1 m 이하가 되려면 \(B \ge c/2 = 150\) MHz가 필요하다. 출력은 신호 대 잡음비를, 처프 개수는 속도 분해능을 바꿀 뿐 거리 분해능과는 무관하다.

각 분해능 0.2°인 라이다에서 50 m 앞 물체에 닿던 점이 약 40개였다. 같은 물체가 100 m에 있으면 대략 몇 개인가?

빔 간격 \(R\,\Delta\theta\)가 가로·세로 모두 두 배로 벌어지므로 점의 수는 \(1/R^2\)에 따라 4분의 1인 약 10개가 된다.

GNSS 수신기가 3차원 위치를 구하는 데 위성이 최소 4개 필요한 이유는?

미지수는 \(x, y, z\)와 수신기 시계 오차 \(\delta t\)의 넷이다. 시계 오차는 모든 의사 거리에 공통으로 더해지므로, 방정식 4개로 함께 풀 수 있다.

GNSS와 추측 항법(IMU + 휠 속도)을 융합하는 것이 효과적인 근본 이유는?

단기적으로는 추측 항법이, 장기적으로는 GNSS가 정확하다. 추측 항법으로 예측하고 GNSS로 천천히 보정하면 양쪽의 장점만 남는다. 터널처럼 GNSS가 끊긴 구간은 추측 항법이 메운다.