작업지능 소프트웨어 설계
📌 개요
- 작업지능(Task Intelligence) = "무엇을 어떤 순서로 할지 스스로 계획하고, 실행하고, 지켜보다가, 틀어지면 고치는" 지능
- 경로를 어떻게 갈지(모션)가 아니라 무슨 일을 할지의 수준
- 출제 포인트: 작업지능의 3요소(계획–실행–감시) · 태스크 플래닝 구성(상태·행동·전제조건·효과) · 재계획(replanning) · 실행 구조와 3계층 아키텍처의 대응
📖 핵심 개념
작업지능의 3요소: 계획 – 실행 – 감시 (시험 단골)
- 작업 계획(Task Planning): 목표를 받아 행동(action)의 순서를 생성 — "커피를 배달하라" → [픽업대로 이동 → 잔 파지 → 테이블로 이동 → 내려놓기]
- 작업 실행(Execution): 계획된 행동을 차례로 하위 모듈(내비게이션·매니퓰레이션)에 지시하고 완료를 확인
- 실행 감시(Monitoring): 각 행동이 예상대로 진행되는지 관찰 — 실패·이상 감지 시 재시도, 재계획(Replanning), 또는 안전 정지·인계
계획만 있고 감시가 없으면 "눈 감고 실행"이 된다 — 실제 환경은 계획대로 굴러가지 않으므로 감시·재계획이 작업지능의 실질이다.
태스크 플래닝의 구성 요소 (STRIPS 스타일)
고전적 작업 계획은 세계를 기호(심볼) 로 표현하고 탐색한다.
- 상태(State): 세계의 상황을 명제로 표현 —
잔이 픽업대에 있음,그리퍼 비어 있음 - 행동(Action): 상태를 바꾸는 연산자. 각 행동은 다음을 가진다:
- 전제조건(Precondition): 실행 가능하려면 참이어야 하는 조건 —
파지의 전제 = 잔 앞에 있음 ∧ 그리퍼 비어 있음 - 효과(Effect): 실행 후 참/거짓이 되는 것 —
잔을 잡음,그리퍼 비어 있음삭제
- 전제조건(Precondition): 실행 가능하려면 참이어야 하는 조건 —
- 목표(Goal): 도달하려는 상태 —
잔이 테이블에 있음 - 계획(Plan): 초기 상태에서 목표 상태로 가는 행동의 순서 — 탐색(A* 등)으로 생성
이 "전제조건–효과" 구조 덕분에 계획기는 행동 간 순서 제약을 스스로 추론한다 — 잡기 전에 이동해야 함을 사람이 일일이 코딩하지 않아도 된다.
스케줄링 — 언제, 누가
계획이 "순서"라면 스케줄링은 시간과 자원의 배분이다.
- 다중 주문의 처리 순서(마감·우선순위 고려), 충전 시간 배치
- 다중 로봇: 작업 할당(경매 방식 등), 충돌 없는 동선 조정 — 관제 시스템과 연계 (→ 서버 프로그램)
실행 구조와의 연결
- 계획의 각 행동을 실제로 굴리는 실행 층은 FSM·행동 트리로 구현 — 행동 트리의 셀렉터가 "정상 방법 실패 시 대안"의 폴백을 자연스럽게 표현
- 아키텍처 관점: 작업지능은 혼합형 3계층의 숙고층(계획)과 실행층(분해·중재) 에 해당
- 회피 같은 반사 행동은 반응층이 담당
실행 감시와 재계획 (시험 포인트)
- 감시 항목: 행동의 성공/실패(파지 확인 — 그리퍼 힘·비전), 소요 시간 초과(타임아웃), 전제조건의 유지(운반 중 잔을 떨어뜨리지 않았는가)
- 실패 대응의 사다리: ① 재시도(같은 행동 반복) → ② 재계획(현재 상태에서 새 계획 — 다른 경로·다른 잔) → ③ 축퇴/인계(사람 호출, 안전 정지) — 낮은 비용의 대응부터 시도한다
- 재계획의 전제는 현재 상태의 정확한 파악 — 인지지능(인지지능 알고리즘 설계)이 갱신하는 세계 모델이 필요하다
지식 표현과 학습 기반 접근
- 세계 모델(지식 베이스): 물체·장소·상태를 담는 공유 저장소 — 블랙보드 스타일의 전형
- 학습 기반: 시연 학습(사람 동작을 보고 작업 습득), 강화학습(시행착오로 정책 학습) 등이 계획·실행의 일부를 대체·보완하는 추세 — 다만 안전 필수 부분은 검증 가능한 고전 기법과 병행하는 것이 실무 원칙 (→ 작업 시나리오별 소프트웨어 구현기술)
📊 다이어그램 · 수식
작업지능의 계획–실행–감시 루프
flowchart LR
G["목표
(커피 배달)"] --> P["작업 계획
(행동 순서 생성)"] --> E["실행
(하위 모듈 지시)"] --> M["감시
(성공/실패/시간)"]
M -- 정상 --> E
M -- "실패: 재시도" --> E
M -- "실패 지속: 재계획" --> P
M -- "복구 불가: 안전 정지·인계" --> S["안전 상태"]행동의 전제조건–효과 (STRIPS 스타일)
flowchart TD
A["행동: 잔 파지"] --> PRE["전제조건
잔 앞에 있음 ∧ 그리퍼 비어 있음"]
A --> EFF["효과
+ 잔을 잡음
− 그리퍼 비어 있음"]
PLAN["계획기: 전제조건·효과의 연쇄를 탐색해
이동→파지→이동→내려놓기 순서를 스스로 도출"]🎯 핵심 요약 · 암기 포인트
✏️ 예상문제
1. 작업지능 소프트웨어의 3요소로 옳은 것은?
① 계획 — 실행 — 감시 ② 인식 — 저장 — 출력 ③ 측정 — 병목 식별 — 개선 ④ 도출 — 명세 — 검증
정답 및 해설
정답: ① 목표에서 행동 순서를 만들고(계획), 하위 모듈로 실행하며(실행), 진행을 관찰해 틀어지면 바로잡는(감시) 것이 작업지능이다. ③은 최적화 사이클, ④는 요구공학 단계다.
2. 태스크 플래닝에서 행동(action)의 "전제조건"에 대한 설명으로 옳은 것은?
① 행동 실행 후 세계에 생기는 변화다 ② 행동을 실행할 수 있으려면 참이어야 하는 조건이다 ③ 행동의 소요 시간이다 ④ 행동의 비용 함수다
정답 및 해설
정답: ② 전제조건은 실행 가능성의 조건("잔 앞에 있음 ∧ 그리퍼 비어 있음"), 효과는 실행 후의 상태 변화("잔을 잡음")다. 계획기는 이 연쇄를 탐색해 행동 순서를 스스로 도출한다.
3. 운반 중 잔을 떨어뜨린 것을 감지한 로봇의 대응 순서로 가장 적절한 것은?
① 계획을 무시하고 원래 순서대로 계속 진행한다 ② 현재 상태를 갱신하고 재계획(새 잔 픽업 등)을 수행하며, 불가하면 인계한다 ③ 즉시 전원을 차단한다 ④ 감시 기능을 비활성화한다
정답 및 해설
정답: ② 실패 감지 → 상태 갱신 → 재시도/재계획 → 복구 불가 시 축퇴·인계의 사다리를 따른다. 계획대로 밀어붙이면(①) "빈 그리퍼로 내려놓기"라는 무의미한 행동이 이어진다 — 감시와 재계획이 작업지능의 실질인 이유다.
4. 작업 계획(planning)과 스케줄링(scheduling)의 구분으로 옳은 것은?
① 계획은 시간 배분, 스케줄링은 행동 순서를 다룬다 ② 계획은 행동의 순서를, 스케줄링은 시간·자원의 배분을 다룬다 ③ 둘은 완전히 같은 개념이다 ④ 스케줄링은 단일 로봇에서만 필요하다
정답 및 해설
정답: ② "무엇을 어떤 순서로"가 계획, "언제, 어느 로봇이, 충전은 언제"가 스케줄링이다. 다중 주문·다중 로봇 환경에서 스케줄링(작업 할당·동선 조정)의 비중이 커진다.
5. 작업지능 설계에 대한 설명으로 옳지 않은 것은?
① 작업지능은 3계층 구조의 숙고층·실행층에 해당한다 ② 행동 트리의 셀렉터로 실패 시 대안(폴백)을 표현할 수 있다 ③ 세계 모델은 여러 모듈이 공유하는 블랙보드 스타일로 구성되곤 한다 ④ 안전 필수 기능도 검증이 어려운 학습 모델만으로 구성하는 것이 원칙이다
정답 및 해설
정답: ④ 학습 기반 기법은 계획·실행을 보완하는 추세지만, 동작 보장이 어려워 안전 필수 부분은 검증 가능한 고전 기법(센서 기반 정지 등)과 병행하는 것이 원칙이다.
🔗 관련 노트
- 작업지능 소프트웨어 목표사양 — 설계가 달성할 목표
- 작업 시나리오별 소프트웨어 구현기술 — FSM·행동 트리 실행 구조
- 로봇 소프트웨어 구조 설계 — 3계층 구조에서의 위치
- 인지지능 알고리즘 설계 — 세계 모델을 갱신하는 인지
- 주변장치 인터페이스 분석 — 작업 실행이 연동하는 주변장치
- _MOC 지능소프트웨어