创建工作空间和功能包
- mkdir ws/src
- cd ws
- catkin_make
- source devel/setup.bash
- cd src
- catkin_create_pkg my_pkg std_msgs rospy roscpp
进入功能包,在功能包中创建msg文件夹,在msg文件夹中创建MyCustomMessage.msg,写入
- Header header
- std_msgs/Float32MultiArray data
在功能包的CMakeLists.txth中写入
- find_package(catkin REQUIRED COMPONENTS
- roscpp
- std_msgs
- message_generation
- )
-
- add_message_files(
- FILES
- MyCustomMessage.msg
- )
-
- generate_messages(
- DEPENDENCIES
- std_msgs
- )
-
- catkin_package(
- CATKIN_DEPENDS roscpp std_msgs
- )
回到工作空间,catkin_make编译。就会在 工作空间/devel/include/包名目录下生成MyCustomMessage.h。将这个头文件复制到其他的C++项目,在其他C++项目中就可以使用这个消息类型。
如果是python项目想要使用这个消息类型,在 工作空间/devel/lib/python3/dist-packages/包名/msg这个路径放着python可以用的自定义消息文件,将 工作空间/devel/lib/python3/dist-packages 文件夹内的“包名”文件夹复制到自己的python中
from 包名.msg import MyCustomMessage
就可以使用这个自定义消息类型了。