服务数据的定义和使用
本文代码为c++,系统为ubuntu20.04
前言
依据材料:古月ros入门21讲 、 ROS机器人开发实践
1.创建.srv文件
进入到工作空间的src文件夹中,创建一下srv文件夹,指令如下:
mkdir srv
然后srv文件夹下创建Person.srv文件,指令如下:
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
打开 learning_service 下面的package.xml ,并且添加依赖如下:
<build_depend>message_generation</build_depend>
<exec_depend>message_runtime</exec_depend>
3.功能包下的CMakeLists的处理
添加功能包的依赖如下:
message_generation
告诉编译器要指向的目标以及产生的头文件 :
add_service_files(FILES Person.srv)
generate_messages(DEPENDENCIES std_msgs)
在catkin_package 中添加依赖:
message_runtime
4.编译功能包
在工作空间的根目录下,输入以下指令:
catkin_make