로봇 시스템 통합 설계
📌 개요
- 로봇 = 기구·전장·센서·제어기·소프트웨어가 각각 따로 개발된 뒤 하나로 합쳐지는 대표적 복합 시스템
- 부품이 각각 잘 동작해도 합치면 안 되는 일이 다반사 → "어떤 순서로, 어떤 인터페이스 규격으로 합칠 것인가"를 미리 설계하는 것이 시스템 통합 설계
- 핵심 출제: V-모델의 좌우 대응 관계, 통합 전략 4종(빅뱅·상향식·하향식·샌드위치)과 스텁·드라이버, 인터페이스 정의서(ICD)
📖 핵심 개념
시스템 통합(System Integration)이란
-
독립적으로 개발·검증된 구성요소(서브시스템)들을 결합해 전체가 요구사항을 만족하는 하나의 시스템으로 만드는 활동
-
로봇에서는 세 종류의 통합이 모두 일어난다:
-
HW–HW 통합: 기구부에 모터·센서·제어기를 장착하고 배선
-
HW–SW 통합: 드라이버·펌웨어가 실제 하드웨어를 구동하는지 확인
-
SW–SW 통합: 인지·계획·제어 모듈(노드)들이 메시지로 맞물려 동작하는지 확인
-
"부분의 합 ≠ 전체"가 통합의 어려움
-
각 모듈은 완벽해도 타이밍·자원 경합·인터페이스 불일치로 전체가 실패할 수 있음
통합의 3대 인터페이스와 ICD
- 통합 설계의 절반은 인터페이스 정의
- 인터페이스가 문서로 합의되어 있어야 각 팀이 병렬로 개발 가능
| 인터페이스 | 정의 내용 | 예 |
|---|---|---|
| 기계적 | 장착 치수, 볼트 규격, 무게·강성 | 모터 플랜지 규격, 센서 마운트 |
| 전기적 | 전원 전압·용량, 신호 레벨, 커넥터 핀맵 | 24 V 전원, CAN 커넥터 배선 |
| 소프트웨어·통신 | 프로토콜, 메시지 형식, API, 주기 | CAN ID 맵, ROS 토픽·메시지 정의 |
- 위 인터페이스들을 정리한 문서가 인터페이스 정의서(ICD, Interface Control Document)
- ICD는 팀 간 계약서 역할 — 변경 시 관련 팀 전체의 합의(형상 관리) 필요
- 통신 프로토콜 선정은 로봇 구성 요소 간 통신 프로토콜 참조
V-모델 — 설계와 시험의 대응 (시험 단골)
- 시스템 개발의 표준 프로세스 모델
- 왼쪽 내리막은 설계(분해), 오른쪽 오르막은 통합·시험(결합) — 같은 높이끼리 대응
- 즉 설계 단계마다 "무엇으로 검증할지"가 짝으로 정해진다
| 설계(좌) | ↔ | 시험(우) |
|---|---|---|
| 요구사항 분석 | ↔ | 인수 시험 |
| 시스템 설계 | ↔ | 시스템 시험 |
| 아키텍처(구조) 설계 | ↔ | 통합 시험 |
| 상세(모듈) 설계 | ↔ | 단위 시험 |
소프트웨어 통합 전략 (시험 단골)
모듈들을 어떤 순서로 합쳐 시험하느냐에 따라 네 가지 전략이 있다.
- 빅뱅(Big-bang): 전부 완성한 뒤 한꺼번에 결합. 준비물이 없어 간단하지만, 결함이 나면 어느 모듈 탓인지 찾기 어렵다 — 소규모 시스템에서만 권장
- 하향식(Top-down): 상위(응용·판단) 모듈부터 결합해 내려감. 아직 없는 하위 모듈은 스텁(Stub — 호출에 정해진 값만 돌려주는 가짜 하위 모듈) 으로 대체. 전체 골격·주요 논리를 일찍 확인할 수 있음
- 상향식(Bottom-up): 하위(드라이버·HW 접근) 모듈부터 결합해 올라감. 상위 모듈 대신 드라이버(Driver — 하위 모듈을 호출해 주는 가짜 상위 모듈) 를 사용. HW 연동 위험을 일찍 제거할 수 있어 로봇에서 흔히 쓰임
- 샌드위치(Sandwich): 상향식 + 하향식을 동시에 병행해 중간에서 만남 — 대규모 시스템
암기: 스텁 = 아래를 대신(하향식에 필요), 드라이버 = 위를 대신(상향식에 필요)
로봇 특유의 통합 이슈
- 시간 동기화: 여러 센서·컴퓨터의 시계가 다르면 융합이 어긋난다 — 타임스탬프·NTP/PTP 동기화
- 좌표계 정합(캘리브레이션): 센서·로봇 간 상대 위치·자세를 보정해야 데이터가 하나의 좌표계로 모인다 (→ 좌표계)
- 자원 경합: CPU·메모리·통신 대역폭을 모듈들이 나눠 쓰며 생기는 성능 저하 (→ 로봇 시스템 최적화)
- 전원 시퀀스: 제어기·드라이버·센서의 켜지는 순서가 어긋나면 초기화 실패
- 안전 연동: 비상정지(E-stop)가 모든 구동부를 확실히 멈추는지 — 통합 단계에서 최우선 확인
통합 계획서
- 통합은 즉흥적으로 하지 않음
- 계획서로 만들 항목: 통합 순서(어떤 모듈부터), 일정, 필요 장비(시험 지그·시뮬레이터), 단계별 확인 항목, 문제 발생 시 롤백 방법
- 요구사항 추적표(Traceability Matrix) 로 각 요구사항이 어느 시험에서 확인되는지 이어 누락 방지 (→ 로봇 시스템 평가절차)
📊 다이어그램 · 수식
V-모델
flowchart TD
R["요구사항 분석"] --> S["시스템 설계"] --> A["아키텍처 설계"] --> D["상세 설계"] --> C["구현"]
C --> UT["단위 시험"] --> IT["통합 시험"] --> ST["시스템 시험"] --> AT["인수 시험"]
R -. 검증 기준 .-> AT
S -. 검증 기준 .-> ST
A -. 검증 기준 .-> IT
D -. 검증 기준 .-> UT통합 전략 비교
flowchart LR
subgraph TD1["하향식: 위에서 아래로"]
U1["상위 모듈"] --> ST1["스텁(가짜 하위)"]
end
subgraph BU["상향식: 아래에서 위로"]
DR["드라이버(가짜 상위)"] --> L1["하위 모듈"]
end
subgraph BB["빅뱅: 전부 한꺼번에"]
M1["모듈들"] --> ALL["일괄 결합"]
end🎯 핵심 요약 · 암기 포인트
✏️ 예상문제
1. V-모델에서 각 설계 단계와 시험 레벨의 대응으로 옳지 않은 것은?
① 요구사항 분석 — 인수 시험 ② 시스템 설계 — 시스템 시험 ③ 아키텍처 설계 — 단위 시험 ④ 상세 설계 — 단위 시험
정답 및 해설
정답: ③ 아키텍처(구조) 설계는 모듈 간 인터페이스를 정하는 단계이므로 통합 시험과 짝을 이룬다. 단위 시험의 짝은 상세(모듈) 설계다.
2. 상향식(Bottom-up) 통합에서 아직 완성되지 않은 상위 모듈을 대신해 하위 모듈을 호출해 주는 시험용 구성요소는?
① 스텁(Stub) ② 드라이버(Driver) ③ 미들웨어 ④ 에뮬레이터
정답 및 해설
정답: ② 상향식은 하위부터 쌓아 올리므로 "위쪽을 대신할" 드라이버가 필요하다. 반대로 하향식은 "아래쪽을 대신할" 스텁이 필요하다. 방향과 대체물을 바꿔 내는 문제가 단골이다.
3. 빅뱅(Big-bang) 통합에 대한 설명으로 가장 적절한 것은?
① 결함 발생 시 원인 모듈을 찾기 쉽다 ② 스텁과 드라이버가 반드시 필요하다 ③ 모든 모듈을 완성한 뒤 한꺼번에 결합하며, 소규모 시스템에 적합하다 ④ 상위 모듈부터 단계적으로 결합한다
정답 및 해설
정답: ③ 빅뱅은 대체물(스텁·드라이버)이 필요 없어 준비가 간단하지만, 한꺼번에 합치므로 결함이 어느 모듈·인터페이스에서 왔는지 격리하기 어렵다. ①은 반대, ②는 증분 통합, ④는 하향식 설명이다.
4. 인터페이스 정의서(ICD)에 담기는 내용으로 가장 거리가 먼 것은?
① 커넥터 핀맵과 신호 레벨 ② 통신 메시지 형식과 주기 ③ 기구 장착 치수 ④ 모듈 내부의 알고리즘 구현 코드
정답 및 해설
정답: ④ ICD는 모듈 사이의 연결 규격(기계·전기·SW 인터페이스)을 정의하는 문서다. 모듈 내부 구현은 정보 은닉의 대상이며 ICD의 범위가 아니다.
5. 로봇 시스템 통합 단계에서 여러 센서 데이터를 융합할 때 시각(타임스탬프)이 어긋나는 문제를 예방하는 조치로 가장 적절한 것은?
① 센서 해상도를 높인다 ② NTP/PTP 등으로 장치 간 시계를 동기화한다 ③ 통신 케이블을 짧게 한다 ④ 메시지 크기를 줄인다
정답 및 해설
정답: ② 여러 컴퓨터·센서가 각자의 시계를 쓰면 같은 순간의 데이터가 다른 시각으로 기록되어 융합·SLAM의 정확도가 무너진다. 시간 동기화 프로토콜(NTP, 더 정밀하게는 PTP)로 시계를 맞추는 것이 표준 대책이다.
🔗 관련 노트
- 로봇 시스템 최적화 — 통합 후 성능 개선
- 로봇 시스템 평가절차 — 통합 결과의 평가 프로세스
- 로봇 구성 요소 간 통신 프로토콜 — SW·통신 인터페이스의 실체
- 로봇 소프트웨어 구조 설계 — 통합 대상이 되는 모듈 구조
- 로봇 구성요소 — 통합되는 하드웨어 구성요소
- _MOC 로봇소프트웨어구조설계