历史上的今天
返回首页

历史上的今天

今天是:2025年02月14日(星期五)

正在发生

2020年02月14日 | 基于STM32的家庭服务机器人系统工作原理及设计

2020-02-14 来源:elecfans

为解决当前大部分家庭服务机器人不具备行走功能或只具有简单的避障能力等问题,本文设计一种基于STM32的家庭服务机器人系统。整个系统由轮式机器人、XBee协调器、RFID智慧地板和上位机组成。轮式机器人由主板、传感器模块、射频模块、舵机模块、电源模块和机器人金属主体组成,传感器模块包括电子罗盘、红外传感器和RFID读卡器。主板以ARMCortex-M3内核微处理器STM32F103VCT6为核心进行开发,采集传感器模块数据信息,实现机器人与XBee协调器之间的通信连接。该系统在模拟智能家居的环境下通过自主决策稳定和高效地完成设定任务,能够满足家庭服务机器人的应用要求。

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

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

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 机器人硬件结构设计

轮式机器人采用模块化的设计原则,使机器人的设计为模块化方式,并采用分层控制,有利于综合性能的发挥[4] 。将机器人系统分为五个部分:主板、传感器模块、无线射频模块、舵机模块和电源模块。轮式机器人的结构框图如图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++开发。具体的各个模块软件实现的功能及工作流程在系统的工作原理和流程中已经介绍,这里不再叙述。
 



3.2.2 路径规划

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

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

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

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



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

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



4 结束语

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

推荐阅读

史海拾趣

Defense Logistics Agency公司的发展小趣事

Defense Logistics Agency(DLA)于1961年成立,是美国国防部(DOD)的一个独立作战支援机构。在成立初期,DLA就明确了其战略定位:为全球范围内的美军及国防部其他部门提供统一、高效的后勤保障服务。这一战略定位的确立,为DLA的后续发展指明了方向。

Elcos AG公司的发展小趣事

随着国内市场的饱和,Elcos AG开始寻求国际化拓展的机会。公司首先在欧洲市场建立了销售网络,通过与当地合作伙伴的紧密合作,逐渐打开了欧洲市场的大门。随后,Elcos AG又将目光投向了亚洲和北美市场,通过设立海外办事处和参加国际展会等方式,积极推广公司品牌和产品。在国际市场的竞争中,Elcos AG凭借其卓越的产品品质和完善的售后服务体系,赢得了众多客户的信赖和支持。

Fair Rite公司的发展小趣事

为了确保产品质量和满足客户需求,Fair Rite引入了严格的质量管理体系,并通过了ISO/TS 16949认证。此外,公司还积极拓展国际市场,在美国、中国等地建立了生产基地和销售网络。通过全球布局和本土化策略,Fair Rite为全球客户提供高品质、高性能的电子元器件。

富瀚(Fullhan)公司的发展小趣事
检查保护器的各项设置参数是否正确,如过载保护阈值、逆相保护设置等。
EOS POWER INDIA Pvt公司的发展小趣事

EOS一直将质量管理作为公司发展的核心。公司建立了完善的质量管理体系,从原材料采购到生产、检测、包装等各个环节都进行严格的质量控制。EOS还引入了先进的质量检测设备和方法,确保每一件产品都符合高标准的质量要求。此外,公司还定期对员工进行质量培训,提高员工的质量意识和操作技能。这些措施使得EOS的产品在市场上赢得了良好的口碑和信誉。

ATC [American Technical Ceramics]公司的发展小趣事

在当今社会,绿色环保已经成为各行各业发展的重要趋势。假设ATC积极响应这一趋势,投入大量资源进行环保型陶瓷材料的研发和生产。这些材料在生产过程中产生的污染较少,同时在使用过程中也能有效降低能耗和减少废弃物排放。因此,ATC的产品在绿色环保领域获得了良好的声誉,也赢得了越来越多客户的青睐。

问答坊 | AI 解惑

求单片机设计电子密码锁的毕业设计论文资料,谢谢!!!!!!!!

哪位大哥大姐有单片机设计电子密码锁的毕业设计论文或相关资料啊,最好是51单片机,其他的也行,小弟急需啊,谢谢啦!!!!!!!!!       我的邮箱是wwch2004@163.com…

查看全部问答>

AT24C256的管脚兼容AT24C04的吗?

板子上画的是AT24C04,但是想用大的,就买了AT24C256,但是AT24C256的3脚是悬空的。 而AT24C04的3脚是接地的。 256能用在04的这个地方么?把256悬空的脚接地了,没什么影响吧?…

查看全部问答>

关于SIM卡供电电压

各位大虾,有没有什么方法能查询到当前使用的SIM卡的供电电压呢?因为有5V/3V/1.8V卡的区别,所以现在手里面有几张卡,想查一下,谢谢^…

查看全部问答>

重赏100分,捉拿元凶

我写了一个windows 2000下的驱动,但安装完后,总提示驱动无法加载 stop 0xc0000034  都两天了,还没解决。望高手赐教!!…

查看全部问答>

网络开发笔记14_RL-TCPnet移植.pdf

一 前言        忙了一个月的考试终于结束了,也可以抽点时间来写写了,虽然工作还没确定,不过还不着急,好像也有点眉目了。        闲话不吹了,说说活动,本说完成Telnet与TFTP ...…

查看全部问答>

求教如何解决串口传输速度上不去的问题

我用msp430135芯片与pc机通讯,通讯口的设置参数为9600,n,8,1,只能保证4位以内的数据正确,将波特率降下来可正确传输的数据位数增加,否则减少,我的通讯口用的是MAX3221,SMCLK使用8M晶振,8分频。不知哪位高手能帮我解释一下问题的所在,先谢了 ...…

查看全部问答>

msp430f2232

msp430f2232在IAR中应该选择什么型号,以及头文件应该包括哪个?里面没有msp430f2232这个型号啊…

查看全部问答>

LM3S811DDLLXXRR笔记之二:PWM控制LED闪烁

每个Stellaris PWM模块提供3个PWM发生器模块和1个输出控制模块。每个发生器模块有2个PWM输出信号,它们可以单独操作,或者作为带有插入死区延时的一对信号来使用。每个发生器模块还有一个中断输出和一个触发输出。控制模块决定了PWM信号的极性以及 ...…

查看全部问答>

电子电路滤波器

该图为电子电路滤波器 其滤波电容是βC2,我想了很久中就是想不出来其原理 这三极管不是只能放大电流吗?那是通过什么桥梁过渡到电容的呢? R2和C2放电回路会对滤波电容有影响吗?…

查看全部问答>

请问LaunchPad板子上的仿真器可以在其它型号的430上工作吗?

请问LaunchPad板子上的仿真器可以在其它型号的430上工作吗?…

查看全部问答>