기업 조사 학습 노트 목차

센서 기술 — 초음파·레이더·라이다·카메라

앞 편 에서 ADAS 의 전체 그림을 봤다면, 이제 각 센서가 어떻게 동작하고 무엇이 어려운지를 본다. 면접에서 갈리는 지점이 여기다 — "라이다를 만듭니다" 는 누구나 말하고, "반사파의 비행시간을 재는데 온도 보정이 필요합니다" 는 준비한 사람만 말한다.

각 센서의 원리와 개발자가 실제로 붙잡는 문제를 정리한다.


센서 넷을 한눈에

거리강점약점용도
초음파0.2~5m싸다 · 근거리 정확느리다 · 환경 민감주차 보조
레이더~250m비·안개·야간에 강함 · 속도 직접 측정각도 분해능 낮음크루즈·충돌 경고
라이다~300m정밀한 3D 형상비싸다 · 악천후 취약레벨 3 자율주행
카메라상황에 따라의미 인식(표지판·차선·보행자)어둠·역광 취약 · 거리 부정확차선 유지 · 표지판

어느 하나로 충분하지 않다는 것이 핵심이다. 그래서 여러 센서를 합치는 **센서 퓨전**이 필요하고, 그것을 처리하는 것이 컴퓨팅 유닛이다.

초음파  "0.4m 앞에 뭔가 있다"          (무엇인지는 모른다)
레이더  "80m 앞 물체가 시속 -20km/h"   (모양은 모른다)
라이다  "그 물체는 폭 1.8m 높이 1.5m"  (무엇인지는 모른다)
카메라  "그것은 승용차다"              (거리는 부정확하다)
        └─────────── 합쳐야 판단이 된다 ───────────┘

초음파 센서 — 대구 공장의 첫 제품

원리

압전 소자로 40~60kHz 초음파를 쏜다
   ↓
물체에 맞고 반사되어 돌아온다
   ↓
왕복 시간을 잰다

거리 = 음속 × 비행시간 / 2
// 음속은 온도에 따라 변한다 — 보정이 필수다
float speed_of_sound(float temp_c) {
    return 331.3f + 0.606f * temp_c;      // m/s
}
// -20℃ → 319 m/s
//  40℃ → 355 m/s      약 11% 차이

겨울과 여름에 같은 거리가 다르게 측정된다. 주차 보조에서 10cm 오차는 그대로 사고로 이어지므로, 온도 센서 값을 받아 보정한다. 이것 하나만 정확히 설명해도 준비한 티가 난다.

다이어그램 로딩 중…

시간 축에서 보면 왜 근거리가 안 보이는지가 분명해진다. 쏘자마자 소자가 스스로 떨고 있어서, 그 떨림이 잦아들기 전에 돌아온 반사파는 자기 소리에 묻힌다.

개발자가 붙잡는 문제

① ring-down — 근거리 사각지대
   송신 직후 압전 소자가 계속 진동해 자기 신호를 듣는다
   그 진동이 잦아들 때까지(수백 µs) 아무것도 못 본다
   → 약 20~30cm 이내는 측정 불가

② 교차 간섭 — 센서가 12개 붙어 있다
   A 가 쏜 신호를 B 가 받으면 엉뚱한 거리가 나온다
   → 시분할(순서대로 쏘기) 또는 코딩(신호에 식별자 넣기)

③ 오탐
   배기가스 · 낮은 연석 · 잔디 · 빗방울
   → 여러 번 측정해 일치할 때만 인정

④ 환경
   온도 · 습도 · 바람 · 센서 표면 오염

②가 특히 흥미로운 설계 문제다. 시분할은 단순하지만 12개를 순서대로 쏘면 한 바퀴에 시간이 걸린다. 주차 중 차가 움직이고 있으므로 갱신 주기가 늦으면 위험하다. 코딩 방식은 동시에 쏠 수 있지만 신호 처리가 복잡해진다.

무슨 코드를 쓰나

// 타이머 입력 캡처로 에코 폭을 정확히 잰다
void TIM3_IRQHandler(void) {
    if (TIM3->SR & TIM_SR_CC1IF) {
        uint32_t now = TIM3->CCR1;          // 하드웨어가 엣지 순간을 붙잡는다
        if (rising) { echo_start = now; }
        else        { echo_us = now - echo_start; }   // 오버플로에도 안전
        rising = !rising;
    }
}

float distance_m(uint32_t echo_us, float temp_c) {
    return speed_of_sound(temp_c) * (echo_us * 1e-6f) / 2.0f;
}

소프트웨어로 폴링하면 인터럽트 지연만큼 오차가 생긴다. 하드웨어 입력 캡처를 쓰는 이유이고, 임베디드 트랙의 타이머 편에서 본 그대로다.


레이더 — 77GHz FMCW

원리

주파수를 톱니 모양으로 쓸어 올리며 송신한다 (chirp)

주파수 ^
       |    /|    /|    /|
       |   / |   / |   / |
       |  /  |  /  |  /  |
       +----------------------> 시간
          송신 ---  수신 ···  (지연된 만큼 주파수 차이가 난다)

거리     송·수신 주파수 차이에 비례
속도     여러 chirp 사이의 위상 변화(도플러)에서
다이어그램 로딩 중…

믹서가 이 체인의 핵심이다. 왕복 시간을 직접 재는 대신, 보낸 신호와 받은 신호를 곱해 시간 지연을 주파수 차이로 바꾼다. 나노초를 재는 회로 없이 킬로헤르츠를 재면 되므로 훨씬 싸게 만들 수 있다.

거리와 속도를 동시에 얻는 것레이더의 결정적 강점이다. 카메라는 속도를 직접 못 재고 프레임 간 변화로 추정해야 한다.

77~81GHz   장거리·고해상도 (요즘 표준)
24GHz      단거리 — 축소되는 추세

약점과 그 이유

각도 분해능이 낮다
  → 안테나 개수가 정한다. 물리적으로 많이 못 넣는다
  → "앞에 두 대가 나란히" 를 한 덩어리로 볼 수 있다

이것을 개선하는 것이 MIMO(다중 송수신 안테나) 이고, 가상 안테나를 만들어 분해능을 올린다.

임베디드 개발자의 몫

RF 프런트엔드     ─ 고주파 회로 엔지니어 영역
신호 처리         ─ FFT · CFAR · 클러스터링 · 트래킹   ← 여기
제어기 소프트웨어  ─ CAN/이더넷 출력 · 진단 · 캘리브레이션  ← 여기

"레이더 개발" 이라고 하면 RF 를 떠올리기 쉽지만, 임베디드 몫은 신호 처리 이후다. DSP 명령이 있는 MCU 나 전용 프로세서에서 FFT 를 돌리고, 그 결과를 물체 목록으로 만들어 내보낸다.


라이다 — SCALA

발레오의 대표 제품이고 **세계 최초로 양산 차량에 들어간 라이다**다.

원리

레이저 펄스를 쏘고 반사까지의 시간을 잰다  (초음파와 같은 발상)
차이는 매질이 빛이라는 것 — 빛은 1ns 에 30cm 를 간다

→ 나노초 단위 시간 측정이 필요하다
→ 각도를 바꿔 가며 수백만 번 반복하면 3D 점군(point cloud)이 나온다

SCALA 3 실측 사양

거리       반사율 10% 대상 200m · 고반사 대상 300m
시야       수평 120° × 수직 26°
해상도     수평·수직 0.05°
처리량     초당 최대 1,250만 포인트 (2세대의 16배 이상)
크기       186 × 46 × 128 mm
용도       레벨 3 인증 — 최대 130km/h 에서 손·눈을 뗄 수 있다

"반사율 10%" 라는 조건이 중요하다. 검은 옷을 입은 보행자나 어두운 타이어는 빛을 거의 안 되돌려준다. 밝은 표지판 300m 보다 어두운 물체 200m 가 훨씬 어려운 성능이다.

자가 진단이 안전 요구사항이다

블로키지 감지       렌즈가 진흙·눈으로 가려졌나
비/물보라 감지      날씨 때문에 점군이 지저분한가
온라인 캘리브레이션  주행 중에 스스로 보정
정렬 오차 감지      충격으로 센서 각도가 틀어졌나

센서가 "지금 내 말을 믿지 말라" 고 말할 수 있어야 한다. 가려진 줄 모르고 "앞에 아무것도 없다" 고 보고하면 그것이 사고다.

이것이 임베디드 트랙에서 본 자가 진단(self-test) 이 안전 요구사항으로 굳어진 형태다.


컴퓨팅 유닛 — 차량 구조가 바뀌고 있다

예전                          지금 가는 방향
기능마다 ECU 하나              구역·중앙 집중

[ECU][ECU][ECU][ECU]          [Zone]──┐
[ECU][ECU][ECU][ECU]   →      [Zone]──┼── [Central Computing]
  100개 넘는 제어기             [Zone]──┘
  배선이 수 km                   배선이 크게 준다
역할
Zone Controller차량의 한 구역(앞왼쪽 등)의 입출력을 담당
Domain Controller기능 영역(ADAS·인포테인먼트)을 담당
Central Computing중앙에서 통합 판단

소프트웨어 정의 차량(SDV) 이라는 말이 여기서 나온다. 하드웨어를 고정하고 기능을 소프트웨어 업데이트로 바꾸는 구조다.

그래서 요구되는 것도 달라진다.

예전   MCU · C · CAN · 정적 구성
지금   + 고성능 SoC · C++ · Automotive Ethernet · OTA 업데이트
       + AUTOSAR Adaptive · 컨테이너 · 서비스 지향 통신(SOME/IP)

차량 통신 — 무엇으로 주고받나

속도쓰임
LIN20kbps창문·시트처럼 느려도 되는 것
CAN / CAN FD1Mbps / 5~8Mbps제어 신호 전반 — 가장 널리
FlexRay10Mbps시간 결정성이 필요한 곳(축소 추세)
Automotive Ethernet100M~10Gbps카메라·라이다 대용량 데이터

센서가 좋아질수록 이더넷으로 옮겨 간다. 라이다가 초당 1,250만 포인트를 뱉으면 CAN 으로는 불가능하다.

다만 CAN 은 여전히 핵심이다. 제어 신호와 진단은 CAN 이고, 그 위에 진단 프로토콜(UDS)이 얹힌다.

CAN 이 안전 시스템에 쓰이는 이유
  ID 가 작을수록 우선순위가 높고, 진 쪽은 데이터를 잃지 않는다(비파괴 중재)
  → 최악 지연을 계산할 수 있다
  → "브레이크 신호는 아무리 바빠도 이만큼 안에 간다" 를 증명할 수 있다

표준은 앞 편에서

ISO 26262 · AUTOSAR · A-SPICEADAS 편공부할 것 에서 다룬다.

한눈에 정리

  • 센서 하나로는 부족하다 — 초음파(근거리) · 레이더(속도·악천후) · 라이다(3D 형상) · 카메라(의미)를 합친다
  • 초음파는 비행시간 — 음속의 온도 의존성 보정이 필수(-20℃와 40℃에 11% 차이)
  • 초음파의 실제 과제는 ring-down 사각 · 교차 간섭 · 오탐
  • 레이더 FMCW 는 거리와 속도를 동시에 얻는다. 약점인 각도 분해능은 안테나 수가 정한다
  • 레이더의 임베디드 몫은 RF 가 아니라 신호 처리 이후 — FFT·클러스터링·트래킹·출력
  • 라이다는 나노초 시간 측정 — 빛은 1ns 에 30cm 를 간다
  • SCALA 3 는 반사율 10% 에서 200m — 밝은 물체 300m 보다 이쪽이 어려운 성능이다
  • 센서가 "내 말을 믿지 말라" 고 말할 수 있어야 한다 — 블로키지·정렬 오차 자가 진단
  • 차량 구조가 ECU 다발에서 구역·중앙 집중으로 옮겨 간다(SDV)
  • CAN 은 최악 지연 계산이 가능해 안전 시스템에 쓰인다. 대용량은 이더넷으로
  • 표준(ISO 26262·AUTOSAR·A-SPICE)은 ADAS 편 에서 다룬다

다음 편 — 대구가 실제로 만드는 자율주차 시스템 으로 이어진다.

출처Valeo — Brain Division · Valeo SCALA™ LiDAR · Valeo — SCALA 3 PACE Award · ISO 26262(Road vehicles — Functional safety) · ISO 11898(CAN) · AUTOSAR Classic/Adaptive Platform 문서 · Automotive SPICE PAM 3.1

ADAS — 무엇이고 왜 지금인가자율주차 — 대구가 실제로 만드는 것