- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ROS和ZigBee构建无线传感器系统
ROS和ZigBee构建无线传感器系统
摘 要:机器人的研究设计众多学科,为了完成预定的任务,需要众多的传感器相互配合协作才能完成,实际应用中由于传感器数量众多,形式不一给硬件的连接复杂,给调试和整体设计带来诸多的不便。
关键词: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将尝试解析其中包含的
原创力文档


文档评论(0)