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.h>
        实例化该消息: std_msgs::String str;
        对于不同c++代码导致的不同消息原型,参见msg本页的消息类型定义: http://wiki.ros.org/msg

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

        在ROS1.1+中,这项自动处理。
        为使其它程序包使用本程序包下定义的消息,必须在package.xml文件中添加<expose>标签项。
            <export>
                <cpp cflags="-I${prefix}/msg/cpp"/>
                <cpp cflags="-I${prefix}/srv/cpp"/>
            </export>


   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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值