概述

ROS 和 RobotWebTools 在构建我们最新的分布式交互体验方面非常有用。 我们将继续基于其庞大的现有设备驱动程序目录,快速开发面向浏览器的 ROS 体验。 无论客户希望他们的交互使用触摸屏、操纵杆、灯光、声音,还是任何可以插入墙上的东西,我们现在都自信地说,可以做到。

ROS 结构

典型的 ROS 系统由一组(“图”)节点组成,这些节点与(通常是 TCP)消息传递进行通信。 消息传递的主题可以是发布/订阅命名空间或请求/响应服务。 ROS 绑定适用于多种语言,但 C++ 和 Python 是唯一受支持的直接编程接口。 ROS 节点可以是自定义逻辑处理器、聚合器、仲裁器、用于调试的命令行工具、原生 Arduino sketch,或者任何其他可以想象到的,来自其他节点的数据流的消费者。

rosbridge 服务器,用 Python 中的 rospy 实现,是一个 ROS 节点,它通过简单的 JSON 协议,为 ROS 图提供 Web 套接字接口,使任何可以连接到 Web 套接字并解析 JSON 的语言,轻松地与 ROS 进行通信 。数据是从图的任何节点发布到消息主题(或多个主题),而 rosbridge 服务器只是这些主题的另一个订阅者。 这是将 ROS 图的所有魔力带入浏览器的关键部分。

rosbridge JSON 协议的一个方便的特性是动态创建主题的能力。 对于需要多个屏幕显示同步内容的交互式展览,仅在 Web 套接字客户端之间发布和订阅的主题是一种快速的数据共享方式,无需编写“第三条腿”ROS 节点来处理输入仲裁和逻辑。

浏览器设置

跨浏览器应用开发

源代码(仅JavaScript)

附:ROS-Web控制中心源代码

详情参阅 亚图跨际

ROS 简单的跨浏览器通信相关推荐

  1. Web跨浏览器进程通信

    Web跨域已是老生常谈的话题,这次来尝试下跨域浏览器进程之间的通信 -- 这在过去基本依靠网络中转实现. 在之前一篇文章里尝试了跨浏览器的数据共享,最后提到使用LocalConnection还可以实现 ...

  2. js 跨浏览器tab页通信

    问题 今天遇到一个问题,在商品列表页面,打开一个新增商品的页面,新增完后,商品列表要立刻显示新增商品,这就需要新增商品后,通知订单列表页,也就是常说的跨tab页通信.跨tab页通信,不仅包含常见的跨t ...

  3. jsonp+ajax实现浏览器跨域通信

    2019独角兽企业重金招聘Python工程师标准>>> Ajax/XDomainRequest 网络跨域访问控制 jsonp是一种技术手段而不是一种协议,也不是json数据. < ...

  4. 使用 JSONP 实现跨域通信,第 2 部分: 使用 JSONP、jQuery 和 Yahoo! 查询语言构建 mashup...

    使用 JSONP 实现跨域通信,第 2 部分: 使用 JSONP.jQuery 和 Yahoo! 查询语言构建 mashup 使用 JSONP 实现跨域通信,第 2 部分: 使用 JSONP.jQue ...

  5. Binder跨进程通信原理(一):动态内核加载模块

    先上一张Binder 的工作流程图.(如果不清晰,可以 复制图片链接到浏览器 或 保存到本地 查看,我经常都是这样看图的哈) 一开始上手,陌生的东西比较多,But,其实并不复杂.喔,流程图是用 Pro ...

  6. 【JavaScript】父子页面之间跨域通信的方法

    由于同源策略的限制,JavaScript跨域的问题,一直是一个比较棘手的问题,为了解决页面之间的跨域通信,大家煞费苦心,研究了各种跨域方案.之前也有小网同学分享过一篇"跨域,不再纠结&quo ...

  7. 面试官:前端跨页面通信,你知道哪些方法?

    引言 在浏览器中,我们可以同时打开多个Tab页,每个Tab页可以粗略理解为一个"独立"的运行环境,即使是全局对象也不会在多个Tab间共享.然而有些时候,我们希望能在这些" ...

  8. 使用window.postMessage实现跨域通信

    JavaScript由于同源策略的限制,跨域通信一直是棘手的问题.当然解决方案也有很多: document.domain+iframe的设置,应用于主域相同而子域不同: 利用iframe和locati ...

  9. ios 跨域_如何在iOS和Android中建立跨域通信桥

    ios 跨域 I was working on a certain project at work, in which I needed to connect several varying comp ...

最新文章

  1. keras 的 example 文件 antirectifier.py 解析
  2. pandas datafrae merge操作
  3. 干货!图神经网络及其自监督学习
  4. 第四章 Rails 背后的 Ruby
  5. 交叉报表问题 subDataset
  6. 关于构造函数和this调用的思考
  7. 计算机指令取决,不同的计算机,其指令不同,这主要取决于什么?
  8. remoteing2
  9. 笨方法学python(本文为阅读时从此书摘录的笔记) 第五天
  10. 每日一题(34)—— 线程
  11. highscore软件_软件|标准物质PDF卡片查找HighScore
  12. Python学习入门2:Python学习路线(课程大纲+Python视频教程+下载地址)
  13. 响应式图片srcset全新释义sizes属性w描述符
  14. javascript--this机制
  15. regnam r语言_求助:R语言进行增加值分解的一部分代码看不懂,求大神过目
  16. 思科防火墙ASA5506X总是自动重启查看crash日志
  17. 图片降噪Topaz DeNoise AI 安装小技巧
  18. PHP中的SAPI是什么,都有那些模式?
  19. Web,Servlet,网络复习,超全,快来看
  20. 如何在 Azure VM上挂盘(windows 和 linux)

热门文章

  1. yarn logs 查看日志
  2. FFMpeg.AutoGen(1)讲解官方example代码:Main函数、 解码
  3. 十大Web压力测试工具
  4. 推荐一款学习app:Enki
  5. 渐进式web应用程序_为什么渐进式Web应用程序很棒,以及如何构建一个
  6. keras训练过程中发生的一些报错及其解决办法
  7. 数论-FTT 和 NTT
  8. 2021-08-19
  9. CAD2017打开图纸点字体替换时没有字体选择框的问题
  10. 韩版机泛泰A850framework去除漫游、本地化