1.1 Physical AI의 문제 정의
1.1.1 정보 처리에서 물리적 상호작용으로
결정론적으로 구현한 함수는 같은 입력에 같은 출력을 낸다. 그러나 Software AI도 확률적 추론이나 외부 상태를 사용할 수 있으므로, 결정론 여부만으로 Physical AI를 구분하지 않는다. 여기서 핵심은 행동이 물리 환경을 바꾸고, 바뀐 환경을 다시 관측하며, 시간·기계적 제약 안에서 다음 행동을 결정한다는 점이다. 카메라 노출, 조명, 마찰, 기어 백래시(backlash), 통신 지연, 물체의 미세한 위치가 관측과 결과에 영향을 준다. 시뮬레이션도 정보를 숨기면 부분 관측 문제를 만들 수 있다. M00.01에서 로봇팔·이동 로봇의 구체 사례를 비교하고 이 장의 모델과 연결한다.
이를 부분 관측 마르코프 의사결정 과정(Partially Observable Markov Decision Process, POMDP)으로 쓰면 다음과 같다.
- : 물체 자세, 관절 상태, 마찰처럼 실제 세계의 상태
- : 카메라 이미지, 엔코더, 언어 명령 등 관측
- : 관절 위치·속도·토크 명령
- : 행동 뒤 상태가 변하는 동역학
- : 성공, 시간, 에너지, 충돌을 반영하는 보상
- : 상태가 센서 관측으로 나타나는 과정
- : 미래 보상의 가중치를 줄이는 할인율. 유한 시간 문제에서는 도 사용할 수 있다.
여기서는 관측이 현재 상태에만 조건부로 의존하는 간단한 모형을 썼다. 센서 선택이나 측정 행동이 관측 품질을 바꾸면 처럼 행동도 조건에 포함한다. 관측의 인덱스는 행동 전 를 읽고 를 적용한 뒤 다음 상태·관측을 얻는 순서다. 일반 POMDP의 관측 모형과 belief(가능한 상태에 대한 분포)는 Kaelbling 등의 원 논문에서 확인할 수 있다. belief는 실제 상태를 완벽하게 안다는 뜻이 아니다.
정책(policy) 는 현재 관측 하나만이 아니라 관측과 행동의 이력 를 사용할 수 있다. Vision-Language-Action(VLA) 모델은 영상과 언어를 조건으로 연속 또는 이산화된 행동을 출력하는 학습 정책의 한 종류다. 그러나 VLA도 센서 드라이버, 좌표 변환, 제어 주기, 안전 제한을 대신하지 않는다.
이해 도움말 — 상태(state)와 관측(observation)을 분리해서 생각하기
서랍 속 물체의 정확한 자세는 상태지만, 로봇이 실제로 받는 것은 카메라 영상과 엔코더 값이라는 관측이다. 한 장의 영상에서 가려진 면은 보이지 않으므로 관측만으로 상태를 완전히 알 수 없다. 이때 이전 관측과 행동의 이력 는 “방금 어느 방향으로 밀었는가” 같은 단서를 보충한다. POMDP는 수식을 암기하기보다 세계에는 실제 상태가 있고, 정책에는 제한된 관측만 들어온다는 구분부터 잡으면 이해하기 쉽다.
1.1.2 규칙 기반 제어와 학습 기반 정책
| 관점 | 규칙·모델 기반 | 학습 기반 정책 |
|---|---|---|
| 지식 표현 | 상태기계, 기구학, 경로계획, 제어법칙 | 데이터로 학습한 파라미터 |
| 강점 | 해석 가능, 경계조건 명시, 검증 용이 | 복잡한 시각 특징과 다양한 작업 분포 처리 |
| 약점 | 예외 규칙 증가, 비정형 인식에 취약 | 분포 밖 입력, 설명 곤란, 데이터 편향 |
| 적합 영역 | 안전 제한, 충돌 회피, 정밀 제어 | 인식, 파지 후보, 행동 시퀀스 제안 |
| 실패 대응 | 조건 위반과 상태 전이 추적 | 신뢰도·데이터·관측 분포 분석 필요 |
현업 시스템은 둘 중 하나를 고르는 대신 계층화한다. 학습 정책이 목표 자세나 짧은 행동 청크를 제안하고, 모델 기반 제어기가 추종하며, 독립 안전 계층이 속도·작업공간·충돌 제한을 강제한다. 학습 정책이 실패해도 안전 제한은 유지되어야 한다.
1.1.3 인지-정책-행동 루프
한 주기의 이상적인 데이터 흐름은 다음과 같다.
- 감지(Sensing): 카메라, 엔코더, 힘 센서가 타임스탬프가 있는 원시 데이터를 생성한다.
- 인지(Perception): 보정·필터링·특징 추출로 정책 입력을 만든다.
- 정책(Policy): 목표 또는 행동 청크를 추론한다.
- 안전 필터(Safety filter): 관절 한계, 속도, 작업공간, 오래된 명령을 검사한다.
- 저수준 제어(Control): 보간, PID/임피던스 제어, 모터 프로토콜 변환을 수행한다.
- 행동과 피드백(Action & feedback): 물리 상태가 바뀌고 다음 관측이 들어온다.
아래 식은 단계를 순차로 실행하는 한 경로의 처리 지연을 합산한 단순 예산이다. 실제 스케줄의 목표 샘플 주기 와 구분한다. 여러 센서·제어기를 병렬로 실행하면 지연은 의존 경로와 큐 대기에 따라 달라져 모든 스레드 시간을 단순히 더할 수 없다.
20 Hz 정책의 목표 갱신 간격은 ms다. 한 주기 안에 추론을 마쳐야 하는 직렬 설계에서 추론의 평균이35 ms여도 한 번의 실행이80 ms라면 그 주기의 마감 시각을 놓친다. 비동기 설계에서는 새 관측의 주기와 명령 나이를 따로 측정해야 한다. M00.04에서 성공 조건·지연·중단 기준을 먼저 수치로 정의한다. 따라서 평균뿐 아니라 p95/p99 지연, 센서 데이터의 나이(age), 명령 만료 시간(time-to-live)을 기록해야 한다.
1.1.4 책임의 분리
좋은 로봇 소프트웨어는 다음 네 가지 책임을 섞지 않는다.
- 세계 모델: 좌표 프레임, 장면, 로봇 상태
- 의사결정: 무엇을 할 것인가
- 제어: 목표를 어떤 주기로 추종할 것인가
- 안전: 어떤 행동을 절대 허용하지 않을 것인가
예제 code/physical_ai_loop.py는 이 분리를 최소한의 코드로 보여 준다. 정책은 목표를 제안하고 SafetyGate가 범위와 명령 나이를 검사한다. 실제 로봇에서는 소프트웨어 제한과 별도로 하드웨어 비상 정지와 전류 제한이 필요하다.