Performance: Robot frame conventions (base_link, odom, map)
This concept affects how efficiently robot position and movement data are processed and visualized in real-time robotic systems.
Jump into concepts and practice - no test required
Define a clear frame hierarchy: map as the global fixed frame, odom as the local odometry frame updated frequently, and base_link as the robot body frame; update transforms only when needed.
Using inconsistent or redundant frame transformations between base_link, odom, and map frames without clear hierarchy or update frequency control.
| Pattern | Transform Calls | CPU Load | Latency | Verdict |
|---|---|---|---|---|
| Inconsistent frame usage with redundant transforms | High (many repeated calls) | High | High latency in updates | [X] Bad |
| Clear frame hierarchy with minimal transform updates | Low (only necessary calls) | Low | Low latency, smooth updates | [OK] Good |
base_linkbase_link is the frame fixed to the robot itself, representing its center.odom tracks movement but can drift, map is a fixed global frame, and world is not a standard ROS frame here.odom.base_link is robot center, map is global frame, and odom_frame is not a standard name.odom frame tracks movement from start but can accumulate errors causing drift.map is fixed and does not drift, base_link moves with robot, world is not standard here.odom frame. What is the best way to fix this issue?odom frame drifts due to sensor noise and integration errors over time.map frame is fixed globally and used for localization to correct odom drift.base_link, which is relative to odom, and odom is relative to map.map (global fixed frame) -> odom (local odometry) -> base_link (robot center).