基于STM32的家庭服务机器人系统设计

时间:2015-12-15

     引言

      随着人工智能和传感器技术的发展,机器人已从工厂的结构化环境进入人们的日常生活环境,机器人不仅能自主完成工作,还能与人共同协作完成任务或在人的指导下完成任务。家庭服务机器人是智能家居系统的一个重要组成部分,在生活中的作用越来越重要。当前,大部分的家庭服务机器人不具备行走功能或只具有简单的避障能力,机器人的研究很多依赖于仿真实现,但是现实情况和仿真结果可能大相径庭。也有一些研究将问题复杂化,反而走了更多的弯路。

      针对当前家庭服务机器人的不足和现代智能服务机器人的要求,本文提出一种基于STM32的家庭服务机器人系统的设计方案。该方案模拟智能家居环境,简化了定位方式,有效地利用了ZigBee技术低成本、低功耗的特点,设计出一个合适大小的轮式机器人进行试验,试验结果表明机器人能够实现预期目标并体现出较强的自主决策能力。

    1 系统整体设计方案

      整个家庭服务机器人系统主要由四部分组成,包括铺满RFID智慧地板的模拟智能家居环境、移动的轮式机器人、XBee协调器以及上位机。

      智能家居环境设计长为3.25米,宽为2米,铺满RFID智能地板,分隔成厨房和客厅两个房间,中间的房门宽0.3米。厨房有水槽、搁板、智能冰箱等电器,客厅有餐桌、餐椅等。RFID智能地板的排列信息给机器人提供准确定位。轮式机器人负责往返厨房与客厅之间给服务对象运送物品,是整个系统的部分。XBee协调器是基于ZigBee技术的无线传输模块,负责数据快速稳定地传递。上位机主要负责数据的接收、处理和控制指令的下达等。

    2 系统工作原理和流程

      系统的主要工作流程是:上位机输入任务命令,该命令通过XBee协调器发送给轮式机器人。机器人收到任务命令后从休眠模式启动,读取智能地板RFID定位信息,将该实时位置信息上传到上位机,以显示机器人运动轨迹。机器人通过传感器模块检测自身姿态和周围障碍物情况,自主决策移动至目标位置抓取物品,运送到终目标位置给服务对象使用。其中,轮式机器人是整个系统设计的重点。

    2.1 XBee协调器工作流程

      XBee协调器是启动的XBee网络节点,主要完成XBee网络的组网功能和数据的收发功能,其中组网功能包括XBee网络的建立和子节点的入网。

      首先,在XBee协调器上电复位后对包括硬件和软件的各个模块进行初始化。然后,开始扫描信道、进行能量检测、选择信道以及选择合适的PAN ID。成功之后就广播网络ID、信道,XBee网络就建立了。之后,XBee协调器进入监听状态,等待子节点发送入网请求信号,收到入网请求后协调器允许子节点入网并分配网络短地址给子节点,这就实现了节点的入网功能。,XBee协调器将上位机数据发送给子节点射频模块,启动轮式机器人,在收到来自子节点的数据请求后,将接收数据并通过串口线传输给上位机,这就是数据的收发功能。

    2.2 轮式机器人工作流程

      轮式机器人是任务的执行设备,往返于厨房和客厅两个房间之间,准确和高效地执行用户对象发送的各种命令任务,并发送机器人坐标数据给XBee协调器进行以下工作。

      首先,轮式机器人上的XBee模块需要初始化和发送入网请求,实现节点入网。然后,XBee模块接收XBee协调器传输的任务命令数据,主板对各传感器模块初始化。RFID读卡器读取智能地板坐标数据,发送给XBee协调器。电子罗盘获取机器人当前的姿态信息。红外传感器检测机器人所处环境的障碍物距离,主板控制启动由左右两个连续旋转舵机组成的移动轮。机器人通过自主决策规划路径,移动至目标位置,启动机械臂抓取物品,其中机械臂由多个角度舵机组成。在机械臂保持抓取物品的状态下,再次规划路径移动至终地点,机械臂准确将物品放在目标位置。完成任务后机器人回到起始位置,进入休眠模式。

    3 关键环节设计

    3.1 机器人硬件结构设计

      轮式机器人采用模块化的设计原则,使机器人的设计为模块化方式,并采用分层控制,有利于综合性能的发挥。将机器人系统分为五个部分:主板、传感器模块、无线射频模块、舵机模块和电源模块。轮式机器人的结构框图如图1所示。

    

    图1

    

    3.1.1 主板

      主板是针对该轮式机器人设计,采用ARM Cortex-M3内核的STM32F103VCT6处理器,主板资源包括SDRAM、NAND Flash,UART接口、GPIO接口、SPI接口和JTAG接口。辅助的资源有USB接口、定时器等。

      主板的设计专门为射频模块、传感器模块和机械臂模块提供了接口,简化了电路结构,使控制器集成度更高,运行更加稳定和高效,从而节约硬件成本。

    3.1.2 传感器模块

      传感器模块由传感器和相应的信号调理电路组成。轮式机器人使用的传感器包括红外传感器、电子罗盘和RFID读卡器。根据轮式机器人移动过程中检测障碍物距离的要求,红外传感器采用的型号为Sharp GP2D12,分别安装在机器人前方、左前方、右前方、左侧和右侧五个位置。电子罗盘采用GY-80九轴模块中的HMC5883L三轴电子罗盘,可以在复杂环境下测得准确方位值,抗磁电干扰能力较强。RFID读卡器采用Parallax公司的低频段28140读卡器,可读取125kHz标签。

    3.1.3 射频模块

      射频模块是设备之间通信的主要模块,负责整个网络的数据传输工作。射频模块采用基于ZigBee技术的XBee无线传输模块,该模块覆盖面积大且易于配置,是机器人通讯组网的不错选择。

      XBee协调器由XBee无线模块和XBee USB适配板组成。XBee USB适配板是专门为XBee无线模块配套设计,通过使用该模块,可以在PC机使用配套的X-CTU软件对XBee无线模块进行配置及串口通讯监控。XBee协调器通过USB线与上位机连接通信。

    3.1.4 舵机模块

      舵机模块分为机械臂舵机和移动轮舵机,机械臂由角度舵机和金属杆件组成。五个角度舵机构成五自由度机械臂,尺寸大小与搭建智能家居环境匹配,为保证机械臂动作,采用HS-322HD角度舵机。移动轮舵机使用Parallax连续旋转舵机。

    3.1.5 电源模块

      根据各个组成部分工作的场合和特点的不同,采用不同的供电模式,轮式机器人采用电池供电的模式,而XBee协调器则要一直保持工作状态,所以采用上位机USB供电的模式。电源模块与主板相连,而主板留有接口给传感器模块、射频模块和舵机模块,通过接口给传感器模块、射频模块和舵机模块进行供电。由于RFID读卡器对电流要求较高,因此主板和RFID读卡器分开使用双电源供电。

    3.2 机器人软件设计

    3.2.1驱动控制设计

      驱动控制设计包括各个模块的初始化、模块之间的通信和上位机软件设计。该文采用与STM32F103VCT6配套的MDK-ARM作为开发环境,完成各个模块初始化和通信,上位机软件采用VC++开发。具体的各个模块软件实现的功能及工作流程在系统的工作原理和流程中已经介绍,这里不再叙述。

    

    图2

    

    3.2.2 路径规划

      路径规划主要可分为全局路径规划和局部路径规划,前者是指在环境信息完全已知的情况下,机器人规划一条从初始位置到目标位置的无碰撞路径;后者由于环境信息是未知的,需考虑局部的特定情况来进行路径调整。

      机器人移动过程中利用电子罗盘进行姿态调整,即调整前进方向,努力寻找一条快捷的路径到达目标位置。机器人姿态调整主要取决于当前位置和前一位置与目标位置的距离,包括横向距离和纵向距离。若当前位置与目标位置的横向距离和纵向距离分别小于或者等于前一位置与目标位置的横向距离和纵向距离,表明机器人与目标位置的距离在逐渐缩小,机器人在朝目标位置前进,否则就说明机器人没有按预期的轨迹前进,需要再次进行姿态调整。姿态调整示意图如图2所示。

      局部路径规划包括避障处理、振荡位置分析、房门位置搜索和过房门策略分析。在机器人移动过程中,需要不断探测周围环境,从而更好地决定下一步动作。五个红外传感器数据使机器人时刻掌握周围环境,避障处理要求机器人合理避开障碍物,向目标位置移动。

      振荡位置指的是机器人不能顺利通过某一位置,而在这一点附近反复来回走动。如果起始位置和目标位置分别在两个房间,在全局路径规划思想的指导下,机器人会在两间房的公用墙边不断徘徊。振荡位置分析示意图如图3所示。

    

    图3

    

      当机器人到达振荡位置时,需要调整路径规划策略,此时放弃全局路径规划策略,选择直接以公用墙为基准墙搜索房门。沿墙走算法的基本规则是:当机器人不断靠近墙面时需要调整两轮速差使机器人朝偏离墙面的方向前进;当机器人不断远离墙面时,则需要调整两轮速差,使机器人朝靠近墙面的方向前进。综合调整的结果是机器人的前进轨迹是以基准线为轴的类正弦曲线,沿墙走轨迹如图4所示。

      过房门是机器人完成任务必不可少的一个环节,怎样确保机器人顺利穿过房门是任务成功的关键。机器人准备过房门时并不是正对房门,可能向左侧或者右侧不同程度的倾斜。根据倾斜程度的划分,机器人检测相对应的红外传感器距离值,不断调整机器人姿态,使机器人正对房门并顺利通过。

    

    图4

    

    4 结束语

      本文设计的家庭服务机器人系统,为智能家居环境服务对象的需求任务提出了详细可行的解决方案。整个系统应用了基于XBee模块的主流无线通信技术,以保证数据的传输速率。此外,对轮式机器人的模块化设计具有结构简单和性能稳定等特点,大大提高了家庭服务机器人的可靠性,并且降低了系统的硬件成本。自主决策过程中的路径规划,使得机器人能够快速沿着合适的路线移动。总之,该设计系统对家庭服务机器人相关问题的解决提供了可借鉴的方法。

    


上一篇: 如何实现耳朵供电驱动医疗电子芯片?
下一篇: 车载微波雷达调频体制及芯片方案简介

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料