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文件,添加依赖项,在文件中输入:
<build_depend>message_generation</build_depend>
<exec_depend>message_runtime</exec_depend>
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.自定义消息实验到此结束