하드코딩 기반 행동 제어의 정의 (Definition of Hardcoded Behavior Control)
1. 개요
하드코딩 기반 행동 제어는 로봇의 모든 의사 결정 규칙을 개발자가 사전에 명시적으로 설계하고, 소스 코드 또는 설정 파일에 고정적으로 기록하는 행동 제어 방식이다. 로봇은 실행 시 이 규칙을 그대로 따르며, 규칙에 정의되지 않은 상황에는 대응하지 못한다.
2. 정의
하드코딩 기반 행동 제어는 다음과 같이 형식적으로 정의할 수 있다.
\pi_{\text{hard}} : S \rightarrow A
여기서 S는 상태 집합, A는 행동 집합이며, \pi_{\text{hard}}는 사전에 정의된 고정 정책(fixed policy)이다. 이 정책은 개발 시점에 완전히 결정되며, 실행 시 변경되지 않는다.
하드코딩의 형태
조건-행동 규칙 (If-Then Rules)
if (obstacle_detected && distance < 0.5)
avoid_obstacle();
else if (goal_reached)
stop();
else
navigate_to_goal();
유한 상태 머신 (FSM)
상태와 전이 규칙을 사전에 정의하여, 현재 상태와 이벤트에 따라 다음 행동을 결정한다.
행동 트리 (BT)
조건 노드, 액션 노드, 제어 노드의 계층적 구조를 사전에 설계하여, tick 메커니즘에 따라 행동을 선택한다.
스크립트 기반 임무 정의
YAML, JSON, XML 등의 설정 파일로 임무 시퀀스를 정의한다.
mission:
- navigate_to: [1.0, 2.0]
- pick_object: box_1
- navigate_to: [3.0, 4.0]
- place_object: box_1
하드코딩의 핵심 특성
| 특성 | 설명 |
|---|---|
| 결정론적 | 동일 상태에서 항상 동일 행동 |
| 개발 시점 확정 | 모든 규칙이 개발 시 결정됨 |
| 정적 구조 | 실행 중 구조 변경 불가 |
| 명시적 표현 | 모든 규칙이 코드로 명시됨 |
| 도메인 특화 | 특정 임무에 최적화됨 |
자율 계획과의 본질적 차이
| 측면 | 하드코딩 | 자율 계획 |
|---|---|---|
| 행동 결정 시점 | 개발 시 | 실행 시 |
| 행동 결정 주체 | 개발자 | 계획 알고리즘 |
| 상태 공간 탐색 | 없음 | 탐색 수행 |
| 새로운 목표 대응 | 코드 수정 필요 | 도메인 내 자동 대응 |
| 계산 비용 | O(1) | O(\text{exp}) |
참고 문헌
- Ghallab, M., Nau, D., & Traverso, P. (2016). Automated Planning and Acting. Cambridge University Press.
- Colledanchise, M., & Ogren, P. (2018). Behavior Trees in Robotics and AI: An Introduction. CRC Press.
| 버전 | 날짜 | 변경 사항 |
|---|---|---|
| v0.1 | 2026-04-05 | 초안 작성 |