外观
踩坑Robotics Stack Exchange8 个月前
ROS 1 Gazebo中给Header消息赋值的时间总是变为0如何解决?
本文由 AI 根据公开内容整理,可能有误,请以原文为准:Why does a time published to a Header message always turns to 0?(Robotics Stack Exchange #118142)
状态:已解决
问题
在ROS 1 Gazebo仿真中使用rospy发布带stamped Header的消息时,rospy.Time.now()输出正常,但赋值给msg.header.stamp后总是变为0;添加rospy.Duration(10)则时间固定为10,忽略rospy.Time.now(),其余赋值正常。
环境
ROS 1、Gazebo仿真环境,use_sim_time设为true且/clock正常发布,使用rospy。
解决办法
- 将
msg.header.stamp = rospy.Time.now()这行代码移动到消息发布的while循环内部,每次发布前重新获取并赋值时间。
原问题作者:Andrii's Quest;采纳答案作者:Andrii's Quest。原内容依 CC BY-SA 4.0 授权,本页摘要同样依 CC BY-SA 4.0 授权。
来源
本页事实对应的公开页面,以原文为准。