Challenge - 5 Problems
URDF Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ component_behavior
intermediateWhat is the effect of the element in a URDF?
In a URDF file for a mobile robot, what does the element define?
Attempts:
2 left
💡 Hint
Think about how parts of a robot are connected and move relative to each other.
✗ Incorrect
The element in URDF specifies how two links are connected and how they can move relative to each other, such as rotation or translation.
📝 Syntax
intermediateIdentify the syntax error in this URDF snippet
What is wrong with this URDF snippet for a link element?
<link name="base_link">
<visual>
<geometry>
<box size="1 1 0.5"/>
</geometry>
</visual>
</link
ROS
<link name="base_link"> <visual> <geometry> <box size="1 1 0.5"/> </geometry> </visual> </link>
Attempts:
2 left
💡 Hint
Check the last line carefully for missing characters.
✗ Incorrect
The closing <link> tag is missing the '>' character, which causes a syntax error in XML.
❓ state_output
advancedWhat is the resulting number of links in this URDF?
Given this URDF snippet, how many links does the robot model have?
<robot name="simple_bot">
<link name="base_link"/>
<link name="wheel_left"/>
<link name="wheel_right"/>
<joint name="joint_left" type="continuous">
<parent link="base_link"/>
<child link="wheel_left"/>
</joint>
<joint name="joint_right" type="continuous">
<parent link="base_link"/>
<child link="wheel_right"/>
</joint>
</robot>
ROS
<robot name="simple_bot"> <link name="base_link"/> <link name="wheel_left"/> <link name="wheel_right"/> <joint name="joint_left" type="continuous"> <parent link="base_link"/> <child link="wheel_left"/> </joint> <joint name="joint_right" type="continuous"> <parent link="base_link"/> <child link="wheel_right"/> </joint> </robot>
Attempts:
2 left
💡 Hint
Count all the <link> elements defined inside the <robot> tag.
✗ Incorrect
There are three <link> elements: base_link, wheel_left, and wheel_right.
🔧 Debug
advancedWhy does this URDF cause a runtime error in ROS?
This URDF snippet causes a runtime error when loaded in ROS. What is the cause?
<joint name="joint1" type="fixed">
<parent link="link1"/>
<child link="link2"/>
<axis xyz="0 0 1"/>
</joint>
ROS
<joint name="joint1" type="fixed"> <parent link="link1"/> <child link="link2"/> <axis xyz="0 0 1"/> </joint>
Attempts:
2 left
💡 Hint
Think about what a fixed joint means for movement and axis.
✗ Incorrect
Fixed joints do not move, so specifying an axis is invalid and causes errors in ROS.
🧠 Conceptual
expertWhat is the purpose of the tag in a mobile robot URDF?
In a mobile robot URDF, what does the <transmission> tag define?
Attempts:
2 left
💡 Hint
Think about how motors control the robot's moving parts.
✗ Incorrect
The tag connects actuators like motors to joints, describing how commands affect joint motion.
