Performance: Broadcasting transforms
Broadcasting transforms affects how quickly and efficiently spatial data updates propagate to all listening components, impacting real-time responsiveness.
Jump into concepts and practice - no test required
ros::Rate rate(30); // 30 Hz while (ros::ok()) { geometry_msgs::TransformStamped transform; // fill transform data broadcaster.sendTransform(transform); rate.sleep(); }
while (ros::ok()) { geometry_msgs::TransformStamped transform; // fill transform data broadcaster.sendTransform(transform); ros::Duration(0.001).sleep(); // very high frequency }
| Pattern | CPU Usage | Network Load | Latency Impact | Verdict |
|---|---|---|---|---|
| High-frequency broadcasting (1000 Hz) | Very High | Very High | High input lag | [X] Bad |
| Moderate-frequency broadcasting (30 Hz) | Moderate | Moderate | Low latency | [OK] Good |
br = tf2_ros.TransformBroadcaster() trans = geometry_msgs.msg.TransformStamped() trans.header.frame_id = "world" trans.child_frame_id = "robot" trans.transform.translation.x = 1.0 trans.transform.rotation.w = 1.0 br.sendTransform(trans)What does this code do?
br = tf2_ros.TransformBroadcaster() trans = geometry_msgs.msg.TransformStamped() trans.header.frame_id = "base" trans.child_frame_id = "camera" trans.transform.translation.x = 0.5 br.sendTransform(trans)