ROS学习笔记(六)(自定义话题消息)

1.自定义话题消息自定义,我们先在目录/catkin_ws/src/learning_sun/msg下创建一个名为Person.msg的msg类型文件

2.在文件中输入:

string name
uint8 sex
uint8 age

uint8 unknown = 0
uint8 male = 1
uint8 female = 2

uint32 seq
time stamp
string frame_id

3.文件创建完毕,接下来需要编译文件,退回到src目录下,先修改package.xml文件,添加依赖项,在文件中输入:

  message_generation
  message_runtime

4.package.xml文件修改完毕,我们接着在CMakeList文件中修改配置选项,打开CMakeList文件,增加或修改以下选项:

此处注意add_message_files()与generate_messages()一定要在catkin_package()前面才可编译通过

find_package(catkin REQUIRED COMPONENTS
  roscpp
  rospy
  std_msgs

  geometry_msgs
  message_generation
)

add_message_files(
   FILES
   Person.msg
 )

 generate_messages(
   DEPENDENCIES
   std_msgs
 )
catkin_package(
#  INCLUDE_DIRS include
#  LIBRARIES learning_sun
#  CATKIN_DEPENDS roscpp rospy std_msgs
#  DEPENDS system_lib
   CATKIN_DEPENDS geometry_msgs roscpp rospy std_msgs message_runtime
)

5.修改好文件后,退出到catkin_ws目录,执行catkin_make命令编译文件,当进度达到100%时即为编译完成。

6.输入命令 rosmsg show Person查看是否自定义消息生效,如果生效,则会有如下日志:

[learning_sun/Person]:
uint8 unknown=0
uint8 male=1
uint8 female=2
string name
uint8 sex
uint8 age
uint32 seq
time stamp
string frame_id

7.自定义消息实验到此结束

你可能感兴趣的:(ROS学习,ROS,自定义消息,CMakeList,package.xml)