본문으로 건너뛰기

버그 제보

이상한 점을 알려 주시면 고칠게요. 지금 보고 있는 페이지와 브라우저 정보가 함께 담겨요.

페이지:

Computer Science

피드백 제어와 PID 제어기: 로봇이 목표값에 닿는 법

작성 2026. 10. 23.추가
목차7개 항목
출처와 참고

CrashCourse의 「Crash Course Computer Science」 #37 「Robots」(2017)를 바탕으로 재구성한 노트다.

로봇이란

로봇(robot)은 컴퓨터 제어로 일련의 동작을 자동으로 수행하는 기계다. 생김새는 정의에 들어가지 않는다. 자동차에 페인트를 뿌리는 산업용 팔, 드론, 수술을 돕는 뱀 모양 의료 로봇, 사람 모양 도우미 모두 로봇이다. 로봇이라는 말에는 물리 세계에서 움직인다는 뜻이 담겨 있어, 화면 속 가상 캐릭터나 소프트웨어는 봇(bot)이나 에이전트(agent)라 부르는 편이 맞다.

시기흐름
18세기전기 없이 태엽·톱니로 춤추고 연주하는 자동인형(automaton). 체스를 두는 「메커니컬 터크」는 안에 사람이 숨은 속임수였다
1920체코 희곡 「R.U.R.」이 강제 노동을 뜻하는 슬라브어 「로보타(robota)」에서 「로봇」이라는 말을 만들었다
1940년대 말프로그램대로 공구를 움직이는 CNC(컴퓨터 수치 제어) 공작 기계. 손으로는 못 깎는 정밀한 프로펠러를 알루미늄 덩어리에서 깎아 낸다
1960년대 초최초의 상용 산업용 로봇 유니메이트(Unimate) 가 GM 공장에서 뜨거운 주물을 들어 쌓았다. 이후 용접·도장·적재로 번졌다

음의 피드백 루프

레일 위를 오가는 집게를 원하는 위치로 보내는 가장 단순한 방법은 「도착했나? 아니면 계속 간다」를 반복하는 것이다. 측정한 위치와 원하는 위치의 차이를 줄이는 쪽으로 움직이므로 음의 피드백 루프(negative feedback loop) 라 한다.

flowchart LR
  sp["목표값(setpoint)"] --> err["오차 = 목표 − 측정"]
  err --> ctl["제어기"] --> act["구동기<br/>(모터, 펌프, 히터)"] --> world["실제 세계"]
  world --> sen["센서<br/>(위치, 압력, 온도)"]
  sen --> err
구성 요소역할
센서(sensor)실제 세계의 값을 잰다: 수압, 모터 위치, 기온
오차(error)원하는 값과 측정값의 차이
제어기(controller)오차를 해석해 시스템에 어떻게 명령할지 정한다
구동기(actuator)명령을 물리적 힘으로 바꾼다: 모터, 펌프, 발열체

조건이 통제된 환경에서는 이것으로 충분하다. 하지만 집게가 무거우면 「멈춰」라는 명령이 나와도 관성 때문에 목표를 지나친다(overshoot). 루프가 다시 되돌리면 또 반대쪽으로 지나치고, 제대로 조정되지 않은 루프는 영원히 흔들린다. 현실에는 마찰, 바람, 무게가 다른 짐처럼 바깥에서 변하는 힘도 있다. 더 정교한 제어 논리가 필요하다.

PID 제어기

PID 제어기(proportional-integral-derivative controller) 는 가장 널리 쓰이는 피드백 제어기다. 예전에는 기계 장치였지만 지금은 소프트웨어로 구현한다. 오차 하나에서 현재·과거·미래를 보는 세 값을 계산해 가중합을 낸다.

u(t) = Kp·e(t) + Ki·∫e(t)dt + Kd·de(t)/dt
        현재        과거(누적)     미래(변화율)
항계산하는 일없으면
비례(P)지금 이 순간의 오차차이가 클수록 세게 민다. 앞의 단순한 루프가 이것이다반응이 없다
적분(I)지난 오차를 쌓은 합오래 남는 정상 상태 오차를 없앤다. 긴 오르막처럼 비례만으로는 힘이 모자라면 누적이 커져 더 민다목표 바로 아래에서 멈춘 채 남는다
미분(D)오차가 변하는 속도목표로 너무 빨리 다가가면 미리 늦춘다. 「예측 제어」라고도 한다지나치고 진동한다

예: 커피 배달 로봇. 안전하고 빠른 초속 2m를 유지하려 한다. 맞바람, 오르막, 내리막이 속도를 흔든다. 속도 센서로 실제 속도를 재고, 목표와의 차이에서 세 항을 계산해 모터 출력을 올리고 내린다.

  • 세 가중치(Kp, Ki, Kd)를 맞추는 일을 튜닝이라 한다. 잘못 맞추면 느리게 반응하거나, 지나치게 흔들리거나, 적분이 쌓여 크게 넘친다(적분 와인드업).
  • 자동차 크루즈 컨트롤, 수평을 유지하려고 프로펠러 속도를 바꾸는 드론, 공 위에서 균형을 잡는 로봇, 온도 조절기가 모두 PID다.
  • 고급 로봇은 균형, 관절 각도, 바퀴 속도 같은 여러 제어 루프를 병렬로 돌린다.

목표값은 누가 정하나: 상위 계획

제어 루프는 위치·속도 같은 값을 주어진 목표값으로 맞추는 일만 한다. 목표값 자체는 상위 로봇 소프트웨어가 정한다. 감지한 장애물을 돌아가는 경로를 그리고, 「공 집기」 같은 작업을 단순한 동작의 순서로 쪼갠다.

flowchart TB
  task["작업 계획<br/>공을 집는다 → 접근, 손 벌리기, 잡기, 들어 올리기"]
  path["경로 계획<br/>장애물을 피하는 궤적의 점들"]
  loop["제어 루프<br/>각 관절이 다음 점의 각도에 닿도록 PID"]
  act["구동기<br/>모터 전류"]
  task --> path --> loop --> act

상위 행동을 조립하는 데는 비헤이비어 트리가 쓰인다. ROS 2의 주행 스택이 대표적이다.

모라벡의 역설

로봇은 심해 바닥에 가고 화성을 10년 넘게 돌아다녔지만, 사람에게 하찮은 일이 오히려 어렵다. 두 발로 걷기, 문 열기, 부서뜨리지 않고 물건 집기, 티셔츠 입기, 개 쓰다듬기처럼 생각 없이 하는 감각·운동 기술이 체스보다 어렵다는 관찰을 모라벡의 역설(Moravec's paradox)이라 한다.

  • 이 벽을 넘는 유력한 방법은 학습이다. 구글 연구진이 로봇 팔 14대에 물건 집기를 약 3,000 로봇-시간 연습시킨 실험에서, 카메라 피드백으로 동작을 고쳐 가는 학습 모델의 실패율은 18%로 개루프 방식(34%)의 절반쯤이었다(Google Research, 2016). 이처럼 로봇은 쉬지 않고 여러 대가 동시에 연습한다(강화 학습).
  • 자율 주행차는 입력이 가속·감속·조향뿐이라 제어 자체는 단순하다. 어려운 것은 차선·표지판 읽기, 차·보행자·자전거의 움직임 예측 같은 인식이고, 근접 센서와 컴퓨터 비전에 크게 기댄다.
  • 사람처럼 생기고 행동하는 안드로이드는 인공지능·비전·자연어 처리를 모두 합쳐야 하는 목표다. 사람을 너무 닮으면 불쾌한 골짜기에 빠진다(인터페이스 심리학).

한계와 위험

  • 사람의 생명을 빼앗을 판단과 능력을 가진 로봇을 자율 살상 무기(lethal autonomous weapons) 라 한다. 병사를 전장에서 빼낸다는 주장과, 복잡한 상황에서 사람의 판단과 연민 없이 명령을 효율적으로만 수행한다는 우려가 맞선다.
  • 아이작 아시모프가 1942년 소설에서 제시한 「로봇 3원칙」은 해를 끼치지 말라는 행동 규범이지만, 해석의 여지가 커서 실제 시스템의 규칙으로는 쓸 수 없다. 로봇 윤리 논의의 출발점 역할을 했다.
  • CNC와 산업용 로봇은 정밀도를 높였을 뿐 아니라 사람의 일을 자동화해 인건비를 줄였다. 자동화와 일자리는 AI 플랫폼 전환과 일의 재편에 있다.

정리

  • 로봇은 컴퓨터 제어로 물리 세계에서 자동으로 동작하는 기계다. 생김새는 상관없다.
  • 제어의 기본은 센서 → 오차 → 제어기 → 구동기로 도는 음의 피드백 루프다.
  • 관성과 외란 때문에 단순한 루프는 지나치고 흔들린다. PID는 지금의 오차(P), 쌓인 오차(I), 오차의 변화율(D)을 가중합해 이를 다룬다.
  • 제어 루프는 목표값을 맞추고, 목표값은 경로·작업 계획 같은 상위 소프트웨어가 정한다.
  • 사람에게 쉬운 감각·운동 기술이 로봇에게는 가장 어렵다. 그 벽은 학습과 비전으로 조금씩 넘고 있다.

관련 노트: 비헤이비어 트리, 강화 학습, 컴퓨터 비전 기초, 인터페이스 심리학

원본 기록2

댓글

GitHub 계정으로 댓글을 남길 수 있어요.