机器人操作系统ROS原理及应用 课件 21 服务.pptx

机器人操作系统ROS原理及应用 课件 21 服务.pptx

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

服务(service);Service通信 ;service方式在通信模型上与topic不同。Service通信是双向的,它不仅可以发送消息,同时还会有反馈。

所以service包括两部分,一部分是请求方(Clinet)[客户],另一部分是应答方/服务提供方(Server)。通信时,客户(Client)发送一个request(请求),要等待server处理,然后反馈回一个reply/response(回复/应答),这样通过“请求-应答”的机制完成整个服务通信

;service是同步通信方式,所谓同步就是节点A(请求方)发布请求后会在原地等待响应,直到节点B(服务方)处理完了请求并且完成了响应,节点A才会继续执行。节点A在等待响应的过程中是处于阻塞状态。这样的通信模型没有频繁的消息传递,没有冲突与高系统资源的占用,只有接受请求才执行服务,简单高效

;Service与topic异同

远程过程调用(RemoteProcedureCall,RPC),可以简单通俗的理解为在一个进程里调用另一个进程的函数;1、使用命令rosservice

2、编写client/server程序server

;查看乌龟节点服务、话题信息

rosnodeinfo/turtlesim

;rosservicelist列出所有服务

(包含仿真海龟提供的服务)

;rosserviceinfo[服务名];rossrvshow[类型名]

;调用服务(无参数)

1、清除轨迹rosservicecall/clear

;调用服务(无参数)

2、重置复位rosservicecall/reset

;调用服务(有参数)

3、生成新乌龟

rosservicecall/spawn550turtle2

;调用服务(有参数)

4、杀乌龟

rosservicecall/killturtle1

;调用服务(有参数)

5、设置轨迹的颜色、宽度

rosservicecall/turtle1/set_pen{255,0,0,5,0}

;调用服务(有参数)

6、移动乌龟到指定坐标和朝向

rosservicecall/turtle1/teleport_absolute{10,10,1.57};调用服务(有参数)

7、设置线速度、角度移动乌龟

rosservicecall/turtle1/teleport_relative{5,1.57};使用rostopic、rosservice命令绘制以下图形

?

;使用rostopic命令绘制以下图形

分析:

整个图形由不连续的几段

图形构成,需要控制乌龟

分别绘制。绘制完成其中

一段后,杀掉乌龟,然后

在下一段需要绘制图形的

坐标点生成一只新的乌龟绘制

相应的图形,直至全部图形绘制完成。;使用rostopic命令绘制

;1、参考课件,在自己电脑上练习示例1-8

2、使用rostopic绘制下列图形

???

您可能关注的文档

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档