You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: handle URDF world-anchor joints and link/joint name collisions
Two failures that fell out of testing against a wider URDF corpus
(Bullet's minitaur, the so101 from onshape-to-robot, drake's acrobot):
- Many URDFs anchor the base link to the world frame with a fixed
joint whose parent is a synthetic `world` link that's never defined.
BB has no concept of a world frame — the topology root is the robot.
Drop such joints in a pre-pass, leaving the child unparented so the
root-finder picks it up. A warning records what was dropped.
- URDF has separate namespaces for link and joint names, but BB
requires global uniqueness across both. Several real URDFs use the
same string for a link and a joint (so101's `gripper`, minitaur's
`motor_back_rightL_link`). Rename colliding joints with a `_joint`
suffix (incrementing if that's also taken) and rewrite `<mimic>`
source references to match.
With these fixes, eleven public URDFs now compile cleanly: Allegro
Hand, ANYmal B, Bullet cartpole, Drake acrobot/pendulum, KUKA iiwa,
Bullet minitaur, Franka Panda, SO-101, UR5, and WidowX (xacro-free
portions).
0 commit comments