码迷,mamicode.com
首页 > 其他好文 > 详细

[转]RosBridge小结

时间:2017-10-17 12:24:32      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:方案   int   socket   col   dig   code   html   通信   调用   

1.rosbridge介绍 

rosbridge(rosbridge_suite)是ros官方为开发者提供的一个用于非ros系统和ros系统进行交互通信的功能包。rosbridge主要包含两个部分,Rosbridge Protocol和Rosbridge Implementation。其中Protocol部分提供了非ros系统和ros系统通信的具体格式,包括话题的订阅,消息的发布,服务的调用,参数的设置和获取,图片信息的传递等等,都是JSON格式的字符串。Implementation部分是rosbridge的具体实现,包含rosapi,rosbridge_library,rosbridge_server等包。rosapi通过服务调用使某些ROS action可访问,包括获取和设置参数,获取主题列表等。rosbridge_library是核心rosbridge包。rosbridge_library负责获取JSON字符串并将命令发送到ros,反之亦然。rosbridge_server负责通信的传输层,包括websocket,tcp,udp等几种格式。

2.rosbridge的安装

sudo apt-get install ros-indigo-rosbridge-server

这里我安装的是indigo版本,具体版本视自己安装的ros版本而定。

3.rosbridge应用

rosbridge针对BS 架构和CS架构分别提供了相应的解决方案。 
在BS架构中,rosbridge提供了roslibjs库,roslibjs是一个通过浏览器和ros系统进行交互的javascript库。在终端通过如下代码roslaunch rosbridge_server rosbridge_websocket.launch 
启动websocket,并在html中载入roslibjs库,就可以在html中依照指定的格式和ros系统进行通信了。 
在CS架构中,rosbridge提供了TCP协议和UDP协议两种方式,其中因为TCP协议需要三次握手,因此比较稳定准确,而UDP协议速度更快,但会发生丢包,因此存在不准确性。相应的启动方式分别为roslaunch rosbridge_server rosbridge_tcp.launch 和roslaunch rosbridge_server rosbridge_udp.launch 具体的通信内容都遵从JSON格式的字符串,详细信息请查看官网 。

[转]RosBridge小结

标签:方案   int   socket   col   dig   code   html   通信   调用   

原文地址:http://www.cnblogs.com/DarrenChan/p/7680370.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!