【ROS】自定义msg消息

该文指导如何在ROS环境中创建一个新包,包含自定义的消息类型slam.msg。首先通过catkin_create_pkg命令创建包,然后在msg目录下创建消息文件,定义消息结构。接着更新package.xml和CMakeLists.txt以包含必要的依赖。编译后,可以在cpp文件中引用生成的头文件来发布或订阅该消息类型。
摘要由CSDN通过智能技术生成

首先在工作目录中创建自己的包

cd slam_ws/src
catkin_create_pkg slam roscpp rospy 

新建mag文件夹存放 .msg文件

mkdir msg 
cd msg
touch slam.msg
vim slam.msg

编辑msg文件的格式

std_msgs Header header
float32 temperature
int32 humidity

修改package.xml

添加两行代码

  <build_depend>message_generation</build_depend>
  <exec_depend>message_runtime</exec_depend>

修改CMakeLists.txt

find_package中添加构建msg需要寻找的依赖包

find_package(catkin REQUIRED COMPONENTS
roscpp
message_generation
std_msgs
)

add_message_files添加自己的msg文件

add_message_files(
  FILES
  slam.msg
)

generate_message 添加创建msg文件的依赖包

添加自己的msg文件中使用到的系统中的msg

generate_message(
	DEPENDENCIES
	std_msgs
)

catkin_package中添加catkin中用到的依赖包

catkin_package(
	CATKIN_DEPENDS message_runtime roscpp
)

编译之后,就能使用这个包。

查看是否编译成功

rosmsg package <projectname>/<msgname>.msg

调用

在cpp文件中调用,生成的msg会变在devel中变成.h文件

#include <projectname/slam.h>

...

//	创建发布对象 
ros::Publisher pub = nh.advertise<projectname::slam>("pet",100);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值