繁体   English   中英

如何在C ++中的ROS袋文件中写入字符串消息

[英]how to write a string message in a ROS bag file in C++

我很确定这个基本问题已经在某个地方找到了答案,但是很遗憾,我找不到它。

现在,我有以下内容(无法编译):

rosbag::Bag my_bag;
my_bag.write("/test_topic", timestamp, "str")
// write() expects a message type, as a std_msgs::String

我想我必须将其作为消息来编写,因此,我尝试使用std_msgs :: String,但是我不知道如何使用它,并且该文档对本主题的帮助不大。

我还尝试从此处改编以下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

提前致谢

我只需要构建一个ROS字符串消息。

这是代码:

rosbag::Bag my_bag;
std_msgs::String str_message;
str_message.data = "message content";
my_bag.write("/test_topic", timestamp, str_message);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM