机器人操作系统ROS原理及应用 课件 22 编写服务请求(client)程序(python)_第1页
机器人操作系统ROS原理及应用 课件 22 编写服务请求(client)程序(python)_第2页
机器人操作系统ROS原理及应用 课件 22 编写服务请求(client)程序(python)_第3页
机器人操作系统ROS原理及应用 课件 22 编写服务请求(client)程序(python)_第4页
机器人操作系统ROS原理及应用 课件 22 编写服务请求(client)程序(python)_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

编写服务请求程序1、导包rospy2、导入服务类型(根据要调用的服务导入相应的类型)使用rosserviceinfo服务了解该服务使用的数据类型使用rossrvshow类型了解该服务数据类型的详细定义,方便在程序中使用

编写服务请求(client)程序的步骤服务名类型参数/clearstd_srvs/Empty无/killturtlesim/Killname/resetstd_srvs/Empty无/spawnturtlesim/Spawnxythetaname/turtle1/set_penturtlesim/SetPenrgbwidthoff/turtle1/teleport_absoluteturtlesim/TeleportAbsolutexytheta/turtle1/teleport_relativeturtlesim/TeleportRelativelinearangular2、导入服务类型对于每个定义好的服务类,系统会自动生成Request和Response类型,用于发送调用服务的参数和接收响应数据例如:Spawn类自动生成SpawnRequest、SpawnResponse类型,SpawnRequest用于调用服务时传送创建乌龟的坐标等参数SpawnResponse用于接收创建成功后的响应数据(在对应的服务名后面加上Request、Response构成请求、响应的数据类型)

编写服务请求(client)程序的步骤2、导入服务类型服务数据类型的详细定义:用---把数据分为请求(client)和响应(server)两部分(1)无请求数据,无响应数据(2)有请求数据,有响应数据(3)有请求数据,无响应数据

编写服务请求(client)程序的步骤3、初始化节点4、定义client变量并调用rospy.ServiceProxy()函数初始化,设定参数(指定服务名,服务类型)5、等待服务端启动(阻塞)6、定义请求变量并填充参数(调用无参数的服务不需要这一步)7、调用服务并接收响应

编写服务请求(client)程序的步骤程序功能:程序调用turtlesim节点的/spawn服务,在指定的坐标生成海龟

示例1:编写服务请求程序(有参数)导入服务类型,SpawnRequest、SpawnResponse是系统自动生成的类型定义SpawnRequest类型变量用于设置参数阻塞调用进程,等待服务响应定义服务调用的客户端并初始化调用服务,把响应结果存变量response中定义SpawnResponse类型变量用于处理响应程序功能:程序调用turtlesim节点的/clear服务,清除轨迹

示例2:编写服务请求程序(无参数)定义服务调用的客户端并初始化导入服务类型1、参考课件示例,编写并运行示例1、示例22、编写服务调用程序1,运行后重置海龟3、编写服务调用程序2,运行后杀掉一个海龟4、编写服务调用程序3,运行后改变海龟运行轨迹的颜色和宽度5、编写服务

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论