심화 C — 초음파 센서로 배우는 로봇 제어

대상 단계 5(모터제어) 이후 · 도구 parking_assist, pid_distance_cruise, maze_explore, fusion_drive

목표 거리 센서(HC-SR04) 값으로 자동차를 제어하며 비례·PID 제어, 상태머신, 센서 융합을 체험한다.

0. 거리 센서는 어떻게 읽나?

자동차(STA 펌웨어)에 {"speed":N,"steering":N,"want_distance":true}를 보내면 {"distance":N} 응답이 옵니다 (999=측정불가).

cd "d:\data\study\AI\Fab-Lab\CAR\Program\auto_car\advanced_lessons"
python parking_assist.py --no-car        # 거리 시뮬레이션으로 동작 미리보기

1차시 — 주차 보조: 비례 제어 (parking_assist.py)

2차시 — PID 튜닝 실험실 (pid_distance_cruise.py)

앞 물체(손/벽)와 목표 거리를 유지(적응형 크루즈). 멀어지면 전진, 가까우면 후진.

역할너무 크면너무 작으면
P(비례)오차에 비례진동반응 느림
I(적분)남은 오차 제거흔들림 누적목표에 못 닿음
D(미분)진동 억제잡음에 민감오버슈트

키: q/a(Kp) w/s(Ki) e/d(Kd). 먼저 P만 키워 진동시킨 뒤 D로 잡아보기

활동지: "내가 찾은 최적 게인 Kp/Ki/Kd = ___ / ___ / ___, 그 이유"

3차시 — 미로 탐험: 상태머신 (maze_explore.py)

4차시 — 센서 융합 (fusion_drive.py)

ACT 역량 연계