我很确定这个基本问题在某个地方已经有了答案,但不幸的是我找不到它。
目前,我有以下内容(不编译):
rosbag::Bag my_bag;
my_bag.write("/test_topic", timestamp, "str")
// write() expects a message type, as a std_msgs::String
我想我必须把它写成一条消息,所以我尝试使用std_msgs :: String 但是我不知道如何使用它,documentation对这个主题不太有帮助。
我还尝试从here
调整以下Python代码import rosbag
with rosbag.Bag('input.bag', 'a') as bag:
from std_msgs.msg import String
metadata = String(data='my metadata')
for _, _, t in bag.read_messages():
break
bag.write('/metadata', metadata, t - roslib.rostime.Duration(0, 1))
如果重要的话,我正在使用ROS Groovy
提前致谢
答案 0 :(得分:2)
我只需要构建一个ROS字符串消息。
以下是代码:
rosbag::Bag my_bag;
std_msgs::String str_message;
str_message.data = "message content";
my_bag.write("/test_topic", timestamp, str_message);