ROS系列:话题(三)

提示:ROS学习记录


前言

提示:自定义话题通讯学习记录:

创建自定义消息类型,使得消息数据类型不再单一化。


提示:以下是学习记录

一、基本步骤

1、创建msg自定义文件
2、配置相关文件
3、编译生成可以被调用的中间文件

二、实例

1.msg自定义文件

代码如下(示例):
在这里插入图片描述

2.配置package.xml&CMakeLists.txt相关配置

代码如下(示例):message_generation&message_runtime
在这里插入图片描述
find_package、add_message_files、generate_messages、catkin_package

其中1属于编辑依赖,依赖于4;3是配置msg源文件;4是运行依赖;
在这里插入图片描述

3.使用c++或者python调用的msg时应该先对vscode进行配置路径

c++:/xxx/xxx工作空间/devel/include/** 编译后在devel之中找配置head文件路径
python:/xxx/xxx工作空间/devel/lib/python3/dist-packages 右键终端中打开输入pwd获取路径信息

扫描二维码关注公众号,回复: 16186152 查看本文章

4.使用c++或者python调用的msg

1、发布者&订阅者(C++):注意这里与上一节不同还要对CMakeLists.txt中这一项进行配置:
add_dependencies(xxxx ${PROJECT_NAME}_generate_messages_cpp) ``add_dependencies(yyyy ${PROJECT_NAME}_generate_messages_cpp)
在这里插入图片描述2、发布者&订阅者(python):注意python需要在CMakeLists.txt中配置一下:

catkin_install_pyton(
	scripts/xxxx.py
	......
	
)

可以合一起,也可以单独写
在这里插入图片描述
python还需要对文件更改权限,终端输入chmod +x *.py

chmod +x *.py

可以使用ll查看:

ll

总结

例如:今天主要使用了msg自定义文件,通过调用自定义文件,可以通过话题传输各种类型的消息,类似一个c语言中的结构体。

猜你喜欢

转载自blog.csdn.net/TianHW103/article/details/127001617
今日推荐