【ROS】话题通信自定义msg实现1.1

ROS中通过std_msgs封装一些原生的数据类型,比如:String、Int32、Int64、Char、Bool、Empty......。这些数据一般只包含一个data字段,结构的单一意味着功能上的局限性。

msgs只是简单的文本文件,每行具有字段类型喝字段名称,可以使用的字段类型有:

        int8,int16,int32,int64(或者无符号类型:uint*)

        float32,float64

        string

        time,duration--->持续时间

        other msg files

        variable-length array[] and fixed-length array[c]--->变长数组和定长数据

ROS中还有一种特殊类型:Header,标头包含时间戳和ROS中常用的坐标帧信息,会经常看到msg文件的第一行具有Header标头。

流程:

        1.按照固定格式创建msg文件

        2.编辑配置文件

        3.编译生成可以被python或c++调用的中间文件

1.定义msg文件

功能包下新建msg目录,添加文件Person.msg

2.编辑配置文件

package.xml中添加编译依赖与执行依赖

CMakeLists.txt编辑msg相关配置

#需要加入message_generation,必须有std_msgs

#配置msg源文件

#生成消息时依赖于std_msgs

#执行时依赖

注意:find_package(编译依赖)如果有问题,会导致编译失败;如果find_package没问题catkin_package(运行依赖)有问题,会导致编译成功运行有问题。

3.编译

编译后的中间文件查看:

C++需要调用的中间文件(.../工作空间/devel/include/包名/xxx.h)

Python需要调用的中间文件(.../工作空间/devel/lib/python*/dist-packages/包名/msg)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值