자율주차 — 대구가 실제로 만드는 것
대구 공장의 첫 양산 제품이 주차보조 센서이고, 발레오 코리아가 과거에 뽑은 직무가 자율주차 시스템 엔지니어였다. 즉 이 도메인이 지금 대구에서 가장 실체가 있는 일이다.
발레오의 자율주차 제품군은 Park4U 라는 이름을 쓴다. 이 편은 그것이 무엇이고, 만들려면 무엇을 알아야 하는지를 본다.
시스템 구성
발레오가 공개한 자율주차 구성이 이렇다.
초음파 센서 12개 차 주위를 둘러싼다 — 근거리 장애물·주차공간 측정
카메라 4개 전·후·좌·우 어안 렌즈 — 서라운드 뷰와 인식
레이저 스캐너 더 넓은 범위 인지 (상위 사양)
↓
컴퓨팅 유닛 센서를 합쳐 판단하고 경로를 만든다
↓
차량 제어 조향(EPS) · 가속 · 제동
"싼 센서를 많이 써서 근거리를 촘촘히 본다" 가 주차 보조의 설계 철학이다. 라이다 하나보다 초음파 12개가 훨씬 싸고, 주차는 저속·근거리라 그것으로 충분하다.
동작 순서
① 주차 공간 탐색
천천히 지나가며 측면 초음파로 옆을 스캔한다
"빈 공간의 길이가 내 차 + 여유보다 긴가"
② 공간 확정
앞뒤 경계(다른 차·기둥)의 위치를 잡는다
운전자에게 "여기 댈 수 있습니다" 를 알린다
③ 경로 생성
현재 위치에서 목표 위치까지 조향각 제약 안에서 갈 수 있는 경로
후진·전진을 몇 번 나눠야 하는지 포함
④ 제어 실행
조향(EPS 에 각도 명령) · 속도(저속 유지) · 제동
진행하며 초음파로 계속 확인 — 사람이 끼어들면 즉시 정지
⑤ 완료 판정
좌우 여유 · 각도 · 경계선과의 거리를 확인
한 대의 ECU가 혼자 하는 일이 아니다. 거리는 센서에서, 이동량은 휠 속도 센서에서, 조향은 EPS에서, 정지는 브레이크에서 온다. 전부 CAN 위에서 오가므로 주기와 지연이 곧 안전 문제가 된다.
①이 의외로 어렵다. 차가 움직이는 중에 측면 센서로 거리를 재면서 동시에 자기가 얼마나 갔는지(주행거리)를 알아야 공간 길이가 나온다. 그래서 휠 속도 센서 값을 CAN 으로 받아 함께 쓴다.
공간 길이 = 빈 구간을 지나는 동안 이동한 거리
이동 거리는 휠 펄스에서 얻는다 → 타이어 마모·공기압에 따라 오차가 생긴다
→ 보정이 필요하고, 그 보정이 정확도를 좌우한다
초음파 센서가 이 시스템에서 하는 일
두 가지 역할이 다르다.
| 측면 센서 | 전·후방 센서 | |
|---|---|---|
| 언제 | 주차 공간을 찾을 때 | 주차 진행 중 |
| 무엇을 | 공간의 길이 측정 | 장애물까지 거리 |
| 요구 | 넓은 범위·긴 거리 | 정확한 근거리 |
// 전·후방 — 거리에 따라 경고음 간격을 바꾼다
uint16_t beep_interval_ms(float dist_m) {
if (dist_m > 1.5f) return 0; // 무음
if (dist_m > 1.0f) return 800;
if (dist_m > 0.6f) return 400;
if (dist_m > 0.3f) return 150;
return 0xFFFF; // 연속음 — 정지
}
"삐- 삐- 삐삐삐삐——" 가 이 함수 하나다. 단순해 보이지만 여기에 이력 현상(히스테리시스)을 안 넣으면 경계에서 소리가 떨린다.
// 히스테리시스 — 경계에서 떨리지 않게
static int zone;
int new_zone = zone_of(dist_m);
if (new_zone > zone && dist_m > threshold[zone] + 0.05f) zone = new_zone; // 멀어질 땐 여유
else if (new_zone < zone) zone = new_zone; // 가까워지면 즉시
안전 방향(가까워짐)은 즉시 반영하고, 반대 방향은 여유를 둔다. 이런 비대칭이 안전 관련 코드의 전형적인 모양이다.
서라운드 뷰 — 카메라 4개로 위에서 본 그림
어안 렌즈 4개 (전·후·좌·우)
↓ 왜곡 보정 렌즈 곡률을 펴는 변환
↓ 시점 변환 지면을 위에서 본 것처럼 (IPM)
↓ 합성·블렌딩 네 장의 경계를 자연스럽게
위에서 본 영상
"지면이 평평하다" 는 가정 위에 서 있다. 그래서 높이가 있는 물체(사람·기둥)는 위에서 본 그림에서 길게 늘어져 보인다. 이것은 버그가 아니라 원리적 한계다.
카메라 캘리브레이션이 핵심 작업이다
내부 파라미터 렌즈 왜곡 계수 · 초점 거리
외부 파라미터 차체에 대한 카메라의 위치·각도
→ 생산 라인에서 차마다 보정해야 한다 (조립 공차 때문)
→ 주행 중 틀어지면 온라인 보정으로 잡는다
생산 공정과 소프트웨어가 만나는 지점이라, 공장이 있는 대구에서 다루기 좋은 주제다.
차량 제어 — 여기가 안전의 핵심
조향 EPS(전동 파워스티어링)에 목표 조향각을 CAN 으로 보낸다
속도 저속(보통 5km/h 이하) 유지 — 가속·제동 요청
정지 장애물 감지 · 운전자 개입 · 시스템 이상 시 즉시
운전자가 개입하면 즉시 손을 떼야 한다. 스티어링을 잡거나 브레이크를 밟으면 시스템이 물러난다 — 이것을 오버라이드라 하고, 안전 요구사항이다.
이 기능의 ASIL 등급이 왜 중요한가
저속이라 충돌 피해는 작지만, 조향을 시스템이 잡는다
→ 의도치 않은 조향은 위험하다
→ 그래서 "이상하면 즉시 손을 떼고 운전자에게 넘긴다" 를 증명해야 한다
안전 상태 = 제어를 놓는 것이다. 앞서 신뢰성 편에서 본 "명령이 안 오면 마지막 값 유지가 가장 위험하다" 가 여기 그대로 적용된다.
왜 이게 어려운가
① 센서가 싸고 부정확하다
초음파는 온도·바람·표면 재질에 흔들린다
→ 여러 번 측정·필터링·다른 센서와 교차 확인
② 상황이 무한하다
경사로 · 곡선 주차 · 옆차가 삐뚤어짐 · 기둥 · 연석 · 눈
→ 규칙으로 다 못 덮어 학습 기반이 들어오는 추세
③ 실시간이다
차가 움직이는 동안 계속 판단해야 한다
→ 센서 갱신 주기와 제어 주기를 맞춰야 한다
④ 안전을 증명해야 한다
"대부분 잘 된다" 가 아니라 "이런 고장을 이렇게 검출한다"
②가 이 분야의 본질적 난제다. 주차장은 표준화돼 있지 않고 나라마다 다르다. 그래서 지역별 데이터와 튜닝이 필요하고, 한국 R&D 센터가 한국 주차 환경을 담당하는 구조가 나온다.
면접에서 이렇게 쓴다
"주차 보조 시스템은 어떻게 동작하나요"
→ 측면 초음파로 지나가며 공간 길이를 재고(휠 속도로 이동거리 계산),
경로를 만들어 EPS 에 조향각을 주면서 전후방 센서로 계속 확인합니다.
운전자가 개입하면 즉시 물러납니다.
★ '휠 속도로 거리를 안다' 와 '오버라이드' 를 말하면 실제로 이해한 티가 난다
"초음파 센서 12개가 서로 간섭하지 않나요"
→ 합니다. 시분할로 순서대로 쏘거나 신호에 식별자를 넣습니다.
시분할은 단순하지만 한 바퀴 도는 시간이 걸려 갱신이 늦어지는 트레이드오프가 있습니다.
"서라운드 뷰에서 사람이 길게 늘어져 보이는 이유"
→ 지면이 평평하다는 가정으로 시점 변환을 하기 때문입니다. 높이가 있는 물체는
그 가정을 벗어나 늘어집니다. 원리적 한계라 다른 센서로 보완합니다.
"이 시스템에서 가장 위험한 고장은"
→ 센서가 가려졌는데 '장애물 없음' 으로 보고하는 것입니다.
그래서 블로키지 감지 같은 자가 진단이 안전 요구사항으로 들어갑니다.
★ '못 보는 것' 보다 '못 보는 줄 모르는 것' 이 위험하다는 관점이 좋은 답이다
여기에 맞춘 공부 우선순위
대구·자율주차 도메인이 확정됐다면 공부할 것 의 1순위에 이것을 얹는다.
필수 초음파 센서 원리와 한계 [기술](/iv/company/concepts/sensors)
타이머 입력 캡처로 시간 재기 [타이머와 PWM](/cs/embed/concepts/timer-pwm)
CAN 으로 차량 신호 주고받기 [CAN](/cs/embed/concepts/can)
필터링 (이동 평균·중앙값) [ADC](/cs/embed/concepts/adc)
권장 좌표 변환·기하 (경로 생성의 기초)
제어 이론 기초 (조향각 제어)
카메라 캘리브레이션 개념
수학이 아주 깊이 필요하지는 않다. 신입에게 경로 계획 알고리즘을 짜라고 하지 않는다. 대신 센서 값을 정확히 읽고, 필터링하고, CAN 으로 정확한 타이밍에 주고받는 것이 실제 업무에 가깝다.
한눈에 정리
- 대구의 실체는 자율주차(Park4U) 도메인 — 첫 양산 제품이 주차보조 센서이고 과거 채용 직무도 자율주차였다
- 구성은 초음파 12개 + 카메라 4개 + (상위) 레이저 스캐너 — 싼 센서를 많이 써서 근거리를 촘촘히
- 공간 탐색이 의외로 어렵다 — 측면 거리와 휠 속도 기반 이동거리를 함께 써야 길이가 나온다
- 경고음 간격 로직에는 히스테리시스가 필요하고, 안전 방향은 즉시·반대는 여유 라는 비대칭이 전형적이다
- 서라운드 뷰는 "지면이 평평하다" 는 가정 위에 있어 높이 있는 물체가 늘어진다 — 원리적 한계
- 캘리브레이션은 생산 공정과 만나는 지점 — 차마다 보정하고 주행 중 틀어지면 온라인 보정
- 안전 상태 = 제어를 놓는 것. 운전자 개입 시 즉시 물러나는 오버라이드가 안전 요구사항
- 본질적 난제는 상황의 무한함 — 주차장이 표준화돼 있지 않아 지역별 튜닝이 필요하고, 그래서 한국 R&D 가 한국 환경을 맡는다
- "못 보는 것" 보다 "못 보는 줄 모르는 것" 이 위험하다 — 자가 진단이 안전 요구사항인 이유
출처 — Valeo — PARK4U® 자동 주차 시스템 · Valeo — Park Assist System · Valeo Service — 초음파 주차 센서 기술 · New Atlas — Valet Park4U 시스템 구성