비전 기반 객체 추적 및 이중 PID 제어
I’m happy to translate the article for you, but I don’t have the full text of the post. Could you please paste the content you’d like translated (excluding the source link you already provided)? Once I have the article text, I’ll translate it into Korean while preserving the original formatting, markdown, and code blocks.
소개
로봇공학에서 피드백은 시스템을 지능적으로 만드는 핵심 요소입니다. 개방형 루프 시스템과 달리 폐쇄형 루프 시스템은 출력값을 지속적으로 측정하고 실시간으로 스스로를 교정합니다.
이 프로젝트에서는 웹캠과 이중 PID 컨트롤러를 이용한 비전 기반 폐쇄형 루프 제어 시스템을 구축했습니다. 시스템은 색상이 있는 물체를 감지하고, 수평으로 정렬하며, 카메라 입력만으로 안전 거리를 유지합니다. 이 설정은 자율 주행 차량, 드론, 모바일 로봇에 사용되는 핵심 로직을 모방합니다.
문제 설명
목표는 카메라 입력만을 사용하여 목표 객체를 추적하고 실시간으로 반응할 수 있는 시스템을 설계하는 것이었습니다. 시스템은 다음을 수행해야 합니다:
- 실시간 비디오 스트림에서 색상 객체를 감지한다.
- 객체와 수평으로 정렬한다.
- 안전하고 일관된 거리를 유지한다.
- 피드백을 사용하여 지속적으로 움직임을 조정한다.
주된 과제는 인식을 위한 컴퓨터 비전과 의사결정을 위한 PID 제어를 하나의 폐쇄 루프 시스템으로 결합하는 것이었습니다.
비전 파이프라인
인식 레이어는 카메라 피드에서 의미 있는 정보를 추출합니다.
- 색 공간 변환 – 각 프레임을 RGB에서 HSV로 변환합니다. HSV(색조, 채도, 명도)는 색상 정보(색조)와 밝기를 분리하여 조명 변화에 더 강인한 분할을 가능하게 합니다.
- 색 임계값 적용 – 임계값을 사용해 파란색 물체를 분리하고, 이진 마스크를 생성합니다(물체 = 흰색, 배경 = 검은색).
- 컨투어 검출 – 이진 마스크에서 컨투어를 찾으며, 가장 큰 컨투어를 목표물이라고 가정합니다.
- 특징 추출 – 선택된 컨투어로부터 다음을 얻습니다:
- 물체의 수평 중심:
x_object - 바운딩 박스 높이:
h_object
- 물체의 수평 중심:
이 측정값들을 이용해 제어 오차를 계산합니다:
[ \text{Error}{\text{steer}} = x{\text{object}} - x_{\text{frame_center}} ]
바운딩 박스 높이는 대략적인 거리 척도로 사용됩니다: 높이가 클수록 물체가 더 가깝습니다.
제어 시스템 설계
두 개의 PID 컨트롤러가 병렬로 작동합니다:
| 컨트롤러 | 측정 변수 | 오류 정의 | 목표 |
|---|---|---|---|
| 조향 | 수평 위치 (x_object) | $\displaystyle \text{Error}{\text{steer}} = x{\text{object}} - x_{\text{frame_center}}$ | 객체를 수평으로 중앙에 유지 |
| 거리 | 객체 높이 (h_object) | $\displaystyle \text{Error}{\text{dist}} = h{\text{desired}} - h_{\text{object}}$ | 안전 거리(원하는 높이) 유지 |
각 PID 컨트롤러는 세 가지 항으로 구성됩니다:
- 비례 (P) – 현재 오류에 반응합니다.
- 적분 (I) – 누적된 과거 오류를 보정합니다.
- 미분 (D) – 급격한 변화를 억제하여 과도한 진동을 줄입니다.
조향 컨트롤러와 거리 컨트롤러를 결합함으로써 로봇은 목표물에 동시에 정렬하고 일정한 간격을 유지할 수 있습니다.
폐루프 아키텍처
시스템은 연속적인 피드백 루프로 동작합니다:
- 카메라에서 프레임을 캡처합니다.
- 프레임을 처리합니다 (색 변환 → 임계값 → 컨투어 → 특징 추출).
- 조향 및 거리 오류를 계산합니다.
- 오류를 각각의 PID 컨트롤러에 입력합니다.
- PID 출력값을 적용하여 조향과 전진 속도를 조정합니다.
- 다음 프레임에 대해 반복합니다.
출력이 직접 다음 측정에 영향을 미치기 때문에 루프가 닫힌 상태를 유지하며, 실시간 보정과 안정성을 가능하게 합니다.

실험 관찰
PID 튜닝 중 다음과 같은 효과를 확인했습니다:
| Parameter | Observation |
|---|---|
| 높은 $K_p$ | 목표 주변에서 진동을 일으키는 공격적인 응답. |
| 낮은 $K_p$ | 느리고 둔감한 응답. |
| 미분 항 없음 | 특히 급격한 물체 움직임에서 눈에 띄는 오버슈트가 발생. |
| 미분 항 추가 | 전환이 부드러워지고 오버슈트가 감소. |
| 높은 적분 이득 | 오류 누적으로 인해 장기적인 불안정성이 발생. |
| 적절히 튜닝된 I | 시스템을 불안정하게 만들지 않으면서 정상 상태 오류를 제거. |
이러한 통찰은 각 PID 구성 요소가 실제 동작에 어떻게 영향을 미치는지를 강화시켰습니다.
실제 적용 사례
비전 기반 폐쇄‑루프 제어는 다음을 포함한 많은 로봇 분야에서 일반적입니다:
- 라인‑추적 로봇
- 자율 주행 차량
- 드론 추적 시스템
- 창고 자동화 로봇
- 산업 로봇에서의 비주얼 서보잉
이 프로젝트는 단순화된 프로토타입이지만, 생산용 자율 플랫폼에서 사용되는 기본 원리를 포착합니다.
결론
이 프로젝트는 컴퓨터 비전과 고전 제어 이론을 원활하게 통합하여 지능형 피드백 기반 시스템을 만들 수 있음을 보여줍니다. 객체 감지를 듀얼 PID 제어와 결합함으로써 로봇은 카메라 입력만으로 목표에 정렬하고 안전 거리를 유지할 수 있습니다.
- 인식‑제어 파이프라인 구축
- 실시간 루프에서 PID 컨트롤러 튜닝
- 로봇을 위한 안정적인 폐루프 아키텍처 설계
System design — all of which are fundamental concepts in robotics and autonomous systems.