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小结的更多相关文章

  1. 从零开始编写自己的C#框架(26)——小结

    一直想写个总结,不过实在太忙了,所以一直拖啊拖啊,拖到现在,不过也好,有了这段时间的沉淀,发现自己又有了小小的进步.哈哈...... 原想框架开发的相关开发步骤.文档.代码.功能.部署等都简单的讲过了 ...

  2. Python自然语言处理工具小结

    Python自然语言处理工具小结 作者:白宁超 2016年11月21日21:45:26 目录 [Python NLP]干货!详述Python NLTK下如何使用stanford NLP工具包(1) [ ...

  3. java单向加密算法小结(2)--MD5哈希算法

    上一篇文章整理了Base64算法的相关知识,严格来说,Base64只能算是一种编码方式而非加密算法,这一篇要说的MD5,其实也不算是加密算法,而是一种哈希算法,即将目标文本转化为固定长度,不可逆的字符 ...

  4. iOS--->微信支付小结

    iOS--->微信支付小结 说起支付,除了支付宝支付之外,微信支付也是我们三方支付中最重要的方式之一,承接上面总结的支付宝,接下来把微信支付也总结了一下 ***那么首先还是由公司去创建并申请使用 ...

  5. iOS 之UITextFiled/UITextView小结

    一:编辑被键盘遮挡的问题 参考自:http://blog.csdn.net/windkisshao/article/details/21398521 1.自定方法 ,用于移动视图 -(void)mov ...

  6. K近邻法(KNN)原理小结

    K近邻法(k-nearst neighbors,KNN)是一种很基本的机器学习方法了,在我们平常的生活中也会不自主的应用.比如,我们判断一个人的人品,只需要观察他来往最密切的几个人的人品好坏就可以得出 ...

  7. scikit-learn随机森林调参小结

    在Bagging与随机森林算法原理小结中,我们对随机森林(Random Forest, 以下简称RF)的原理做了总结.本文就从实践的角度对RF做一个总结.重点讲述scikit-learn中RF的调参注 ...

  8. Bagging与随机森林算法原理小结

    在集成学习原理小结中,我们讲到了集成学习有两个流派,一个是boosting派系,它的特点是各个弱学习器之间有依赖关系.另一种是bagging流派,它的特点是各个弱学习器之间没有依赖关系,可以并行拟合. ...

  9. scikit-learn 梯度提升树(GBDT)调参小结

    在梯度提升树(GBDT)原理小结中,我们对GBDT的原理做了总结,本文我们就从scikit-learn里GBDT的类库使用方法作一个总结,主要会关注调参中的一些要点. 1. scikit-learn ...

随机推荐

  1. 【LeetCode】34. Search for a Range

    Search for a Range Given a sorted array of integers, find the starting and ending position of a give ...

  2. 【LeetCode】50. Pow(x, n) (3 solutions)

    Pow(x, n) Implement pow(x, n). 按照定义做的O(n)肯定是TLE的. 利用这个信息:x2n = (xn)2 有个注意点,当n为负是,直接取反是不可行的. 由于int的表示 ...

  3. 将form表单转化为json数据

    参考地址:https://github.com/hongymagic/jQuery.serializeObject

  4. 浅析若干Java序列化工具【转】

    在Java中socket传输数据时,数据类型往往比较难选择.可能要考虑带宽.跨语言.版本的兼容等问题.比较常见的做法有: 采用java对象的序列化和反序列化 把对象包装成JSON字符串传输 Googl ...

  5. C#--类之隐藏基类的成员

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  6. [Jobdu] 题目1463:招聘会

    题目描述: 又到毕业季,很多大公司来学校招聘,招聘会分散在不同时间段,小明想知道自己最多能完整的参加多少个招聘会(参加一个招聘会的时候不能中断或离开). 输入: 第一行n,有n个招聘会,接下来n行每行 ...

  7. JPDA and Set up Tomcat for Remote Debugging

    * About JPDA (http://docs.oracle.com/javase/7/docs/technotes/guides/jpda/architecture.html) JPDA: (J ...

  8. Linux系统cp: omitting directory `XXX'问题解决

    在linux系统中复制文件夹时提示如下: cp: omitting directory `foldera/' 其中foldera是我要复制的文件夹名,出现该警告的原因是因为foldera目录下还存在目 ...

  9. cocos2d-x分别在Visual Studio和eclipse中设置启用Box2D

    cocos2d-x内嵌有chipmunk和Box2D两个物理库,默认启用的是chipmunk.如果想使用Box2D,可做如下设置.PS:本人所用的版本是cocos2d-x-2.2.5. 一.在Visu ...

  10. 二分箭术--G&K稳健过神思路

    自从资料片开始,一直在思考稳定可靠的过神思路,现在有眉目了,试验了几把感觉不错,先分享如下: 1)只开2个分城,特殊情况除外.Re: 经过多次打的经验,开2个分城比开3个分城更容易选址,政策更快,快乐 ...