ros入门——服务数据的定义与使用ros入门——服务数据的定义与使用

 

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

ros入门——服务数据的定义与使用

 

2、在package.xml下添加:

<build_depend>message_generation</build_depend>
  <exec_depend>message_runtime</exec_depend>
 

ros入门——服务数据的定义与使用

3、在上述图片的cmakelist下的find下添加message_generation(功能包),作为依赖。

ros入门——服务数据的定义与使用

 

add_service_files(FILES Person.srv)
generate_messages(DEPENDENCIES std_msgs)

ros入门——服务数据的定义与使用

 

message_runtime

ros入门——服务数据的定义与使用

4、编译:在catkin_ws下打开终端编译:catkin_make

5、查看生成的编译文件:

ros入门——服务数据的定义与使用

6、如何使用编译好的头文件?

创建服务器代码:

ros入门——服务数据的定义与使用

 

7、进行编译:

ros入门——服务数据的定义与使用

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下查看

ros入门——服务数据的定义与使用

ros入门——服务数据的定义与使用

ros入门——服务数据的定义与使用

 

相关文章:

  • 2021-12-13
  • 2022-12-23
  • 2021-12-08
  • 2022-12-23
  • 2022-12-23
  • 2021-06-11
  • 2021-07-25
  • 2021-09-13
猜你喜欢
  • 2021-12-06
  • 2021-06-27
  • 2021-12-31
  • 2022-12-23
  • 2021-10-09
  • 2021-05-27
  • 2021-07-11
相关资源
相似解决方案