모션 소프트웨어로봇 액추에이터 제어 소프트웨어 개발로봇액추에이터제어기 제어성능 시험
출제기준 좌표3·3·5·1
3과목 · 모션 소프트웨어

제어기 소프트웨어 성능시험

로봇 액추에이터 제어 소프트웨어 개발로봇액추에이터제어기 제어성능 시험
# 모션소프트웨어
01

📌 개요

  • 성능시험 = 설계·구현한 제어기가 요구 성능을 실제로 만족하는지 확인
  • 이 노트가 다루는 것: 무엇을(시험 항목), 어떤 입력으로(표준 시험 신호), 어떤 환경에서(MIL/SIL/PIL/HIL, 다이나모미터) 시험하는가
  • 출제 포인트: MIL·SIL·PIL·HIL의 구분이 가장 중요, 그 외 스텝·정현파 등 시험 입력의 용도, 지터·CPU 부하율 같은 실시간 성능 항목
02

📖 핵심 개념

시험의 위치와 절차

성능시험은 개발 마지막의 요식이 아니라, 요구사항 단계에서 정한 수치 사양(정착시간 몇 ms, 오차 몇 펄스 이내 등)과 짝을 이루는 검증 활동이다 (V-모델: 설계 단계마다 대응하는 시험 단계가 있다 — 일반론은 로봇 시스템 평가절차, 로봇 시스템 시험평가).

절차: ① 시험 계획(항목·합격 기준·환경·절차 정의) → ② 시험 수행(조건 기록 + 데이터 로깅) → ③ 결과 분석·판정(다음 노트) → ④ 미달 시 원인 분석·개선 후 재시험.

개발 단계별 검증 환경 — MIL, SIL, PIL, HIL (최중요)

  • 실물 로봇에 미완성 제어기를 바로 붙이면 위험하고 비쌈
  • 그래서 시뮬레이션에서 실물로 단계적으로 접근 → X-in-the-Loop 시리즈로 부름
단계 이름 제어기 플랜트(모터·부하) 검증 내용
1 MIL (Model-in-the-Loop) 제어 모델(블록선도) 시뮬레이션 모델 제어 알고리즘·게인의 논리 검증
2 SIL (Software-in-the-Loop) 실제 코드(PC에서 실행) 시뮬레이션 모델 코드 구현이 모델과 동일하게 동작하는지 (이산화·수치 오류)
3 PIL (Processor-in-the-Loop) 실제 코드를 실제 MCU에서 실행 시뮬레이션 모델 타깃 프로세서에서의 연산 시간·수치 정밀도
4 HIL (Hardware-in-the-Loop) 실제 제어기 하드웨어 실시간 시뮬레이터가 모터·부하를 흉내 실물 없이 실시간·전기 인터페이스까지 통합 검증
5 실물 시험 실제 제어기 실제 모터·부하 최종 성능 확인
HIL의 핵심 이해

HIL은 "제어기는 진짜, 플랜트는 가짜(실시간 시뮬레이터)"다. 시뮬레이터가 모터의 전기 신호(엔코더 펄스, 전류)를 실시간으로 만들어 제어기에 물리므로, 제어기는 실물이 붙은 줄 안다. 위험한 조건(과부하·센서 고장·충돌)을 실물 파손 없이 반복 시험할 수 있는 것이 최대 장점이다. 플랜트 모델의 정확도가 시험의 신뢰도를 좌우한다.

표준 시험 입력 신호 — 무엇을 보려고 넣는가

입력 모양 보는 것
스텝(Step) 목표값을 계단처럼 급변 과도 응답 — 상승시간·오버슈트·정착시간·정상상태 오차
램프(Ramp) 일정 기울기로 증가 일정 속도 지령에 대한 추종 오차
정현파(Sine) 일정 주파수의 사인파 해당 주파수에서의 진폭비·위상 지연
처프/스윕(Chirp) 주파수가 점점 올라가는 사인파 주파수 응답 전체(보드 선도·대역폭)를 한 번에 측정
실작업 프로파일 사다리꼴 등 실제 지령 실사용 조건의 종합 추종 성능

제어 성능 시험 항목

  • 지령 추종 성능: 스텝·프로파일 지령에 대한 응답 지표(다음 노트에서 정의)와 추종 오차
  • 외란 응답(Disturbance Rejection): 운전 중 부하 토크를 급변시켰을 때 속도·위치가 얼마나 떨어졌다가 얼마나 빨리 회복하는가 — 지령 추종과는 별개의 능력이므로 별도 시험
  • 주파수 응답: 정현파·처프 입력으로 대역폭(어느 주파수까지 따라가는가) 측정
  • 정밀도·반복성: 같은 목표를 반복 위치결정했을 때의 산포, 정지 시 미세 진동(헌팅) 여부
  • 부하 조건 변화: 무부하~정격~과부하, 관성 변화에 대한 강인성

시험 장비와 환경

  • 다이나모미터(Dynamometer): 시험 대상 모터 축에 부하 토크를 걸어 주는 장치(부하 모터·브레이크). 정격 부하·부하 급변 시험의 핵심 장비
  • 기준 계측기: 토크 센서, 고분해능 기준 엔코더, 전류 프로브, 오실로스코프 — 제어기 내부 값이 아닌 독립된 기준으로 측정해야 공정하다
  • 데이터 로깅: 지령·실측 위치/속도/전류를 제어 주기 해상도로 기록. 로깅 주기가 너무 느리면 빠른 현상(오버슈트 피크)을 놓친다

소프트웨어 실시간 성능 시험

제어 성능과 별도로, 펌웨어가 실시간 요구를 지키는지도 시험 대상이다.

  • 제어 주기 정확도·지터: 주기가 설계값을 유지하는가, 흔들림(지터)은 허용 이내인가 — GPIO 토글을 오실로스코프로 관측하는 방법이 고전적
  • ISR 실행 시간(WCET): 최악 조건(통신 폭주 + 보호 연산)에서도 주기 안에 끝나는가
  • CPU 부하율: 최악 조건에서 여유가 남는가 (통상 70% 이하 유지)
  • 장시간 연속 운전: 메모리 누수·카운터 오버플로·온도 상승으로 인한 이상이 없는가
03

📊 다이어그램 · 수식

X-in-the-Loop 단계적 검증

DIAGRAM
flowchart LR
    MIL["MIL
모델 + 모델"] --> SIL["SIL
실코드(PC) + 모델"] SIL --> PIL["PIL
실코드(실MCU) + 모델"] PIL --> HIL["HIL
실제어기 + 실시간
시뮬레이터"] HIL --> REAL["실물 시험
실제어기 + 실모터·부하"] style HIL fill:#ffe0b2,stroke:#e65100

(오른쪽으로 갈수록 현실성↑·비용/위험↑ — 문제를 왼쪽 단계에서 최대한 걸러낸다)

HIL 시험 구성

DIAGRAM
flowchart LR
    subgraph CTRL["실제 제어기 (시험 대상)"]
        FW["펌웨어 + 제어 루프"]
    end
    subgraph SIM["실시간 시뮬레이터"]
        PM["모터·부하 동역학 모델
(실시간 연산)"] end FW -- "PWM·제어 신호" --> PM PM -- "가상 엔코더 펄스
가상 전류 신호" --> FW HOST2["호스트 PC
시나리오 주입(고장·과부하)
+ 데이터 로깅"] --- SIM
04

🎯 핵심 요약 · 암기 포인트

익힘 0 / 12카드를 눌러 뒤집고, 앞면에서 아는지 표시하세요.
Q · 1
성능시험의 4단계 절차는?
A
시험 계획(항목·기준·환경) → 수행(로깅) → 분석·판정 → 미달 시 개선·재시험
Q · 2
MIL 시험이란?
A
Model-in-the-Loop — 제어 모델과 플랜트 모델을 모두 시뮬레이션으로 돌려 알고리즘 논리를 검증
Q · 3
SIL 시험이란?
A
Software-in-the-Loop — 실제 코드(PC 실행)를 플랜트 모델과 연결해 구현 코드의 동작을 검증
Q · 4
PIL 시험이란?
A
Processor-in-the-Loop — 실제 타깃 MCU에서 코드를 돌려 연산 시간·수치 정밀도를 검증
Q · 5
HIL 시험이란?
A
Hardware-in-the-Loop — 실제 제어기 하드웨어에 실시간 시뮬레이터가 만든 가상 플랜트 신호를 물려 통합 검증
Q · 6
HIL 시험의 최대 장점은?
A
실물 파손 위험 없이 과부하·고장 등 위험 조건을 반복 시험할 수 있다
Q · 7
스텝 입력으로 평가하는 것은?
A
과도 응답 — 상승시간·오버슈트·정착시간·정상상태 오차
Q · 8
처프(주파수 스윕) 입력으로 평가하는 것은?
A
주파수 응답(보드 선도·대역폭)을 한 번의 시험으로 측정
Q · 9
외란 응답 시험은 어떻게 하나?
A
운전 중 부하 토크를 급변시켜(다이나모미터) 속도·위치의 하락 폭과 회복 시간을 측정
Q · 10
다이나모미터의 역할은?
A
시험 대상 모터 축에 원하는 부하 토크를 걸어 정격·과부하·부하 급변 조건을 만드는 장치
Q · 11
소프트웨어 실시간 성능 시험의 3대 항목은?
A
제어 주기 정확도·지터, ISR 최악 실행 시간(WCET), CPU 부하율
Q · 12
계측을 제어기 내부 값이 아닌 외부 기준 센서로 하는 이유는?
A
제어기 자신의 센서·연산 오차와 독립된 공정한 기준으로 성능을 평가하기 위해
05

✏️ 예상문제

1. 실제 제어기 하드웨어를 실시간 시뮬레이터로 구현된 가상의 모터·부하에 연결하여 시험하는 방식은?

① MIL (Model-in-the-Loop) ② SIL (Software-in-the-Loop) ③ HIL (Hardware-in-the-Loop) ④ 실부하 시험

정답 및 해설

정답: ③ HIL은 "제어기는 실물, 플랜트는 실시간 시뮬레이션"이다. 시뮬레이터가 엔코더·전류 신호를 실시간으로 생성해 제어기에 공급하므로, 실물 없이 전기 인터페이스와 실시간 동작까지 검증할 수 있다.

2. MIL → SIL → PIL → HIL 순서로 검증을 진행하는 이유로 가장 적절한 것은?

① 시험 비용이 단계마다 저렴해지므로 ② 시뮬레이션에서 실물로 현실성을 단계적으로 높여, 문제를 값싸고 안전한 단계에서 조기에 걸러내기 위해 ③ 각 단계의 시험 항목이 완전히 동일하기 때문에 ④ 국제 표준이 순서를 강제하기 때문에

정답 및 해설

정답: ② 뒤로 갈수록 현실성이 높아지는 대신 비용·위험도 커진다. 알고리즘 오류는 MIL에서, 코드 구현 오류는 SIL에서, 연산 시간 문제는 PIL에서 미리 잡아야 비싼 HIL·실물 단계에서의 시행착오를 줄일 수 있다.

3. 제어기의 과도 응답(상승시간, 오버슈트, 정착시간)을 평가하기에 가장 적합한 시험 입력은?

① 스텝 입력 ② 정현파 입력 ③ 백색 잡음 ④ 일정 속도 램프 입력

정답 및 해설

정답: ① 목표값을 계단처럼 급변시키는 스텝 입력이 과도 응답 지표의 표준 측정 조건이다. 정현파·처프는 주파수 응답, 램프는 추종 오차 평가용이다.

4. 외란 응답(disturbance rejection) 시험의 방법으로 옳은 것은?

① 목표 위치를 계단형으로 변경한다 ② 일정 속도로 운전 중인 모터에 다이나모미터로 부하 토크를 급변시켜 회복 특성을 본다 ③ 전원 전압을 서서히 올린다 ④ 엔코더 분해능을 바꿔 가며 시험한다

정답 및 해설

정답: ② 외란 응답은 지령이 아니라 외부 부하의 급변에 대한 능력이다. 부하 인가 순간 속도가 얼마나 떨어지고(최대 낙폭) 얼마나 빨리 원래 속도로 복귀하는지를 측정한다. ①은 지령 추종 시험이다.

5. 제어기 소프트웨어의 실시간 성능 시험 항목으로 거리가 것은?

① 제어 주기의 지터(jitter) ② ISR의 최악 실행 시간(WCET) ③ CPU 부하율 ④ 모터 권선의 절연 저항

정답 및 해설

정답: ④ 절연 저항은 모터 하드웨어의 전기 안전 시험 항목이다. 소프트웨어 실시간 성능은 주기 정확도(지터), WCET, CPU 부하율, 장시간 연속 운전 안정성 등으로 평가한다.

06

🔗 관련 노트

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