1. 创建package
ros2 pkg create --build-type ament_python py_srvcli --dependencies rclpy example_interfaces
可以修改package.xml文件如下信息
<description>C++ client server tutorial</description>
<maintainer email="you@email.com">Your Name</maintainer>
<license>Apache License 2.0</license>
2. 编写server节点代码
2.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)
def call_back(self,req,res):
res.sum = req.a+req.b
return res
def main(): rclpy.init() node = MyServer() rclpy.spin(node) rclpy.shutdown()
if name == ‘main‘: main()
<a name="HyZX0"></a>
## 2.2 添加配置
1. 打开setup.py文件,在console_scripts节点下添加配置
```python
'server = py_srvcli.server:main',
3. 编译工程
colcon build
4. 运行节点
ros2 run py_srvcli service