Part III: 처음 움직이고 현실로 옮긴다

Chapter 9: 커스텀 로봇을 믿을 수 있게 만든다 — URDF, 보정, 모델 식별, Sim-to-Real

집필일: 2026-07-14 최종수정일: 2026-07-14

개요

Custom robot의 URDF를 받는 것은 integration의 끝이 아니라 시작이다. URDF link tree가 화면에서 그럴듯해도 joint axis sign, zero, inertia, collision, transmission 또는 vendor controller semantics가 틀리거나 빠질 수 있다. Importer는 그림은 보존하면서 물리 experiment의 의미를 바꿀 수 있다. 따라서 이 장에서는 robot asset, calibration record, identified parameter, controller configuration과 validation data를 하나의 versioned digital-twin release로 다룬다.

목표는 명확하다. Reality와 simulation에 같은 safe excitation을 적용하고, 남은 차이를 error budget으로 설명하며, asset이나 software 변경이 그 차이를 조용히 키우지 못하게 한다. 먼저 geometry와 semantics를 audit하고, frame을 calibration하고, timing과 dynamics를 단계별로 identify한다. Contact와 sensor는 task가 요구하는 범위에서 맞춘다. 마지막으로 fitting에 쓰지 않은 motion에서 검증한다. Domain randomization과 adaptation은 measured nominal model 뒤에 온다. Full RL, VLA와 world model은 #S12/#S13의 범위다.

이 장을 읽고 나면... - Incoming URDF와 vendor manual을 machine-checkable asset audit로 바꿀 수 있다. - USD와 MJCF로 import할 때 appearance가 아니라 semantic loss를 추적할 수 있다. - Joint zero, base/world, TCP, camera와 hand–eye calibration을 분리할 수 있다. - Delay, friction, actuation과 dynamics를 위한 bounded excitation과 staged identification을 설계할 수 있다. - Held-out motion의 time/frequency-domain metric으로 real과 sim을 비교할 수 있다. - Uncertainty budget, justified randomization range와 regression gate를 만들 수 있다.

1. Incoming package를 동결하고 contract를 쓴다

유일한 URDF를 바로 고치지 않는다. Original archive를 보존하고 모든 file의 checksum, supplier와 수령 date를 기록한다. Matching controller manual, joint-name table, CAD 또는 mass property, motor/gear/electrical data, calibration certificate, SDK와 firmware version을 함께 확보한다. Position command가 motor-side인지 output joint인지, calibrated value인지 확인한다. Effort state가 commanded current, estimated torque 또는 measured torque 중 무엇인지, hard limit과 soft limit을 firmware와 host 중 어디에서 enforce하는지도 쓴다.

세 상태를 구분한다. Source asset은 수정하지 않은 supplier evidence다. Normalized asset은 unit, name, portable mesh path와 documented fix를 명시한 working copy다. Simulator realization은 특정 USD 또는 MJCF conversion과 simulator-native drive, contact, sensor 설정이다. Realization으로 source를 덮어쓰지 않는다. 각 상태에 digest를 붙이고 calibration/identification version과 manifest로 연결한다.

Custom asset은 topology, unit, axis, sign, zero, limit, frame, collision, mass, inertia, transmission, coupling과 actuator semantics를 확인한 뒤에만 신뢰할 수 있다 [1] [2] [5] [7]. Field가 존재한다는 사실은 값이 옳다는 증거가 아니다.

Structure와 physical plausibility audit

Kinematic tree부터 본다. Intended base 하나, expected parent–child topology, disconnected operational link 부재와 URDF가 표현하지 못하는 accidental loop를 확인한다. 모든 joint에 대해 name, type, parent, child, origin, axis, positive direction, home/zero, hard/soft range, velocity, effort와 damping을 vendor evidence와 비교한다. Reduced-motion observation 또는 read-only encoder change도 쓴다. Revolute axis는 joint frame의 unit vector다. Sign error는 zero pose에서는 숨었다가 control에서 반대로 움직인다.

Mimic joint, coupled finger, mechanical differential, tendon과 closed chain을 별도 표로 만든다. mimic은 kinematic relation일 뿐 force sharing, backlash, tendon elasticity 또는 differential mechanics를 재현하지 않는다. Transmission과 hardware interface는 joint geometry와 독립적으로 검사한다. Hand라면 independent actuator, sensed joint, passive joint, coupling matrix 또는 tendon route와 one command unit의 의미를 기록한다.

Visual mesh와 collision mesh는 따로 본다. Visual은 detail이 많고 non-watertight여도 보일 수 있다. Collision은 correct scale, stable topology와 task contact에 충분한 fidelity가 필요하다. Collision-only render, self-collision pair와 environment distance query를 실행한다. Coarse fingertip은 grasp contact 위치를 바꾸고 지나치게 detailed mesh는 solver를 비싸고 불안정하게 한다. Disabled collision pair마다 physical reason을 남긴다.

Mass는 positive여야 하고 center of mass는 link 안의 plausible location에 있어야 한다. Inertia tensor는 symmetric positive definite이고 declared COM과 frame 기준이어야 하며 mass와 link dimension에 부합해야 한다. Tiny inertia, 모든 link에 복사한 diagonal, millimeter mesh를 meter로 읽은 scale, 다른 origin 기준 inertia도 compiler를 통과할 수 있다. CAD/BOM은 prior이지 무조건 참인 측정치가 아니다. Physically consistent identification은 arbitrary least-squares parameter가 rigid-body physics를 깨뜨릴 수 있음을 보여 준다 [18].

Audit layer 비교 evidence Silent defect Release gate
Tree/frame URDF graph, frame drawing, TF snapshot wrong parent/origin/base expected path와 pose
Joint manual, encoder, limit axis/sign/zero/unit known-direction reduced test
Hand coupling actuator/tendon/differential map mimic을 force model로 오해 commanded/sensed DOF table
Mesh CAD, collision render, distance scale/decorative collision clearance/contact suite
Mass/inertia CAD/BOM, gravity response impossible tensor/origin plausibility/consistency
Actuation SDK/controller/transmission current/effort/torque 혼동 end-to-end semantics
그림 9.1. PACE가 legged robot에서 real joint target과 measured trajectory를 simulation replay와 비교해 inertia, damping, friction, joint bias, delay parameter를 fit하고 policy training으로 연결하는 pipeline. 이 그림의 parameterization과 locomotion 결과는 fixed-base manipulator에 직접 전이되지 않는다.

그림 9.1 — Precise Adaptation through Continuous Evolution(PACE)의 identification·policy-training pipeline. 출처: Bjelonic et al., 2025, Figure 3. Legged-system 근거이며 custom arm에는 별도 semantic audit와 held-out validation이 필요하다.

2. 의미를 잃지 않고 USD와 MJCF로 가져온다

Isaac Sim URDF importer는 URDF를 USD articulation으로 바꾸며 fixed base, drive type, gain과 inertia handling 같은 option을 제공한다 [1] [2]. MuJoCo는 MJCF의 body, joint, geom, inertia, actuator, tendon, equality, contact와 sensor를 자체 compiled model로 만든다 [5]. Conversion은 neutral file change가 아니다. Original robot semantics를 requirement로, simulator realization을 implementation으로 취급한다.

Import 뒤 visual agreement만으로는 부족하다. USD와 MJCF가 drive, contact, tendon, constraint와 sensor를 다르게 표현할 수 있기 때문이다 [3] [4] [5]. Screenshot이 같아도 degree of freedom과 response가 같다는 뜻은 아니다.

Import 뒤 XML text diff가 아니라 invariant report를 다시 만든다. Link, independent/passive joint, actuator, limit, collision과 sensor 수를 센다. Small pose suite에서 named frame forward kinematics를 independent reference와 비교한다. Joint 하나씩 positive displacement를 주어 direction을 본다. Total mass, center of mass, gravity torque와 default state를 query한다. Zero-input settling, bounded single-joint step과 collision-distance test를 실행한다.

Semantic-loss checklist가 필요하다. USD drive stiffness/damping은 vendor impedance loop와 자동으로 같지 않다. MJCF actuator gear, force range, activation, armature, damping, friction loss와 contact solver parameter는 각각 고유 의미가 있다. URDF mimic, transmission, safety controller, plugin과 custom tag가 무시되거나 불완전하게 번역될 수 있다. Closed chain과 tendon route는 native constraint로 다시 구현해야 할 수 있다. Camera distortion, rolling shutter, tactile output, encoder quantization, controller delay도 명시적으로 model한다.

Concept Source 질문 USD realization MJCF realization Comparison
Drive command의 physical meaning? articulation drive/controller actuator/joint step/frequency response
Coupling mimic/tendon/differential? constraint/custom graph tendon/equality joint/force relation
Contact surface/material? collision/material/solver geom/contact/solver onset/slip/rebound
Sensor location/frame/clock? sensor prim/plugin sensor/plugin unit/delay/noise
Limit hard/soft/firmware? articulation/controller joint/actuator range boundary/saturation

Modified USD를 URDF로 round trip하면 USD-native 정보가 사라질 수 있으므로 equality proof로 쓰지 않는다 [3]. Explicit patch 또는 generation script와 human-readable change log를 둔다. Isaac Sim은 ROS/camera/scene integration, MuJoCo는 fast contact/control experiment처럼 각 simulator의 authoritative test를 선언한다. Asset, task semantics, trajectory와 log를 교환하되 live numerical equivalence를 가정하지 않는다.

3. Geometry calibration을 서로 다른 문제로 분리한다

먼저 calibration parameter와 fixed parameter를 정한다. Joint offset과 link geometry는 forward kinematics에 영향을 준다. Base-to-world는 cell 안 robot 위치다. TCP는 active tool center와 orientation이다. Camera intrinsic은 projection을, extrinsic은 sensor pose를 정의한다. Eye-in-hand는 camera–flange, eye-to-hand와 robot-world–hand-eye는 다른 transform chain을 푼다. Table/fixture frame도 편의상 “world”가 아니라 calibrated object다.

Joint-zero, base-world, TCP, camera-intrinsic, hand-eye와 robot-world-hand-eye calibration은 서로 다른 문제이며 held-out pose가 필요하다 [8] [9] [10] [11] [13]. 하나의 solver가 다른 unexplained error까지 흡수하면 parameter ambiguity가 생긴다.

Calibration ladder를 따른다. Encoder repeatability와 mechanical home을 먼저 확인한다. Usable workspace의 metrology target 또는 external tracker로 joint-zero와 geometric correction을 추정한다. Actual TCP와 payload mount를 맞춘다. Working focus/resolution에서 camera intrinsic을 보정하고, timestamped robot/target pose로 hand–eye 또는 extrinsic을 푼다. 마지막으로 fixture를 calibration하고 fitting에 쓰지 않은 pose에서 entire chain을 검증한다.

Nearly identical sample을 많이 모으는 것보다 pose diversity가 중요하다. Safe volume에서 translation과 noncommuting rotation을 모두 excite한다. Single plane 또는 좁은 wrist rotation만 쓰지 않는다. Robot/camera measurement를 synchronize한다. Unknown time offset 동안 움직인 pose는 spatial calibration error처럼 보인다. Target localization이 나쁜 frame은 reject하거나 uncertainty를 model한다. Raw image, detected feature, robot state, timestamp, target definition, solver option과 residual을 저장해 recollection 없이 다른 solver를 비교한다.

Hand-eye accuracy는 pose diversity, synchronization, localization과 model assumption에 달려 있으며 보편적으로 가장 좋은 algebraic solver는 없다 [9] [10] [12] [14]. Training residual뿐 아니라 held-out transform consistency와 task-space error로 고른다.

Translation과 rotation residual을 따로 보고하고 workspace region별 TCP 또는 reprojection error를 본다. Residual direction도 중요하다. Constant bias는 frame/target offset, reach에 따라 커지는 error는 joint/link geometry, speed와 correlation이 있는 error는 timing/compliance를 의심한다. Acceptance는 task tolerance, sensing resolution과 safety margin에서 project가 정한다. 모든 arm/camera에 적용되는 universal millimeter threshold를 만들지 않는다.

Calibration Input Held-out validation Confounder
Joint zero/geometry encoder/external pose FK/TCP workspace compliance/thermal drift
Base/world/fixture surveyed target independent point/orientation moving table/target
TCP/tool multiple flange orientation pivot/contact test loose tool/deflection
Intrinsic field/depth image working setup reprojection focus/resolution change
Hand–eye diverse synchronized pairs chain/task pose timestamp/localization
그림 9.2. PACE 연구가 parameter fitting을 평가한 primary legged platform과 additional robotic systems의 범위. Platform diversity는 manipulator의 joint-zero, TCP, hand–eye, controller 또는 contact parameter가 식별됐다는 증거가 아니다.

그림 9.2 — PACE가 평가한 legged-system 중심 platform 범위. 출처: Bjelonic et al., 2025, Figure 4. 보고된 platform 수나 성능 수치를 fixed-base arm에 옮기지 않는다.

4. Synchronized bounded identification experiment를 설계한다

Identification은 optimizer가 아니라 observability와 safety에서 시작한다. Available signal을 나열한다. Command mode/target, controller timestamp, encoder position/velocity, current, estimated torque, external force/torque, TCP, camera/tactile, safety state, temperature와 supply voltage가 예다. Unit, frame, clock, filter, rate, quantization과 measured/inferred 여부를 쓴다. 허용되는 raw signal과 controller configuration을 보존한다.

Training excitation과 held-out excitation은 trajectory가 다르지만 같은 safe envelope에 둔다. Multijoint 전에 mechanism 하나씩 excite한다. Hard limit과 unexpected contact를 피하고 reduced speed/effort, cleared cell, observer와 Chapter 7 stop path를 사용한다. Persistent excitation은 task-relevant configuration/frequency를 덮되 모든 parameter를 억지로 identifiable하게 만들려 해서는 안 된다 [17].

Common clock으로 acquire하거나 offset을 estimate한다. Command-to-state delay는 damping처럼 보일 수 있고 filtered velocity는 friction을 bias한다. Structural flex는 joint offset처럼, warm gearbox는 cold model과 다르게 나타난다. Experiment ID, asset/calibration/controller version, payload, pose range, temperature, safety event와 fitting sample selection을 함께 기록한다.

단계별 identification 순서

  1. Clock와 command delay: low-amplitude free-space signal로 transport, scheduling, controller, sensing, filtering delay를 구분한다. Load/rate에 따라 delay가 변하는지도 본다.
  2. Encoder bias와 scale: geometry calibration 뒤 static/slow external pose와 비교한다. Dynamics가 kinematic bias를 보상하지 않게 한다.
  3. Gravity와 payload: diverse static/slow configuration에서 mass, COM, payload와 torque/current consistency를 본다.
  4. Inertia와 armature: bounded multisine 또는 Fourier-like motion으로 configuration과 acceleration을 excite한다. Model이 허용하면 motor-side reflected inertia를 분리한다.
  5. Friction: positive/negative velocity, reversal, several speed, dwell과 temperature를 포함한다. Data가 지지하는 범위에서 viscous, Coulomb, stiction/Stribeck-like와 hysteresis를 구분한다.
  6. Torque-current와 saturation: sign, offset, gain, dead zone, current/torque/rate limit과 supply dependence를 independent safe evidence로 식별한다.
  7. Position/PD/impedance loop: 실제 사용할 mode의 command-to-state response를 fit한다. Gain, feedforward, filter, rate limit과 delay를 포함한다. UI gain number를 response test 없이 ideal spring으로 해석하지 않는다.

Inertial identification은 identifiable base-parameter combination을 추정하므로 excitation과 physical consistency가 optimizer fit만큼 중요하다 [15] [16] [17] [18]. Experiment가 combination만 식별했는데 모든 URDF link inertia를 독립 측정했다고 보고하면 안 된다.

Controller access에 맞는 regressor 또는 simulator-based fit을 쓰되 physical quantity를 constrain한다. Fitted value를 CAD/BOM prior와 비교하고 implausible compensation을 표시한다. Training loss 하나는 timing, friction, calibration error를 inertia에 흡수한 model도 보상한다.

Closed-loop identification은 feedback-correlated noise를 다루고 fitting에 쓰지 않은 excitation에서 torque 또는 trajectory prediction을 검증해야 한다 [19] [20]. Instrumental-variable 같은 closed-loop-aware method가 bias를 줄일 수 있지만 최종 기준은 held-out prediction이다.

Torque access가 있으면 measured/estimated torque 또는 current와 predicted value를 joint별로 본다. Position-controlled black box라면 command-to-state trajectory와 frequency response를 비교하고 internal torque를 관측했다고 가장하지 않는다. Stage별로 fit하고 통과한 stage를 freeze한다. Evidence가 있을 때만 다시 연다. Single magic vector 대신 covariance, bootstrap range 또는 sensitivity interval을 남긴다.

Stage 최소 signal Validation 흔한 잘못된 보상
Delay/rate command/state stamps held-out phase damping에 delay 흡수
Zero/geometry encoder/external pose workspace FK compliance 혼입
Gravity/payload pose/current/torque new configurations friction과 COM 혼동
Inertia/armature q/dq/ddq/effort new motion/frequency unphysical link values
Friction reversal/speed/temp direction/load slices one damping constant
Closed loop target/state/config step/FRF/trajectory UI gain=physical gain

5. Contact, material과 sensor는 task scale에서 식별한다

Contact fitting 전에 free-space agreement가 필요하다. 그 뒤 representative safe primitive를 고른다. Fingertip의 rigid plane approach, calibrated object를 gripper로 close, controlled normal load에서 tangential slide, 허용된 작은 release/drop, force/torque 또는 tactile indentation이 예다. Geometry와 surface condition을 측정하고 relevant speed, load, material, temperature와 object variation에서 반복한다.

Friction, backlash, elasticity, armature, delay, saturation, torque mapping, gain과 temperature를 하나의 damping constant로 뭉치면 안 된다 [21] [22] [6] [20]. 여러 parameter combination이 한 trajectory는 맞추면서 reversal, impact 또는 load에서는 다르게 실패한다.

Contact에서는 onset pose, penetration/compliance proxy, normal force/current, tangential slip, rebound, stick transition과 final object pose를 비교한다. Solver parameter는 numerical이면서 physical하다. Timestep, iteration 또는 integrator가 바뀌면 결과가 달라질 수 있다. Simulator version, timestep, solver, integrator, contact margin, geom approximation, material parameter, controller rate와 filter를 기록한다. Measured primitive가 distinguish할 수 있는 것만 fit한다.

Sensor도 독립 model이 필요하다. Force/torque는 bias, frame, scale, cross-axis coupling, bandwidth, filter와 saturation을 맞춘다. Camera는 intrinsic/extrinsic 외에 exposure, depth validity, noise, occlusion과 task distance latency를 본다. Tactile은 contact location, force/indentation response, hysteresis, spatial resolution, dead taxel, drift와 rate를 비교한다. Tactile skin 연구에 대한 Terry 글은 한국어영어, DexForce는 한국어영어로 볼 수 있다.

모든 곳에서 photorealistic 또는 waveform-perfect simulation을 만드는 것이 목표가 아니다. Task-sensitive output을 선언한다. VLA perception study라면 camera geometry, latency와 appearance variation이 중요하고 motor torque는 coarse해도 될 수 있다. In-hand manipulation이라면 fingertip geometry, hand coupling, contact, tactile delay와 controller bandwidth가 중요하다. Global contact planning에 대한 Terry 글 한국어영어가 다루는 feasibility/contact transition도 해당 dependency를 요구한다.

6. Time domain과 frequency domain에서 replay 검증한다

Noisy real state를 simulation에 억지로 복사하기보다 common experiment specification으로 paired trial을 만든다. Initial state/tolerance, payload/object, command trajectory, controller mode/gain, sample clock, environment와 stop criterion을 정의한다. Reality에서 safe excitation을 실행한 뒤 measured command와 condition을 simulator realization에 재현한다. Validation trial은 fit에 사용하지 않는다.

Matched real/sim safe excitation은 held-out trial에서 joint, torque 또는 current, TCP, contact와 task error를 보고해야 한다 [17] [20] [23]. PACE는 legged-robot evidence이며 manipulator에 맞춘 adaptation이 필요하다.

Time-domain metric은 joint position/velocity error, phase lag, overshoot, settling, peak/integrated torque-current error, TCP position/orientation, contact onset, peak/impulse 또는 force trace, slip, object pose와 task outcome을 포함한다. Joint, configuration, direction, payload, speed와 contact mode별로 보고한다. One average만 내지 않는다. Residual을 position, velocity, acceleration, load, time과 temperature에 대해 plot해 structure를 찾는다.

Frequency-domain validation은 trajectory RMSE가 숨기는 차이를 분리한다. Access와 safety가 허용하면 command-to-joint 또는 torque-to-motion frequency response를 estimate한다. Task-relevant band에서 magnitude, phase, coherence, resonance와 bandwidth를 비교한다. Low-frequency bias는 gravity/zero/friction, frequency와 함께 커지는 phase error는 delay/filter, resonance mismatch는 compliance/inertia, direction-dependent residual은 friction/backlash를 의심한다. Sensor/command/excitation support 밖의 frequency는 해석하지 않는다.

Acceptance threshold는 project-set이다. Manipulation tolerance, collision clearance, grasp margin, controller bandwidth, sensor resolution, policy observation/action rate와 risk analysis에서 도출한다. Held-out result를 보기 전에 threshold를 쓴다. Free-space를 pass하고 contact에서 fail할 수 있으며 mean error는 좋지만 drop을 일으키는 tail이 나쁠 수 있다. Safety-critical metric과 declared task metric이 모두 pass해야 한다.

Residual pattern Hypothesis Discriminating test
Constant TCP offset base/TCP/hand–eye bias orientation 바꾼 static pose
Reach와 error 증가 joint/link/compliance slow sweep, two payloads
Frequency와 phase lag 증가 delay/filter/bandwidth bounded multisine/chirp
Reversal mismatch Coulomb/stiction/backlash symmetric slow reversal
Motion good/current wrong torque map/friction/inertia gravity/acceleration split
Contact onset wrong collision/frame/material slow instrumented approach
Fit only good overfit/nonidentifiability new pose/frequency/payload
그림 9.3. PACE의 suspended legged-robot chirp experiment에서 real trajectory, fitted simulation과 delta joint-position/velocity phase portrait를 비교한다. Near-zero delta는 이 legged setup과 excitation에서의 agreement이며 manipulator fidelity, contact, camera 또는 task accuracy를 보장하지 않는다.

그림 9.3 — Real/sim trajectory와 delta phase portrait를 함께 보는 PACE의 validation 예시. 출처: Bjelonic et al., 2025, Figure 1. Arm에는 별도 held-out TCP·joint·current/torque·contact replay가 필요하다.

7. Robustness 전에 error budget을 만든다

Error budget category는 asset topology/geometry, frame calibration, timing, sensing, actuation, rigid-body dynamics, friction/transmission, compliance/backlash, contact/material, environment/object와 stochastic/unmodeled residual이다. 각 category에 metric, estimate, uncertainty, affected task output, evidence, owner와 next discriminating test를 둔다. Double counting을 막는다. Camera timestamp error가 hand–eye error처럼, motor delay가 damping처럼 보일 수 있다.

PACE에서 가져올 것과 가져오지 않을 것

PACE는 legged robot에서 physics-informed automated system identification과 controller evolution을 제안한다 [23]. Transferable lesson은 experiment architecture다. Synchronized hardware data를 수집하고 selected parameter를 fit하고 behavior를 validate하며 uncertainty를 남긴 뒤 learning/control loop에 improved model을 넣는다. 그러나 locomotion metric, floating-base observability, repeated foot-ground contact, actuator layout과 controller objective는 fixed-base arm/dexterous hand와 다르다.

PACE는 세 primary platform, 추가 열 robot과 ANYmal cost-of-transport 32 percent reduction을 보고하지만 어떤 수치도 fixed-base arm에 정량적으로 전이되지 않는다 [23]. 이를 manipulation success 또는 energy improvement 예상치로 바꾸지 않는다. Arm에는 locomotion cost와 foot-ground test 대신 TCP, joint, current/torque, controller response, grasp/contact와 task metric을 둔다. Hand tendon, fingertip, camera/tactile timing과 table fixture는 새 experiment가 필요하다.

Ignorance가 아니라 residual uncertainty를 randomize한다

Domain randomization은 measured nominal model 뒤에 적용하고 range를 residual uncertainty에 묶을 때 가장 방어 가능하다 [24] [25] [26] [27]. Broad range는 robustness를 줄 수도 있지만 impossible robot을 만들고 sign error를 숨기며 useful precision과 learning efficiency를 낮출 수 있다.

Distribution은 calibration covariance, repeated identification, temperature/load variation, manufacturing tolerance와 held-out residual에서 만든다. Correlation을 보존한다. Mass와 inertia, delay와 command rate, friction과 temperature, camera pose parameter, tendon coupling은 independent가 아닐 수 있다. Episode-constant parameter와 rapidly varying noise를 구분한다. Real validation trace가 simulated predictive envelope 안에 드는지 보되 envelope를 의미 없을 만큼 넓히지 않는다.

Bayesian simulation inference, active identification과 adaptive randomization은 plausible distribution을 고를 수 있다 [25] [27]. Parameter nonidentifiability와 unsafe excitation을 없애지는 않는다. Prior, bound, posterior/selected range, simulator version과 사용한 real data를 기록한다. Final real set은 range 선택에도 쓰지 않는다.

Error-budget field 질문 Example evidence
Nominal best measured value는? calibration/fit report
Uncertainty 어떤 조건에서 얼마나 변하나 repeat/bootstrap/sensitivity
Correlation 함께 변하는 parameter는? joint posterior/physical relation
Task impact 어떤 output을 망치나 residual slice/task ablation
Coverage sim envelope가 real을 덮나 held-out predictive check
Action identify/randomize/accept? owner와 regression gate

8. Residual/online adaptation에는 rollback이 필요하다

Residual dynamics model 또는 online adapter는 rigid-body/contact model이 놓친 structured error를 줄일 수 있다. 그러나 safety authority 밖에 둔다. Output bound, state-validity/uncertainty monitor와 last validated nominal controller fallback이 필요하다. Online learning이 canonical asset 또는 calibration을 조용히 edit하면 안 된다.

Base model, residual model, data window, update rule, bound와 enable state를 version한다. 먼저 shadow mode에서 비교한다. Distribution shift, sensor dropout, stale timing, saturation, contact transition과 restart를 시험한다. Predeclared held-out metric에서 bounded improvement가 있고 safety metric regression이 없어야 한다. Deployment 뒤 adapter가 바뀌면 새 release candidate다.

Regression suite에는 asset invariant, named-frame FK, joint direction/limit, zero-input/gravity settling, single-joint step/frequency response, held-out multijoint motion, TCP accuracy, collision distance, representative contact, sensor frame/timing과 task replay를 넣는다. Screenshot이 아니라 tolerance/provenance가 있는 golden trace를 보존한다. Dependency, simulator, mesh, controller, firmware, payload, calibration 또는 fitted parameter가 바뀌면 dependency map에 따라 affected subset을 다시 실행한다.

9. Practical low-gap program

Phase Action Artifact Promotion gate
0 Scope task-sensitive output/tolerance dependency map project metric 승인
1 Intake source/command semantics freeze checksum/manifest supplier traceability
2 Asset tree/axis/mesh/inertia/actuation audit invariant report critical field pass
3 Import separate USD/MJCF semantic-loss matrix FK/DOF/limit agreement
4 Geometry zero/base/TCP/camera calibrate calibration bundle held-out task error pass
5 Timing clock sync/delay estimate timing report tail/model known
6 Dynamics staged safe ID fit/uncertainty held-out motion/current pass
7 Contact task primitive/sensor fit contact report held-out primitive pass
8 Robustness measured residual randomization justified distribution useful predictive envelope
9 Release regression/task replay signed twin release no critical regression

Asset, calibration, fit, controller와 validation ID를 한 tuple로 묶는다. Dataset과 policy가 그 tuple을 기록해야 한다. Physical hand, fingertip, camera mount, cable route, payload, firmware 또는 table이 바뀌면 dependency map으로 affected calibration/test를 invalidate한다. “Same URDF”는 “same system”이 아니다.

10. Failure diagnosis와 bounded Codex prompt

Symptom 바로 tune하지 말 것 First evidence Safe next experiment
Wrong direction/pose controller gain axis/sign/frame/zero marker/reduced joint
Stable bias randomization base/TCP/camera held-out static suite
Load sag contact payload/COM/gain/compliance slow poses, two payloads
Oscillation/lag friction only delay/rate/filter/PD low-amplitude sweep
Reversal bad link inertia friction/backlash symmetric slow reversal
Grasp bad, FK good policy fingertip/contact/coupling instrumented primitive
Fit trial only optimizer step ID/leakage held-out excitation

Codex는 evidence scaffolding에 쓰고 motion authorization을 맡기지 않는다.


URDF, mesh, controller/transmission config와 vendor document를 read-only로 읽어라.
Tree topology, unit, joint axis/sign/zero/limit, mimic/coupling, transmission,
visual/collision mesh, mass/COM/inertia plausibility, frame과 actuator semantics를
machine-checkable invariant report로 만들어라. Unknown마다 필요한 source 또는
bounded fake/simulation test를 써라. File 수정과 hardware connection은 금지한다.

Normalized URDF, imported USD report와 compiled MJCF report를 read-only 비교하라.
DOF, named-pose FK, limit, drive, mimic, tendon/constraint, contact, sensor와 plugin의
semantic-loss matrix를 만들고 simulator-only regression test와 golden artifact를
제안하라. Name 또는 appearance가 같다는 이유로 equivalence를 주장하지 말라.

Qualified engineer가 승인한 limit, logged signal, task frequency band, payload와
stop plan만 사용해 staged ID experiment를 설계하라. Clock/delay, encoder bias,
gravity/payload, inertia/armature, friction, torque-current/saturation과 closed-loop gain을
분리하라. Train/held-out excitation, sync, metadata, physical constraint, residual plot과
abort criterion을 넣어라. Command를 보내거나 safety limit을 정하지 말라.

Paired real/sim log를 audit하라. Version/time alignment를 확인하고 per-joint/TCP
time residual, 실제 측정된 경우에만 current/torque error, contact/task metric과
supported frequency response를 계산하라. Pose, speed, direction, load, temperature와
contact별 residual을 나누고 error budget/next test를 반환하라. Held-out trial에
tune하거나 structural error를 숨기기 위해 randomization을 넓히지 말라.

11. Evidence boundary, disagreement와 한계

NVIDIA, OpenUSD와 MuJoCo official documentation은 format/simulator semantics의 근거이지 특정 robot fidelity의 보증이 아니다. Classical calibration/identification paper는 method와 limitation을 설명하지만 이 cell의 threshold를 정하지 않는다. Manufacturer value는 independent validation 전에는 prior다. Product/software status는 2026-07-14 cutoff 기준이다.

Identification 대 randomization은 양자택일이 아니다. Safe excitation과 informative measurement가 있으면 identification이 유용하고 randomization은 measured variation과 residual uncertainty를 덮는다. Proprietary low-level control 또는 underidentified contact에서는 single vector보다 distribution이 더 정직할 수 있다. 어느 쪽이 맞는지는 held-out task evidence로 판단한다.

Simulator fit도 conditional이다. 여러 parameter combination이 one trajectory를 맞춘다. Contact solver가 geometry를, inertia가 delay를, hand–eye가 timestamp error를 보상할 수 있다. Physical consistency, diverse excitation, independent measurement, held-out configuration과 frequency-domain check는 ambiguity를 줄이지만 없애지는 못한다.

Safety limitation도 남는다. Identification motion은 limit, resonance, unexpected contact, overheating 또는 unstable gain을 만날 수 있다. 이 장은 universal amplitude, force, current, frequency 또는 pass threshold를 제공하지 않는다. Qualified local owner가 bound와 stop을 승인해야 하며 manufacturer procedure와 applicable standard가 우선한다.

12. Final capability checklist와 series bridge

  • [ ] Immutable source, normalized asset, USD와 MJCF realization에 digest가 있다.
  • [ ] Topology, unit, axis, sign, zero, limit, frame, collision, mass/inertia, coupling, transmission과 command semantics를 audit했다.
  • [ ] Conversion마다 semantic-loss matrix와 FK/DOF/limit regression test가 있다.
  • [ ] Joint-zero, base/world, TCP, intrinsic, hand–eye와 fixture record 및 held-out residual이 분리되어 있다.
  • [ ] Clock, delay, filter, controller mode/rate, payload, temperature와 safety event를 log한다.
  • [ ] Identification은 staged이고 fit/held-out excitation이 분리되며 physical consistency와 uncertainty가 기록된다.
  • [ ] Free-space, contact, sensor와 task metric에 project-set acceptance threshold가 있다.
  • [ ] PACE를 legged-system methodology evidence로 쓰며 manipulator quantitative promise로 쓰지 않는다.
  • [ ] Randomization range가 measured nominal uncertainty에서 나오고 correlation을 보존한다.
  • [ ] Residual/online adaptation에 bound, shadow mode, fallback, version과 regression gate가 있다.
  • [ ] 모든 demonstration, policy와 result가 asset–calibration–fit–controller tuple을 기록한다.

이 checklist를 통과하면 reader는 custom URDF를 받아 auditable simulator realization을 만들고, physical cell을 calibration하고, task-relevant dynamics/contact를 identify하며, simulation이 어디에서 맞고 틀리는지 증명할 수 있다. #S12는 unidentified physics를 막연한 randomization으로 부르지 않고 RL을 다룰 수 있다. #S13은 camera, timing, action과 embodiment semantics가 명시된 상태에서 VLA/world model을 다룰 수 있다. Digital twin은 영원히 완성된 model이 아니라 known error budget을 가진 tested release다.

주석이 있는 연구 경로

아래 자료는 calibration, identification과 measured sim-to-real를 더 깊이 확인하기 위한 경로다. 성공률을 빌려오는 목록이 아니라, 어떤 가정·interface·실험을 원문에서 비교해야 하는지에 따라 묶었다. 각 결과는 해당 platform과 protocol에 한정해 읽는다.

경로 연결된 primary source 읽을 때의 질문
기초와 정의 Learning Agile and Dynamic Motor Skills for Legged Robots; ASAP: Aligning Simulation and Real-World Physics for Learning Agile Humanoid Whole-Body Skills; Deep Reinforcement Learning for Robotics: A Survey of Real-World Successes; Identification of Fully Physical Consistent Inertial Parameters using Optimization on Manifolds; ReSkin: Versatile, Replaceable, Lasting Tactile Skins; Online Payload Identification by Parameter Difference for Industrial Robots 용어와 system boundary를 원 논문의 model·assumption으로 확인한다.
구현과 측정 RMA: Rapid Motor Adaptation for Legged Robots; DeepMimic: Example-Guided Deep Reinforcement Learning of Physics-Based Character Skills; Sim-to-Real Reinforcement Learning for Vision-Based Dexterous Manipulation on Humanoids; Toward dexterous manipulation with augmented adaptive synergies: The Pisa/IIT SoftHand 2; LEAP Hand: Low-Cost, Efficient, and Anthropomorphic Hand for Robot Learning; Physics-Aware Real2Sim2Real for Non-Prehensile Manipulation hardware, dataset, controller와 metric이 이 장의 workflow에 실제로 대응하는지 확인한다.
반례와 확장 Real-world Humanoid Locomotion with Reinforcement Learning; Optimization-Based Control for Dynamic Legged Robots; Kinematics of Contact and Grasp; SimOpt: Learning Robotic Skills in Simulation with Sim-to-Real Transfer; EASI: Evolutionary Adversarial Simulator Identification; DREAM: Differentiable Real-to-Sim-to-Real Engine for Robotic Manipulation 다른 embodiment와 task에서 무엇이 깨지는지 비교하고 universal threshold로 일반화하지 않는다.

참고문헌

  1. NVIDIA (2026a). URDF Importer Extension. Official Isaac Sim documentation.
  2. NVIDIA (2026b). Import a URDF. Official Isaac Sim documentation.
  3. NVIDIA (2026c). Export to URDF. Official Isaac Sim documentation.
  4. OpenUSD (2026). UsdPhysics. Official specification documentation.
  5. MuJoCo (2026a). MJCF XML Reference. Official documentation.
  6. MuJoCo (2026b). DC Motor Model. Official technical note.
  7. Murray, R., Li, Z., & Sastry, S. (1994). A Mathematical Introduction to Robotic Manipulation. Author-hosted book.
  8. Hayati, S., & Mirmirani, M. (1985). Geometric Approach for Robotic Calibration. DOI: 10.1109/ROBOT.1985.1087372.
  9. Tsai, R., & Lenz, R. (1989). 3D Robotics Hand/Eye Calibration. DOI: 10.1109/70.34770.
  10. Park, F., & Martin, B. (1994). Solving AX=XB on the Euclidean Group. DOI: 10.1109/70.326576.
  11. Zhang, Z. (2000). A Flexible New Technique for Camera Calibration. DOI: 10.1109/34.888718.
  12. Daniilidis, K. (1999). Hand-Eye Calibration Using Dual Quaternions. DOI: 10.1177/02783649922066213.
  13. Liu, et al. (2024). Unified Robot-World and Hand-Eye Calibration. DOI: 10.1108/RIA-06-2023-0076.
  14. Ulrich, M., & Steger, C. (2024). Hand-Eye Calibration with Uncertainty. DOI: 10.1109/TRO.2023.3330609.
  15. Atkeson, C., et al. (1986). Estimation of Inertial Parameters. DOI: 10.1177/027836498600500306.
  16. Gautier, M. (1991). Minimum Dynamic Parameters of Robots. DOI: 10.1109/ROBOT.1991.131896.
  17. Swevers, J., et al. (1997). Excitation Trajectories for Base Inertial Parameters. DOI: 10.1177/027836499701600306.
  18. Wensing, P., et al. (2018). Physically Consistent Inertial Parameter Identification. DOI: 10.1109/TRO.2017.2769099.
  19. Janot, A., et al. (2014). Identification of Robots in Closed Loop. DOI: 10.1109/TRO.2014.2319567.
  20. Oaki, J., et al. (2026). Robot Dynamics Identification. arXiv:2605.15949.
  21. Armstrong-Hélouvry, B., et al. (1994). A Survey of Friction Models90209-7). DOI: 10.1016/0005-1098(94)90209-7.
  22. Canudas de Wit, C., et al. (1995). A New Model for Systems with Friction. DOI: 10.1109/9.376053.
  23. Bjelonic, M., et al. (2025). PACE. arXiv:2509.06342.
  24. Peng, X., et al. (2018). Dynamics Randomization. DOI: 10.1109/ICRA.2018.8460528.
  25. Ramos, F., et al. (2019). BayesSim. DOI: 10.15607/RSS.2019.XV.029.
  26. Tiboni, G., et al. (2024). DoRoThEA. ICLR 2024.
  27. Memmel, M., et al. (2024). ASID. OpenReview.
  28. Hogan, N. (1985). Impedance Control: Part I. DOI: 10.1115/1.3140702.
  29. Tobin, J., et al. (2017). Domain Randomization. arXiv:1703.06907.