需求描述:编码实现向 turtlesim 发送请求,在乌龟显示节点的窗体指定位置生成一乌龟,这是一个服务请求操作。
实现分析:
- 首先,需要启动乌龟显示节点。
- 要通过ROS命令,来获取乌龟生成服务的服务名称以及服务消息类型。
- 编写服务请求节点,生成新的乌龟。
实现流程:
- 通过ros命令获取服务与服务消息信息。
- 编码实现服务请求节点。
- 启动 roscore、turtlesim_node 、乌龟生成节点,生成新的乌龟。
服务名称与服务消息获取
简单实现,通过命令的形式调用服务并生成一只小乌龟
服务客户端实现
创建功能包需要依赖的功能包: roscpp rospy std_msgs turtlesim
#! /usr/bin/env python
import rospy
from turtlesim.srv import Spawn,SpawnRequest,SpawnResponse
"""
需求:向服务器发送请求生成一只乌龟
话题:/spawn
消息:turtlesim/Spawn
1、导包
2、初始化ROS节点
3、创建服务的客户端对象
4、组织数据并发送请求