모션 소프트웨어로봇 액추에이터 제어 소프트웨어 개발로봇액추에이터제어기 소프트웨어 구조 설계
출제기준 좌표3·3·3·2
3과목 · 모션 소프트웨어

액추에이터 제어구조 설계

로봇 액추에이터 제어 소프트웨어 개발로봇액추에이터제어기 소프트웨어 구조 설계
# 모션소프트웨어
01

📌 개요

  • 구동 체인 위에 "목표한 위치·속도대로 정확히 움직이게 만드는" 소프트웨어 구조를 설계할 차례
  • 핵심 = 피드백(폐루프) 제어 · 로봇 관절 제어 표준 구조 = PID 제어기전류→속도→위치의 3중 캐스케이드(다단) 루프로 쌓은 것
  • 시험 출제 포인트: 개루프/폐루프 비교, PID 세 항의 역할, 캐스케이드 루프의 배치 순서와 제어 주기 관계(안쪽일수록 빠르다), 피드포워드와 피드백의 차이
02

📖 핵심 개념

개루프 제어와 폐루프 제어

  • 개루프 제어(Open-loop Control): 결과를 확인하지 않고 지령만 보낸다. 구조가 단순하고 센서가 필요 없지만, 외란이나 부하 변화로 생긴 오차를 알 수도, 고칠 수도 없다. 예: 스테핑 모터에 펄스만 보내는 구동 (과부하 탈조를 감지 못함)
  • 폐루프 제어(Closed-loop / Feedback Control): 센서로 실제 출력을 측정해 목표와 비교하고, 그 오차(Error) 를 줄이는 방향으로 조작량을 계산한다. 외란·모델 오차가 있어도 스스로 보정한다. 서보 제어의 기본

피드백 루프의 구성 요소는 다섯 가지다: 지령(Reference)비교기(오차 계산)제어기(Controller)구동 대상(Plant: 드라이버+모터+부하)센서(엔코더) → 다시 비교기로.

PID 제어 — 오차를 다루는 세 가지 관점

  • 폐루프 제어기의 사실상 표준 = PID 제어기
  • 오차 e(t) = r(t) - y(t) (목표 − 실제)에 대해 조작량 u(t)를 세 항의 합으로 구성:
u(t) = K_p\,e(t) + K_i \int_0^t e(\tau)\,d\tau + K_d \frac{de(t)}{dt}
보는 것 역할 부작용
P (비례, Proportional) 현재 오차 오차에 비례해 밀어붙임 — 응답의 기본 힘 과하면 오버슈트·진동, P만으로는 정상상태 오차가 남을 수 있음
I (적분, Integral) 과거 오차의 누적 남아 있는 오차를 끝까지 밀어 정상상태 오차 제거 과하면 오버슈트 증가, 와인드업
D (미분, Derivative) 오차의 변화율(미래 예측) 급변에 브레이크 — 감쇠 증가, 오버슈트 억제 측정 노이즈를 증폭
직관적 비유

목표 온도를 맞추는 난방으로 비유하면 — P: "지금 2도 낮으니 그만큼 세게", I: "아까부터 계속 조금 낮았으니 더 세게", D: "온도가 급히 오르는 중이니 미리 줄이자".

  • 디지털 제어기 = 샘플링 주기 T_s마다 이산화된 식으로 계산(적분 → 누적 합, 미분 → 차분)
  • 각 게인 값 결정 방법 → 제어기 게인 설정

캐스케이드(다단) 제어 — 로봇 서보의 표준 구조

  • 로봇 관절 서보 = PID 하나가 아니라 루프 세 개를 겹친 캐스케이드(Cascade) 구조
  • 바깥에서 안쪽으로:
  1. 위치 루프(Position Loop) — 목표 위치와 엔코더 위치를 비교해 속도 지령 생성 (보통 P 제어)
  2. 속도 루프(Velocity Loop) — 목표 속도와 실제 속도를 비교해 전류(토크) 지령 생성 (보통 PI 제어)
  3. 전류 루프(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가 나머지 오차를 정리한다"

제어 모드와 상위 시스템의 연결

03

📊 다이어그램 · 수식

캐스케이드 3중 루프 구조

DIAGRAM
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 제어 법칙:

u(t) = K_p e(t) + K_i \int e\,dt + K_d \frac{de}{dt}, \qquad e = r - y

이산화(디지털) PID (샘플링 주기 T_s):

u[k] = K_p e[k] + K_i T_s \sum_{j=0}^{k} e[j] + K_d \frac{e[k]-e[k-1]}{T_s}

피드포워드 병행 구조:

u = u_{ff}(\text{지령 기반 예측}) + u_{fb}(\text{오차 기반 보정})
04

🎯 핵심 요약 · 암기 포인트

익힘 0 / 11카드를 눌러 뒤집고, 앞면에서 아는지 표시하세요.
Q · 1
개루프 제어의 한계는?
A
출력을 측정하지 않으므로 외란·부하 변화로 생긴 오차를 감지도 보정도 못 한다
Q · 2
폐루프(피드백) 제어 루프의 5요소는?
A
지령 → 비교기(오차) → 제어기 → 구동 대상(플랜트) → 센서 → (다시 비교기)
Q · 3
PID에서 P, I, D 항이 각각 보는 것은?
A
P는 현재 오차, I는 과거 오차의 누적, D는 오차의 변화율(미래 경향)
Q · 4
정상상태 오차를 제거하는 PID 항은?
A
적분(I) 항 — 남은 오차를 누적해 끝까지 밀어낸다
Q · 5
오버슈트·진동을 억제(감쇠 증가)하는 PID 항과 그 부작용은?
A
미분(D) 항 — 측정 노이즈를 증폭하는 부작용이 있다
Q · 6
로봇 서보의 캐스케이드 3중 루프를 바깥→안 순서로 나열하면?
A
위치 루프 → 속도 루프 → 전류(토크) 루프
Q · 7
캐스케이드에서 전류 루프를 가장 안쪽에 두는 근거는?
A
전기 시정수 ≪ 기계 시정수 — 가장 빠르게 반응하는 물리량을 안쪽에 둔다
Q · 8
캐스케이드 루프의 제어 주기 관계는?
A
안쪽일수록 빠르다 (예: 전류 10~20 kHz, 속도 1~수 kHz, 위치 수백 Hz) — 안쪽이 바깥보다 수 배~10배 빨라야 함
Q · 9
캐스케이드 구조에서 토크 제한은 어떻게 구현하는가?
A
속도 루프가 내보내는 전류 지령에 리미트를 걸면 된다 (τ = kt·i이므로 전류 제한 = 토크 제한)
Q · 10
피드포워드와 피드백의 차이는?
A
피드포워드는 알려진 지령으로 조작량을 미리 계산(사전적), 피드백은 발생한 오차를 보고 보정(사후적) — 외란은 피드백만 잡는다
Q · 11
수직 다관절 로봇에서 상시 가산하는 대표적 피드포워드 항은?
A
중력 보상 토크 (자세에 따라 계산)
05

✏️ 예상문제

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만 쓰는 경우가 많다. 와인드업(④)은 적분 항의 문제다.

06

🔗 관련 노트

로봇소프트웨어개발기사 필기 · 학습 교재출제기준 2025.1.1 – 2027.12.31