博主环境:
OS:Ubuntu 16.04 ROS: Kinetic
Protobuf 简介
ProtoBuf是一种灵活高效的独立于语言平台的结构化数据表示方法,可用于表示通信协议和数据存储等各方面,与XML相比,ProtoBuF更小更快更简单。你可以用定义自己ProtoBuf的数据结构,用ProtoBuf编译器生成特定语言的源代码,(如C++,Java,Python等,目前ProtoBuf对主流的编程语言都提供了支持)方便的进行序列化和反序列化。
前期准备
为了对比通讯的实时性,本文将ROS中的odom话题作为实时数据流输入。
ros::init(argc, argv, "odom");
ros::NodeHandle n;
ros::Subscriber sub = n.subscribe("odom", 1000, odomCallback);
并在回调函数中进行打印输出:
ROS_INFO_STREAM("--------------------------------");
std::cout << msg->pose.pose.position.x << std::endl;
std::cout << msg->pose.pose.position.y << std::endl;
std::c