로봇 소프트웨어 구조설계로봇 시스템 통합로봇 시스템 설계
출제기준 좌표2·2·1·1
2과목 · 로봇 소프트웨어 구조설계

로봇 시스템 통합 설계

로봇 시스템 통합로봇 시스템 설계
# 로봇소프트웨어구조설계
01

📌 개요

  • 로봇 = 기구·전장·센서·제어기·소프트웨어가 각각 따로 개발된 뒤 하나로 합쳐지는 대표적 복합 시스템
  • 부품이 각각 잘 동작해도 합치면 안 되는 일이 다반사 → "어떤 순서로, 어떤 인터페이스 규격으로 합칠 것인가"를 미리 설계하는 것이 시스템 통합 설계
  • 핵심 출제: V-모델의 좌우 대응 관계, 통합 전략 4종(빅뱅·상향식·하향식·샌드위치)과 스텁·드라이버, 인터페이스 정의서(ICD)
02

📖 핵심 개념

시스템 통합(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) 로 각 요구사항이 어느 시험에서 확인되는지 이어 누락 방지 (→ 로봇 시스템 평가절차)
03

📊 다이어그램 · 수식

V-모델

DIAGRAM
flowchart TD
    R["요구사항 분석"] --> S["시스템 설계"] --> A["아키텍처 설계"] --> D["상세 설계"] --> C["구현"]
    C --> UT["단위 시험"] --> IT["통합 시험"] --> ST["시스템 시험"] --> AT["인수 시험"]
    R -. 검증 기준 .-> AT
    S -. 검증 기준 .-> ST
    A -. 검증 기준 .-> IT
    D -. 검증 기준 .-> UT

통합 전략 비교

DIAGRAM
flowchart LR
    subgraph TD1["하향식: 위에서 아래로"]
        U1["상위 모듈"] --> ST1["스텁(가짜 하위)"]
    end
    subgraph BU["상향식: 아래에서 위로"]
        DR["드라이버(가짜 상위)"] --> L1["하위 모듈"]
    end
    subgraph BB["빅뱅: 전부 한꺼번에"]
        M1["모듈들"] --> ALL["일괄 결합"]
    end
04

🎯 핵심 요약 · 암기 포인트

익힘 0 / 10카드를 눌러 뒤집고, 앞면에서 아는지 표시하세요.
Q · 1
시스템 통합(System Integration)이란?
A
독립 개발된 구성요소들을 결합해 전체가 요구사항을 만족하는 하나의 시스템으로 만드는 활동
Q · 2
로봇 통합의 3대 인터페이스는?
A
기계적(장착·치수) · 전기적(전원·신호·핀맵) · 소프트웨어/통신(프로토콜·메시지·API)
Q · 3
ICD(Interface Control Document)란?
A
구성요소 간 인터페이스 규격을 합의해 문서화한 인터페이스 정의서 — 팀 간 병렬 개발의 계약서
Q · 4
V-모델에서 아키텍처(구조) 설계와 짝을 이루는 시험 레벨은?
A
통합 시험
Q · 5
V-모델에서 요구사항 분석과 짝을 이루는 시험 레벨은?
A
인수 시험
Q · 6
빅뱅 통합의 특징은?
A
모든 모듈을 한꺼번에 결합 — 간단하지만 결함의 위치를 찾기 어려워 소규모에만 적합
Q · 7
스텁(Stub)은 어느 통합 전략에서 무엇을 대신하나?
A
하향식 통합에서 미완성 하위 모듈을 대신하는 가짜 모듈
Q · 8
드라이버(Driver)는 어느 통합 전략에서 무엇을 대신하나?
A
상향식 통합에서 미완성 상위 모듈을 대신해 하위를 호출하는 가짜 모듈
Q · 9
샌드위치 통합이란?
A
하향식과 상향식을 동시에 병행해 중간 계층에서 만나는 통합 전략
Q · 10
로봇 통합 특유의 이슈 4가지는?
A
시간 동기화, 좌표계 정합(캘리브레이션), 자원 경합, 전원 시퀀스(+안전 연동)
05

✏️ 예상문제

1. V-모델에서 각 설계 단계와 시험 레벨의 대응으로 옳지 않은 것은?

① 요구사항 분석 — 인수 시험 ② 시스템 설계 — 시스템 시험 ③ 아키텍처 설계 — 단위 시험 ④ 상세 설계 — 단위 시험

정답 및 해설

정답: ③ 아키텍처(구조) 설계는 모듈 간 인터페이스를 정하는 단계이므로 통합 시험과 짝을 이룬다. 단위 시험의 짝은 상세(모듈) 설계다.

2. 상향식(Bottom-up) 통합에서 아직 완성되지 않은 상위 모듈을 대신해 하위 모듈을 호출해 주는 시험용 구성요소는?

① 스텁(Stub) ② 드라이버(Driver) ③ 미들웨어 ④ 에뮬레이터

정답 및 해설

정답: ② 상향식은 하위부터 쌓아 올리므로 "위쪽을 대신할" 드라이버가 필요하다. 반대로 하향식은 "아래쪽을 대신할" 스텁이 필요하다. 방향과 대체물을 바꿔 내는 문제가 단골이다.

3. 빅뱅(Big-bang) 통합에 대한 설명으로 가장 적절한 것은?

① 결함 발생 시 원인 모듈을 찾기 쉽다 ② 스텁과 드라이버가 반드시 필요하다 ③ 모든 모듈을 완성한 뒤 한꺼번에 결합하며, 소규모 시스템에 적합하다 ④ 상위 모듈부터 단계적으로 결합한다

정답 및 해설

정답: ③ 빅뱅은 대체물(스텁·드라이버)이 필요 없어 준비가 간단하지만, 한꺼번에 합치므로 결함이 어느 모듈·인터페이스에서 왔는지 격리하기 어렵다. ①은 반대, ②는 증분 통합, ④는 하향식 설명이다.

4. 인터페이스 정의서(ICD)에 담기는 내용으로 가장 거리가 것은?

① 커넥터 핀맵과 신호 레벨 ② 통신 메시지 형식과 주기 ③ 기구 장착 치수 ④ 모듈 내부의 알고리즘 구현 코드

정답 및 해설

정답: ④ ICD는 모듈 사이의 연결 규격(기계·전기·SW 인터페이스)을 정의하는 문서다. 모듈 내부 구현은 정보 은닉의 대상이며 ICD의 범위가 아니다.

5. 로봇 시스템 통합 단계에서 여러 센서 데이터를 융합할 때 시각(타임스탬프)이 어긋나는 문제를 예방하는 조치로 가장 적절한 것은?

① 센서 해상도를 높인다 ② NTP/PTP 등으로 장치 간 시계를 동기화한다 ③ 통신 케이블을 짧게 한다 ④ 메시지 크기를 줄인다

정답 및 해설

정답: ② 여러 컴퓨터·센서가 각자의 시계를 쓰면 같은 순간의 데이터가 다른 시각으로 기록되어 융합·SLAM의 정확도가 무너진다. 시간 동기화 프로토콜(NTP, 더 정밀하게는 PTP)로 시계를 맞추는 것이 표준 대책이다.

06

🔗 관련 노트

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