跳转至

client端

1. 创建package

已经创建可省略

catkin_create_pkg demo_service roscpp rospy std_msgs

2. 编写client节点代码

demo_service目录的demo_service下创建scripts文件夹,文件夹下创建client.py文件,代码如下

#!/usr/bin/env python

import rospy
from rospy_tutorials.srv import AddTwoInts,AddTwoIntsRequest

if __name__ == '__main__':
    rospy.init_node('client')
    # 等待服务
    rospy.wait_for_service('add_two_ints')
    proxy = rospy.ServiceProxy('add_two_ints', AddTwoInts)
    data = AddTwoIntsRequest(10,20)
    result = proxy.call(data)
    print(result)

3. 配置工程

CMakeLists.txt文件中做如下修改:

catkin_install_python(PROGRAMS 
  scripts/server.py
  scripts/client.py
  DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)

3. 构建工程

在工程目录下执行如下命令

catkin_make