로봇 소프트웨어 구조설계로봇 작업 요구사항 분석로봇 작업 시나리오 정의
출제기준 좌표2·3·4·2
2과목 · 로봇 소프트웨어 구조설계

작업 시나리오별 소프트웨어 구현기술

로봇 작업 요구사항 분석로봇 작업 시나리오 정의
# 로봇소프트웨어구조설계
01

📌 개요

  • 시나리오 완성 후 → "이 단계를 어떤 소프트웨어 기술로 구현할 것인가"를 매핑할 차례
  • 시나리오의 각 단계는 이동·조작·인식·상호작용 중 하나로 분류 → 각각 대응하는 기술 계열 존재
  • 시험 출제 포인트: 시나리오 유형별 필요 기술 매칭, 시나리오 전체의 순서를 관리하는 작업 실행 구조 — 유한 상태 기계(FSM)와 행동 트리(Behavior Tree)
02

📖 핵심 개념

시나리오 단계 → 기술 매핑 (시험 단골)

① 이동(내비게이션) 시나리오 — "픽업대까지 이동한다"

② 조작(매니퓰레이션) 시나리오 — "부품을 집어 조립한다"

③ 인식 시나리오 — "물품이 실렸는지 확인한다", "사람을 발견한다"

④ 상호작용(HRI) 시나리오 — "도착을 알리고 수령을 확인받는다"

⑤ 원격 관제·연동 시나리오 — "관제 서버에 상태를 보고한다"

작업 실행 구조 — 시나리오를 소프트웨어로 (핵심)

  • 개별 기술이 있어도 "순서대로, 상황 따라" 실행하는 지휘자가 필요

시나리오의 흐름(정상·대안·예외)을 코드로 옮기는 대표 구조 두 가지:

① 유한 상태 기계 (FSM, Finite State Machine)

  • 시스템을 상태(State) 들과 전이(Transition, 사건에 의한 상태 변경) 로 모델링 — "대기 → (주문) → 이동 중 → (도착) → 전달 중 → (완료) → 복귀"
  • 장점: 직관적, 현재 상태가 명확, 검증 용이 — 시나리오의 상태 다이어그램을 거의 그대로 구현
  • 단점: 상태·전이가 많아지면 조합 폭발로 복잡해지고 수정이 어려워진다 (스파게티 전이)

② 행동 트리 (BT, Behavior Tree)

  • 행동을 트리 구조로 조합: 시퀀스 노드(자식을 차례로 — 하나라도 실패하면 실패), 셀렉터 노드(성공할 때까지 자식을 차례로 시도 — 폴백/대안), 조건 노드, 행동 노드
  • 각 노드는 성공/실패/실행 중을 반환하며 주기적으로 평가(tick)된다
  • 장점: 모듈화·재사용 우수(서브트리 재사용), 대안·예외 처리를 셀렉터로 자연스럽게 표현, 대규모에서 FSM보다 유지보수 유리 — 게임 AI에서 유래해 현대 로봇 작업 제어의 주류
  • FSM vs BT: 작은 문제엔 FSM이 단순 명쾌, 시나리오가 크고 예외가 많으면 BT가 유리

③ 태스크 플래너(작업 계획기): 목표를 주면 행동 순서를 자동 생성하는 상위 기술 — 작업지능의 영역 (→ 작업지능 소프트웨어 설계)

구현기술 선정 기준

  • 실시간성 요구: 회피는 ms급 반응 필요 → 반응층에, 계획은 느려도 됨 → 숙고층에 배치 (→ 제어 구조 3계층)
  • 정확도 vs 연산 자원: 고정밀 인식은 연산이 무겁다 — 탑재 컴퓨터 사양과 저울질 (→ 로봇 시스템 최적화)
  • 기존 자산 활용: 프레임워크·오픈소스 패키지의 검증된 구현을 우선 검토 (→ 로봇 소프트웨어 프레임워크)
  • 안전 요구 수준: 안전 관련 기능은 단순·검증 가능한 기술 선택 (복잡한 학습 모델보다 확실한 센서 기반 정지)

매핑 결과의 문서화

  • 시나리오 단계별로 "필요 기능 — 담당 모듈 — 사용 기술 — 성능 요구"를 표로 정리 → 그대로 소프트웨어 기능 명세와 모듈 구성의 초안
  • 이 표가 아키텍처 설계(로봇 소프트웨어 아키텍처 모델링)의 입력
03

📊 다이어그램 · 수식

시나리오 유형별 기술 계열

DIAGRAM
flowchart TD
    SC["작업 시나리오"] --> N["이동
지도·위치인식·경로계획·회피"] SC --> M["조작
기구학·모션계획·파지·힘제어"] SC --> P["인식
물체·사람 인식, 센서 융합"] SC --> H["상호작용
음성·GUI·제스처"] SC --> T["관제 연동
서버·클라이언트·모니터링"] N & M & P & H & T --> EX["작업 실행 구조
(FSM / 행동 트리)"]

FSM과 행동 트리의 개념 비교

DIAGRAM
flowchart LR
    subgraph FSM["유한 상태 기계"]
        S1["대기"] -- 주문 --> S2["이동 중"] -- 도착 --> S3["전달 중"] -- 완료 --> S4["복귀"]
        S2 -- 경로 막힘 --> S5["재계획"] --> S2
    end
    subgraph BT["행동 트리"]
        SEL["셀렉터: 하나가 성공할 때까지"] --> SEQ1["시퀀스: 주행→전달"]
        SEL --> ALT2["폴백: 재계획 후 재시도"]
        SEL --> SAFE["최후: 안전 정지·알림"]
    end
04

🎯 핵심 요약 · 암기 포인트

익힘 0 / 10카드를 눌러 뒤집고, 앞면에서 아는지 표시하세요.
Q · 1
이동 시나리오에 필요한 기술 계열은?
A
지도 작성·위치인식(SLAM) + 전역/지역 경로계획 + 충돌회피
Q · 2
조작(매니퓰레이션) 시나리오에 필요한 기술 계열은?
A
기구학·역기구학, 모션 계획, 파지(그리핑), 힘 제어
Q · 3
유한 상태 기계(FSM)란?
A
시스템을 상태들과 사건에 의한 전이로 모델링하는 작업 실행 구조
Q · 4
FSM의 장점과 한계는?
A
직관적이고 현재 상태가 명확 / 상태·전이가 많아지면 조합 폭발로 유지보수 곤란
Q · 5
행동 트리(BT)의 시퀀스 노드와 셀렉터 노드의 차이는?
A
시퀀스=자식을 차례로 실행(하나 실패 시 실패), 셀렉터=성공할 때까지 차례로 시도(폴백)
Q · 6
행동 트리가 FSM보다 유리한 상황은?
A
시나리오가 크고 대안·예외가 많을 때 — 모듈화·서브트리 재사용·폴백 표현이 자연스럽다
Q · 7
행동 트리 노드가 반환하는 3가지 상태는?
A
성공(Success), 실패(Failure), 실행 중(Running)
Q · 8
태스크 플래너란?
A
목표를 주면 행동 순서를 자동 생성하는 상위 작업 계획 기술
Q · 9
실시간성에 따른 기술 배치 원칙은?
A
ms급 반응(회피)은 반응층, 느린 계획은 숙고층 — 3계층 구조에 대응
Q · 10
안전 관련 기능의 기술 선정 원칙은?
A
단순하고 검증 가능한 기술 우선 — 복잡한 학습 모델보다 확실한 센서 기반 정지
05

✏️ 예상문제

1. "픽업대까지 이동한다"라는 시나리오 단계의 구현에 필요한 기술로 가장 거리가 것은?

① 위치인식(SLAM) ② 전역·지역 경로계획 ③ 장애물 충돌회피 ④ 역기구학 해석

정답 및 해설

정답: ④ 이동 시나리오는 지도·위치인식·경로계획·회피의 내비게이션 기술 계열이 담당한다. 역기구학은 머니퓰레이터 조작 시나리오의 기술이다.

2. 시스템을 "대기 → 이동 중 → 전달 중 → 복귀"처럼 상태와 사건에 의한 전이로 모델링하는 작업 실행 구조는?

① 행동 트리 ② 유한 상태 기계(FSM) ③ 파이프라인 ④ 블랙보드

정답 및 해설

정답: ② 상태(state)와 전이(transition)의 그물로 동작을 기술하는 것이 FSM이다. 시나리오의 상태 다이어그램을 거의 그대로 코드로 옮길 수 있다.

3. 행동 트리(Behavior Tree)에서 자식 노드들을 차례로 시도하다가 하나라도 성공하면 성공을 반환하는 — 대안(폴백) 표현에 쓰이는 노드는?

① 시퀀스 노드 ② 셀렉터 노드 ③ 조건 노드 ④ 리프 노드

정답 및 해설

정답: ② 셀렉터(폴백) 노드는 "정상 방법 → 실패하면 대안 → 그것도 실패하면 안전 정지"처럼 우선순위 있는 대안 시도를 자연스럽게 표현한다. 시퀀스는 반대로 자식이 모두 성공해야 성공이다.

4. 작업 실행 구조 선택에 대한 설명으로 가장 적절한 것은?

① 상태가 적고 단순한 작업에도 반드시 행동 트리를 써야 한다 ② FSM은 상태·전이가 많아질수록 관리가 쉬워진다 ③ 시나리오가 크고 예외·대안이 많으면 모듈화와 재사용에 유리한 행동 트리가 유리하다 ④ 행동 트리는 예외 처리를 표현할 수 없다

정답 및 해설

정답: ③ 작은 문제엔 FSM이 단순 명쾌하고, 규모가 커지면 FSM은 전이 조합 폭발로 어려워져 서브트리 재사용과 폴백이 자연스러운 행동 트리가 주류가 된다.

5. 시나리오 단계별 구현기술 선정 기준으로 옳지 않은 것은?

① ms급 반응이 필요한 회피 기능은 반응 계층에 배치한다 ② 인식 정확도와 탑재 컴퓨터의 연산 자원을 저울질한다 ③ 검증된 프레임워크·오픈소스 구현의 활용을 검토한다 ④ 안전 정지 기능은 가장 복잡하고 최신의 학습 모델로 구현하는 것이 원칙이다

정답 및 해설

정답: ④ 안전 관련 기능일수록 단순하고 결정적이며 검증 가능한 기술을 쓰는 것이 원칙이다. 동작을 보장하기 어려운 복잡한 학습 모델은 안전의 최후 보루로 부적합하다.

06

🔗 관련 노트

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