创建工作空间和功能包
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
就可以使用这个自定义消息类型了。