首页 资讯 应用 高压 设计 行业 低压 电路图 关于

机器人

旗下栏目: 物联网 机器人 新技术 仪器仪表

全平台简易接入ROS机器人系统网络方法

机器人 | 发布时间:2017-10-08 | 人气: | #评论# |本文关键字:ROS,ROS机器人系统
摘要:我实践了一个相对简单的方法去让各种平台不需要配置ROS开发环境就轻轻松松接入ROS内部网络。大家都知道ROS是基于Linux平台,当然如果把ROS应用到Windows、Android、IOS、WP系统也可以,只

最近学习了ROS机器人系统,大家都知道ROS是基于Linux平台,当然如果把ROS应用到Windows、Android、IOS、WP系统也可以,只要下载对应的ROS开发包就行了,但是配置这些环境是一件很蛋疼的事情,因为ROS有很多版本,不是每一个版本都有对应平台的开发包,Android环境配置还是相对简单,像IOS这个封闭系统就比较难了。所以我实践了一个相对简单的方法去让各种平台不需要配置ROS开发环境就轻轻松松接入ROS内部网络。不过在进入正题之前还是要交代一些背景,下面是纯菜鸟的理解,请大牛多加批评指导~~~


一、什么是ROS机器人系统?

        ROS是开源的,是用于机器人的一种后操作系统,或者说次级操作系统。它提供类似操作系统所提供的功能,包含硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间的消息传递、程序发行包管理,它也提供一些工具程序和库用于获取、建立、编写和运行多机整合的程序。

       额...很高级很难懂的样子~不如俺用非专业的草根语言描述一下:各种exe的通信桥梁。可能刚开始学ROS包括我在内的童鞋都会有点过分神化ROS系统,感觉ROS是万能的,什么都能做到。其实我觉得ROS也只是一种工具,对于一个使用ROS的项目来说,重点的不是在于ROS的使用技巧,而是怎么用算法处理从ROS里面得到的信息。换句话说就是数学。大部分高级的东西做到最后都是在搞数学。停住!我又说了很多废话了。。。


二、ROS机器人系统核心框架。

        核心框架有三个主体:节点管理器、发布者和订阅者。节点管理器主要负责登记各种节点的信息以及作为它们之间通信的引导者。发布者和订阅者本身就是一个节点,都必须要在节点管理器去注册节点。发布者跟订阅者本身是没有耦合关系的,它们在建立连接之前是不知道双方的存在的。当一位订阅者要订阅一个主题的时候,节点管理器就会寻找有没有节点发布这个主题,如果找到了,节点管理器就会将发布者和订阅者关联起来,后面它们的收发信息是不会通过节点管理器的,而是直接P2P通信的。

5.jpg

         额...还是有点不好理解?俺素一个俗人,就用一个比较俗的方法去解释上面那幅图是什么意思吧~~~

         反正俺素从来没去过这些网站滴,不过俺大概猜得出它们的基本流程吧,就是说一男一女要征婚肯定要上那些网站注册个账号把,然后就留下自己的基本信息,世纪佳缘就帮他们拉线了,最后,那对男女各种聊,各种约会都不会经过中介的,大概就是那么一个意思。把下图跟上图一一对比就很容易理解上图的意思了。

5.jpg

  

三、ROS节点通信机制

        其实ROS内部网络各种节点的通信都可以说是基于TCP/IP通信,只要在节点管理器注册一下,就可以跟各种节点进行通信了。这种通信方式使不同主机上的ROS节点有效地进行通信。

1507458509372181.jpg

         那么问题就来了,如果节点不是在Linux下平台的话怎么接入ROS内部的网络,获取内部的信息?前面也说过了,对于不同的平台,ROS是提供了相应的开发包。

         Android平台:http://wiki.ros.org/android    缺点:不是支持所有的安卓版本的。

         Windows平台:http://wiki.ros.org/win_ros   缺点:只支持桌面平台,不支持WP平台。最新的开发包只适用于旧版本的ros系统:fuerte\groovy\hydro,不支持indigo版本。

         IOS平台: https://github.com/introlab/ros_for_ios  缺点:不是支持所有苹果版本,资料比较少。

         针对上面的各种局限,俺提出一种非常简单的方法接入ROS内部网络,访问里面的信息。这种方法是不需要在其它平台配置ROS环境,只要能进行TCP/IP通信就行了,这个要求太低了。下面先说说实现的原理,其实实现的原理也是非常简单的,就是在ROS里面做一个TCP Sever代理节点,外部程序就可以通过这个代理节点访问到ROS内部网络了,哎,太简单了,地球人都能想到的方法!!!来到这里,大牛可以关闭窗口了,下面就是渣渣的实现过程了,没必要看了。

1507458475634245.jpg

责任编辑:电气自动化网
首页 | 资讯 | 应用 | 高压 | 设计 | 行业 | 低压 | 电路图 | 关于

Copyright 2017-2018 电气自动化网 版权所有 辽ICP备17010593号-1

电脑版 | 移动版

Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。