前言:
同消息定义一样,服务定义只是一个消息类型列表。不同的是服务调用同时具有输入和输出。
1.创建服务类型的源文件:
在my_code包下创建srv目录,用于存放服务源文件。下面定义一个WordCount服务,文件名WordCount.srv:
string words
---
uint32 count
"---"表示输入和输出的分割,string作为服务调用的输入,uint32作为服务调用的输出。
2.告知构建系统有新服务的定义:
向package.xml文件中添加以下代码即可:
<build_depend>message_generation</build_depend>
<exec_depend>message_runtime</exec_depend>
3.修改CMakeLists.txt文件参数:
修改find_packag()函数:
catkin_package()添加编译运行依赖:
add_service_files()添加自定义服务源文件文件名:
最后,generate_message()添加自定义服务所依赖的消息类型:
4.编译 :
进入工作空间:
cd ~/catkin_ws
开始编译:
catkin_make
5.查看刚定义的服务:
rossrv show WordCount