1、自定义服务数据,在learning_service下,打开终端。输入:touch Person.srv
在Person.srv下输入:
string name
uint8 age
uint8 sex
uint8 unknown = 0
uint8 male = 1
uint8 female = 2
---
string result
2、在package.xml下添加:
<build_depend>message_generation</build_depend>
<exec_depend>message_runtime</exec_depend>
3、在上述图片的cmakelist下的find下添加message_generation(功能包),作为依赖。
add_service_files(FILES Person.srv)
generate_messages(DEPENDENCIES std_msgs)
message_runtime
4、编译:在catkin_ws下打开终端编译:catkin_make
5、查看生成的编译文件:
6、如何使用编译好的头文件?
创建服务器代码:
7、进行编译:
add_executable(turtle_spawn src/turtle_spawn.cpp)
target_link_libraries(turtle_spawn ${catkin_LIBRARIES})
add_executable(person_server src/person_server.cpp)
target_link_libraries(person_server ${catkin_LIBRARIES})
add_dependencies(person_server ${PROJECT_NAME}_gencpp)
add_executable(person_client src/person_client.cpp)
target_link_libraries(person_client ${catkin_LIBRARIES})
add_dependencies(person_client ${PROJECT_NAME}_gencpp)
8、编译运行发布者和订阅者
编译后的结果可以在lib下查看