1. 创建package

  1. ros2 pkg create --build-type ament_python py_srvcli --dependencies rclpy example_interfaces

可以修改package.xml文件如下信息

  1. <description>C++ client server tutorial</description>
  2. <maintainer email="you@email.com">Your Name</maintainer>
  3. <license>Apache License 2.0</license>

2. 编写server节点代码

2.1 编写代码

  1. 在package的py_srvcli下创建server.py文件,代码如下 ```python from example_interfaces.srv import AddTwoInts import rclpy from rclpy.node import Node

class MyServer(Node): def init(self): super(MyServer, self).init(‘py_server’) self.service = self.create_service(AddTwoInts, ‘py_service’, self.call_back)

  1. def call_back(self,req,res):
  2. res.sum = req.a+req.b
  3. return res

def main(): rclpy.init() node = MyServer() rclpy.spin(node) rclpy.shutdown()

if name == ‘main‘: main()

  1. <a name="HyZX0"></a>
  2. ## 2.2 添加配置
  3. 1. 打开setup.py文件,在console_scripts节点下添加配置
  4. ```python
  5. 'server = py_srvcli.server:main',

3. 编译工程

  1. colcon build

4. 运行节点

  1. ros2 run py_srvcli service