摘要
基于对病房护理机器人行业的分析,发现机器人能够为人类带来医疗手术、诊治、体温检测、配送、消毒杀菌的服务,市面上的病房护理机器人不能够满足灵活多变的机器人需求,再加上受新冠疫情的影响,全球服务机器人市场规模增长快速,预计2021年市场容量占比率达36%。不同于目前市场上机器人的嵌入式设计,本项目的机器人创新采用了 FPGA 芯片,并利用国产 Robei EDA 工具进行设计和仿真。根据疫情防控以及病房隔离的需求,设计一款基于Robei EDA工具的看护机器人具备病患状态监测、病房环境监测、 无接触式运送服务、娱乐休闲服务四大基本功能。经过系统设计与调试,机器人可以达到预期的要求,随着时间的推移,机器人还可以不断地完善,可以更好的为行业服务。
0 作品功能
病患状态监测:机器人通过分析采集的实时图像信息,检测目标对象,并了解病患的运动方向,进而触发机器人完成跟随病患的功能;
病房环境监测:机器人通过对采集的实时图像信息进行动态监测分析,进而触发机器人完成摄像头机械臂运动控制功能实现对病房环境的监控;
无接触式运送服务:机器人通过蓝牙获取用户手机APP发送的指令,执行寻迹、遥控、机械臂运动功能,进而实现机器人物品运送;
娱乐休闲服务:机器人开创性的增加了娱乐休闲功能,通过移植贪吃蛇游戏,以及开发井字棋人机大战,实现人机互动,为患者提供娱乐休闲服务。
1 项目架构
由于主控制板AC620/Inter/EP4CE10F17C8开发板完成整个系统的大部分功能芯片资源已占82%,包括视频图像采集、两个机械臂控制、蓝牙通信、贪吃蛇四大模块,帧差、中值滤波、形态学算法、井字棋人机大战算法等四大算法,独立完成病患状态检测、娱乐休闲服务两大功能;增加第二块若贝八角板/Xilinx/XC7Z020CLG400-1 FPGA开发板完成包括机器人小车控制(智能寻迹、遥控小车)、蓝牙通信两大模块,PID算法、中值滤波两大算法,与主控制板共同完成病患状态检测(AC620负责病患目标检测获取位置信息触发八角板机器人小车跟随运动)、无接触式运送(AC620负责物品抓取与精准投放、八角板负责物品运送,都由手机发送指令控制)两大功能。整体架构设计如下图所示。
AC620 Robei工程顶层架构如下图所示。
2 系统架构设计
2.1 图像处理模块
为了实现物体的动态检测以及目标检测,所以需要完成对图像的采集、存储和处理。利用摄像头ov7670采集图像信息,存入SDRAM中,其后利用采集存储的图像经过灰度化、帧差法、中值滤波、形态学算法开运算实现物体的动态检测以及目标识别。图像处理总体架构如下图。
2.2 机器人运动控制模块
首先通过增量型码盘得到电机每转过单位角度的脉冲信号即A相、B相输出,通过取A相、B相的上升和下降沿进行4倍频得到电机转动速度,作为PID控制的反馈输入,从而维持电机一定的速度进行转动及机器人小车稳定前进。增量型PID算法流程图如下图。
然后通过超声波模块得到机器人小车与与前方物体之间的距离,当小于50cm的时候给机器人小车控制模块使能信号控制小车的运动,停止或者前进。也可以通过5路循迹模块输出的1,0信号(检测到白色给值1,黑色给值0),将这些控制信号转化为左转、右转、前进信号连接到机器人小车控制模块,来实现小车对设定轨道的识别循迹。还可以利用手机APP通过蓝牙通信发送控制指令,到蓝牙通信模块将指令转化为对机器人小车的控制信号,从而对机器人小车进行控制。
2.3 井字棋游戏模块
首先人机大战井字棋游戏功能首先要从智能棋盘出得到对弈选手落下棋子的位置,caculate计算模块分析对手所走棋的位置进而了智能计算下一步机器人棋子落下的位置,将位置信号及运动使能信号传输给auto_chess模块完成对机械臂的控制,实现机械臂抓取棋子并将棋子放在计算模块给定的位置处,实现人机游戏的交互。井字棋算法流程图如下图。
2.4 贪吃蛇游戏模块
移动方向模块(snake_direction_ctrl)获得外部遥控器移动方向的按键控制信息,进而控制游戏模块(game_ctrl)与随机苹果(snake_apple)产生电路一起控制蛇的运动模式(snake_mod)、最后通过HDMI显示电路(vga_top)完成可视化显示。(HDMI显示电路需要单独的工作时钟,所需还需要一个PLL锁相环电路(pll_hdmi)提供HDMI驱动时钟)。贪吃蛇算法移植框图如下图。
2.5 WiFi定位模块
在室内环境根据一些WiFi的接入点和移动设备进行位置指纹法定位。主要分为两个阶段:离线阶段和在线阶段。在离线阶段,为了采集各个位置上的指纹,构建一个数据库,需要在指定的区域进行繁琐的勘测,采集好的数据有时也称为训练集。在在线阶段,系统将根据KNN算法估计待定位的移动设备的位置。WiFi定位的实现如下图。
3 项目总结
随着决赛的完美落幕,我们的项目也算是告一段落。目前我们设计的这一款基于Robei EDA工具的隔离病房看护机器人已经基本完成了预期目标。该机器人实现了目标追随(实时监控+跟踪行走)、自主循迹行走、遥控行走、辅助抓取物体、人机互动游戏、心率检测等功能。
在整个项目设计过程中,我们合理分工并根据根据要求规划时间进度。在项目初期,小组在查阅相关资料后确定项目设计方向,并多次与指导老师进行讨论,直至确定命题,以目前新冠疫情持续笼罩的背景下,推出一款隔离病房看护机器人,旨在为医护人员减轻医疗负担与潜在感染风险;项目中期,小组成员开始分模块进行项目设计,图像处理和机械臂处理是我们重点设计的方向;在项目调试期间,小组成员采用分-总的方式进行测试工作,以保证发生错误后能够最快速地解决;最后在收尾工作时,由于小组成员在平时设计时大多保存了设计过程的记录,所以在收尾总结时省去了不好力气,再加上指导老师多次的耐心修改,收尾工作完成地很顺利。
心得体会
在历时几个月的项目设计中,小组成员一直不断重复着发现问题、思考问题、解决问题的循环中度过。整个过程中遇到了很多问题,但也从中学到了很多。
(1) 项目的实用型很重要:创新一直是我们不断追求的目标,我们往往会忽视实用的重要性。在最开始选题时,我们小组成员都一心扑在了如何突出创新点,想了很多选题都缺乏实用型,但指导老师及时建议我们更换思路然后最终确定选题方向。
(2) 抗压能力很重要:在这样一个慢周期的项目进展过程中,最考验人的就是心态的调整。经常会遇到一个问题尚未解决另一个问题接踵而至的情况,在这期间我们可能一个功能的模块都会更换很多种。在不断磨炼地过程中,抗压能力也得到了提高。
(3) 增强了的团队感:在组长的部署安排下,整个团队氛围感很融洽,这也为项目设计营造了一个良好的工作环境。在互相协作的过程中,也增进了合作的默契,为更好地完成项目提供了良好的条件。
最终,十分感谢我们的指导老师,总是耐心地给出针对性的意见。同时感谢主办方,为我们这些FPGA爱好者提供平台进行交流学习。
审核编辑 :李倩
全部0条评论
快来发表一下你的评论吧 !