综合性医疗废品监管系统查看源代码讨论查看历史
综合性医疗废品监管系统“网物阻疫”一种综合性医疗废品监管系统,创新目标与内容(围绕物联网技术与应用进行创新研究与设计的目的和意义、内容和技术、应用和前景)。
1. 设计目的和意义
随着2019冠状病毒病在全世界范围内的爆发,医疗系统承受了前所未有的压力,在诊疗过程中产生的有害医废垃圾的数量也大幅增加。为了避免这些医废垃圾因为不当处理而造成的病毒感染、放射性物质泄漏等严重问题,我们提出了一种综合性医疗废品监管系统。本系统包含两个主要分系统:可视化医废追踪系统和轮式机器人[1]系统,在本报告中以软件部分及硬件部分表示。可视化医废追踪系统实现对于医疗废物的全程追溯功能,帮助工作人员方便准确地分类、监控医疗废物,而轮式机器人系统能够实现对于分好类地医疗垃圾地运送功能,使得医废处理过程更加安全及高效。
为了实现医废垃圾处理过程的全程无接触化,我们将对于医废垃圾全程监控的软件系统嵌入到智能运输机器人中,实现医废垃圾处理过程由全程可监管到全程可控制的转变,最终建立一个有传送者,有监控端,并且对周围环境具有自适应性的综合性智能医疗废物处理系统。
2. 内容和技术
a. 软件
数据库采用MYSQL数据库,该数据库是一款开源免费的关系型数据库[2],其体积较小,性能良好,足够应对本项目的数据存储工作。
web服务器和web后台管理程序基于RuoYi框架进行开发,该框架集成了当下流行的SpringBoot、Shiro、Thymeleaf、Vue、Bootstrap等技术栈,提供了前端Vue、后端SpringBoot完全分离的权限管理系统,基于Bootstrap又实现了完全响应式布局,支持电脑、平板、手机等所有主流设备。SpringBoot简化了新Spring应用的初始搭建以及开发过程,该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置,而Spring框架是Java平台上的一种开源应用框架,具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Shiro是Apache旗下一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。
开发传统JavaWEB工程时,我们可以使用JSP页面模板语言,但是在SpringBoot中已经不推荐使用了,而Thymeleaf就是SpringBoot支持的一种页面模板语言,它能够处理HTML,XML,JavaScript,CSS甚至是纯文本,其作用就是把各个用户的公用的东西(页面)做一个提取,然后再根据不同的数据对页面进行渲染。Vue是一个采用MVVM架构,通过数据驱动视图的形式来构建用户界面的渐进式框架。Bootstrap是基于HTML、CSS、JavaScript开发的简洁、直观、强悍的前端开发框架,它使得Web开发更加快捷。
Vue和Bootstrap同样作为优秀的前端框架,整合在一起能够帮助我们快速构建出美观优雅的web后台管理的界面。而数据库与web服务器之间的数据交互采用MyBatis框架,在说明MyBatis之前,首先明确ORM和JPA两个概念。ORM即对象关系映射,它是一种思想,是指将数据库中的每一行数据用对象的形式表现出来,例如在Java中,它可以将数据库中每一行数据表现为Java的一个对象,这样的好处是便于不熟悉SQL语句但熟悉Java的编码人员可以方便地操作数据库;JPA是Java持久化接口的意思,它是JavaEE关于ORM思想的一套标准接口,仅仅是一套接口,不是具体的实现。而MyBatis则是一个实现了JPA规范的用来连接数据库并对其进行增删改查操作的开源框架,它能够很好地与SpringBoot进行兼容,便于服务器与数据库进行数据交互。
终端app采用Android进行开发,主要涉及的一个问题是app与服务器通信的问题,本项目采用的方案是使用Android端用于处理网络请求的开源框架OKhttp,该框架基于HTTP协议,HTTP协议即超文本传输协议,它是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准,HTTP基于TCP/IP通信协议来传递数据。
从以上描述可以得出app与服务器之间进行的数据处理流程为:app基于HTTP协议向服务端发送Post请求,服务端根据接收到的不同的请求执行不同的业务,该业务就是通过MyBatis对数据库进行增删改查等工作,执行完毕,服务端再将执行的结果以Json的形式返回响应给app,从而app可以确定操作是否执行成功。web后台管理程序与web服务器之间采用B/S架构,它们之间的交互流程为:前台(web后台管理程序)通过表单或JavaScript使用Formdata对象向后台提交数据,后台根据接收到数据执行相关的业务,进而将业务执行结果以及请求的资源返回给前台,展示在用户浏览器中。
由于软件功能模块较多,加之篇幅限制,以下仅列出部分具有代表性的模块测试结果(WEB端类似)。文章未列出的系统已开发完成的其它功能模块经测试结果均符合预期要求,性能完备良好。
(1)用户登录界面:首先打开app。登录界面右上角齿轮按钮为服务器ip地址及端口号设置,此功能可以设置局域网ip,用户输入账号密码进行登录,测试输入错误的账号密码,会有密码错误的提示。
(2)登录成功界面:用户登录成功跳转到app的主界面。
(3)功能模块测试
工作人员在移动端对于医废的操作各项数据均可以展示在WEB端。经测试,各箱子数据正常,二维码打印功能正常。
SpringBoot简化了新Spring应用的初始搭建以及开发过程,该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Springboot负责业务逻辑的实现,主要分为controller控制层,domain数据模型层,service业务逻辑层以及mapper数据存储对象层。domain层存放实体类,与数据库中的属性值基本保持一致,mapper层直接与数据库打交道(执行SQL语句),接口提供给service层,service层主要是针对具体的问题的操作,把一些数据层的操作进行组合,间接与数据库打交道,controller通过service的接口来控制业务流程,也可通过接收前端传过来的参数进行业务操作。而Spring框架是Java平台上的一种开源应用框架,具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Shiro是Apache旗下一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。开发传统Java WEB工程时,我们可以使用JSP页面模板语言,但是在SpringBoot中已经不推荐使用了,而Thymeleaf就是SpringBoot支持的一种页面模板语言,它能够处理HTML,XML,JavaScript,CSS甚至是纯文本,其作用就是把各个用户的公用的东西(页面)做一个提取,然后再根据不同的数据对页面进行渲染。Bootstrap是基于HTML、CSS、JavaScript 开发的简洁、直观、强悍的前端开发框架,它使得 Web 开发更加快捷。而数据库与Web服务器之间的数据交互采用MyBatis框架,在说明MyBatis之前,首先明确ORM和JPA两个概念。ORM即对象关系映射,它是一种思想,是指将数据库中的每一行数据用对象的形式表现出来,例如在Java中,它可以将数据库中每一行数据表现为Java的一个对象,这样的好处是便于不熟悉SQL语句但熟悉Java的编码人员可以方便地操作数据库;JPA是Java持久化接口的意思,它是JavaEE关于ORM思想的一套标准接口,仅仅是一套接口,不是具体的实现。而MyBatis则是一个实现了JPA规范的用来连接数据库并对其进行增删改查操作的开源框架 ,它能够很好地与SpringBoot进行兼容,便于服务器与数据库进行数据交互。
终端app采用Android进行开发,主要涉及的一个问题是app与服务器通信的问题,本项目采用的方案是使用Android端用于处理网络请求的开源框架OKhttp,该框架基于HTTP协议。从以上描述可以得出app与服务器之间进行的数据处理流程为:app基于HTTP协议向服务端发送Post请求,服务端根据接收到的不同的请求执行不同的业务,该业务就是通过MyBatis对数据库进行增删改查等工作,执行完毕,服务端再将执行的结果以Json的形式返回响应给app,从而app可以确定操作是否执行成功。Web后台管理程序与Web服务器之间采用B/S架构,它们之间的交互流程为:前台通过表单或JavaScript使用Formdata对象向后台提交数据,后台根据接收到数据执行相关的业务,进而将业务执行结果以及请求的资源返回给前台,展示在用户浏览器中。
a. 硬件
机器人采用主、从动轮驱动结构,前轮与侧面轮为驱动轮,可以上下摆动,方便越障;后轮为从动轮(根据产品不同应用,同样可以使其成为主动轮),在越障时提供支撑作用;腹部四个驱动轮平行排列,可使小车在越障时保持自身的平衡性。头部采用四杆机构,通过变形达到抬起车轮越障的目的;侧翼采用平行四边形架构,能有效的适应复杂的障碍物路面。头部四杆机构和侧翼平行四边形结构的变形增强了机器人的越障性能。机器人在进行越障时,首先头部车轮与障碍物接触,摩擦力克服重力结合四杆机构的变形,使头部抬起,然后腹部车轮提供越障的驱动力进行越障。由于尾部通过连杆与腹部相连,在进行越障时给了机器人可靠的支撑,保证了机器人越障的稳定性。
崎岖表面行走机器人的整体结构包括:头部、腹部、侧翼和尾部四个部分,其连接方式为:头部与腹部铰接,左右两个侧翼分别铰接于腹部,尾部与腹部固定连接。
机器人腹部主要起支撑整车支架的作用,其他各个部分均要与腹部相联接,为了使机器人能够完成一定科学探测或探险等任务,腹部具有适当的空间以容纳一定的负载并具有一定的负载能力。机器人腹部包括:壳体、箱盖、头部连接块,侧翼连接块、尾部连接块。箱盖置于壳体之上,头部连接块通过螺钉固定联接于壳体的前壁,四个侧翼连接块分别通过螺钉固定联接于壳体的左右两侧,每侧上下布置两个,尾部连接块通过螺钉固定连接一于壳体的后壁。其中壳体是中空的,其中可以放置机器人的控制装置和电池以驱动各个电机实现机器人的前进、后退和左右转弯运动,此外还可以为其他负载提供一定的空间。
由于崎岖表面行走机器人的越障采用了分批越障的形式,即首先头部一个车轮抬起越障。机器人头部需要通过变形将头部车轮抬起,故我们采用了四杆机构。因此采用如图2.9所示结构。头部结构主要包括:头部扭簧、短曲柄板、曲柄板联接筒、螺栓、长曲柄板、连杆板、连杆安装块、转向电机安装板、转向电机、转向套筒、L形支承板、驱动电机、轮子。
在机器人左右两侧分别设置了一套平行四边形机构,利用平行四边形机构的变形能力以适应复杂地面。左右两个侧翼分别铰接于腹部。如图所示,机器人侧翼结构主要由以下构件组成:横肋、若干螺栓、腿外板、腿内板、腿连接块、驱动电机、轮子螺栓穿过横肋中心孔,与腹部的侧翼连接块中心孔固定联接。腿外板与腿内板分别将两横肋的一端夹住,穿过螺栓形成转动副,其下端夹住腿连接块并焊接或粘结;驱动电机通过螺纹联接与腿外板固定,其输出轴穿过腿外板,与轮子固定联接,这样组成了一条腿。两条腿与两横肋组成一个平行四边形机构。
将头部短曲柄板和长曲柄板用螺栓与腹部壳体相联形成铰链,两个侧翼平行四边形机构用螺钉铰接于腹部的四个侧翼连接块,四个侧翼连接块使两个侧翼与腹部壳体之间有一定的距离使两者不接触以避免摩擦,又由于两个侧翼与侧翼连接块有较大的接触面积而提高了侧翼的横向刚度,增强了横向稳定性。尾部尾板与腹部的尾部连接块在接触面粘结后并通过螺栓相联。
机器人尾部结构主要包括:尾板,螺栓、尾板连接块、转向电机安装板、转向电机、转向套筒, L形支承板、驱动电机、轮子。两片尾板上端夹住腹部中的尾部连接块,并焊接或粘结,下端夹住尾板连接块,并焊接或粘结。尾板连接块下端面与转向电机安装板焊接或粘结,转向电机通过螺纹联接与转向电机安装板固定,其输出轴穿过转向电机安装板,转向套筒套在转向电机输出轴上,由螺钉锁紧,其下端面与L形支承板上端面焊接或粘结。驱动电机通过螺纹联接与形支承板固定,其输出轴穿过L形支承板,与轮子固定联接.
本产品克服了传统轮腿式越障机器人存在的各种不足,并且性能迎合市场需求。该款崎岖表面行走机器人相比于传统机器人,简化了机器人的本体结构,同时由于采用被动式地形适应机构,因此该机器人的控制系统得以简化,提高了机器人工作时的可靠性。本产品具有很强的野外适应能力和越障能力,可以适应水泥地、草地、沙地和泥泞路面等多种复杂地形。并且能够攀爬高度大于轮子直径二倍的台阶、可以通过斜度约等于50度的复杂斜坡。
该款崎岖表面行走机器人尾部可设置转向电机,通过转向套筒带动后轮在前轮转向的同时进行转向,能够实现近似零半径转向。当沿机器人中轴线直行前进运动时,通过控制驱动六个前进驱动电机并使其速度相同,此时头部和尾部的转向电机无驱动。如图2.11左所示。只要控制六个驱动电机使其反向转动,就可以使机器人直行后退运动图2.11(a)为崎岖表面行走机器人顺时针近似零半径转弯,此时机器人前进运动停止,通过控制使其头部转向驱动电机顺时针转动90°,尾部转向驱动电机逆时针转动90°,然后腹部右侧两轮前进电机反向驱动,其他前进电机转向不变,就可以实现顺时针近似零半径转弯。图2.11(b)所示为机器人逆时针近似零半径转弯,此时机器人前进运动停止,通过控制使其头部转向驱动电机逆时针转动90°,尾部转向驱动电机顺时针转动90°,然后腹部左侧两轮前进电机反向驱动,其他前进电机转向不变,就可以实现逆时针近似零半径转弯。
大部分越障机器人工作过程都属于主动越障的过程,程序复杂,不易操作,无法广泛应用于市场,而本产品属于被动式越障机器人,控制程序得以简化,同时由于结构的优化,提高了机器人工作时的可靠性和经济性,大大增强了越障机器人的可推广性。
随着中国跑步进入老龄化社会,60岁以上的老人数量快速增多,独居、孤寡的“空巢老人”也正以前所未有的速度增长。有数据显示,2000至2010年十年间,中国城镇空巢老人比例由42%上升到54%,农村由37.9%升到45.6%,2013年中国空巢老人人口超过1亿。
农村城镇子女外出务工较为普遍,老年人居住无电梯的楼栋较为常见,老旧小区加装电梯不切实际,而老年人上下楼取快递较为不便,虽然人工送取快递到户十分方便快捷,但大多数快递员将快递送到小区门口或者小区快递代收点便算完成快递派送,一些老年人上下楼取快递因为腿脚不便,这无疑增添了隐形的危险。如果要专门的人送快递上门,是一项需要耗费巨大的人力、物力、财力的工作,在快递配送这一方面,本产品可以负重爬楼将快递或者物品送到社区居民手里,这也打通了快递代收点到用户手中这“最后一公里”,经市场调查,本产品具有很大的潜在市场空间。
该产品机器人系统的总体结构是以STM32单片机为核心,结合磁导航传感器,设计了包括运动控制、避障、定位导向和电源等模块,并创新算法计算出最佳行驶路径。产品机器人基于良好的结构性能和运输性能,可以很好的解决快递业“最后一公里”问题。
社区快递机器人成本低、效费比好、适应性强,拥有许多强于人工的优点,在快递运输领域拥有广阔的前景。产品研发主旨为用行驶结构机器人代替人工,机器人运送快递至指定位置并向收货人发送快递到达信息,一方面既节省了快递输送的人工成本,另一方面又节省了人们取快递所要花费的时间,减少了老年人因为取快递可能会造成的不必要麻烦。
我们以该社区快递机器人为研究对象,从该社区快递机器人的肢体硬件和系统软件研究,现分析后者。研发能智能定位、智能导航、智能避障的嵌入式智能控制系统。研究从每一个模块的功能采样、分析、选择、判断、指令输出等出发,形成一套性能高、稳定性高的中央处理系统。
该机器人主要能完成以下功能
产品有很强的野外适应能力和越障能力,可以适应水泥地、草地、沙地和泥泞路面等多种复杂地形。并且能够攀爬高度大于轮子直径二倍的台阶、可以通过斜度约等于50度的复杂斜坡,进行零半径转向。
机器人能过自动规划行走路径,并能够通过传感器感知障碍,实现自动避障。添加定位导向模块,由GPS定位模块和传感器模块组成,实时的测量运输机器人小车的运动轨迹,保证工作可靠性。
机器人腹部及腹部以下均有较大空间可以储存快递,腹部采用“摩天轮”快递箱,内置有旋转分割板,能给分隔快递,保障每个快递的安全,当运送较大快递时,还可将分隔板取下。运输快递较多时,可在腹部以下加装快递运输箱,通过移动快递运输箱挡板的位置可将快递固定。
机器人腹部顶端设有电子屏幕,可以显示用户快递所在位置,同时可以进行广告宣传,增加额外收入。团队开发线上端微信小程序实现社区快递精准服务。
该社区快递机器人系统的总体结构是以STM32单片机为核心,结合磁导航传感器,设计了包括运动控制、避障、定位导向和电源等模块,并运用改进的蚁群算法计算出最佳行驶路径。本机器人基于良好的结构性能和运输性能并结合现在日趋完善的人脸识别功能和GPS导航定位系统,可以很好的解决快递业“最后一公里”问题。
本社区快递机器人成本低、效费比好、适应性强,拥有许多强于人工的优点,在快递运输领域拥有广阔的前景。产品机器人的研究主旨为用社区快递机器人代替人工,机器人运送快递至指定位置并向收货人发送快递到达信息,一方面既节省了快递输送的人工成本,另一方面又节省了人们取快递所要花费的时间,减少了老年人因为取快递可能会造成的不必要麻烦。
团队以社区快递机器人为研究对象,研发能智能定位、智能导航、智能避障的嵌入式智能控制系统。研究从每一个模块的功能采样、分析、选择、判断、指令输出等出发,形成一套性能高、稳定性高的中央处理系统,将中央处理系统主要分为六个模块:核心板模块、控制模块、避障模块、定位导向模块、电池模块、信息处理模块。
参考文献
- ↑ 史上最全的机器人分类,看一遍认识所有 ,搜狐,2017-11-29
- ↑ 史上最全分布式数据库概述,搜狐,2019-06-12