Chapter 8: 한 방법만 고집하지 않는다 — Classical + Learned Hybrid Architecture
개요
Chapter 7에서 RL은 approved BC/ACT policy를 대체하는 필수 단계가 아니라, 사전 등록된 추가 가치를 보일 때만 들어오는 선택적 optimizer였습니다. 이제 어떤 learned policy를 골랐는지보다 더 중요한 질문을 다룹니다. 그 policy의 proposal이 실제 robot command가 되기까지 누가 승인하고, 늦거나 불가능하거나 충돌하는 proposal이 왔을 때 누가 motion authority를 갖는가?
Hybrid architecture는 여러 알고리즘을 한 그림에 나열하는 것이 아닙니다. task/FSM, policy, planner·IK, constraint projection, contact controller, real-time interface, fallback, human intervention, independent safety가 각자 input, output, rate, deadline, failure action을 갖는 실행 계약입니다. 한 component가 실패해도 다른 component가 무엇을 할지 미리 정해져 있어야 합니다.
Capuano tutorial의 RobotClient/PolicyServer 예는 inference와 action execution을 겹치는 유용한 map입니다 [12]. 그러나 queue throughput은 real-time guarantee가 아닙니다. observation timestamp, maximum age, chunk version, queue watermark, network jitter, reorder/drop, state divergence, safe hold, reconnection을 추가하지 않으면 robot은 오래된 state에 조건화된 action을 매끄럽게 실행할 수 있습니다.
이 장을 읽고 나면... - task selection, learned proposal, feasibility, contact stabilization, fallback, safety authority를 분리할 수 있습니다. - versioned skill API와 explicit finite-state machine(FSM)을 정의할 수 있습니다. - async chunk에 timestamp, maximum age, identity, deadline, queue, divergence rule을 붙일 수 있습니다. - late·reordered·conflicting chunk를 실행하지 않고 deterministic fallback으로 전환할 수 있습니다. - throughput optimization과 real-time/safety authority를 구분할 수 있습니다. - #S13의 VLA·world model·agent가 들어와도 downstream contract를 유지할 수 있습니다.
실험 질문은 다음과 같습니다. remote PolicyServer가 insertion approach chunk를 늦게 보냈고, 그 사이 RobotClient가 이전 chunk로 pre-contact state를 지나갔다면, 새 chunk를 drop·trim·replace·blend 중 무엇으로 처리하며 어떤 state와 owner가 그 결정을 내리는가?
2. learned output은 bounded proposal이다
policy output a_t^p는 command가 아니라 proposal입니다. feasibility owner가 state-dependent admissible set \mathcal C(s_t)에 투영하거나 reject합니다.
$$
a_t^{sent}=\Pi_{\mathcal C(s_t)}(a_t^p),
\qquad
d_t=\|a_t^p-a_t^{sent}\|.
$$
projection distance d_t, violated constraint, phase, action age를 log합니다. projection이 자주 크다면 supervisor가 policy를 계속 구조하는 것이므로 success만 보고 승격하지 않습니다. collision-free geometry도 controller trackability와 contact safety를 보장하지 않습니다. TrajOpt는 collision-aware trajectory optimization lineage를 제공하지만 [4], source packet의 partial evidence로 universal feasibility claim을 만들지 않습니다.
2.1 planner와 servo의 역할
MoveIt move_group은 planning scene과 controller action interface를 연결하며 hardware action server 자체가 아닙니다 [9]. free-space transport는 planner trajectory와 classical fallback을 기본값으로 둘 수 있습니다. learned policy는 grasp pose나 local waypoint를 제안하고 planner가 collision feasibility를 확인합니다.
MoveIt Servo는 collision·singularity 근처에서 velocity scaling을 제공하지만 current tutorial은 certified safety를 주장하지 않습니다 [10]. smoothing plugin은 path deviation이나 overshoot를 만들 수 있으므로 plugin·parameter별 local test가 필요합니다. software collision check, uncertainty score, learned feasibility prediction은 hold/fallback을 trigger할 수 있으나 force limit, watchdog, E-stop을 대체하지 않습니다 [10] [16]. TRANSIC은 learned correction candidate지만 이 safety claim의 verified evidence로 쓰지 않습니다 [7].
2.2 contact stabilization은 계속 아래에 남는다
learned policy가 Cartesian delta나 force target을 제안해도 impedance/force controller가 interaction dynamics를 담당합니다. Hogan과 Khatib의 고전적 formulation은 이 층의 역사적 근거지만 [1] [2], source packet의 partial locator만으로 특정 gain이나 stability number를 권고하지 않습니다.
ros2_control Joint Trajectory Controller는 trajectory tolerance와 action completion을 다룰 수 있지만, hold behavior는 valid feedback과 hardware implementation에 의존합니다 [17]. topic mode와 platform behavior도 다릅니다. 따라서 controller holds를 universal fallback으로 쓰지 말고 실제 driver/controller 조합에서 fault injection으로 확인합니다. Universal Robots speed scaling 같은 platform-specific behavior는 official docs로 개별 검증해야 합니다 [18].
3. asynchronous inference contract
LeRobot async 문서는 RobotClient가 robot action을 실행하는 동안 PolicyServer가 chunk를 예측하고 queue를 채우는 구조를 설명합니다 [19]. 이는 compute와 motion을 overlap하는 throughput mechanism입니다. inspected page는 hard real-time이나 safety guarantee를 제공하지 않으며 chunk threshold와 queue size는 example이지 safe default가 아닙니다.
3.1 chunk envelope
모든 chunk C_k에 다음 field를 둡니다.
chunk_id, sequence, policy_checkpoint, config_hash
skill_version, task_phase, controller_mode, calibration_epoch
observation_event_time, observation_arrival_time, clock_domain
inference_start, inference_end, server_send, client_receive
first_action_time, last_action_time, max_observation_age, max_action_age
state_fingerprint, queue_epoch, replacement_policy, fallback_id
asynchronous interface는 observation/action timestamps, maximum age, chunk identity, queue watermark, reorder/drop policy, deadline behavior, safe fallback을 필요로 합니다. 이것은 async page의 gap에서 도출한 S12 synthesis이며 A2C2 같은 correction candidate는 safety evidence가 아닙니다 [19] [13] [11].
action a_{k,j}의 age를 다음처럼 정의합니다.
$$
Age(a_{k,j})=t^{exec}_{k,j}-t^{obs}_{k},
\qquad
Slack(a_{k,j})=t^{deadline}_{k,j}-t^{ready}_{k,j}.
$$
Age가 phase별 maximum을 넘거나 Slack<0이면 action은 newest chunk에 있어도 expired입니다. clock offset uncertainty u_{clock}가 있으면 conservative age에 더합니다. remote server에서 wall clock만 비교하지 말고 synchronized clock provenance와 round-trip bound를 기록합니다.
3.2 queue rules
- low watermark: 새 inference를 요청하는 threshold. safe action 수와 measured p95 tail로 정합니다.
- high watermark: 과도한 old action 축적을 막는 cap. 넘으면 oldest/newest를 임의 drop하지 않고 versioned rule을 적용합니다.
- reorder: sequence가 current epoch보다 작으면 reject; reconnection 후 epoch가 바뀌면 old chunk 전체를 purge합니다.
- duplicate: chunk ID와 payload hash가 같으면 idempotent ignore.
- late arrival: valid prefix가 이미 지났으면 trim 가능 여부를 phase별 검증; contact phase는 default reject가 안전할 수 있습니다.
- conflict: current phase/controller/calibration과 metadata가 다르면 reject.
- divergence: conditioning state와 current state 차이가 threshold를 넘으면 reject, even if time-valid.
queue watermark는 throughput control이지 safety control이 아닙니다. network가 멈추면 queue를 끝까지 소비할지, safe hold로 즉시 전환할지는 task phase와 action age로 정합니다. contact transition에서는 remaining queue를 purge하고 validated contact controller reference로 handoff할 수 있습니다.
4. worked stale-chunk trace
다음 상대 시간은 mechanism 설명용이며 hardware default가 아닙니다.
| time | event | contract evaluation | action |
|---|---|---|---|
| 0 ms | observation O41, phase=PRE_CONTACT |
event time and fingerprint stored | request chunk C41 |
| 25 ms | client executes valid tail of C40 |
age below pre-contact max | continue bounded approach |
| 70 ms | robot reaches contact transition guard | phase changes to CONTACT |
purge pre-contact queue |
| 86 ms | server finishes C41 from O41 |
chunk metadata still pre-contact | not yet accepted |
| 103 ms | C41 arrives after network jitter |
sequence new, but phase conflicts | reject whole chunk |
| 108 ms | client has no contact-valid chunk | queue underrun is expected | contact controller safe hold |
| 125 ms | force residual exceeds hold band | independent monitor triggers | validated retreat request |
| 160 ms | human/recovery FSM accepts authority | queue epoch increments | purge all old chunks |
| 240 ms | network reconnects and resends C41 |
old epoch and duplicate hash | ignore, do not replay |
단순 newest-wins 구현이면 103 ms에 C41을 실행해 이미 contact에 들어간 robot에 pre-contact displacement를 보낼 수 있습니다. 올바른 reject reason은 late 하나가 아니라 PHASE_MISMATCH + STATE_DIVERGED + OLD_QUEUE_EPOCH입니다. 이 trace는 policy quality가 아니라 interface correctness test입니다.
4.1 late chunk의 네 처리
| 처리 | 허용 후보 | 금지 조건 | 검증 artifact |
|---|---|---|---|
| drop | expired/phase mismatch | fallback 없음 | deterministic fallback test |
| trim prefix | free-space, time-valid suffix | contact, state divergence | suffix timestamp replay |
| replace queue | same phase/version, fresher state | authority transition | atomic swap test |
| aggregate/blend | matched action semantics | collision/contact discontinuity | feasibility after blend |
average나 blend 뒤 action도 다시 feasibility projection을 거칩니다. 두 feasible action의 평균이 trajectory-level로 safe하다는 보장은 없습니다. chunk를 trim하면 gripper event나 phase-dependent action이 잘려나가지 않았는지 확인합니다.
4.2 reconnection semantics
client가 server disconnect를 감지하면 DEGRADED로 전환하고 새 queue_epoch을 발행합니다. 현재 queue를 phase rule에 따라 drain 또는 purge하고 fallback owner에게 authority를 넘깁니다. reconnect 후 server는 current skill, phase, controller, calibration, checkpoint allowlist를 handshake해야 합니다. old session의 chunk는 sequence가 커도 실행하지 않습니다.
5. fallback state machine
RUNNING
├─ stale/late/reorder ─→ DEGRADED
├─ OOD/divergence ─────→ SAFE_HOLD
├─ feasibility reject ─→ REPLAN_OR_RETREAT
├─ contact anomaly ────→ CONTACT_FALLBACK
├─ watchdog/fault ─────→ CONTROLLER_STOP
└─ human request ──────→ HUMAN_RECOVERY
DEGRADED → recovered handshake → VALIDATE → RUNNING
any state → E_STOP (independent authority)
fallback는 “policy confidence가 낮으면 멈춘다” 한 줄이 아닙니다. trigger, debounce, owner, maximum transition latency, queue behavior, controller command, recovery precondition, log가 필요합니다. OOD score는 SAFE_HOLD를 요청할 수 있지만 unsafe motion을 승인할 수 없습니다.
5.1 failure diagnosis
| symptom | first log | cause | next test |
|---|---|---|---|
| smooth motion, wrong phase | chunk phase, FSM transition | stale valid-looking chunk | phase mismatch injection |
| queue oscillates empty/full | watermark, p95/max latency | request hysteresis 부족 | burst/jitter replay |
| reconnect 후 old motion | epoch, duplicate, handshake | old session accepted | disconnect fault test |
| projection spikes after blend | proposals, blend, constraints | averaging infeasible actions | post-blend projection test |
| hold command drifts | feedback validity, controller mode | platform hold assumption | hardware-stub/controller test |
| fallback loops | transition reason/debounce | competing triggers, no recovery guard | state-machine model test |
| human takeover conflicts | authority, queue purge | handoff race | intervention timeline replay |
6. 한 assembly cycle을 owner별로 승인한다
같은 tabletop task를 acquire → grasp → transport → pre-contact → insert → verify → retreat로 나누고, 각 phase에서 가장 검증 가능한 방법을 기본값으로 둡니다. acquire와 grasp pose는 perception-conditioned learned proposal을 허용할 수 있습니다. collision-free transport는 MoveIt trajectory와 Joint Trajectory Controller가 기본값입니다. pre-contact alignment는 ACT 또는 diffusion chunk가 bounded Cartesian delta를 제안할 수 있습니다. contact onset 뒤에는 Chapter 3의 impedance/force controller가 reference를 받아 stabilization을 소유합니다. verify와 retreat는 physical evaluator와 classical motion으로 닫습니다.
이 구성이 “학습과 고전을 섞었다”는 말보다 유용한 이유는 각 phase의 rollback이 명확하기 때문입니다. learned grasp pose가 feasibility를 통과하지 못하면 다른 candidate를 요청하거나 scripted grasp로 돌아갑니다. transport trajectory가 deadline을 넘으면 robot을 움직이지 않고 replan합니다. pre-contact chunk가 stale이면 contact에 들어가기 전에 safe hold합니다. contact anomaly는 policy 재시도보다 force-aware retreat를 우선합니다.
6.1 phase contract card
| phase | proposal owner | approval owner | execution owner | freshness | fallback |
|---|---|---|---|---|---|
| acquire | perception/policy | task FSM | camera pipeline | observation age | reacquire or human inspect |
| grasp | learned pose/chunk | IK/collision/gripper gate | trajectory + gripper controller | pose and scene version | scripted pose or abort |
| transport | planner | planning-scene validator | trajectory controller | scene/state stamp | replan or hold |
| pre-contact | ACT/diffusion | workspace/rate/phase gate | Cartesian/trajectory interface | short action-age bound | retreat to staging pose |
| contact | bounded target only | force/contact guard | impedance/force controller | force and state freshness | contact fallback |
| verify | independent evaluator | FSM | no motion or bounded probe | sensor confidence | retry/inspect |
| retreat | classical trajectory | collision/safety | trajectory controller | current scene | stop/human recovery |
card의 value는 method name이 아니라 approval owner입니다. future VLA가 grasp candidate를 더 잘 제안하더라도 IK/collision gate와 gripper/controller contract는 그대로 남습니다. contact policy가 더 expressive해져도 force monitor와 E-stop은 그대로 남습니다.
6.2 timing budget을 phase별로 계산한다
pre-contact phase의 end-to-end budget을 다음처럼 분해합니다.
$$
B_{phase}=L_{sense}+L_{transport}^{obs}+L_{pre}+L_{infer}
+L_{transport}^{act}+L_{queue}+L_{project}+L_{controller}.
$$
평균의 합만 맞추지 않습니다. 각 component의 p50, p95, maximum과 correlation을 보존합니다. camera backlog와 network jitter가 동시에 발생하면 percentile 합보다 tail이 길 수 있습니다. measured end-to-end trace를 기준으로 maximum observation/action age를 정하고, component budget은 diagnosis에 씁니다.
illustrative budget에서 pre-contact maximum age를 120 ms로 승인했다고 가정합니다. observation age p95가 30 ms, preprocessing 10 ms, inference 45 ms, network 12 ms, queue 15 ms, projection/controller handoff 8 ms라면 합은 120 ms입니다. margin이 0이므로 nominal pass가 아니라 design failure입니다. network가 1 ms만 늦어도 reject가 발생합니다. request를 앞당기거나 local inference로 바꾸고, model을 줄이거나 execution horizon을 재검증해 margin을 만듭니다. 이 수치는 hardware 권고가 아니라 budget arithmetic example입니다.
6.3 policy update와 configuration update를 분리한다
새 checkpoint를 배포할 때 policy weight만 versioning하지 않습니다. skill API, observation processor, queue threshold, age limit, divergence metric, projection config, controller mode, fallback table도 compatibility set입니다. 다음 중 하나가 달라지면 shadow regression을 다시 수행합니다.
- camera key/order, calibration epoch, normalization statistics;
- action dimension, unit, frame, chunk horizon;
- controller mode, rate, driver or firmware;
- watermark, timeout, replacement, aggregation rule;
- workspace, force, collision, retreat envelope;
- evaluator, FSM guard, authority transition.
deployment manifest는 compatible tuple을 allowlist로 저장합니다. PolicyServer가 새로운 checkpoint를 advertise해도 RobotClient가 local allowlist, signature/hash, schema, controller compatibility를 확인하기 전에는 queue에 넣지 않습니다. server가 compromise되거나 잘못 구성돼도 client-side bounds와 independent safety는 남아야 합니다.
6.4 promotion workflow
- schema tests: packet serialize/deserialize, version mismatch, unit and clock arithmetic를 시험합니다.
- state-machine model test: illegal transition, simultaneous trigger, debounce, recovery reachability를 검사합니다.
- deterministic replay: recorded observation과 network trace로 queue decision을 재현합니다.
- simulation fault injection: collision, contact, delay, drop, disconnect, divergence를 조합합니다.
- hardware-interface stub: actual controller message와 feedback semantics를 motion 없이 확인합니다.
- shadow: approved stack이 실행되고 candidate queue/projection/fallback은 기록만 합니다.
- bounded trial: signed envelope와 independent stop authority 아래에서만 실행합니다.
각 stage는 pass뿐 아니라 not exercised를 구분합니다. simulation이 protective-stop recovery를 실제로 구현하지 못하면 pass가 아니라 untested입니다. untested branch를 production fallback으로 지정하지 않습니다.
6.5 observability가 fallback보다 먼저다
runtime log는 같은 cycle_id로 observation, request, inference, chunk, projection, controller acknowledgment, feedback, FSM transition, safety event를 연결합니다. wall-clock dashboard만 남기지 않고 event time과 arrival time을 보존합니다. 최소 metric은 phase별 proposal/rejection 수, projection distance, action age, deadline miss, queue depth, fallback transition latency, recovery 성공, human takeover latency입니다.
log 손실 자체도 fault입니다. controller가 움직이는데 sent action이나 authority transition을 기록하지 못하면 evaluator는 그 cycle을 성공으로 승격하지 않습니다. privacy·bandwidth 때문에 image를 보존하지 못해도 frame hash, calibration, timestamp, missing reason을 남깁니다. observability가 없는 fallback은 실제로 작동했는지 증명할 수 없습니다.
7. 제조 셀 적용 체크포인트
architecture artifacts
- versioned skill API와 FSM transition table;
- owner–rate–deadline–failure matrix;
- observation/action schema와 clock map;
- feasibility constraints와 projection log;
- controller mode/hold/retreat fault-injection evidence;
- fallback and human authority state machine.
async artifacts
- chunk schema, sequence, epoch, payload hash;
- p50/p95/max observation age, inference, network jitter, queue wait;
- low/high watermark와 hysteresis;
- stale, late, reorder, duplicate, phase conflict, divergence test;
- disconnect/reconnect handshake와 old-session purge;
- safe hold, retreat, planner fallback의 phase별 owner.
promotion checklist
- [ ] learned output은 bounded proposal이고 torque/safety authority가 아닙니다.
- [ ] task, feasibility, contact, fallback, safety owner가 분리됐습니다.
- [ ] every chunk가 timestamp, max age, version, epoch, phase를 가집니다.
- [ ] late/conflicting/diverged chunk가 deterministic하게 reject됩니다.
- [ ] queue underrun/overrun이 unsafe last-action hold를 만들지 않습니다.
- [ ] post-blend/post-trim action도 feasibility를 다시 통과합니다.
- [ ] controller hold와 fallback이 actual platform/stub에서 시험됐습니다.
- [ ] watchdog/E-stop/protective stop은 policy 밖에 있습니다.
- [ ] reconnect가 old chunk를 부활시키지 않습니다.
- [ ] simulation → shadow → bounded hardware evidence가 분리됩니다.
8. Codex에 줄 수 있는 bounded 구현 프롬프트
Goal
- Implement and test the hybrid skill/runtime contract for asynchronous
chunk inference without sending commands to hardware.
Context
- Read the skill API, FSM, observation/action schema, controller contract,
feasibility constraints, checkpoint allowlist, fallback table, and clock map.
제약
- task selection, policy proposal, feasibility projection, contact control,
runtime fallback, human intervention, safety authority를 분리한다.
- chunk ID/sequence/epoch, policy/config/skill version, phase/controller mode,
event/arrival/inference/send/receive/action time, maximum age, fingerprint,
watermark, replacement rule, fallback ID를 schema에 넣는다.
- stale, reordered, duplicate, phase-conflicting, calibration-mismatched,
state-diverged chunk를 명시적 reason code로 거부한다.
- trim, replacement, aggregation, blending 뒤에는 feasibility를 다시 검사한다.
- queue optimization은 throughput 문제로만 다룬다. LLM, VLA, policy,
confidence score, remote server에는 torque, force limit, watchdog, E-stop을 맡기지 않는다.
완료 조건
- unit/property test가 time arithmetic, clock uncertainty, idempotence,
atomic queue replacement, epoch purge, state-machine transition을 검사한다.
- deterministic simulator·stub가 본문의 stale-chunk trace를 재현한다.
- fault injection은 delay, jitter, drop, reorder, duplicate, disconnect,
phase change, divergence, controller rejection, human takeover를 포함한다.
- log는 proposal/projected/sent action, queue state, reason, owner, fallback,
recovery를 보여 준다. shadow-test card만 만들며 hardware motion은 실행하지 않는다.
Safety
- External safety inputs are read-only to this implementation. Stop at a
human-reviewed bounded trial card with independent stop authority and rollback.
9. #S13에 넘길 stable interface
future VLA, world model, agent가 upstream proposer를 바꾸더라도 downstream action과 safety contract를 explicit하게 유지하는 것이 이 trilogy의 editorial objective입니다. detailed model claim은 아직 검증하지 않으므로 scientific fact로 주장하지 않습니다 [12] [6] [8].
#S13이 받아야 할 interface는 다음과 같습니다.
- versioned skill name, precondition, phase, success/failure schema;
- observation provenance, missing mask, timestamp, maximum age;
- bounded action representation, horizon, validity, controller mode;
- proposal/projected/sent distinction과 reject reason;
- async chunk identity, queue epoch, deadline, divergence, reconnect;
- OOD/uncertainty가 요청할 수 있는 hold/fallback 범위;
- evaluator, watchdog, collision/force, E-stop, human owner;
- simulation, shadow, bounded hardware promotion evidence.
LLM/VLA가 skill을 제안하거나 code-like plan을 생성하는 연구는 upstream possibility를 보여주지만 [6], 자연어 또는 generated code가 torque나 safety state를 직접 소유해서는 안 됩니다. generalist policy의 pretraining, cross-embodiment transfer, language grounding, world-model planning, memory/tool use는 #S13에서 원출처로 새로 검증합니다.
기존 서베이와의 연결
#S11은 independent safety authority, ROS 2/driver boundary, first-motion commissioning을 다뤘습니다. 이 장은 그 설명을 반복하지 않고, Chapter 4–7의 dataset·policy·RL artifact를 그 boundary에 연결합니다. #S11 문장과 수치는 복사하지 않으며 공개 link는 release-ready 이후 확정합니다.
다음에 배울 것
Chapter 9는 이 architecture를 하나의 tabletop assembly runbook으로 실행합니다. classical baseline에서 시작해 dataset, BC/ACT, generative branch, optional RL, async serving, shadow, bounded trial을 한 gate씩 올립니다. 이 장은 skill API, FSM, timing/queue schema, fallback table, safety ownership, fault-injection tests를 Chapter 9에 넘깁니다.
참고문헌
- Hogan, N. (1985). Impedance Control: An Approach to Manipulation, Part I—Theory. Journal of Dynamic Systems, Measurement, and Control. DOI: 10.1115/1.3140702.
- Khatib, O. (1987). A Unified Approach for Motion and Force Control of Robot Manipulators. IEEE Journal on Robotics and Automation. DOI: 10.1109/JRA.1987.1087068.
- Bruyninckx, H. (2001). Open Robot Control Software: The OROCOS Project. IEEE ICRA. DOI: 10.1109/ROBOT.2001.933002.
- Schulman, J., et al. (2014). Motion Planning with Sequential Convex Optimization and Convex Collision Checking. IJRR. DOI: 10.1177/0278364914528132.
- Chitta, S., et al. (2017). ros_control: A Generic and Simple Control Framework for ROS. JOSS. DOI: 10.21105/joss.00456.
- Liang, J., et al. (2023). Code as Policies: Language Model Programs for Embodied Control. ICRA. arXiv:2209.07753.
- Jiang, Y., et al. (2024). TRANSIC: Sim-to-Real Policy Transfer by Learning from Online Correction. CoRL.
- Octo Model Team (2024). Octo: An Open-Source Generalist Robot Policy. arXiv:2405.12213.
- MoveIt / PickNik (2025a). MoveIt 2 move_group Architecture. Official documentation, accessed 2026-07-15.
- MoveIt / PickNik (2025b). MoveIt Servo Realtime Teleoperation Tutorial. Official documentation, accessed 2026-07-15.
- Sendai, K., Alvarez, M., Matsushima, T., Matsuo, Y., & Iwasawa, Y. (2025). Leave No Observation Behind: Real-time Correction for VLA Action Chunks. arXiv:2509.23224.
- Capuano, F., et al. (2025). Robot Learning: A Tutorial. arXiv:2510.12403v1. DOI: 10.48550/arXiv.2510.12403.
- Open Robotics (2026a). ROS 2 Jazzy Interfaces: Topics, Services, and Actions. Official documentation, accessed 2026-07-15.
- Open Robotics (2026b). ROS 2 Jazzy Managed Node Lifecycle. Official documentation, accessed 2026-07-15.
- ros-controls (2026a). ros2_control Jazzy Architecture. Official documentation, accessed 2026-07-15.
- ros-controls (2026b). Controller Manager Monitoring and Limits. Official documentation, accessed 2026-07-15.
- ros-controls (2026c). Joint Trajectory Controller Jazzy. Official documentation, accessed 2026-07-15.
- Universal Robots (2026). UR ROS 2 Controllers and Speed Scaling. Official documentation, accessed 2026-07-15.
- Hugging Face (2026). LeRobot Asynchronous Inference. Official documentation, accessed 2026-07-15.
- Oussama Khatib (1986). Real-Time Obstacle Avoidance for Manipulators and Mobile Robots. Annotated primary reading. DOI: 10.1177/027836498600500106. — 역할: hybrid interface·fallback·runtime ownership을 검토하는 1차 읽기. 한계: Performance depends on geometry, initialization, objectives, and model fidelity; feasibility does not imply controller tracking.
- Sean Quinlan & Oussama Khatib (1993). Elastic Bands: Connecting Path Planning and Control. Annotated primary reading. DOI: 10.1109/robot.1993.292042. — 역할: hybrid interface·fallback·runtime ownership을 검토하는 1차 읽기. 한계: Performance depends on geometry, initialization, objectives, and model fidelity; feasibility does not imply controller tracking.
- Alin Albu-Schäffer et al. (2003). Cartesian Impedance Control of Redundant Robots: Recent Results with the DLR-Light-Weight-Arms. Annotated primary reading. DOI: 10.1109/robot.2003.1242285. — 역할: hybrid interface·fallback·runtime ownership을 검토하는 1차 읽기. 한계: Delay, sampling, saturation, filtering, environment stiffness, and hardware interfaces bound the reported behavior.
- Luis Sentis & Oussama Khatib (2008). Robot Manipulator Control Using Generalized Operational Space. Annotated primary reading. canonical URL. — 역할: hybrid interface·fallback·runtime ownership을 검토하는 1차 읽기. 한계: The assumptions and evaluation setup are source-specific; current implementation claims require maintained official evidence.
- Rosen Diankov (2010). OpenRAVE: A Planning Architecture for Autonomous Robotics. Annotated primary reading. canonical URL. — 역할: hybrid interface·fallback·runtime ownership을 검토하는 1차 읽기. 한계: Performance depends on geometry, initialization, objectives, and model fidelity; feasibility does not imply controller tracking.
- Igor Mordatch et al. (2012). Discovery of Complex Behaviors through Contact-Invariant Optimization. Annotated primary reading. canonical URL. — 역할: hybrid interface·fallback·runtime ownership을 검토하는 1차 읽기. 한계: Delay, sampling, saturation, filtering, environment stiffness, and hardware interfaces bound the reported behavior.
- Tully Foote (2013). tf: The transform library. Annotated primary reading. DOI: 10.1109/TePRA.2013.6556373. — 역할: hybrid interface·fallback·runtime ownership을 검토하는 1차 읽기. 한계: A connected TF tree can still encode wrong axes, units, optical frames, or stale calibration.
- Aude Billard & Danica Kragic (2019). Trends and Challenges in Robot Manipulation. Annotated primary reading. DOI: 10.1126/science.aat8414. — 역할: hybrid interface·fallback·runtime ownership을 검토하는 1차 읽기. 한계: The assumptions and evaluation setup are source-specific; current implementation claims require maintained official evidence.
- Oliver Kroemer et al. (2021). A Review of Robot Learning for Manipulation: Challenges, Representations, and Algorithms. Annotated primary reading. arXiv:1907.03146. — 역할: hybrid interface·fallback·runtime ownership을 검토하는 1차 읽기. 한계: The assumptions and evaluation setup are source-specific; current implementation claims require maintained official evidence.
- Ajay Mandlekar et al. (2023). Human-in-the-Loop Task and Motion Planning for Imitation Learning. Annotated primary reading. canonical URL. — 역할: hybrid interface·fallback·runtime ownership을 검토하는 1차 읽기. 한계: Performance depends on geometry, initialization, objectives, and model fidelity; feasibility does not imply controller tracking.
- Raunaq Bhirangi et al. (2024). AnySkin: Plug-and-play Skin Sensing for Robotic Touch. Annotated primary reading. arXiv:2409.08276. — 역할: hybrid interface·fallback·runtime ownership을 검토하는 1차 읽기. 한계: Platform, task, dataset, and evaluation assumptions must be checked in the primary paper before transferring a result.
- Li, others (2024). Evaluating Real-World Robot Manipulation Policies in Simulation. Annotated primary reading. arXiv:2405.05941. — 역할: hybrid interface·fallback·runtime ownership을 검토하는 1차 읽기. 한계: Platform, task, dataset, and evaluation assumptions must be checked in the primary paper before transferring a result.
- Marius Memmel et al. (2024). ASID: Active Exploration for System Identification in Robotic Manipulation. Annotated primary reading. arXiv:2404.12308. — 역할: hybrid interface·fallback·runtime ownership을 검토하는 1차 읽기. 한계: Excitation policy can be task- and simulator-specific
- Zhang et al. (2024). Online Payload Identification by Parameter Difference for Industrial Robots. Annotated primary reading. DOI: 10.1017/s026357472400105x. — 역할: hybrid interface·fallback·runtime ownership을 검토하는 1차 읽기. 한계: Assumes robot-base parameter changes are separable from payload
- DREAM authors (2025). DREAM: Differentiable Real-to-Sim-to-Real Engine for Robotic Manipulation. RSS 2025 Dexterous Manipulation Workshop annotated primary reading. canonical OpenReview record. — 역할: hybrid interface·fallback·runtime ownership을 검토하는 1차 읽기. 한계: Workshop-scale evidence
- Marco Iannotta et al. (2026). Can Context Bridge the Reality Gap?. Annotated primary reading. DOI: 10.1016/j.robot.2026.105594. — 역할: hybrid interface·fallback·runtime ownership을 검토하는 1차 읽기. 한계: One pushing task cannot establish universal context adaptation