内容来自b站up:Autolabor官方
一、rosrun turtlesim turtlesim_node生成乌龟 后再生成新乌龟
#! /usr/bin/env python
"""
需求:向服务器发送请求生成一个乌龟
话题:/spawn
消息类型:turtlesim/Spawn
1. 导包
2. 初始化ROS节点
3. 创建服务的客户端对象
4. 组织数据并发送请求
5. 处理响应结果
"""
import rospy
from turtlesim.srv import Spawn,SpawnRequest,SpawnResponse
if __name__ == "__main__":
# 2. 初始化ROS节点
rospy.init_node("service_call_p")
# 3. 创建服务的客户端对象
client = rospy.ServiceProxy("/spawn",Spawn) # /spawn是话题名称
# 4. 组织数据并发送请求
# 4.1 组织数据
request = SpawnRequest()
request.x = 4.5
request.y = 2.0
request.theta = -3 # 向右转3个rad
request.name = "turtle2"
# 4.2 判断服务器状态并发送
client.wait_for_service() # 服务端开启则执行,否则挂起
# 防止抛出异常
try:
response = client.call(request)
# 5. 处