图 11-2 · 双时钟框架:一个开关选源,一个出口取时

本图回答的问题:use_sim_time 切换后,get_clock().now() 的时间到底从哪里来?

use_sim_time ? 唯一开关 false · 默认 true 系统时钟 · 墙上钟 OS 时间 · 永远匀速 /clock 话题 rosgraph_msgs/Clock Gazebo / rosbag play 外部系统 · 仅仿真/回放 推进/播放 Clock · 唯一出口 get_clock().now() 返回 time 你的代码 · 盖 stamp to_msg() → Header.stamp
✅ 结论:只有两个时间源、一个开关、一个出口,换源不改业务代码 ⚠️ 风险:true 而无 /clock 发布 → 永久等待 🔍 验证:04 节实操 A/B(卡死复现与 pub /clock 复活)
EXP-11 · 时间 API 与双时钟体系