RoboCompiler: Graph-Native Compilation of Closed-Chain Robots for Consistent Modeling, Control, and Simulation
Organizations: Faculty of Engineering and Natural Sciences, Tampere University, Tampere, Finland
Abstract
Robots with kinematic loops, coupled actuators, and changing contacts require consistent models of configuration, motion, force, and dynamics. Yet these interfaces are often reconstructed separately for control and simulation, making closure and actuation consistency difficult to maintain. This paper presents RoboCompiler, a graph-native framework that compiles a canonical mechanism graph into a shared mechanical interface. From bodies, joints, frames, inertias, and actuator ports, it constructs closure paths and analytic residual Jacobians, then assembles feasible configurations through rank-checked continuation and correction. A tangent lift maps independent velocities to full robot and task motion, while paired actuator-port maps preserve virtual work. A constraint-curvature correction extends the reduction to accelerations and projected rigid-body dynamics, including floating-base and support modes. Cycle-local evaluation, generated Jacobians, and dependency-aware reuse enable localized updates when closure inputs change. We evaluate physical loops and task-induced constraints on a industrial excavator, Unitree Go2, Franka Panda, Kangaroo, and a six-UPS Stewart platform. High-precision constrained-dynamics and independent Pinocchio checks confirm mechanical consistency; MuJoCo and Isaac Sim/PhysX executions demonstrate task performance and model reuse under native contact. For Kangaroo, compilation reduces residual-and-Jacobian evaluation time by 96.7% and closed-loop rollout wall time by 66.8%, with dynamics and control held fixed.
Figures & tables
| Work | Loops in model | Auto. cut sel. | Closure types | Assem- bly | Tangent map | term | Port maps | FD | Float. base + contact | Multi- sim. |
| Bordalba et al. [ 5 ] | – | – | holonomic | a | – | – | manifold ODE | – b | – | |
| HyRoDyn [ 6 , 7 ] | submechanism library c | (A) | R | – | – | |||||
| Kangaroo model [ 8 ] | relative pose, selected axes | (A) | ID only d | |||||||
| URDF+ [ 2 ] | URDF joint types, linear couplings | – | – | n/a e | – | – | ||||
| Constraint embedding / GRBDA [ 10 , 11 ] | f | explicit , implicit | (A) | Rec | ||||||
| LCABA [ 14 ] / Pinocchio 4.1 [ 13 , 15 ] | g | point (3D), weld (6D) | h | (A) i | K, Rec | j |
| Symbol | Definition |
| , | Augmented configuration and generalized velocity |
| , | Full closure residual; |
| , | Closure rank and independent velocity dimension |
| , | Independent speeds and lift |
| , | Tree speeds and their lift |
| , | Task coordinates and reduced task Jacobian |
| Robot | Mechanism or imposed constraints | Task | Native PhysX result |
| Komatsu PC138US-8 | Nine revolute cuts; seven independent arm speeds | Excavation and settled soil transfer | 92.153 kg delivered; 11.46- m peak arm gap |
| Unitree Go2 | Tree; four foot targets and two- to four-foot support | 26-s rail, turn, gate, and docking course | 6.926-mm base-position RMS ( s) |
| Franka Panda | Tree; equal finger displacements and six-dimensional tool target | 22-s grasp, inspection, and keyed-socket placement | 0.133-mm final planar placement error |
| Kangaroo | Sixteen point and eight universal cuts; six base and twelve motor speeds | 10-s landing, crouch, and push recovery | 120.078-mm crouch; 0.629- m peak point gap |
| Six-UPS Stewart | Six limbs with spherical closure; six independent lengths | 22-s six-axis inspection with platform wrenches | 0.717-mm platform-position RMS; 6.454- m peak gap |
| Robot | Set A: recorded states | Set B: randomized states |
| Stewart | All 1101 reference knots, with recorded actuator velocities and feedforward forces; no external wrench. | 300 states. Reference knot sampled uniformly; actuator velocities m/s; actuator forces N; external force components N and moment components N m. |
| Excavator | 48 dynamics witnesses at route indices evenly spaced from 20 to 4181. | 252 states. Route index sampled uniformly from 20–4180; independent velocities rad/s. Each effort is sampled as times its scale: 5, 5, 30, 150, 150, and 500 kN for the six cylinders, and 1 and 25 kN m for the rotary drives. External force components are kN and moment components are kN m. |
| Kangaroo | 48 dynamics witnesses at motion indices evenly spaced from 8 to 392, cycling through floating, left-sole, right-sole, and double-support modes. | 152 states, with 38 per support mode. Motion index sampled uniformly from 8–392; independent velocities in their respective m/s or rad/s units; motor efforts N. External force components use ranges , , and N; moment components use N m. |
| Method | max | median | max | max | |
| Stewart platform: 24 tree coordinates, 6 point cuts (18 rows, rank 18); 1,401 states | |||||
| RoboCompiler (authors’ code) | |||||
| Pinocchio 4.1 lcaba , | |||||
| Pinocchio 4.1 lcaba , | |||||
| Pinocchio 4.1 constraintDynamics | |||||
| MuJoCo 3.3.7 equalities | |||||
| Robot | Paired operation | Reference | Generated/local | Reduction |
| Excavator | Residual + analytic Jacobian (ms) | 4.097 | 0.984 | 76.0% |
| Excavator | Joint-reference correction + maps (s) | 24.117 | 18.026 | 25.3% |
| Excavator | Held-cylinder correction + maps (s) | 24.493 | 16.628 | 32.1% |
| Go2 | One-foot update (ms) | 3.467 | 1.326 | 61.8% |
| Go2 | Colored FD / analytic correction (ms) | 9.657 | 4.311 | 55.4% |
| Kangaroo | Residual + analytic Jacobian (ms) | 10.172 | 0.339 | 96.7% |
| Case | RMS (mm) | Final (mm) | Motor (%) |
| Nominal, 1-ms step | 6.926 | 0.179 | 68.43 |
| 0.5-ms step | 6.736 | 0.474 | 64.22 |
| Friction 0.55 | 6.855 | 0.265 | 72.26 |
| 1.5-kg payload | 8.897 | 6.655 | 59.88 |
| 25% stronger pushes | 7.237 | 0.222 | 100.00 |