액추에이터 제어구조 설계
📌 개요
- 구동 체인 위에 "목표한 위치·속도대로 정확히 움직이게 만드는" 소프트웨어 구조를 설계할 차례
- 핵심 = 피드백(폐루프) 제어 · 로봇 관절 제어 표준 구조 = PID 제어기를 전류→속도→위치의 3중 캐스케이드(다단) 루프로 쌓은 것
- 시험 출제 포인트: 개루프/폐루프 비교, PID 세 항의 역할, 캐스케이드 루프의 배치 순서와 제어 주기 관계(안쪽일수록 빠르다), 피드포워드와 피드백의 차이
📖 핵심 개념
개루프 제어와 폐루프 제어
- 개루프 제어(Open-loop Control): 결과를 확인하지 않고 지령만 보낸다. 구조가 단순하고 센서가 필요 없지만, 외란이나 부하 변화로 생긴 오차를 알 수도, 고칠 수도 없다. 예: 스테핑 모터에 펄스만 보내는 구동 (과부하 탈조를 감지 못함)
- 폐루프 제어(Closed-loop / Feedback Control): 센서로 실제 출력을 측정해 목표와 비교하고, 그 오차(Error) 를 줄이는 방향으로 조작량을 계산한다. 외란·모델 오차가 있어도 스스로 보정한다. 서보 제어의 기본
피드백 루프의 구성 요소는 다섯 가지다: 지령(Reference) → 비교기(오차 계산) → 제어기(Controller) → 구동 대상(Plant: 드라이버+모터+부하) → 센서(엔코더) → 다시 비교기로.
PID 제어 — 오차를 다루는 세 가지 관점
- 폐루프 제어기의 사실상 표준 = PID 제어기
- 오차 e(t) = r(t) - y(t) (목표 − 실제)에 대해 조작량 u(t)를 세 항의 합으로 구성:
| 항 | 보는 것 | 역할 | 부작용 |
|---|---|---|---|
| P (비례, Proportional) | 현재 오차 | 오차에 비례해 밀어붙임 — 응답의 기본 힘 | 과하면 오버슈트·진동, P만으로는 정상상태 오차가 남을 수 있음 |
| I (적분, Integral) | 과거 오차의 누적 | 남아 있는 오차를 끝까지 밀어 정상상태 오차 제거 | 과하면 오버슈트 증가, 와인드업 |
| D (미분, Derivative) | 오차의 변화율(미래 예측) | 급변에 브레이크 — 감쇠 증가, 오버슈트 억제 | 측정 노이즈를 증폭 |
목표 온도를 맞추는 난방으로 비유하면 — P: "지금 2도 낮으니 그만큼 세게", I: "아까부터 계속 조금 낮았으니 더 세게", D: "온도가 급히 오르는 중이니 미리 줄이자".
- 디지털 제어기 = 샘플링 주기 T_s마다 이산화된 식으로 계산(적분 → 누적 합, 미분 → 차분)
- 각 게인 값 결정 방법 → 제어기 게인 설정
캐스케이드(다단) 제어 — 로봇 서보의 표준 구조
- 로봇 관절 서보 = PID 하나가 아니라 루프 세 개를 겹친 캐스케이드(Cascade) 구조
- 바깥에서 안쪽으로:
- 위치 루프(Position Loop) — 목표 위치와 엔코더 위치를 비교해 속도 지령 생성 (보통 P 제어)
- 속도 루프(Velocity Loop) — 목표 속도와 실제 속도를 비교해 전류(토크) 지령 생성 (보통 PI 제어)
- 전류 루프(Current Loop) — 목표 전류와 실제 전류를 비교해 PWM 전압 지령 생성 (보통 PI 제어). τ = kt·i이므로 전류 제어 = 토크 제어
- 배치 원리 = 시정수: 액추에이터 동역학 모델링에서 본 대로 전류는 빠르고(\tau_e 수 ms 이하) 속도·위치는 느리므로 → 빠른 물리량을 안쪽 루프에, 느린 물리량을 바깥 루프에
- 제어 주기도 안쪽일수록 빠름 (통상 예: 전류 루프 10~20 kHz — PWM 주기와 동기, 속도 루프 1~수 kHz, 위치 루프 수백 Hz~1 kHz)
- 안쪽 루프는 바깥 루프보다 충분히(수 배~10배) 빨라야 바깥 루프가 안쪽을 "즉시 반응하는 장치"로 취급 가능
캐스케이드의 장점:
- 각 루프를 안쪽부터 차례로 독립 튜닝할 수 있어 설계·조정이 쉽다
- 전류 제한(토크 리미트), 속도 제한을 루프 사이 지령에 걸면 안전 한계가 자연스럽게 구현된다
- 부하 급변 같은 외란을 빠른 안쪽 루프가 바깥 루프까지 번지기 전에 흡수한다
피드포워드 — 오차가 나기 전에 미리 넣는다
-
피드백 = 오차가 발생해야 반응하는 사후 처리
-
지령이 이미 알려져 있다면(경로계획으로 목표 궤적을 미리 아는 로봇이 그렇다) 필요한 조작량을 미리 계산해 더해 줄 수 있음 = 피드포워드(Feedforward, FF)
-
속도 FF: 목표 궤적의 속도를 속도 지령에 직접 가산 → 추종 지연 감소
-
가속도(토크) FF: \tau_{ff} = J\dot\omega_{ref} — 가속에 필요한 토크를 미리 공급
-
중력 보상: 자세에 따라 계산한 중력 토크를 상시 가산 (수직 다관절 로봇 필수)
-
피드포워드는 모델이 정확할 때 추종 성능을 크게 높이지만, 예상 못 한 외란은 잡지 못하므로 항상 피드백과 병행
-
실무 구조 = "FF가 대부분을 미리 하고, FB가 나머지 오차를 정리한다"
제어 모드와 상위 시스템의 연결
- 상위 모션 제어기(경로계획 결과)가 어느 루프에 지령을 주느냐에 따라 드라이버는 위치/속도/토크 모드로 동작 (액추에이터 구동원리의 구동 모드)
- 지령은 구동 프로파일 형태로 주기마다 갱신
📊 다이어그램 · 수식
캐스케이드 3중 루프 구조
flowchart LR
REF["위치 지령 θref"] --> PSUM(("+−"))
PSUM --> PC["위치 제어기
(P)"]
PC -- "속도 지령" --> VSUM(("+−"))
VSUM --> VC["속도 제어기
(PI)"]
VC -- "전류 지령" --> CSUM(("+−"))
CSUM --> CC["전류 제어기
(PI)"]
CC -- "PWM" --> M["드라이버+모터"]
M -- "전류 센서" --> CSUM
M -- "속도 (차분)" --> VSUM
M -- "엔코더 위치" --> PSUM(안쪽 루프일수록 제어 주기가 빠르다: 전류 ≫ 속도 ≫ 위치)
핵심 공식 모음
PID 제어 법칙:
이산화(디지털) PID (샘플링 주기 T_s):
피드포워드 병행 구조:
🎯 핵심 요약 · 암기 포인트
✏️ 예상문제
1. PID 제어기에서 정상상태 오차(steady-state error)를 제거하는 데 가장 직접적으로 기여하는 항은?
① 비례(P) 항 ② 적분(I) 항 ③ 미분(D) 항 ④ 피드포워드 항
정답 및 해설
정답: ② 적분 항은 오차가 남아 있는 한 계속 누적되어 조작량을 키우므로, 오차가 0이 될 때까지 밀어붙인다. P만으로는 일정 부하가 있을 때 오차가 남을 수 있고, D는 변화율에만 반응한다.
2. 로봇 관절 서보의 캐스케이드 제어 구조에서 루프를 바깥쪽부터 안쪽 순서로 옳게 나열한 것은?
① 전류 → 속도 → 위치 ② 위치 → 전류 → 속도 ③ 위치 → 속도 → 전류 ④ 속도 → 위치 → 전류
정답 및 해설
정답: ③ 느린 물리량이 바깥, 빠른 물리량이 안쪽이다. 위치 루프가 속도 지령을, 속도 루프가 전류 지령을 만들고, 가장 안쪽의 전류 루프가 PWM을 출력한다.
3. 캐스케이드 제어에서 제어 주기가 가장 빨라야 하는 루프는?
① 위치 루프 ② 속도 루프 ③ 전류 루프 ④ 모든 루프가 같아야 한다
정답 및 해설
정답: ③ 전류는 전기 시정수(수 ms 이하)로 가장 빠르게 변하므로 전류 루프가 가장 빠른 주기(통상 PWM 주파수와 동기, 10~20 kHz급)로 돌아야 한다. 안쪽 루프가 바깥 루프보다 충분히 빨라야 캐스케이드가 성립한다.
4. 피드포워드(feedforward) 제어에 대한 설명으로 옳지 않은 것은?
① 미리 알고 있는 지령으로부터 필요한 조작량을 예측해 가산한다 ② 모델이 정확할수록 추종 성능 개선 효과가 크다 ③ 수직 다관절 로봇의 중력 보상이 대표적인 예다 ④ 예상하지 못한 외란도 스스로 감지해 보정한다
정답 및 해설
정답: ④ 피드포워드는 지령 기반의 사전 계산일 뿐 출력을 측정하지 않으므로, 예상 못 한 외란은 감지할 수 없다. 외란 보정은 피드백의 몫이며, 그래서 FF는 항상 FB와 병행한다.
5. 미분(D) 항을 실무에서 조심스럽게 사용하는 주된 이유는?
① 정상상태 오차를 키우기 때문에 ② 측정 신호의 노이즈를 증폭하기 때문에 ③ 응답 속도를 항상 느리게 만들기 때문에 ④ 적분 와인드업을 일으키기 때문에
정답 및 해설
정답: ② 미분은 고주파 성분을 키우므로 엔코더 차분·센서 노이즈가 그대로 증폭되어 조작량이 떨린다. 그래서 D항에 저역통과 필터를 붙이거나, 전류·속도 루프는 PI만 쓰는 경우가 많다. 와인드업(④)은 적분 항의 문제다.
🔗 관련 노트
- 액추에이터 구동원리 — 이 루프가 조종하는 구동 체인 (PWM·드라이버 모드)
- 제어기 게인 설정 — Kp·Ki·Kd 값을 정하는 방법
- 액추에이터 동역학 모델링 — 두 시정수와 캐스케이드 배치의 근거
- 액추에이터 동역학적 구동 프로파일 — 루프에 공급되는 지령의 형태
- _MOC 모션소프트웨어