ROS学习(二)创建服务服务器和服务客户端进行服务通信

参考摘录自《ROS机器人编程》

本书下载链接:https://pan.baidu.com/s/163ZLpJjjOIDYgUrRY7cMdw

一.创建功能包

首先移动到工作空间目录:$ cd ~/catkin_ws/src

执行创建功能包的命令:$ catkin_create_pkg ros_tutorials_service message_generation message_runtime std_msgs roscpp

然后移动到功能包目录:$ cd ros_tutorials_service

用ls 命令可以检查功能包内包含的目录和文件:$ ls

结果为:include                        头文件目录

                  src                                 源代码目录

                  CMakeLists.txt        构建配置文件

                  package.xml            功能包配置文件

二.修改功能包配置文件(package.xml)

$ gedit package.xml

以下代码显示如何修改package.xml文件以匹配此次功能包的创建

三.修改构建配置文件(CMakeLists.txt)

$ gedit CMakeLists.txt

四.创建消息文件

$ roscd ros_tutorials_service   移动到功能包目录

$ mkdir srv                                    功能包中创建新的srv消息目录

$ cd srv                                           转到创建的srv目录

$ gedit SrvTutorial.srv                 新建和修改SrvTutorial.srv文件

内容很简单,以int64格式设计服务请求(request)a、b,和结果服务响应(response)result,如下所示。“---”是分隔符,用于分隔请求和响应。除了请求和响应之间有一个分隔符之外,它与话题的消息格式相同。

五.创建服务服务器节点(service_server)

$roscd ros_tutorials_service/src         移动到功能包的源代码目录src

$gedit service_server.cpp                     创建和修改源文件

六.创建服务客户端节点(service_client)

$ roscd ros_tutorials_service/src            移动到功能包的源代码目录src

$ gedit service_client.cpp                         创建和修改源文件

七.构建节点(catkin_make)

$ cd ~/catkin_ws                        移动到catkin目录

$ catkin_make                           执行catkin构建

八.运行主节点

$ roscore

九.运行服务服务器

$ rosrun ros_tutorials_service service_server

十.运行服务客户端

$ rosrun ros_tutorials_service service_client 2 3


猜你喜欢

转载自blog.csdn.net/dengxiong_bright/article/details/80625460