ROS2/C++ 自定义消息类型

本文详细介绍了在ROS 2 dashing中如何创建并使用自定义C++消息类型,包括创建功能包、定义msg文件、修改CMakelists和package文件,以及在Python和C++中调用这些消息的步骤。文中强调了文件命名规范和消息类型的使用注意事项。
摘要由CSDN通过智能技术生成

首先注意一点,在ROS 2 dashing发行版里面,只有C++的功能包可以自定义消息类型;也就是说,在创建包的时候,只有选择 ament_cmake方式创建的包才可以自定义消息,但是python类型的功能包可以导入由C++类型包创建的自定义消息。

创建自定义消息功能包

  1. 进入工作空间
cd ~/ros_ws/src
  1. 创建功能包
ros2 pkg create --build-type ament_cmake test_msgs

由于这个功能包只是生成自定义消息类型,所以我一般都是不在这里添加任何算法,所以这个包里面也没有可执行文件,因此不需要指定节点名字。

创建msg文件

cd test_msgs
mkdir msg
gedit TestMsg.msg

TestMsg.msg文件内容如下:

float32[] x
float32[] y 

注意事项:

  1. TestMsg.msg:文件名一定要以大写开头;
  2. 文件中的变量一定全部都要小写,不能有大写出现;同时也不要出现特殊符号
  3. 在C++调用该头文件时候,会以下划线区分大写,例如上面的文件编译得到后,在c++调用时如下:
#include “test_msgs/msg/test_msg.hpp”
  1. vector的定义是在数据类型后面
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值