ROS学习(五)-服务数据的定义与使用

一、 定义srv文件

string name
uint8 age
uint8 sex

uint8 unknown = 0
uint8 male    = 1
uint8 female  = 2
---
string result

二、 在package.xml 中添加功能包依赖

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

三、 在CMakeList.txt 添加编译选项

find_package( ...... message_generation)

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

catkin_package( ...... message_runtime)

写完client和server需要配置CMakeList.txt中的编译规则

  1. 设置需要编译的代码合生成的可执行文件
  2. 设置链接库
  3. 添加依赖项
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)

四、 编译生成语言相关文件

发布了11 篇原创文章 · 获赞 1 · 访问量 425

猜你喜欢

转载自blog.csdn.net/weixin_42313598/article/details/104564119