根据自己的需求自定义服务数据
- 服务模型
- 自定义服务数据
类似于定义msg数据的方式,我们需要定义.srv文件
上图所示:—(三个横线)以上是请求的数据,以下是response的数据
新建文件夹srv,在这个文件夹里新建.srv的文件
find_package( …… message_generation)//在这个后面添加这一句:找到功能包的依赖
add_service_files(FILES Person.srv)//添加定义好的.srv文件
generate_messages(DEPENDENCIES std_msgs)//根据文件定义和依赖来产生对应的头文件
catkin_package(…… message_runtime)//添加编译的依赖,如下图所示,需要将CATKIN_DEPEND geometry...注释打开并在后面添加上这句
编译完成以后可以在 devel/include 里查看编译成功的头文件,会产生3个头文件
- 创建服务器代码
/**
* 该例程将执行/show_person服务,服务数据类型learning_service::Person
*/
#include <ros/ros.h>
#include "learning_service/Person.h"
// service回调函数,输入参数req,输出参数res
bool personCallback(learning_service::Person::Request &