外观
踩坑Robotics Stack Exchange2024-11-29
Gazebo 如何以非 0 仿真时钟启动
本文由 AI 根据公开内容整理,可能有误,请以原文为准:How can you start gazebo with a non-0 simulated clock time?(Robotics Stack Exchange #104397)
状态:已解决
问题
Gazebo 启动时仿真时钟从 0 开始,代码若对小于 10 秒的时间戳执行减 10 秒等时间运算可能报错;提问者想修改初始 clock stamp。
环境
Gazebo / Ignition 仿真环境
解决办法
- 让依赖仿真时间的 ROS 节点设置
use_sim_time,确保共享同一时钟;对显式时间差计算先做时间戳检查或错误处理。 - 启动目标 world(不生成机器人),让 Gazebo 运行几秒后保存 world。
- 编辑保存得到的
.world文件,在 SDF<world>的<state>中调整<sim_time>为期望起始时间。 - 之后启动 Gazebo 时加载这个修改后的 world 文件;原文称未发现可通过 Gazebo ROS launch 文件直接设置的更简单方法。
原问题作者:Luis;采纳答案作者:shonigmann。原内容依 CC BY-SA 4.0 授权,本页摘要同样依 CC BY-SA 4.0 授权。
来源
本页事实对应的公开页面,以原文为准。