Overview
Python library for generating URDF and Xacro robot descriptions programmatically instead of manual XML writing.

Features
- Programmatic API: Create robots using Python instead of XML
- Type Safety: Built-in validation for robot structure
- Xacro Support: Parametric robot generation with macros
- Geometry Support: Meshes, primitives, collision/visual separation
- ROS/ROS2 Compatible: Works with standard robot frameworks
Key Capabilities
- Link and joint definitions with properties
- Mass, inertia, collision geometry
- Flexible, revolute, prismatic, continuous joints
- Automatic inertia calculations
- Material and texture definitions
Usage Example
from urdfgenpy import Robot, Link, Joint
robot = Robot("my_robot")
robot.add_link(Link("base", mass=1.0))
robot.add_link(Link("wheel_l", mass=0.5))
robot.add_joint(Joint("wheel_l", "base", "wheel_l"))
robot.to_urdf("my_robot.urdf")Use Cases
- Quick robot prototyping and iteration
- Multi-robot variant generation
- Educational robotics projects
- Gazebo simulation setup
- Hardware-simulation sync
Technical Details
- Language: Python 3.7+
- Output: Standard URDF and Xacro
- Dependencies: Minimal external deps