0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【IoT毕业设计】STM32开发板+机智云IoT+智能家居养老机器人

机智云 2022-05-09 15:16 次阅读

引言


通过对第七次人口普查数据的研究发现[1],我国60周岁及以上老龄人口截至2021年5月已达到全国总人口的18.7%,其中65周岁及以上人口占比13.5%,仅差0.5%我国就将步入老龄社会,人口老龄化所带来的关于养老的众多问题是我国亟待解决的[2]。目前人工智能技术已比较成熟,将其应用到智能家居养老服务上是一种当下被多方面认可的解决养老问题的方法。

本系统开发者设计的机器人结合了嵌入式人工智能技术,能够实时监测老人的身体健康状态与居家环境数据,同时可以将数据上传到云端平台进行分析,老人及其监护人可以使用移动设备访问平台查看数据分析曲线。此外,机器人还可以自主规划环境数据监测路线,确保对居家环境全方位监测。因此该系统能满足老人和特殊群体的刚性需求,缓解人口老龄化所带来的问题,实现智能化的居家养老。


1系统架构

小型智能家居养老机器人的总体系统以STM32为主控单元,主要功能模块包括身体健康监测模块、环境数据监测模块、自主定位导航模块、数据分析与人机交互模块。STM32与各功能模块的传感器进行通信,控制机器人自主移动监测老人身体健康参数与家庭环境数据,并将数据上传到物联网云平台进行分析,同时在交互屏幕上显示,若监测数据异常,机器人会使用交互模块进行报警。机器人系统功能架构图如图1所示。


2系统硬件设计

机器人系统硬件分为身体健康监测手环和机器人主体两部分,机器人主体包含环境监测模块、自主定位导航模块与人机交互模块。


poYBAGJ4v2-AbdAPAAKrGrpvn0o156.png

图1机器人系统功能架构图


2.1智能身体健康监测手环

如图2所示,手环由MKB0908身体健康检测模块与2.4G无线通信模块组成。MKB0908模块集成了光学心率传感器芯片、自动增益控制芯片温度传感器芯片与心率血压算法芯片。


poYBAGJ4v3eAJNI1AAB900F6ctM335.png

图2智能身体健康监测手环

光学心率传感器基于光电容积脉搏波描记算法,使用两光发射二极管向皮肤照射,然后通过光敏传感器接收经过血管和组织反射、吸收后的衰减光[3],并将其转换为数字信号,再由心率血压算法芯片处理输出血压、心率等数据。温度传感器芯片则是通过铂热电阻的阻值变化来反映外部温度的变化,以此来感知人体温度,并将其转换为数字信号输出。最后通过2.4G无线模块将MKB0908模块采集到的心率、血压、HRV与体温数据透传到机器人主控。


poYBAGJ4v36AGy4NAAI8ZmGxt6o909.png

图3自主定位导航模块功能框图


此外,智能监测手环还能够识别老人是否佩戴手环,如果没有佩戴则从监测模式切换到休眠模式,减少电能的消耗。


2.2机器人主体

2.2.1环境监测模块

环境监测模块安装在机器人主体上,主要由DHT11温湿度模块、CO浓度检测模块、MQ135环境空气质量检测模块与光敏电阻组成,可以实时监测居家环境的温湿度、光照强度、PM2.5浓度及CO浓度等环境数据。当室内CO浓度超过50ppm时表示老人可能会中毒,此时机器人会利用GSM无线通信模块将报警短信发送到老人及其指定监护人的手机上[4],给予老人舒适、安全的生活环境。


2.2.2自主定位导航模块

自主定位导航模块功能框图如图3所示,机器人可用蓝牙定位模块进行三点定位获取当前坐标,STM32对九轴传感器输出的数据进行姿态解算得到机器人相对于地面坐标系各轴的姿态角,然后使用A-Star算法规划出机器人到环境监测目标点的最短路径,最后利用光电编码器闭环控制电机输出到两驱动轮的转速来控制机器人的位移与换向。由于室内环境复杂多变,机器人移动过程中需使用避障模块来检测移动路径上是否会突然出现障碍物,以避免发生碰撞。


2.2.3人机交互模块

人机交互模块由电阻式串口触摸显示屏、MP3功放模块与GSM无线通信模块组成。老人可以通过触摸屏查看监测数据,同时可以触摸屏幕设置环境监测点与监测模式。MP3功放模块可以播报老人身体健康状况、配网状态及周围环境安全状态,如果监测到CO等有毒易燃气体浓度超标,会通过功放模块进行语音报警以及使用GSM模块发送报警短信。


3系统软件设计

3.1总体软件设计

机器人的总体软件设计流程如图4所示。首先初始化STM32主控与各模块间的控制和通信引脚,然后通过触摸屏设置环境监测模式,默认初始化为自动模式,机器人会自动规划监测点,若设置为手动模式,则需设置指定的监测点。同时若智能手环打开且处于非休眠模式,其会自动采集老人的身体健康数据并传输到机器人主控。


主控对老人身体健康与居家环境数据进行处理,并将其显示在屏幕上,如果数据异常则会进行语音报警和发送警示短信。此外,如果WIFI模块联网失败,机器人也会进行语音提示,若成功联网则将数据上传到云平台进行可视化显示与分析。


pYYBAGJ4v4uAN3GGAAInHZvBwbM278.png

图4系统总体软件设计流程图


3.2数据读取与滤波算法设计

3.2.1身体健康监测模块软件设计

在正常佩戴手环的条件下,身体监测模块会收集老人体温、心率和血压等多项数据,然后通过2.4G无线模块透传到机器人主控。主控与2.4G模块采用SPI协议进行通信,根据指定帧头55AA判断是否为数据传输起始帧,并且采用顺序循环队列接收数据包,然后按指定协议解析得到实际身体健康监测数据。此外,MKB0908模块自带硬件滤波算法,因此无需对数据进行软件滤波处理。


3.2.2居家环境监测模块软件设计

主控芯片采用onewire协议与DHT11温湿度模块交互,完成对室内环境温度与湿度数据的采样。利用芯片的ADC模块将光敏电阻、CO检测模块、MQ135模块输出的模拟电压转换为数字信号,然后将其换算成光照强度、CO浓度与PM2.5浓度等数据。


实际测量环境中存在随机噪声,测得的数据会有不准确的脉冲跳变,对数据分析与预测造成了一定的影响,因此采用单字节滑动中位值平均滤波算法滤除毛刺[5]。使用顺序队列作为数据缓冲,各项环境监测数据依次从队头进入,然后从队头滑走,最后去掉最大值和最小值再对其余数据求平均值,即为滤波后的结果。下面将滤波前后的温度与湿度数据分别进行比较,对比结果如表1所示。


表1室内温度与湿度采样数据滤波前后对比结果

pYYBAGJ4v5GAVTokAABKjKR0Qo0122.png

根据表1对比结果可知,滤波后的温度与湿度数据脉冲噪声明显减少,数据上下浮动变化值几乎可忽略不计。由此可知环境监测模块的准确性与稳定性得到了提高,为后续云端数据分析提供了保障。


3.3机器人路径规划算法

3.3.1蓝牙三点定位算法

在室内以1m为一个单位建立平面笛卡尔坐标系,将蓝牙信标分别放置在三个坐标已知的地面上,蓝牙信标会自动广播各自的UUID号与接收信号强度(RSSI)[6]。根据公式(1)可以通过RSSI信号衰减程度来计算机器人主体上的蓝牙模块与各蓝牙信标之间的距离:


pYYBAGJ4v5qAPPKrAAAYkqqGQIA670.png


其中,A为蓝牙发射端与接收端相距1m时的信号强度,n为环境衰减因子[7]。n的取值由室内环境决定,主要受室内墙体厚度、温湿度等参数影响,根据工程经验及后期调试,衰减因子n取3.1时与公式拟合度良好。通过蓝牙信标广播的UUID号可知它们各自对应的坐


通过蓝牙信标广播的UUID号可知它们各自对应的坐标,再根据RSSI信号强度得出机器人与蓝牙信标的直线距离,最后利用毕达哥拉斯定理建立机器人待定位点与蓝牙信标所在点的坐标参数和相互距离的方程组:


poYBAGJ4v6CAPL5nAABU67ALk10434.png


其中,(xn,yn)为机器人待定位点坐标参数,(xbn,ybn)为蓝牙信标的坐标参数,根据方程求解出(xn,yn)的值,然后使用加权质心算法即可得出机器人当前位置的坐标为((x1+x2+x3)/3,(y1+y2+y3)/3)。


3.3.2A-Star最短路径搜索算法


机器人每次移动时通过九轴传感器判断当前相对方位,同时使用避障模块检测附近坐标位置是否存在障碍物,若有则将该坐标记为1,反之记为0,然后使用二维数组将地图数据存到主控芯片Flash中,二维数组的行、列索引即为地图的纵、横坐标。


poYBAGJ4v6eAF_U7AAJIFHwAd6c540.png

图5A-Star算法搜索流程图


家庭室内地图属于典型的静态环境,因此使用A-Star算法进行路径规划的效率最高,并将其计算代价的启发函数设成曼哈顿距离[8],以减少使用欧式距离开方运算时的工作量。A-Star算法搜索过程中需要使用开放线性表与封闭线性表进行记录,开放线性表用于存储算完代价但未扩展的节点,封闭线性表则存储障碍物节点或已扩展的节点。由于当前节点每次都可向周围相邻的节点扩展,所以至多有8个节点满足扩展条件(不在封闭线性表中),因此采用八叉树存储每次扩展的节点。算法流程图如图5所示。


首先,将机器人当前坐标设为起点,待监测环境点设为终点,并把它们放到开放线性表中,同时将起点设为八叉树的根节点。然后从树的当前节点开始向周围相邻节点扩展并计算它们的代价,将满足扩展条件的节点入树,并将它们的父指针指向当前节点,同时把它们加入到开放线性表中,不满足的则放到封闭线性表中。


而后从开放线性表中取出代价最小的节点作为树的当前节点加以扩展,并将其从开放线性表移到封闭线性表中,以此循环往复。若开放线性表已为空,则说明未找到终点,结束循环;若当前节点即为终点,则说明找到终点,结束循环,然后通过当前节点的父指针回溯到根节点,即可找到机器人移至待监测点的最短路径。此外,若机器人寻路途中突然检测到前方存在障碍物,则将其所在的坐标记为障碍物节点,再使用A-Star算法重新规划路径,以确保机器人在外界干扰下也能准确到达待监测环境点。


3.4机智云物联网开发平台

主控芯片将监测数据通过串口协议发送到WIFI模块上,在WIFI模块成功联网的前提下,它会将数据按JSON格式打包,然后通过MQTT协议将数据包作为控制报文的有效载荷进行发布,机智云平台作为客户端成功订阅相应的主题后会收到WIFI模块推送的数据。


如图6所示,老人可以通过机智云APP查看实时监测数据,并且APP可以将数据以不同颜色的曲线显示出来,同时还能对数据进行统计分析,便于老人远程查看,实时了解自己的身体健康和居家环境状况。


poYBAGJ4v7CAIR5xAAEqyOOKisI925.png

图6机智云开发平台数据分析


3.5人机交互界面设计

人机交互屏幕采用T5L电阻式串口触摸屏,其UI界面使用DWINDGUS软件设计。在软件上开发好界面背景图片、占位字符等静态数据并将其存到显示器的TF卡中,显示器主控读取TF卡中的数据并将其显示在液晶屏上。机器人主控可将监测数据、页面控件回调指令等信息通过UART协议发送给显示屏,显示屏即可动态显示参数和执行相应操作。屏幕最终显示效果如图7所示。

pYYBAGJ4v7aAdT3KAAEZn16ay0k643.png

图7人机交互界面


图7(a)为身体健康数据的显示界面,屏幕左上方的文字显示手环的佩戴状况,右上方显示WIFI模块网络的配置状态,其余部分显示老人当前的体温、心率、血压及HRV曲线。图7(b)为环境数据的显示界面,展现了当前室内的温湿度和光照强度,同时表明CO浓度达标。


4结语

本文针对人口老龄化所带来的养老问题,设计了一款小型智能家居养老机器人系统。它具有身体健康数据监测与居家环境数据监测两大功能,并且可以将数据发送到显示屏或机智云平台供老人查看。在设计软件时对环境数据的读取做了滤波处理,可以很好地克服因偶然因素引起的扰动,同时将A-Star算法应用到机器人移至目标环境监测点的最优路径求解中,提高了机器人的灵活性。该系统可以较好地帮助老人进行身体健康和居家安全管理,有助于实现智能化居家养老,继而缓解老龄化带来的诸多问题。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2232

    文章

    10650

    浏览量

    347889
收藏 人收藏

    评论

    相关推荐

    【爱芯派 Pro 开发板试用体验】基于爱芯派 Pro 开发板的警用安防智能机器人设计

    技术的可用性。 基于基于爱芯派 Pro 开发板的警用安防智能机器人设计: AX650N是一款兼具高算力与高能效比的SoC芯片,集成了八核A55 CPU,43.2TOPs@INT4或
    发表于 01-14 21:56

    开源项目!教你如何复刻自平衡赛车机器人智能家居中控、竞技机器人先进模糊控制器等

    ;gt;>点此查看全文 3.全志XR806基于FreeRTOS下部署竞技机器人先进模糊控制器 前言 很荣幸参与到由全志在线举办的XR806开发板试用活动。本人热衷于各种的开发板开发
    发表于 12-26 09:17

    开源作品!稚晖君超迷你低成本开发板、超酷机器人智能手环等参考方案

    ;>>点此查看全文&下载资料 2.分享一个大佬的设计作品:一只瓦力机器人 主要叙述机器人的系统硬件电路设计,包括锂电池充放电电路、WiFi图传电路以及机器人
    发表于 12-12 10:28

    OpenHarmony开发板汇总

    NiobeU4(ESP32-U4WDH)轻量系统:开鸿智谷Niobe 407(STM32F407IGT6)轻量系统:朗国IoT WiFi开发板(ASR5822)轻量系统:芯海 cst85_wblink
    发表于 10-19 11:27

    轻量系统:润和HH-HSP101满天星系列Pegasus智能家居开发套件(HI3861)

    开发板名称(芯片型号) 润和HH-HSP101满天星系列Pegasus智能家居开发套件(HI3861) 芯片架构 CPU频率 介绍(字数请控制在200字以内) 基于海思Hi3861V100芯片
    发表于 10-19 11:11

    离线语音与IoT结合:智能家居发展新增长点

    ,广泛应用于智基家居家电、智慧玩具、机器人等领域。服务客户超过 5000 家,在离线智能语音芯片市场位居前列。
    发表于 10-17 11:06

    基于STM32U5的B-U585I-IOT02A开发板开箱

    基于STM32U5的B-U585I-IOT02A开发板开箱
    的头像 发表于 09-26 16:20 842次阅读
    基于<b class='flag-5'>STM32</b>U5的B-U585I-<b class='flag-5'>IOT</b>02A<b class='flag-5'>开发板</b>开箱

    IoT毕设】机智平台+STM32+树莓派的草莓采摘机器人控制系统

    stm32的硬件代码,由于生成的代码 是hal库的代码,机器人底层控制代码利用标准库编写,因此需要进行移植。根据机智网络协议,首先建立1毫秒的时间基准,然后将
    发表于 08-16 17:35

    智能家居在智慧养老领域的实际应用

    智慧养老是当今社会所关注的热门话题之一。随着人口老龄化的加剧,如何为老年人提供更安全、便捷、智能化的养老服务成为了全社会的重要任务。智能家居作为创新技术的代表,实际上离老年人的生活并不
    的头像 发表于 08-03 13:21 374次阅读
    <b class='flag-5'>智能家居</b>在智慧<b class='flag-5'>养老</b>领域的实际应用

    IoT毕设 | 机智云云平台+STM32智能家居空气检测及净化设计

    本文介绍的智能家居空气检测及净化系统是由桂林电子科技大学国际学院陈龙杰等人设计开发完成。通过使用机智云平台、STM32等,实现室内空气监测和排气系统,实时监控室内空气,采集室内温湿度、
    的头像 发表于 07-27 18:45 394次阅读
    <b class='flag-5'>IoT</b>毕设 | <b class='flag-5'>机智</b>云云平台+<b class='flag-5'>STM32</b>的<b class='flag-5'>智能家居</b>空气检测及净化设计

    Arduino IoT Cloud ESP32 Alexa Control智能家居

    电子发烧友网站提供《Arduino IoT Cloud ESP32 Alexa Control智能家居.zip》资料免费下载
    发表于 06-26 14:49 0次下载
    Arduino <b class='flag-5'>IoT</b> Cloud ESP32 Alexa Control<b class='flag-5'>智能家居</b>

    如何实现拥有强悍功能智能巡检机器人

    处理后出具现场状态的巡检监测报告,将现场数据可视化。03选型方案经过多轮测试,该厂商最终选择将飞凌嵌入式FETMX8MP-C核心作为这款智能巡检机器人产品的主控平台,以满足客户对机器
    发表于 04-12 15:49

    基于gokit3微信宠物屋与机智的物联网智能家居

    (WiFi+STM32F103底板)基于Gokit3微信宠物屋与机智的物联网智能家居2.LED灯,代替加热装置展示加热情况三、云端部署1.进入机智
    发表于 04-07 17:53

    基于gokit3微信宠物屋与机智的物联网智能家居

    (WiFi+STM32F103底板)基于Gokit3微信宠物屋与机智的物联网智能家居2.LED灯,代替加热装置展示加热情况三、云端部署1.进入机智
    发表于 04-07 17:53

    IoT毕设】机智AIoT+esp8266+物联网智能家居控制系统

    是一款以ESP32为核心的可视化触摸屏,采用这块开发板作为智能手表的核心,通过连接机智平台对家居进行远程监控和管理。ESP32是乐鑫公司的
    发表于 04-07 17:20