ROS与ZigBee构建无线传感器系统

2018-06-25 15:26杨琪李新宇杨航
农家科技下旬刊 2018年3期
关键词:无线通讯结合

杨琪 李新宇 杨航

摘 要:机器人的研究设计众多学科,为了完成预定的任务,需要众多的传感器相互配合协作才能完成,实际应用中由于传感器数量众多,形式不一给硬件的连接复杂,给调试和整体设计带来诸多的不便。

关键词:ROS;ZigBee;无线通讯;结合

随着科技的发展,机器人的研究与应用逐渐广泛。自2009年以来ROS(Robot Operate System)的出现掀起了这个领域的新热潮。机器人的研究设计众多学科,为了完成预定的任务,需要众多的传感器相互配合协作才能完成,实际应用中由于传感器数量众多,形式不一给硬件的连接复杂,给调试和整体设计带来诸多的不便。在学习机器人的过程中将ROS与zigbee结合起来,建立一个ROS控制的无线传感器网络,发挥ROS的优点,改善有线连接的不足。

一、简介

1.ROS简介

早期的计算机没有操作系统,开发人员需要直接面对硬件,并且各个硬件厂商的产品可能提供了不同的接口和使用方法,给开发人员带来了许多麻烦和重复性工作。ROS提供一些标准操作系统服务,例如硬件抽象,底层设备控制,常用功能实现,进程间消息以及数据包管理。

2.ZigBee简介

Zigbee建立在用于低速无线个人区域网(WPAN)的IEEE标准802.15.4中定义的物理层和媒体访问控制上。该规范包括四个附加的关键组件:网络层,应用层,Zigbee设备对象(ZDOs)和制造商定义的应用程序对象。Zigbee 网络层本身支持星型和树型网络,以及通用网状网络。

3.FastZigbee的组网结构

在有信号覆盖的范围内,zigbee网络可构建多种型态的网络拓扑结构,自动组网、自动寻找最优路径。Zigbee可以建立起大量的终端节点以及路由端节点之间的通信,通过zigbee组成的传感器网络,终端节点将采集到的数据向网络箱路由端节点发送,同时也可以接收路由端节点发送来的指令信息。在上图的网络结构中可以看到,zigbee组建的网络支持多个路由端节点和多个终端节点的信息交互,每一个路由端节点不止连接一个终端节点,一个终端节点也不止连接一个路由节点,这样的通信网络具有更高的容错性,即使个别设备损坏,通信网络仍可正常工作。

二、机器人的功能模块简述

1.运动系统

机器人在执行复杂任务的过程中,空间位置需要及时变化,设计研究机器人运动系统是必不可少的一项工作,在运动系统的组成主要包括电机,运动机构(例如:轮子,机械臂…….),电机作为一个动力输出部件,为机器人进行运动提供动力,而在实际的工作中要求对机器人的速度进行控制,从而实现必要的调控,为了满足这个条件,与控制中心的信息交互必不可少。

2.SLAM

SlAM,即时定位与地图构建,将一个机器人放入未知环境中的未知位置,是否有办法让机器人一边逐步描绘出此环境完全的地图,所谓完全的地图是指不受障碍行进到房间可进入的每个角落。 SLAM功能是机器人在任意环境中实现自主移动的前提,完成这项功能,需要雷达扫描当前环境,进行地图构建,实现避障路径规划,配合运动系统是机器人按照SLAM算法建立的路径进行移动。

3.其他的传感器

即使是一个只要求具有单一功能的机器人也在需要众多的传感器协助下才能实现,除了特殊功能模块中要求的雷达,电机等部件外,还包括众多的传感器,例如碰撞传感器,温度传感器,光电开关,这些传感器有事独立于特殊的功能存在,也有在特殊功能的实现中必不可少。尤其是这类传感器在机器人的构建中使用数量多,又需要单独工作,更适合用Zigbee组建无线传感器网络,实现与控制中心的信息交互。

三、ROS中的zigbee相关函数

def xbee::base::XBeeBase::_wait_for_frame( self )

_wait_for_frame将从串口读取,直到有效API帧到达。它会返回二进制数据包含在框架内。

def xbee::base::XBeeBase::_write (self, data)

将给定的二进制数据封装在API帧中,并将结果写入串行端口

def xbee::base::XBeeBase::send (self, cmd, kwargs)

当使用正确的参数调用发送时,API命令将被写入包含正确指令和数据的XBee设备的串行端口。

def xbee :: base :: XBeeBase :: wait_read_frame( self )

wait_read_frame调用XBee._wait_for_frame()并等待,直到串行端口上出现有效帧。一旦它接收到一个帧,wait_read_frame将尝试解析其中包含的数据并返回结果。

四、结语

zigbee技术是一种近距离、低复杂度、低功耗、低數据速率、低成本的双向无线通信技术或无线网络技术,主要适合于承载数据流量较小的业务,可嵌入各种设备中。 ROS还提供一组实用工具和软件库,用于维护、构建、编写和执行可用于多个计算平台的软件代码。ROS还聚合了全世界开发者实现的大量开源功能包,这些开源功能包与ROS一起构成了强大的开源生态环境。ROS因为将功能分布在各个节点之中,节点间基于消息机制通信,通讯部分消耗了很多系统资源。尤其是当所有节点位于同一个处理器时,使得系统必须选用高性能的处理器和存储系统以弥补损耗。

参考文献:

[1]周兴社、杨刚、王岚等. 《机器人操作系统ROS原理与应用》.机械工业出版社.

[2]Aaron Martinez. 《ROS机器人程序设计》 .机械工业出版社.

[3]杜军朝. 《ZigBee技术原理与实战》 . 机械工业出版社.

[4]Shahin Farahani. 《ZigBee无线网络与收发器》. 北京航空航天大学出版社.

作者简介:杨琪(1997-),男,汉族,山西阳泉人,上海工程技术大学机械工程学院,学历:本科在读,研究方向: 机器人。

猜你喜欢
无线通讯结合
基于无线通讯的远程无线切割分离装置控制系统
基于NRF无线通讯技术的自组网互助教学系统研究与开发
浅析社会主义核心价值观视阈下技校生美术欣赏能力的培养
运用多媒体进行教学带来的双面性效果分析
成焊机组与飞焊车之间串行无线通讯研究与应用
对超宽带无线通讯技术的分析探讨