// the find
arounamounchili/linkforge
The LLVM for Robot Descriptions. A programmable IR engine to compose, validate, and compile URDF/XACRO/SRDF models from Python or Blender.
LinkForge is a programmatic IR engine for building, validating, and exporting robot descriptions (URDF/XACRO/SRDF) from Python or Blender. It targets robotics engineers who are tired of hand-editing XML and discovering physics bugs only after loading into Gazebo or MuJoCo. The headless core is genuinely useful for RL training pipelines that need to generate thousands of robot variants.
The separation between linkforge-core (Apache 2.0, zero GUI deps) and the Blender platform (GPL) is a smart architectural decision — the core can run in CI or HPC without dragging in Blender's Python environment. Pre-export kinematic linting that catches disconnected links and non-physical inertia tensors before the sim ever loads is the right place to catch those bugs. The attach() API with automatic prefix-based namespace resolution solves a real pain point when composing modular robots from sub-assemblies. Test coverage is substantial — unit tests for every model layer plus integration roundtrip tests — which matters a lot for a tool where silent precision loss in URDF output breaks everything downstream.
The MuJoCo (MJCF) and Gazebo/SDF exporters are still on the roadmap (v2.1, v2.2), which means if you're targeting anything other than URDF/XACRO/SRDF today you're blocked — odd given that MuJoCo is the dominant RL sim right now. The split-license model is a business hedge, not an engineering decision, and it means the Blender UI improvements could create pressure to keep features out of the Apache core to protect the commercial story. The XACRO parser is inherently limited — full XACRO is Turing-complete via conditional macros and it's not clear how much of the edge-case surface is covered. At 232 stars with a single primary author, bus factor is a real concern for anyone depending on this in production.