ROS学习之 cpp消息


PARAMETERS
 * /rosdistro: jade
 * /rosversion: 1.11.16


wiki链接: http://wiki.ros.org/roscpp/Overview/Messages

    1、消息生成

        和所有ROS客户端库相同,roscpp使用msg文件来生成c++代码。
        模式如下: package_name/msg/Foo.msg ->package_name::Foo

        相同地,srv文件也生成c++代码,模式如下:
        package_name/srv/Foo.srv ->package_name::Foo

        生成的源代码文件放在msg_gen/cpp/include/package_name/目录和srv_gen/cpp/include/package_name/目录下,
        头文件和msg/srv文件名相同。
            我具体看了一下:c++生成的文件存放在 catkin_ws/devel/include/package_name下
                 python生成的文件存放在 catkin_ws/devel/lib/python2.7/dist-packages/package_name/目录下的msg和srv文件目录下

        包含std_msgs程序包下的String消息,使用: #include
        实例化该消息: std_msgs::String str;
        对于不同c++代码导致的不同消息原型,参见msg本页的消息类型定义: http://wiki.ros.org/msg

    2、暴露消息给其它程序包使用

        在ROS1.1+中,这项自动处理。
        为使其它程序包使用本程序包下定义的消息,必须在package.xml文件中添加标签项。
            
                
                
            


   3、关于消息的一些高级使用

          
        消息特征(traits): http://wiki.ros.org/roscpp/Overview/MessagesTraits
        自定义容器分配器[ROS1.1+]: http://wiki.ros.org/roscpp/Overview/MessagesCustomAllocators
        序列化和适应类型: http://wiki.ros.org/roscpp/Overview/MessagesSerializationAndAdaptingTypes


你可能感兴趣的:(ROS)