【发布时间】:2019-09-29 20:43:06
【问题描述】:
我在弄清楚如何编写一个发布者节点 (ROS Python) 时遇到问题,它将向订阅者发送我需要为我的家庭作业做的实际时间 (IE: 12:46)。我需要发布实际时间,以便订阅者可以使用该时间,以及通过服务请求的时间差来计算世界其他地方的时间。 (即:Node1发布纽约时间,Node2订阅并请求当前位置-纽约-与伦敦的时差。Node1将时差信息发送给Node2。Node2取当前时间和时差相加后查找伦敦的当前时间)
我已经用谷歌搜索了这个问题,但找不到任何有用的信息。我发现一些令人困惑的消息来源说如何以秒为单位获得模拟时间,以及(也许)以秒为单位的时钟时间,但我并没有真正理解他们所说的足以使用这些信息的内容。
我到目前为止的代码:对不起,IDK 如何在这个网站上正确格式化它
#!/usr/bin/env python
from beginner_tutorials.srv import TimeDiff, TimeDifResponse
from std_msgs.msg import Time
import rospy
pub = rospy.Publisher('currentTime', Time, queue_size=10)
CurrentTime= localtime()
def setupPublisher():
rospy.init_node('talker', anonymous=True)
rate = rospy.Rate(5) # 5hz
while not rospy.is_shutdown():
global CurrentTime
CurrentTime= localtime()
pub.publish(CurrentTime)
rate.sleep()
if __ name __ == "__ main __":
setupPublisher()
我真的没有任何代码可以分享,因为我不知道如何整合时间。这是我目前所拥有的,但我认为它不正确
它应该将时间发布给订阅者,但我不知道它在做什么,或者我应该使用什么变量,或者与此相关的任何事情。我们根本没有在课堂上了解到这一点。
【问题讨论】:
-
你为什么不认为这是正确的?会发生什么,您预计会发生什么?