【2021集创赛】Robei杯一等奖:基于Robei EDA工具的隔离病房看护机器人设计

news2024/11/18 9:36:23

本作品参与极术社区组织的有奖征集|秀出你的集创赛作品风采,免费电子产品等你拿~活动。

团队介绍

参赛单位:重庆交通大学
队伍名称:一丘之貉
指导老师:毕波 李艾星
参赛队员:郁航 张坤 秦衡
总决赛奖项:Robei杯一等奖

摘要

基于对病房护理机器人行业的分析,发现机器人能够为人类带来医疗手术、诊治、体温检测、配送、消毒杀菌的服务,市面上的病房护理机器人不能够满足灵活多变的机器人需求,再加上受新冠疫情的影响,全球服务机器人市场规模增长快速,预计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爱好者提供平台进行交流学习。

作品内容来源于一丘之貉,转载请标明出处。欢迎大家参加极术社区组织的有奖征集|秀出你的集创赛作品风采,免费电子产品等你拿~活动,10月1日截止~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1142215.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

iOS开发-CoreNFC实现NFC标签Tag读取功能

iOS开发-CoreNFC实现NFC标签Tag读取功能 一、NFC近场通信 近场通信(NFC)是一种无线通信技术,它使设备能够在不使用互联网的情况下相互通信。它首先识别附近配备NFC的设备。NFC常用于智能手机和平板电脑。 二、实现NFC标签Tag读取功能 在…

Linux | 进程终止与进程等待

目录 前言 一、进程终止 1、进程终止的几种可能 2、exit 与 _exit 二、进程等待 1、为什么要进程等待 2、如何进行进程等待 (1)wait函数 (2)waitpid函数 3、再次深刻理解进程等待 前言 我们前面介绍进程时说子进程退出…

Canal整合SpringBoot详解(二)

文章目录 Canal整合SpringBoot详解(二)什么是canal案例2:CanalKafka实现mysql和elasticsearch的数据同步⭐Docker搭建elasticsearch7.8.0(单机版本)⭐Docker安装elasticsearch-head5⭐解决es-head 406错误问题直接修改…

实用篇-Eureka注册中心

一、提供者与消费者 服务提供者:一次业务中,被其他微服务调用的服务。(提供接口给其他微服务) 服务消费者:一次业务中,调用其他微服务的服务。(调用其他微服务提供的接口) 例如前面的案例中,order-service微服务是服…

系列七、动态代理

一、概述 二、Jdk动态代理案例 2.1、Star /*** Author : 一叶浮萍归大海* Date: 2023/10/27 17:16* Description:*/ public interface Star {/*** 唱歌* param name 歌曲名字* return*/String sing(String name);/*** 跳舞*/void dance(); } 2.2、BigStar /*** Author : 一叶…

AcWing 1.2.1 最长上升子序列模型 + 动态规划 + 图解(详细)

(1)acwing 4557. 最长上升子序列 4557. 最长上升子序列 - AcWing题库 给定一个长度为 N 的整数序列 a1,a2,…,aN。请你计算该序列的最长上升子序列的长度。上升子序列是指数值严格单调递增的子序列 输入格式 第一行包含整数 N第二行包含 N个整数 a1,a…

LLM系列 | 23:多模态大模型:浦语·灵笔InternLM-XComposer解读、实战和思考

引言 ​简介 模型解读 模型架构 训练 实战 环境准备 本地实测 服务部署 总结 引言 谁念西风独自凉,萧萧黄叶闭疏窗,沉思往事立残阳。 Created by DALLE 3 小伙伴们好,我是《小窗幽记机器学习》的小编:卖热干面的小女孩…

在Golang中理解错误处理

处理Golang中临时错误和最终错误的策略和示例 作为一名精通Golang的开发人员,您了解有效的错误处理是编写健壮可靠软件的关键因素。在复杂系统中,错误可能采取各种形式,包括临时故障和最终失败。在本文中,我们将探讨处理Golang中…

源码解析SpringMVC之RequestMapping注解原理

1、启动初始化 核心:得到应用上下文中存在的全部bean后依次遍历,分析每一个目标handler & 目标方法存在的注解RequestMapping,将其相关属性封装为实例RequestMappingInfo。最终将 uri & handler 之间的映射关系维护在类AbstractHand…

Java入门篇 之 数据类型(简单介绍)

博主回归学习状态的第三篇文章,希望对大家有所帮助 今日份励志文案:你若决定灿烂,山无遮,海无拦 加油! Java中一共存在2种数据类型 1 . 基本数据类型,基本数据类型四种和八种之说(具体看下图) 四种说的是,整数型&…

vscode打开settings.json方法

cmd shift p,输入setting Open Workspace Settings 也会打开UI设置界面; Open User Settings (JSON) 会打开用户设置 settings.json 文件; Open Workspace Settings (JSON) 会打开工作区设置 settings.json 文件 vscode存在两种设置 sett…

损失函数和目标函数|知识补充

这张图中,横坐标size表示房屋的大小,纵坐标price表示房屋的价格,现在需要建立模型来表示两者之间的关系。 对于给定的输入x,模型会有一个输出f(x),用一个函数来度量拟合的程度,也就是真实值和预测值之间的…

前端工程化面试题及答案【集合】

前言: 欢迎浏览和关注本专栏《 前端就业宝典 》, 不管是扭螺丝还是造火箭, 多学点知识总没错。 这个专栏是扭螺丝之上要造火箭级别的知识,会给前端工作学习的小伙伴带来意想不到的帮助。 本专栏将前端知识拆整为零,主要…

工业相机常见的工作模式、触发方式

参考:机器视觉——工业相机的触发应用(1) - 知乎 工业相机常见的工作模式一般分为: 触发模式连续模式同步模式授时同步模式 触发模式:相机收到外部的触发命令后,开始按照约定时长进行曝光,曝光结束后输出一帧图像。…

子集生成算法:给定一个集合,枚举所有可能的子集

给定一个集合,枚举所有可能的子集。 (为简单起见,本文讨论的集合中没有重复元素) 1、方法一:增量构造法 第一种思路是一次选出一个元素放到集合中,程序如下: void print_subset(int n, int …

C++系列之list的模拟实现

💗 💗 博客:小怡同学 💗 💗 个人简介:编程小萌新 💗 💗 如果博客对大家有用的话,请点赞关注再收藏 🌞 list的节点类 template struct list_Node { public: list_Node* _prev; list_…

Tomcat服务部署和优化

目录 一、Tomcat: 1、Tomcat作用: 2、Tomcat的核心组件: 3、servlet作用: 4、Tomcat的核心功能: 二、tomcat配置 一、Tomcat: 是一个开源的web应用服务器,nginx主要处理静态页面&#xff…

不再受害:如何预防和应对.mallab勒索病毒攻击

导言: 我们的数据成了我们的珍宝,但也成了黑客们追逐的目标。其中,.mallab勒索病毒就是一个充满阴谋和神秘的数字威胁,它采用高度复杂的方法将您的数据锁在数字牢笼中。本文91数据恢复将深入探讨.mallab勒索病毒的起源、工作方式…

【RabbitMQ 实战】12 镜像队列

一、镜像队列的概念 RabbitMQ的镜像队列是将消息副本存储在一组节点上,以提高可用性和可靠性。镜像队列将队列中的消息复制到一个或多个其他节点上,并使这些节点上的队列保持同步。当一个节点失败时,其他节点上的队列不受影响,因…

视频转换器WinX HD Video Converter mac中文特点介绍

WinX HD Video Converter mac是一款功能强大的视频转换器,它可以将各种不同格式的视频文件转换为其他视频格式,以便用户在各种设备上进行播放。WinX HD Video Converter是一个功能强大、易于使用的视频转换器,适用于各种类型的用户&#xff0…