xArm Blender Animation
A Blender addon that rigs an industrial arm the way an animator expects, and flags any take the hardware could not survive before export.
An animator thinks in keyframes and a controller takes joint angles. This is the thing in between.
The rig
The arm comes in as a Blender rig with three control modes: Full FK for posing joints directly, Full IK for dragging the tool where you want it, and a hybrid for holding some joints while solving the rest.
The base transform is set in millimetres to where the arm is bolted: this one sits at Z 1227.3 mm, rotated −90° and 90°. The rig must match the physical mount.

One arm can also follow another's tool point. Follow Leader TCP makes the second robot track the first, so a two-arm move is authored once and stays in step by construction.
Validation before export
Blender will happily animate a joint through any angle in a frame. The robot will not. So the addon checks the take against the profile before anything leaves: joint limits, joint speed against a 180 deg/s reference, and tool speed against a TCP ceiling, here 1000 mm/s.
Violations are written back onto the timeline as markers, so a failure is a frame you can jump to rather than a number in a log.

Export reports what it measured:

What leaves Blender
A single take bakes to joint CSV. A whole show exports as a scene bundle: the clips, a metadata file, and the environment as a collision URDF. That is what Motion-Core imports and re-checks in simulation before it drives anything.
The addon can also play a CSV straight to a connected arm, which is how a move gets sanity-checked on real hardware without the rest of the stack running.
- Role
- Creator and sole engineer
- Built with
- Blender · Python · xArm SDK
- Robot
- UF850
- Used on
- Astral Twin, at OFFF Barcelona, Vibecon and Sónar+D
- Feeds
- Motion-Core and TD Robot Control
- Sibling
- Houdini Robot Toolkit, the curve-driven route to the same joint CSV
- Source
- Company-owned and private. This page describes architecture and engineering decisions, not implementation.