一键导入
urdf-robot-model
Create robot models using URDF with proper links, joints, visual geometry, collision shapes, and physical properties
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create robot models using URDF with proper links, joints, visual geometry, collision shapes, and physical properties
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Creates assessments with varied question types (MCQ, code-completion, debugging, projects) aligned to learning objectives with meaningful distractors based on common misconceptions. Activate when educators design quizzes, exams, or tests measuring understanding; need questions at appropriate cognitive levels (Bloom's taxonomy); want balanced cognitive distribution (60%+ non-recall); or require rubrics for open-ended questions. Generates MCQs with diagnostic distractors, code-writing prompts, debugging challenges, and project-based assessments targeting deep understanding.
Integrate OpenAI ChatKit framework with custom backend and AI agents. Handles ChatKit server implementation, React component integration, context injection, and conversation persistence.
This skill should be used when scaffolding complex concepts for learners. It applies cognitive load architecture principles to break down concepts into digestible pieces while respecting learning science limits.
Docusaurus file naming, syntax, and structure conventions for RoboLearn platform
This skill should be used when deploying a Docusaurus site to GitHub Pages. It automates the configuration, building, and deployment process, handling GitHub Pages setup, environment configuration, and CI/CD automation. Includes local validation before GitHub Actions triggering.
Design simulation worlds using SDF with ground planes, models, physics configuration, and lighting
| name | urdf-robot-model |
| description | Create robot models using URDF with proper links, joints, visual geometry, collision shapes, and physical properties |
| domain | authoring |
| version | 1.0.0 |
| created | "2025-11-29T00:00:00.000Z" |
| triggers | ["Creating new robot URDF files","Adding physical properties to robot models","Debugging URDF parsing errors","Converting robot designs to URDF format"] |
| learned_from | ["Module 2 Chapter 9 Robot Description (2025-11-29)"] |
Think like a robotics mechanical engineer who designs robot models for simulation. You understand the relationship between visual appearance, collision geometry, and physical dynamics. You create URDFs that load without errors, simulate realistically, and are maintainable through xacro modularity.
Before creating or modifying any URDF, ask yourself:
Q: What is the kinematic chain of this robot?
Q: What joint types are needed?
Q: Does every link have mass and inertia?
Q: Are collision shapes simpler than visual shapes?
Q: Is the origin at the correct location?
Q: Are all rotations in radians (not degrees)?
<link name="base_link">
<!-- Visual: What you see -->
<visual>
<geometry><box size="0.3 0.2 0.1"/></geometry>
<material name="blue"/>
</visual>
<!-- Collision: What physics uses -->
<collision>
<geometry><box size="0.3 0.2 0.1"/></geometry>
</collision>
<!-- Inertial: How it responds to forces -->
<inertial>
<mass value="5.0"/>
<inertia ixx="0.01" ixy="0" ixz="0" iyy="0.02" iyz="0" izz="0.03"/>
</inertial>
</link>
Missing any element causes problems:
<joint name="wheel_joint" type="continuous">
<parent link="base_link"/>
<child link="wheel_link"/>
<!-- Origin: Where child attaches relative to parent -->
<origin xyz="0 0.15 0" rpy="1.5708 0 0"/>
<!-- Axis: Direction of rotation/translation -->
<axis xyz="0 0 1"/>
</joint>
Common mistakes:
Box (dimensions a, b, c; mass m):
ixx = m/12 * (b² + c²)
iyy = m/12 * (a² + c²)
izz = m/12 * (a² + b²)
Cylinder (radius r, length h; mass m):
ixx = iyy = m/12 * (3r² + h²)
izz = m/2 * r²
Sphere (radius r; mass m):
ixx = iyy = izz = 2/5 * m * r²
# Check URDF syntax
check_urdf robot.urdf
# Visualize in RViz
ros2 launch urdf_tutorial display.launch.py model:=robot.urdf
# Expected output for valid URDF:
# robot name is: my_robot
# ---------- Successfully Coverage [6] link(s) ----------
<?xml version="1.0"?>
<robot name="diff_drive">
<!-- Base -->
<link name="base_link">
<visual><geometry><box size="0.3 0.2 0.1"/></geometry></visual>
<collision><geometry><box size="0.3 0.2 0.1"/></geometry></collision>
<inertial>
<mass value="5.0"/>
<inertia ixx="0.02" ixy="0" ixz="0" iyy="0.03" iyz="0" izz="0.04"/>
</inertial>
</link>
<!-- Left Wheel -->
<link name="left_wheel">
<visual><geometry><cylinder radius="0.05" length="0.02"/></geometry></visual>
<collision><geometry><cylinder radius="0.05" length="0.02"/></geometry></collision>
<inertial>
<mass value="0.5"/>
<inertia ixx="0.0003" ixy="0" ixz="0" iyy="0.0003" iyz="0" izz="0.0006"/>
</inertial>
</link>
<joint name="left_wheel_joint" type="continuous">
<parent link="base_link"/>
<child link="left_wheel"/>
<origin xyz="0 0.11 -0.03" rpy="-1.5708 0 0"/>
<axis xyz="0 0 1"/>
</joint>
<!-- Right Wheel (similar, opposite y) -->
<!-- Caster (sphere, fixed joint) -->
</robot>
<link name="camera_link">
<visual><geometry><box size="0.02 0.04 0.02"/></geometry></visual>
<collision><geometry><box size="0.02 0.04 0.02"/></geometry></collision>
<inertial>
<mass value="0.1"/>
<inertia ixx="0.00001" ixy="0" ixz="0" iyy="0.00001" iyz="0" izz="0.00001"/>
</inertial>
</link>
<joint name="camera_joint" type="fixed">
<parent link="base_link"/>
<child link="camera_link"/>
<origin xyz="0.15 0 0.05" rpy="0 0 0"/>
</joint>
Before finalizing any URDF:
check_urdf passes without errorsThis skill is used by:
content-implementer agent when generating Module 2 lessonsDependencies:
gazebo-world-builder - for placing robots in worldssensor-simulation - for adding sensors to robotsros2-gazebo-bridge - for controlling robots from ROS 2