자율주행·그리퍼 로봇 모델 아키텍처
결론
첫 제품은 바퀴형 모바일 매니퓰레이터와 한 개의 팔·그리퍼를 기준으로 한다. 시작 구조는 하나의 거대 모델이 모든 판단과 제어를 맡는 방식이 아니라, 목표 해석·환경 지각·자율주행·파지·조작을 나눈 전문 모델 중심 계층형 구조가 적합하다.
목표 해석
-> 세계 상태 구성
-> 자율주행 또는 파지·조작 정책 선택
-> ROS 2 Action으로 실행
-> TaskManager가 진행·취소·실패·완료 관리
-> 물리 Evidence를 반영해 계속·복구·재계획 결정
VLA(Vision-Language-Action)는 장기적으로 유효하지만 첫 기준선으로 두지 않는다. 전문 모델과 결정적 제어기가 만든 제품 데이터와 실패 근거를 먼저 축적한 뒤, 공유 멀티모달 표현과 선택적 VLA를 추가한다. VLA가 만든 행동 후보도 동일한 정책·자원·안전·완료 근거 경계를 통과해야 한다.
문서 상태
- 목표 설계: 실제 구현을 위한 모델·런타임·데이터·검증 경계를 정의한 구조안
- 공개 근거: ROS 2, Nav2, MoveIt 2, NVIDIA Isaac ROS와 로봇 학습 연구의 공식 자료
- 현재 연결 기준: SKIX TaskManager·Capability·State·Evidence와 로봇 Provider 경계
- 실기기 검증 전: 학습 모델, Jetson Thor 배치, ROS 2 전체 연동의 지연·정확도·안전성은 제품 하드웨어에서 별도 검증 필요
1. 전체 구조
계층별 책임
| 계층 | 입력 | 출력 | 책임 |
|---|---|---|---|
| 목표 해석 | 사용자 요청, 앱·시스템 목표, 현재 문맥 | 목표, 제약, 필요한 기능, 성공 조건 | 무엇을 달성할지 구조화한다. 모터 명령은 만들지 않는다. |
| 세계 상태 | 센서, 지도, TF, 객체, 관절, Task 결과 | 출처·시각·신뢰도가 포함된 상태 | 로봇·사람·객체·공간·진행 작업을 같은 시간축으로 결합한다. |
| 환경 지각 | RGB, Depth, LiDAR, 관절·힘 센서 | 위치, 장애물, 객체, 자세, 신뢰도 | 기하 정보와 의미 정보를 분리해 생산한다. |
| 자율주행 정책 | 목적지, 지도, 영상, 장애물 | subgoal, waypoint, 경로 후보 | 목표 위치와 탐색 방향을 고른다. 속도·모터의 최종 안전 제어는 하지 않는다. |
| 파지·조작 정책 | 객체 자세, 관절 상태, 작업 목표 | 파지 자세, 궤적 후보, 행동 묶음 | 접근·파지·운반·놓기의 고수준 행동 후보를 만든다. |
| 실행기 | 경로·궤적·행동 후보 | ROS 2 Action, 상태, 결과 | Nav2·MoveIt 2·업체 SDK로 실행 가능한 명령을 만든다. |
| TaskManager | Task, Workflow, Action feedback | 진행, 취소, timeout, terminal result | 여러 동작의 순서와 생명주기를 관리하고 접수 성공과 물리 완료를 구분한다. |
| 저수준 제어 | 속도·관절·힘 목표 | 실제 모터 동작, 안전 정지 | 실시간 loop, 충돌·힘·속도·workspace 제한을 소유한다. |
ROS 2에서는 연속 상태는 Topic, 빠른 질의는 Service, 오래 걸리며 feedback·cancel·result가 필요한 동작은 Action이 적합하다. 이 구분은 ROS 2 인터페이스 공식 설명과 ROS 2 Action 개념을 따른다.
2. 무엇을 학습하고 무엇을 유지할 것인가
직접 학습할 영역
| 영역 | 첫 학습 목표 | 데이터 | 첫 제품 출력 |
|---|---|---|---|
| 제품 환경 객체 지각 | 자주 쓰는 물체·가구·사람·작업 영역의 인식과 신뢰도 보정 | 제품 카메라·Depth, box·mask·class, 실제 오인식 | 객체 종류, mask, 위치 후보, 신뢰도 |
| 객체 자세·파지 후보 | 제한 물체군의 6D 자세와 안정적인 파지 위치 | 객체 pose, gripper pose, 성공·미끄러짐·충돌 | 파지 후보와 성공 가능성 |
| 의미 기반 탐색 | “컵이 있을 만한 곳”처럼 장면 의미에 따른 탐색 순서 | 지도, 관측 이력, 발견 위치, 이동 비용 | 다음 subgoal 또는 관측 위치 |
| 조작 skill | 접근·집기·운반·놓기 같은 반복 기술 | 원격 조작 trajectory, 관절·그리퍼·영상·힘 | 짧은 행동 묶음 또는 목표 자세 |
| 실패·복구 판단 | 물체 소실, 접근 불가, 파지 실패의 원인 구분 | Task reason, 센서 변화, 사람 개입, 최종 상태 | 재시도·다른 시점 관찰·중단 후보 |
조작 정책은 처음부터 범용 로봇 행동 모델을 학습하기보다 범위가 좁은 skill부터 시작한다. ACT/ALOHA는 원격 조작 시범으로 Transformer 기반 행동 묶음을 학습하는 사례이고, Diffusion Policy는 시각 조건에서 행동 시퀀스를 생성하고 receding-horizon으로 다시 관측하며 제어하는 사례다.
학습시키지 않을 영역
첫 제품에서는 다음 영역을 데이터 학습으로 대체하지 않는다.
- 위치 추정·기본 지도 작성, costmap과 충돌 검사
- 경로·궤적의 기하학적 유효성 검사
- 역기구학, 관절 제한, 속도·가속도·힘 제한
- emergency stop과 안전 PLC/MCU 판단
- TaskManager의 queue, timeout, cancel, terminal 상태
- 권한, 제품 정책, 자원 충돌과 사용자 동의
Nav2는 행동 트리, planner, controller, recovery, state estimation과 costmap을 결합한 항법 구조를 제공한다. Nav2 Navigation Concepts를 제품 항법 기준선으로 사용하고, 학습형 자율주행은 Nav2를 없애기보다 subgoal·waypoint·탐색 prior를 보강하는 위치에 둔다.
MoveIt 2는 planning scene, collision checking, kinematics와 motion planner를 결합해 joint trajectory를 만든다. MoveIt motion planning과 move_group 구조를 조작 기준선으로 사용하고, 학습 모델은 파지 자세·skill·복구 후보를 제공한다.
학습 모델이 최종 안전 권한을 갖지 않는다. 모델은 목표·subgoal·파지·행동 후보를 제안하고, 실행 허용과 실시간 제한은 Framework와 로봇 제어기가 판정한다.
3. 모델 구성
3.1 환경 지각
환경 지각은 한 모델로 합치기보다 역할을 나눈다.
| 기능 | 권장 기준선 | 제품에서 필요한 보강 |
|---|---|---|
| 위치·지도 | Visual SLAM 또는 LiDAR SLAM, wheel odometry, IMU fusion | 제품 센서 배치와 미끄러짐·가림 환경 보정 |
| 3D 점유 공간 | Depth/LiDAR 기반 TSDF·occupancy | 가구·사람과 팔 작업 공간의 실시간 갱신 |
| 개방형 객체 탐지 | Grounding DINO 계열 | 한국어 목표명, 제품 객체 taxonomy, confidence calibration |
| 분할·영상 추적 | SAM 2 계열 | 로봇 영상에서 가림·모션블러·유사 물체 대응 |
| 객체 6D 자세 | FoundationPose 계열 | 실제 카메라 내·외부 파라미터와 그리퍼 좌표 정합 |
Jetson에서 사용할 수 있는 Isaac ROS Visual SLAM과 Isaac ROS nvblox는 GPU 가속 지각·지도 구성 후보다. 실제 채택은 센서 형상, ROS 배포판, 지연과 메모리 측정 뒤 결정한다.
3.2 자율주행
자율주행은 세 층으로 나눈다.
- 의미 목표 선택: “주방 선반 앞”, “컵이 보이는 관측 지점”을 고른다.
- 경로·국소 제어: Nav2가 지도·costmap을 사용해 경로와 속도 명령을 만든다.
- 실시간 안전: 베이스 제어기와 MCU가 충돌·속도·정지 조건을 판정한다.
학습형 navigation model은 첫 단계에서 raw wheel torque를 출력하지 않는다. 목적지 후보, subgoal, waypoint 또는 recovery 후보를 출력하도록 제한한다. ViNT는 시각 관측과 목표로 거리·행동을 예측하는 navigation Transformer의 참고 구조이며, 언어모델이 아니어도 Transformer 기반 행동 모델을 구성할 수 있음을 보여준다.
3.3 파지·조작
첫 제품의 조작 pipeline은 다음 순서가 현실적이다.
객체 검출·분할
-> 6D 자세 또는 점군
-> 파지 후보와 접근 방향
-> MoveIt 2 충돌 검사·궤적
-> 팔/그리퍼 Provider 실행
-> 힘·그리퍼 폭·영상으로 성공 판정
정형 물체는 파지 후보 + MoveIt 2로 시작한다. 접촉이 복잡하거나 긴 시퀀스가 필요한 skill은 모방학습으로 보강한다. 행동 정책의 출력은 관절 torque보다 짧은 목표 자세 또는 행동 묶음을 우선한다. 그래야 안전 제어와 trajectory validator를 유지하면서도 학습 정책의 장점을 활용할 수 있다.
3.4 선택적 VLA
VLA는 영상·언어·로봇 상태를 받아 행동을 생성한다. Open X-Embodiment는 여러 로봇의 대규모 trajectory를 하나의 데이터 규격으로 학습하는 방향을 보여주고, Isaac GR00T는 휴머노이드용 멀티모달 정책과 Jetson Thor 배치를 제시한다.
제품 적용 순서는 다음과 같다.
- 전문 모델과 VLA의 결과를 나란히 기록하는 shadow 평가
- VLA는 계획 후보만 생성하고 전문 실행기와 Safety Gate가 검증
- 성공률·개입률·지연·자원 사용에서 기준선을 넘는 제한 skill에만 live 허용
- 공유 표현은 확대하되 navigation·manipulation의 전문 Head와 fallback 유지
4. 데이터와 학습 루프
Episode 계약
학습 단위는 개별 이미지가 아니라 하나의 목표가 시작해 종료되는 Episode다.
| 필드군 | 최소 내용 | 이유 |
|---|---|---|
| 식별 | episode_id, robot/model/version, session, timestamp |
모델·기기·소프트웨어 버전별 회귀 추적 |
| 관측 | RGB, Depth, LiDAR, IMU, odometry, joint, gripper, force | 지각과 행동의 원인을 같은 시간축에서 재생 |
| 좌표 | TF tree, camera calibration, map/odom/base/tool frame | 객체와 로봇 행동의 공간 정합 |
| 목표 | 원문, 구조화 Goal, 제약, 성공 조건 | 모델 출력이 사용자의 목적과 맞는지 평가 |
| 행동 | Task/Step, ROS 2 Goal, policy output, trajectory | 계획과 실제 실행을 분리해 비교 |
| 결과 | feedback, Evidence, reason, terminal state | 접수 성공과 물리 완료를 구분 |
| 안전 | collision margin, force/velocity limit, emergency event | 성공률만으로 가려지는 위험을 검출 |
| 개입 | 원격 조작, 사용자 취소, operator correction | 실패 구간을 다음 학습 대상으로 전환 |
데이터 수집 순서
- 원격 조작 시범으로 성공 경로와 안전한 행동 범위를 확보한다.
- 스크립트 전문가와 시뮬레이션으로 반복 가능한 기본 동작을 넓힌다.
- 실기기 제한 배포에서 실패·취소·사람 개입을 함께 저장한다.
- 모델이 방문한 상태 분포에서 전문가가 교정한 데이터를 다시 추가한다. 이는 DAgger가 다루는 imitation learning의 분포 이동 문제와 연결된다.
데이터 분할은 프레임 무작위 분할이 아니라 공간·경로·물체 instance·조명·사용자·수집 날짜 단위로 한다. 같은 Episode의 인접 프레임이 train과 test에 동시에 들어가면 실제 일반화 성능보다 높게 측정된다.
5. TaskManager와 ROS 2 계약
상위 Task와 로봇 내부 Action은 같은 것이 아니다.
| SKIX Task | ROS 2 실행 | 완료 Evidence |
|---|---|---|
navigate_to_semantic_place |
NavigateToPose 또는 provider navigation Action |
목표 pose 허용 오차 내 정지, localization 유효 |
observe_object |
head/camera posture Action + perception result | 새 timestamp의 대상·confidence·frame |
pick_object |
perception → MoveIt trajectory → gripper Action | 그리퍼 폭·힘·객체 추적이 성공 predicate 충족 |
place_object |
arm trajectory + gripper release | release 뒤 대상 영역 내 객체 재관측 |
return_to_dock |
navigation/docking Action | dock signal과 charging 상태 확인 |
TaskManager는 Goal·Step·의존관계·timeout·cancel·최종 Reason을 소유한다. ROS 2 Action과 로봇 Provider는 물리 동작의 feedback과 result를 제공한다. Action result=SUCCEEDED만으로 제품 목표 성공을 확정하지 않고 필요한 센서 Evidence를 함께 판정한다.
task:
capability: pick_and_place
goal:
object_ref: red_cup_01
destination_ref: kitchen_shelf_lower
constraints:
max_base_speed_mps: 0.35
max_grip_force_n: 18
require_fresh_observation_ms: 1500
completion:
all_of:
- gripper_released
- object_in_destination_region
- robot_motion_stopped
이 계약은 특정 문장에 대한 룰을 추가하는 방식이 아니다. Planner가 Capability 명세와 현재 상태를 보고 필요한 Task를 구성하고, Framework가 schema·정책·자원·freshness를 검증하며, Provider가 실행 가능한 ROS 2 Goal로 변환한다.
6. Jetson Thor의 배치
Jetson Thor는 모델 전체의 설계 원리가 아니라 고성능 추론·센서 처리 실행 위치다. NVIDIA의 Jetson 개발 자료와 Jetson 벤치마크 안내를 기준으로 실제 모델별 TensorRT 변환 가능성, latency, GPU·CPU·메모리 사용량을 측정해야 한다.
| 연산 위치 | 권장 책임 |
|---|---|
| Jetson Thor GPU | 영상 전처리, detector/segmenter/pose, navigation·manipulation policy, 선택적 VLA |
| Jetson Thor CPU | ROS 2 graph, Task/Action adapter, Nav2·MoveIt 2 orchestration, 상태 결합 |
| 별도 MCU·motor controller | 고주기 모터 loop, joint/force/velocity limit, emergency stop |
| SKIX 상위 실행 계층 | Goal·Workflow·정책·자원·관측성·사용자 상호작용 |
Jetson Thor를 채택해도 Planner, TaskManager, ROS 2 Action, 실시간 안전 제어의 경계를 합치지 않는다. 추론 장치 장애나 모델 교체가 전체 제품 실행 계약을 바꾸지 않아야 한다.
7. 대표 폐루프 시나리오
“거실에서 빨간 컵을 찾아 주방 선반에 놓아줘”
| 단계 | 실행 | 완료 근거 | 실패 시 다음 판단 |
|---|---|---|---|
| 1. 목표 구조화 | object=빨간 컵, source=거실, destination=주방 선반 |
필요한 slot과 capability 확보 | 대상이 여러 개면 사용자 확인 |
| 2. 거실 이동 | semantic place를 pose로 해석하고 navigation Action 실행 | 도착 오차·정지·localization valid | 경로 차단이면 alternate route 또는 중단 |
| 3. 관찰 | 정지 후 카메라 자세를 만들고 detector·segmenter·pose 실행 | fresh object observation과 confidence | 미발견이면 관측 지점 변경 |
| 4. 파지 계획 | grasp 후보 생성, collision·IK 검사 | 실행 가능한 trajectory와 force 제한 | 후보 변경 또는 시점 변경 |
| 5. 집기 | arm/gripper Action 실행 | gripper·force·vision predicate | 놓침이면 안전 자세 후 제한 재시도 |
| 6. 주방 이동 | 운반 자세와 base 속도 제약을 적용 | 주방 선반 앞 도착·객체 유지 | 객체 소실이면 정지·재관측 |
| 7. 놓기 | placement trajectory와 release 실행 | 대상 영역 안 객체 재관측 | 재파지 또는 사용자 확인 |
| 8. 마감 | Task terminal과 결과 요약 | 모든 Step과 물리 Evidence terminal | 부분 성공과 실패 이유를 분리 보고 |
정상 feedback마다 LLM을 다시 호출하지 않는다. 로컬 TaskManager와 ROS 2 실행기가 진행을 이어가고, 목표 수정·대안 선택·사용자 동의가 필요한 경계에서만 Planner를 다시 사용한다.
8. 평가와 출시 기준
검증 순서
- 오프라인 고정 데이터 회귀
- 시뮬레이션 폐루프 평가
- Hardware-in-the-Loop 센서·제어 계약 검증
- 저속·안전 구역의 제한 실기기 검증
- 제품 시나리오 E2E와 장시간 반복
핵심 지표
| 영역 | 지표 |
|---|---|
| 지각 | object AP/recall, mask 품질, 6D pose error, track loss, confidence calibration |
| 자율주행 | goal success, SPL, collision/near-miss, recovery success, 사람 개입률 |
| 파지·조작 | grasp success, placement error, slip/drop, force-limit violation, cycle time |
| 전체 목표 | end-to-end goal success, partial success, 평균 재시도, bounded replan 횟수 |
| 시스템 | sensor-to-action latency, Action feedback 지연, GPU/CPU/memory, thermal throttling |
| 안전 | emergency event, policy rejection, unsafe proposal rate, safe-stop success |
모델 평가는 정확도만 보지 않는다. 같은 모델 버전을 오프라인·시뮬레이션·HIL·실기기에서 추적하고, product release는 물리 목표 성공과 안전 지표를 함께 통과해야 한다.
9. 단계별 로드맵
| 단계 | 제품 능력 | 완료 조건 |
|---|---|---|
| 0. 계약·관측 | Goal, Task, Action, State, Evidence가 같은 trace로 연결 | 접수·실행·물리 완료·실패 원인을 재생 가능 |
| 1. 결정적 기준선 | Nav2 이동, MoveIt 2 조작, 제한 물체 pick-and-place | 시뮬레이션과 실기기에서 반복 가능한 baseline |
| 2. 전문 모델 | 개방형 지각, 6D 자세, 파지 후보, 제한 조작 skill | 지정 물체군·환경의 성공률과 안전 Gate 통과 |
| 3. 학습형 탐색·복구 | 의미 목적지, 관측 위치 선택, 실패별 제한 재시도 | 사람 개입·충돌·복구 지표가 baseline보다 개선 |
| 4. 공유 표현·VLA | 공통 영상·언어 표현, 긴 문맥의 행동 후보 | shadow 우위, 지연·메모리·전력 budget 충족 |
| 5. 휴머노이드·양팔 | 전신·양팔 Provider와 새로운 행동 Head | 균형·자기충돌·동시 접촉 안전 검증 |
휴머노이드·양팔 확장은 상위 Goal과 Task 계약을 바꾸기보다 Provider와 행동 정책의 자유도를 넓히는 방식으로 진행한다. 바퀴형 기준선에서 확보한 Episode·Evidence·Safety·관측성 계약을 유지해야 로봇 형상별 모델을 비교하고 교체할 수 있다.
10. 설계 결정
- 첫 제품은 전문 모델 중심 계층형 구조로 시작한다.
- 목표 해석 모델은 의미와 제약을 만들고, navigation·manipulation 전문 모델은 행동 후보를 만든다.
- Nav2·MoveIt 2·ROS 2 Action·저수준 제어기는 기하·실행·안전 기준선으로 유지한다.
- 직접 학습할 영역은 제품 지각, semantic navigation, 파지·조작 skill, 실패·복구 판단이다.
- VLA는 전문 모델을 즉시 대체하지 않고 shadow와 제한 skill에서 검증한다.
- Jetson Thor는 가속 실행 위치이며 제품 책임 경계를 대체하지 않는다.
- 데이터의 최소 단위는 frame이 아니라 목표·행동·Evidence가 연결된 Episode다.
- 정상 진행은 로컬에서 이어가고, 의미 판단이 필요한 경계에서만 Planner를 다시 호출한다.