一、新建文件夹:scripts
二、新建python文件:demo01_server_p.py
1、编辑python文件
#! /usr/bin/env python3
import rospy
from plumbing_server_client.srv import *
"""
服务端:解析客户端请求,产生响应
1、导包;
2、初始化ROS节点;
3.创建服务端对象;
4.处理逻辑(回调函数);
5.spin()
"""
#参数:封装了请求数据
#返回值:响应数据
def doNum(request):#4.处理逻辑(回调函数);
#1.解析提交的两个整数
num1=request.num1
num2=request.num2
#2.求和
sum=num1+num2
#3.将结果封装进响应
response=AddIntsResponse()
response.sum=sum
rospy.loginfo("服务器解析的数据:num1=%d,num2=%d,响应的结果:sum=%d",num1,num2,sum)
return response
if __name__ =="__main__":
#2、初始化ROS节点;
rospy.init_node("danYan")
#3.创建服务端对象;
server=rospy.Service("addInts",AddInts,doNum)
rospy.loginfo("服务器已经启动")
#4.处理逻辑(回调函数);
#5.spin()
rospy.spin()
2、配置CMList.tst文件
catkin_install_python(PROGRAMS
scripts/demo01_server_p.py
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
3、配置可执行权限
chmod +x *.py
ll
4、编译
ctrl+shift+b
三、观察结果
1、启动ros核心:roscore
2、打开工作空间
3、source ./devel/setup.bash
4、启动服务:rosrun plumbing_server_client demo01_server_p.py
5、另开窗口,source ./devel/setup.bash
6、rosservice call addInts 按下Tab键,“num1: 10
num2: 30”