自己ROS2添加自定义话题的一点总结
自定义话题需要放专门一个功能包,然后其他功能包里面引用这个自定义话题
msg文件命名有规则,需要头字母大写,中间没有_
而引用的自定义消息的头文件名称,不一定是msg文件名,头字母会小写,具体可以去install文件夹看编译生成的实际头文件名称
python的ROS2功能包里面引用自定义话题,只用python文件里面加上import 即可,不用像C++一样改什么cmakelists python ROS2里面引用自定义消息可以看 ROS2 入门应用 引用自定义消息(Python)_ros2如何引用自定义的消息-CSDN博客 https://gitee.com/maxibooksiyi/xianfei_-z-9-b_pod_test/blob/xianfei-ros2/xianfei_ros2_ws/src/ros2_camera_img_pub/camera_img_pub/kcf_demo_sub_img.py
msg文件里面具体的类型名称可以看这个,写得不对,就没法编译通过。 【ROS2概念】系列(十三)——ROS2如何创建自定义msg、srv和action文件 - 简书
C++功能包里面想使用其他功能包里的自定义消息,只需要让这个功能包找到对应功能包就可以了,也就是最终保证cpp可以找到对应消息类型的头文件即可,所以三步 cmakelists里面 find_package(custom_msgs REQUIRED) package.xml里面 <depend>custom_msgs</depend> cpp里面 #include <custom_msgs/srv/command_string.hpp>
对于专门存放自定义消息的功能包,改动参考这个