C++和Python使用ROS自定义的消息类型

创建工作空间和功能包

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

就可以使用这个自定义消息类型了。

你可能感兴趣的:(c++,开发语言)