How can I publish messages on particular timestamps?
In the tutorial pages we have the classical "talker" publisher node
#!/usr/bin/env python
# license removed for brevity import rospy from std_msgs.msg import String
def talker():
pub = rospy.Publisher('chatter', String, queue_size=10)
rospy.init_node('talker', anonymous=True)
rate = rospy.Rate(10) # 10hz
while not rospy.is_shutdown():
hello_str = "hello world %s" % rospy.get_time()
rospy.loginfo(hello_str)
pub.publish(hello_str)
rate.sleep()
if __name__ == '__main__':
try:
talker()
except rospy.ROSInterruptException:
pass
Here, the talker publish a "hello world" at a rate of 10Hz (???).
I don't want that. Suppose that I have a text file "time_stamps.txt" that have a set of lines, each one containing a publication timestamp in the form <timestamp seconds> <timestamp nseconds>
I want to publish "hello world" at the rate that my text file specifies. How can I do this?