X2 is AgiBot’s full-size humanoid, available as an Ultra and as an EDU educational model. This entry links directly to AgiBot’s own URDF repository, including the dexterous-hand and gripper versions of the Ultra.
The mechanism
On the Ultra, each leg carries six actuated joints (hip pitch, roll, and yaw; knee; ankle pitch and roll) for twelve leg DOF. The waist adds three (yaw, pitch, roll), the head two (yaw, pitch), and each arm carries seven (shoulder pitch, roll, and yaw; elbow; wrist yaw, pitch, and roll) for fourteen arm DOF — 12 + 3 + 2 + 14 = thirty-one actuated degrees of freedom, all independently driven, no mimic joints or closed kinematic loops on the body. The EDU has no head joints, so it has twenty-nine.
The hand variants add to that count. The dexterous hand carries ten independent motors (thumb roll, abduction, and base joint; abduction and base joint for the index, ring, and pinky fingers; a base joint for the middle finger), and each finger’s outer joints follow the inner one mechanically, so two hands bring the Ultra to fifty-one. The gripper has one motor, so two grippers bring it to thirty-three.
Which variant matches your robot?
AgiBot’s repository covers two hardware generations, and its README identifies yours by the nameplate on the back of the robot’s neck. A top line ending in “X2 Ultra” is the original version; “X2 Ultra -N” is the new version; “X2 EDU” is the EDU. The default here is the new Ultra.
Collision geometry
The new version, EDU, and original version variants use simple collision shapes (cylinders, boxes, and spheres) that MuJoCo solves quickly. The full-mesh collision variant reuses the detailed visual meshes instead, and the gripper variant does so throughout; the hand variant mixes the two. Expect the mesh-based ones to simulate more slowly.
About this file — read before importing
This links directly to AgiBot’s agibot_x2_urdf repository. ARMOR links directly to that repository rather than re-hosting anything, so what you get is exactly what AgiBot publishes, unmodified.