Challenge - 5 Problems
Static Transform Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ component_behavior
intermediateWhat is the output behavior of a static_transform_publisher node?
In ROS, the
static_transform_publisher node is used to publish a fixed transform between two frames. What does this node continuously publish once started?Attempts:
2 left
💡 Hint
Think about what 'static' means in this context and how ROS handles transforms.
✗ Incorrect
The static_transform_publisher continuously broadcasts the same fixed transform at a regular rate so that other nodes can listen to it anytime.
📝 Syntax
intermediateIdentify the correct command syntax to publish a static transform between frames 'base_link' and 'camera_link'
Which of the following commands correctly publishes a static transform with translation (1, 2, 3) and rotation (0, 0, 0, 1) between 'base_link' and 'camera_link' using
static_transform_publisher?Attempts:
2 left
💡 Hint
Remember the order: translation xyz, rotation xyzw, then parent and child frames.
✗ Incorrect
The correct syntax is translation (x y z), rotation (x y z w), then parent frame, then child frame.
❓ state_output
advancedWhat is the value of the transform between 'map' and 'odom' after running a static transform publisher with zero translation and rotation?
If you run
static_transform_publisher 0 0 0 0 0 0 1 map odom, what will be the transform from 'map' to 'odom'?Attempts:
2 left
💡 Hint
Quaternion (0,0,0,1) represents which rotation?
✗ Incorrect
Quaternion (0,0,0,1) is the identity rotation, so the transform is zero translation and no rotation.
🔧 Debug
advancedWhy does this static_transform_publisher command fail to publish the transform?
Consider the command:
ros2 run tf2_ros static_transform_publisher 1 2 3 0 0 0 base_link camera_link. Why does this command fail?Attempts:
2 left
💡 Hint
Check the number of rotation parameters provided.
✗ Incorrect
The rotation quaternion must have 4 components (x, y, z, w). Missing one causes the command to fail.
🧠 Conceptual
expertWhat is the main advantage of using static_transform_publisher over dynamic transform publishers in ROS?
Why would you choose to use
static_transform_publisher for certain frame transforms instead of publishing transforms dynamically?Attempts:
2 left
💡 Hint
Think about fixed vs changing transforms and resource usage.
✗ Incorrect
Static transforms do not change, so publishing them at a fixed low rate saves CPU compared to recalculating dynamic transforms.
