提示: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获取路径信息
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语言中的结构体。