版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
教室清扫机器人设计摘要近年来,随着计算机技术与人工智能科学的飞速发展,智能机器人技术逐渐成为现代机器人研究领域的热点。其中,服务机器人开辟了机器人应用的新领域。服务机器人的出现主要有三大原因:一是劳动力成本的上升;二是人类想摆脱枯燥乏味的体力劳动,如清洁、家务、照顾病人等;三是人口的老龄和社会福利制度的完善也为某些服务机器人提供了广泛的市场应用前景。服务机器人区别于工业机器人的一个主要特征就是服务机器人是一种适用于具体的方式、环境及任务过程的机器人系统,其活动空间大,具有在非结构环境下的移动性,因此服务机器人大多数是移动机器人。随着社会的发展需要,服务机器人已经渗透了我们的生活、工作和经济方面,并且起到了很大的作用。服务机器人的研究和发展对我们的经济发展有很多的影响。清扫机器人主控芯片采用STM32F103C8T6单片机,使用蓝牙通信,达到控制小车前进、后退、左转右转和停止,与手机端上位机进行通信,清扫机器人具备避障功能,判断出障碍物的方位和距离,并利用控制电机马达等执行器来控制小车做出适当的方向行动,清扫机器人自动依照地面设下的标示线移动清扫教室。循迹模块通过感应路面上的黑线或者颜色对小车进行控制,使其按照预设的路线行驶。清扫机器人可监测当前移动速度,显示,并发送到手机端,达到清扫教室的结果。关键词:STM32;教室;智能机器人 目录TOC\o"1-3"\h\u18735第1章绪论 第1章绪论1.1研究目的及意义教室清扫机器人的设计目的是减轻教室清扫工作的负担,提高教室清洁的效率和质量,同时为学生提供一个更加干净、卫生的学习环境[1]。通过机器人清扫教室,可以减少人力投入和人为疏忽带来的清洁漏洞,同时可以避免人员在清扫过程中受到清洁用品的刺激或过度劳累等不良影响。此外,机器人还能够在非学习时段完成清洁工作,避免影响学生的学习和教学秩序[2]。教室清扫机器人的设计具有多方面的意义:首先,它可以大大提高清扫效率和质量。相比于人工清扫,机器人可以更快速地完成清扫工作,并且更加全面、细致地清洁每一个角落,确保教室的卫生状况达到标准[3]。其次,它可以减少人力资源的浪费。在传统的清扫模式下,需要投入大量的人力进行清扫工作,而且这些工作相对繁琐、危险,对工作人员的身体和心理健康也有影响。机器人的出现可以大大减轻人力资源的压力,使得人力资源得以更好地利用[4]。此外,教室清扫机器人还可以提高学生的学习效果。学生在整洁、卫生的环境下更容易保持清醒、专注,提高学习效果,减少疾病传播的风险,保障学生健康成长[5]。最后,教室清扫机器人的出现还有利于推动智能制造和科技进步。机器人技术的应用可以促进智能制造的发展,进一步提升生产力水平,为未来经济发展注入新的动力。1.2国内外现状分析目前,我国在教室清扫机器人设计的研究已经处于世界领先地位。2021年,李书阁;赵鹏举;曾安在《一种墙面清扫机器人设计研究》中为了改进装修时腻子墙面打磨后的清扫方式,改善工作环境,减轻工人作业负担,设计一种能够协助工人完成墙面清扫任务的机器人.针对施工现场环境和墙面清扫作业工艺要求,设计墙面清扫机器人的机械系统,能够对清扫刷的高度和角度进行无极调节,实现各种形状结构墙面的清扫作业.采用单片机控制器作为机器人的核心控制系统,在视频图传系统和遥控系统等其它子系统的配合下,可以利用计算机在洁净的工作场所控制机器人完成墙面清扫作业,具有较大的实用意义和推广价值[6]。2020年,鲁重钢、刘红、徐靖、刘东豪在《基于stm32的智能清扫机器人设计》中,智能家居是在互联网影响之下物联化的体现。智能家居通过物联网技术将家中的各种设备连接到一起,与传统家具相比较,智能家居的优点更多地体现在人机信息交互及其自动化方面,通过"互联网+"的方式将家具信息与人进行相互传递,从而更好地实现家具本身的功能。本次研究的是智能清扫机器人系统的设计与开发,尝试去做一款低成本、轻便、多功能的清扫机器人[7]。2019年,潘文卿、刘兴义、王飞飞、宋炳雨、王琳琳在《一种自动清扫机器人设计》中实现自动清扫机器人的基本功能;接着,详细设计了行走系统,清扫系统和安全系统的关键部件,选择电机,对蜗轮蜗杆传动机构进行设计校核,并对清扫边刷,滚刷,拖地装置,消毒装置等进行设计.装置体积小巧、结构紧凑、清扫全面、安全性高,能够较好的适应幼儿园等儿童活动场所对自动清扫机器人的需要[8]。国际上对教室清扫机器人设计的研究已经颇有成效。2020年,Karakurt,Tolga在《DesignofDeLroAutonomousDeliveryRobotandAIBasedLocalization》中基于用户体验的2个智能渗透机器人之间存在着显着差异,这可能是界面设计区别的结果。接口布局,术语和图形符号及其可见性,信息传输和反馈都影响了结果。然后我们使用不同的设计理论来分析和评估这些方面,提出一些改进措施[19]。2019年,AbdullahA.Hayat;
RizuwanaParween;
MohanR.Elara;
K.Parsuraman;
PrathapS.Kandasamy在《AnalysisofHumanExerciseHealthMonitoringDataofSmartBraceletBasedonMachineLearning》中对于每个转向轴,使用两个轮内电机来获得独立的转向作用。这赋予了运动灵活性,并使系统为全向,并允许机器人沿人行道沿任何方向方便地移动。与使用汽油供电的现有解决方案相比,它使用车载电池供电,产生的噪音更少。介绍了建模和转向运动学,以及所遵循路径的实验结果,并讨论了支持机器人功能的讨论[20]。2021年,AitorIbarguren在《Designofflexibletrackinspectionrobotinminingface》中设计了检查机器人的主体结构和柔性轨道的机械结构,并且还确定了它们的安装方法。其次,灵活的轨道由运动学模拟。灵活躲避障碍物进行打扫[21]。1.3主要研究内容本课程设计是一种教室清扫机器人的设计,这个设计是针对教室清扫机器人设计的问题做研究。主芯片采用STM32F103C8T6,使用蓝牙通信模块,利用手机端作为上位机。机器人可以躲避障碍物、还可以自动依照地面设下的标示线移动清扫教室、监测当前移动速度显示并发送至手机端。工作人员可通过手机端控制机器人移动,达到清扫教室的结果。实现的功能如下,1.清扫机器人主控芯片采用STM32F103C8T6,使用蓝牙通信,与手机端上位机进行通信;2.清扫机器人具备避障功能;3.清扫机器人自动依照地面设下的标示线移动清扫教室;4.清扫机器人可监测当前移动速度,显示,并发送到手机端;5.工作人员可通过手机端控制清扫机器人移动清扫教室。1.4功能需求分析1.4.1技术支持(1)硬件部分需要单片机STM32F103C8T6、蓝牙远程APP模块、手机端作为上位机;(2)软件平台程序用Keiluvision5;(3)编程语言用C语言;(4)可以通过手机端控制清扫机器人移动达到清扫教室的功能。1.4.2预期结果本设计是一种教室清扫机器人的设计,这个设计是针对教室清扫机器人设计的问题做研究。主芯片采用STM32F103C8T6,使用蓝牙通信模块,利用手机端作为上位机。机器人可以躲避障碍物、还可以自动依照地面设下的标示线移动清扫教室、监测当前移动速度显示并发送至手机端。工作人员可通过手机端控制机器人移动,达到清扫教室的结果。实现的功能如下,1.清扫机器人主控芯片采用STM32F103C8T6,使用蓝牙通信,与手机端上位机进行通信;2.清扫机器人具备避障功能;3.清扫机器人自动依照地面设下的标示线移动清扫教室;4.清扫机器人可监测当前移动速度,显示,并发送到手机端;5.工作人员可通过手机端控制清扫机器人移动清扫教室。1.5总体方案设计第一步:通过图书馆和网络查询到所需要的资科,要各个硬件器件的详细资料,包括STM32F103C8T6芯片的资料、传感器模块的详细资料及其介绍和各个品种的优缺点[9]。第二步:确定系统使用各个模块,理清模块之间的关系,收集相关软硬件资料;第三步:规划研究,确定系统组成部分结构,勾画出大体系统框架图并在结构框架图的基础上提出原理框图;第四步:利用软件完成硬件电路部分设计并画出各部分模块的电路图,将各系统部件通过接口电路集合在一起,并画出原理电路图;第五步:根据系统控制过程完成软件模块设计部分,绘制出总的流程图;第六步:准备进行模拟仿真,检查各系统是否能够按照预定要求完整实现控制功能,梳理各模块之间的关系并整理论文[10]。
第2章系统总体结构设计2.1设计方案在功能结构模块设计的基础上,系统设计会详细展现每个功能模块具体的实现流程,并详细描述出系统功能模块的输入、输出和处理过程,这可以有效避免在系统实施阶段对程序进行设计时,用特定传感器进行硬件设计,从而实现系统的整体功能[11]。本设计是STM32F103C8T6单片机为控制核心,由红外避障模块,蓝牙模块,测速模块组成,实现教室清扫机器人设计。系统框图如下图:图2-1结构框图2.2功能需求分析系统的功 能 分析,是分析用户提出的 具 体问题的功 能需求,分析提出的这些 功能是否 合理 ,通 过现有的 技术能实现这些需求。为了系统的完整性需求 分析是必 不可少的 ,因此,在需求分 析问题过程中,其分 析的 问题越透 彻系统功能就越完整[12]。传感器与计算机技术和通信技术被称为信息技术的三大支柱,因为硬件系统不能直 接获取所需的各种信息,因此硬件系统中获取数据信息常常通过传感器来实 现。传感器在硬件系统中将 测量测得的生物量,物理量,化学 量等。 利用生物,物理和化学效应将其转换为 需的电量。本系统采用的模块如下[13]。红外避障模块:红外避障模块需要能够准确地检测机器人周围的障碍物,避免误判和漏判;为了避免机器人在清扫时被卡住或碰撞到障碍物,红外避障模块需要能够在多个方向上检测障碍物;红外避障模块需要具有高灵敏度,能够在检测到障碍物时及时发出信号;由于教室光线变化较大,红外避障模块需要具备良好的光线抗干扰能力,以保证检测的准确性和稳定性;不同教室的布局和大小不同,红外避障模块需要能够调节检测范围,以适应不同的环境;教室清扫机器人系统是长时间运行的,红外避障模块需要具有高可靠性,能够长期稳定运行。总之,红外避障模块是教室清扫机器人系统中非常重要的一个组成部分,需要具备高精度、多方位检测、高灵敏度、光线抗干扰能力强、可调节检测范围和高可靠性等功能,以保证机器人能够顺利完成清扫任务,并避免与障碍物发生碰撞和卡顿的情况[14]。测量移动速度模块:测速模块需要能够精确测量机器人的速度和行驶距离,以便控制系统能够准确控制机器人的行驶方向和速度;测速模块需要具有高灵敏度,能够及时、准确地检测机器人的运动状态;测速模块需要具有高实时性,能够及时反馈机器人的速度和行驶距离,以保证控制系统的稳定性和可靠性;由于教室环境复杂,测速模块需要具备良好的抗干扰能力,能够在各种复杂的环境下正常工作;测速模块可以采用超声波和红外线的双重检测方式,能够更加准确地测量机器人的速度和行驶距离;测速模块需要能够调节检测范围,以适应不同的环境和机器人运动状态;测速模块需要具有良好的接口和易于集成的特点,能够方便地与其他模块进行协调工作。总之,测速模块是教室清扫机器人系统中非常重要的一个组成部分,需要具备高精度、高灵敏度、高实时性、良好的抗干扰能力、双重检测、可调节检测范围和易于集成和使用等功能,以保证机器人能够精确、稳定地测量速度和行驶距离,完成清扫任务[15]。2.3器件选型2.3.1单片机型号选型51单片机的存储器容量较小,只能处理比较简单的应用程序。对于复杂的应用程序,可能需要使用外部存储器或选择其他微控制器。单片机只支持八位处理器架构,这限制了其处理速度和能力,对于需要更高性能的应用程序,可能需要选择其他微控制器。相比其他微控制器,单片机缺乏一些硬件模块,如模拟转换模块、USB接口、以太网接口等,这些模块需要通过外部芯片实现[16]。由于该单片机的开发历史较长,一些新的开发工具和技术可能不支持它。这使得对于一些特定的应用程序,可能需要花费更长的时间和精力来开发和调试。单片机的AD、EEPROM等功能需要靠扩展和延伸,其增加了硬件和软件的负担;虽然I/O脚使用较为简单,但高电平无输出能力,这也是该系列单片机的软肋;运行速度过慢,其中特别是双数据指针,如果能改进能给编程带来很大的便利。51单片机保护能力很差,很容易烧坏芯片,目前在教学场合和对性能要求不高的场合大量被采用[17]。32位单片机使用更宽的数据总线和地址总线,可以处理更大的数据和更复杂的指令,提供更高的处理速度和处理能力。具有更大的存储器容量,可以存储更多的程序和数据,满足更复杂的应用程序的需要。单片机通常配备更多的硬件模块,如多个定时器、控制器、以太网接口、USB接口等,这些硬件模块可以提高系统性能并简化软件设计。该单片机通常提供更多的外设接口,并且该单片机使用更先进的制造工艺,功耗更低、可靠性更高,同时可实现更小的封装,便于集成到更小的设备中。由于该单片机的市场需求日益增加,有很多成熟的开发工具和支持,方便开发者使用和调试。综上所述,32位单片机在处理速度、存储器容量、硬件模块、外设接口、制造工艺和开发工具等方面都有明显的优势,适用于更复杂的应用程序[18]。2.3.2红外传感器模块选型红外接近传感器是一种常见的非接触式传感器,用于检测物体是否靠近。其工作原理是通过红外线发射器将红外线照射到物体上,物体反射回来的红外线被接收器接收并转化成电信号,最终通过处理模块来实现物体距离的测量,GP2Y0A41SK的工作距离为4cm-30cm,检测范围为50度,适合于近距离的物体检测。E18-D80NK是一种常见的红外反射传感器,是E18系列传感器的一种。其具有小巧、灵敏、精准等特点,被广泛应用于许多电子产品中,采用光电传感器原理实现物体距离检测,可以通过输出端口输出数字信号,灵敏度高、响应速度快。其检测距离范围为1-80cm,适用于近距离测距。本设计考虑到各种因素,为了检测距离较短,适用于近距离物体检测,体积小,易于集成,可以方便地安装在各种硬件平台上,灵敏度高,可以检测到物体的细微变化,最终选择了红外反射传感器E18-D80NK。2.3.3蓝牙模块选型HC-06是一种常见的蓝牙串口模块,它是基于蓝牙2.0标准的蓝牙串口透明传输模块。这种模块具有体积小、功耗低、通信距离、接口简单等优点,可以被广泛地应用于Arduino、RaspberryPi等单片机系统,HC-06蓝牙模块只能作为从设备进行通信,不能作为主设备进行扫描和连接。此外,在使用HC-06蓝牙模块进行数据传输时,需要进行一定的数据校验和错误处理,以确保数据的可靠性和准确性。CC2541是一种低功耗蓝牙芯片,由德州仪器(TI)公司推出。CC2541采用ARMCortex-M3内核,集成了蓝牙4.0协议栈及相关硬件电路,可以作为蓝牙模块进行使用。它是一种小型、低功耗、高度集成的蓝牙模块,支持BLE(BluetoothLowEnergy)协议,可以与iOS和Android设备进行连接。本设计考虑到各种因素,是一个较为简单的模块,主要应用场景为低成本的蓝牙通信,它只支持蓝牙2.0规范下的SPP(串口协议)模式,为了体积小、功耗低、通信距离最终选择HC-06蓝牙模块。第3章系统硬件部分设计3.1系统总体设计本系统设计一个教室清扫机器人设计,全部模块主要包含红外避障模块,循迹模块,蓝牙模块,测速模块,原理图如图3-1所示。3-1系统总体原理图3.2系统主要功能模块设计教室清扫机器人设计主要包括了红外避障模块,蓝牙模块,测速模块以及单片机最小系统设计。3.2.1红外避障功能模块设计本设计LM393比较器的红外线避障模块是其中较容易设置的通用输入/输出接口模块之一。它有三个管脚分别是:电源正极/电源负极/输出极;有一对发射与接收管;单个模块电压范围3.3-5V,红外测量距离是2-30cm。接到信号输出的状态是:有障碍物和无障碍物。此模块工作的功能是用来发射和接收红外线来做比较,当接收端接收到了信号后,输出引脚就会输出低电平电压,如果接收端并没有接收到信号,那么输出引脚不输出。这上面设置了一个可以调整的电位器,是用来调整红外测试距离。使用的时候要先旋转电位器来调整。在我的设计中,此模块所起的作用是发现机器人所行进的路线上有没有阻挡物,如果有阻挡物的话则会通过模块的功能给机器人输出一个信号,进而机器人再反馈给其他的功能模块进行相应的行动。红外线避障模块实物如图3-2所示。其原理图如图3-3所示。图3-2红外避障模块实物图图3-3红外避障模块原理图3.2.2无线通信功能模块设计SIM900A它是一个设计尺寸密集的全球移动通信系统模块,它是一个立基于意法—爱立信芯片,结构上应用了ARM926EJ-S架构,计算性能非常的强大,可以应用在好多跟踪系统与定位系统上。它的制作尺寸非常的微小,是毫米级别;消耗的整个的功率比较低;它的支持电压:3.2~4.8V;能够在不同的用户之间利用AT指令来设置命令,支持频段为900/1800Mhz。SIM900A的主要功能是通过安装在上面的SIM卡接收信号后传输指令或是发送指令,而在我的远程控制扫地机器人中主要的作用就是接收控制端手机发送的短信并且发动指令来控制机器人作出相应的反应,也就是作为信号接收并处理装置。GPRSSIM900A的实物图如图3-4所示。图3-4SIM900A模块3.2.3单片机型号选择STM32系列32位单片机,以ARM的Cortex-M为基础,它可以支持32位的多种用途,包括高性能,实时功能,数字信号处理,以及低功耗,低压运行,并具有一个完整的,易于使用的发展。图3-5STM32单片机图3.2.4循迹模块电度表脉冲数据采样:电能表的脉冲也就是指其计量参数输出,其为校表、远程抄表提供参数。2、障碍检测:障碍检测就是指检测是否有障碍物,然为运动提供信号。3、黑白线探测:探测器上的红外线发光二极管持续发出红外线,如果发出的红外线没有被折射,或者折射的红外线没有足够的亮度,则光敏三极管将关闭,这时,组件的输出将会是一个低电平;指示器二极管始终处于关闭的状态。当被探测对象进入探测区域后,红外光被充分地折射,光敏三极管饱和,这时,该组件的输出为高电平;图3-6循迹传感器3.2.5测速功能模块设计教室清扫机器人系统中的测速模块是用于测量机器人的速度和行驶距离的重要组成部分。以下是教室清扫机器人系统中测速模块的硬件设计要点:电机编码器:测速模块需要安装电机编码器,用于实时监测电机的转速和运动状态,以便计算机控制系统能够准确地测量机器人的速度和行驶距离[20]。光电传感器:测速模块还需要配置光电传感器,用于检测机器人轮胎的转动情况,并产生相应的脉冲信号,以便计算机控制系统计算机器人的速度和行驶距离。微控制器:测速模块需要配置微控制器,用于处理光电传感器和编码器产生的信号,计算机器人的速度和行驶距离,并将测量结果反馈给计算机控制系统。显示屏:为了方便操作和监测机器人的运行状态,测速模块可以配置显示屏,用于显示机器人的速度和行驶距离等信息。电源管理模块:测速模块还需要配置电源管理模块,用于管理模块的电源供应,并确保模块在运行过程中的稳定性和可靠性。壳体设计:测速模块需要采用合适的壳体设计,以保护模块内部的电子元件不受机器人运动中的外部干扰和碰撞的影响。总之,教室清扫机器人系统中的测速模块需要具备电机编码器、光电传感器、微控制器、显示屏、电源管理模块等硬件组件,以确保机器人能够精确、稳定地测量速度和行驶距离。在硬件设计过程中,还需要考虑模块的壳体设计,以保护内部电子元件的安全。图3-7光电测速传感器3.3本章小结基于STM32单片机的教室清扫机器人系统分析,基于现有的技术和经济条件系统功能均可实现;将整个系统划分为两个功能模块进行分析,使得对系统的分析能够细致入微,同时也有利于后续工作的进行。
第4章软件系统设计4.1软件主流程图功能模块系统功能的设计是满足需求设计的,如果能告诉所有处理特别程序需要的设备,如果该系统对投入、产出和模块作了准确的描述,就能使程序更有效地避免该系统的应用阶段。主程序首先对单片机进行初始化,使得相应的IO口以及中断寄存器置位,以满足接下来的操作。图4-1系统软件主流程图4.2红外避障模块流程当系统初始化完成后,开始正常工作。系统上接收来自上位机的信号,控制系统工作运行,前进遇到障碍物左转或右转90°避开障碍物位置继续前进。流程图如下。图4-2红外避障模块流程图4.3测速模块流程当系统初始化完成后,开始正常工作。系统上接收来自上位机的信号,控制系统工作运行,前进过程中测量移动速度并上传到手机端,流程图如下。图4-3红测速模块流程图4.4软件主流程图KeiluVision5是一款集成开发环境(IDE),适用于嵌入式系统的开发,是由ARM公司开发。它支持多种ARM微控制器,例如ARM7、ARM9、Cortex-M系列等,它同时也支持多种外部设备、传感器和其他外围设备。KeiluVision5是一款功能强大的工具,适用于嵌入式系统的开发、编译和调试,具有以下特点:它是集成多种编程语言,支持C、C++、汇编等,自带调试器,支持单片机在线调试和仿真,支持多种实时操作系统(RTOS),用于多任务处理,提供一系列组件和库文件,方便编写更加复杂的程序,提供直观简洁的用户界面,易于使用和学习,支持第三方软件集成,如Git、Subversion等,方便进行版本控制和协同开发。总之,KeiluVision5是一个非常常用的、面向嵌入式系统的IDE,提供了一个完整的开发平台,使用户可以在同一个软件中轻松地完成从开发到部署的所有任务。图4-4Keiluvision5软件界面4.5红外避障模块程序的设计教室清扫机器人系统中的红外避障模块的软件设计需要实现机器人的避障功能,以确保机器人能够在遇到障碍物时及时停止或转向。以下是红外避障模块的软件设计要点:传感器数据读取:红外避障模块需要读取红外传感器的数据,并进行相应的处理,以确定机器人周围的障碍物情况。数据处理包括滤波、数据校验和数据转换等。算法设计:红外避障模块需要根据传感器数据设计相应的算法,判断机器人是否遇到障碍物,并做出相应的反应。常见的算法包括阈值比较法、滑动窗口法等。控制反应:红外避障模块需要根据算法判断的结果控制机器人的运动。通常,遇到障碍物时,机器人需要停止或转向以避免碰撞。因此,红外避障模块需要实现相应的控制反应功能。通信接口:红外避障模块需要与控制系统进行数据交换,因此需要配置相应的通信接口。常见的通信接口包括UART、SPI、I2C等。程序设计:红外避障模块需要编写相应的程序,实现传感器数据读取、算法设计、控制反应和通信接口等功能。程序设计需要考虑模块的稳定性、可靠性和可维护性等因素。总之,教室清扫机器人系统中的红外避障模块的软件设计需要考虑传感器数据读取、算法设计、控制反应、通信接口和程序设计等方面,以实现机器人的避障功能。在软件设计过程中,还需要考虑模块的稳定性、可靠性和可维护性等因素。图4-3为红外避障模块软件设计:图4-5红外避障模块软件设计4.6测移动速度程序的设计教室清扫机器人系统中的测速模块的软件设计主要涉及测量机器人的速度和行驶距离的算法设计和数据处理。以下是测速模块的软件设计要点:算法设计:测速模块需要根据电机编码器和光电传感器的输入数据设计相应的算法,计算机器人的速度和行驶距离。常见的算法包括脉冲计数法、微分法、积分法等。数据处理:测速模块需要处理从电机编码器和光电传感器获得的原始数据,通过算法计算出机器人的速度和行驶距离,并将计算结果传递给控制系统。数据处理还需要考虑噪声滤波和数据校验等问题,以提高数据的可靠性和准确性。通信接口:测速模块需要与控制系统进行数据交换,因此需要配置相应的通信接口。常见的通信接口包括UART、SPI、I2C等。程序设计:测速模块需要编写相应的程序,实现算法设计、数据处理和通信接口等功能。程序设计需要考虑模块的稳定性、可靠性和可维护性等因素。总之,教室清扫机器人系统中的测速模块的软件设计需要考虑算法设计、数据处理、通信接口和程序设计等方面,以确保模块能够精确、稳定地测量机器人的速度和行驶距离,并将测量结果传递给控制系统。在软件设计过程中,还需要考虑模块的稳定性、可靠性和可维护性等因素。图4-6测移动速度软件设计4.7本章小结对系统的功能进行分析,论述各个功能模块的需求,对其中功能模块的设计进行流程化,可以使得系统具有完整性,可以实现相应的功能,利于后期的系统开发,简化后期的工作。第5章系统测试5.1系统实物图本设计是一种教室清扫机器人的设计,这个设计是针对教室清扫机器人设计的问题做研究。主芯片采用STM32F103C8T6,使用蓝牙通信模块,利用手机端作为上位机。机器人可以躲避障碍物、还可以自动依照地面设下的标示线移动清扫教室、监测当前移动速度显示并发送至手机端。工作人员可通过手机端控制机器人移动,达到清扫教室的结果。图5-1系统总体实物图5.2测试原理机器人智能小车开机通电,手机端打开蓝牙进行匹配连接,打开软件搜索设备与机器人智能小车控制连接,系统初始化完成,开始正常工作。连接成功控制小车前进、后退、左转右转和停止,当障碍物出现在小车行进路径上时,传感器会收集到障碍物的相关信息,判断出障碍物的方位和距离,并利用控制电机马达等执行器来控制小车做出适当的方向行动,前进过程中测速模块监测机器人智能小车前进速度并通过蓝牙模块上传到手机端。循迹模块通过感应路面上的黑线或者颜色对小车进行控制,使其按照预设的路线行驶。循迹小车配备红外线传感器,传感器能够检测路面上的黑线或颜色,来按照预设的路线行驶。图5-2可以进行方向变换,具备避障功能,沿着规划的路线行驶等5.3测试目的在这一部分调试中,因为時间比较有限,我们无法制做出真实的PCB来调试系统软件,因此只有应用Proteus模拟仿真软件来系统模拟的一部分作用。对软件进行测试,目的就是要找到一个系统中潜在的漏洞,有些人以为在测试中找到的漏洞越少就好,其实不然,如果能够在测试中找到更多的漏洞,那么就会对软件的完整性产生很大的帮助。软件测试是一种旨在找出更多缺陷,而非展示其正常运行的功能。5.4测试原则在进行软件测试时,要遵守以下四条基本原理:首先,要根据系统的要求进行测试;越早越好。当你写一个测试案例的时候,要注意一些诸如特殊值,边界值等的情况。在撰写测试用例时,必须包含正确与不正确的输入条件。对测试中的成簇现象给予足够的关注。5.5功能测试教室清扫机器人的设计中清扫机器人具备避障功能,,扫地机器人能够沿着规划的路线行驶,并且可以显示当前的移动速度,发送给手机端。第6章总结与展望6.1总结本章主要是对整个系统的开发过程展开了总结讲述,以及在系统开发完成之后的心得体会。在整个开发工程中,从开始的选题到最后项目完成,让我获益良多。本设计中的远程控制系统是通过手机进而来对机器人进行操作。手机端发送指令到机器人进行操作。从选择部分,选择方案,对部件进行安装,编写编程,经过无数次的试验,终于完成。这个课程让我对智能机器人的发展有了更深的了解,对电子部件有了更深的了解。虽然毕业论文的内容很多,设计的过程也很多,可是我得到的却是很多。该系统适用于不同的环境,有不同的部件的选择指标,有不同的安装方法,在对该设计的逐渐了解中,我也逐渐了解到了很多其它很多种类的应用。从最初的不知道该怎么从哪里入手,到顺顺利利地完成了这篇毕业论文,让我有了踏入社会的自信,也让我对自己有了更深一步的了解。同时还要创新的精神,当你觉得一种做法可能可以实现的时候就应该勇于尝试,遇到问题的时候应该多问多想,不轻易放弃。在以后的工作和学习中,要勤奋踏实,善于思考,才能在竞争激烈的社会中提升自我的实用价值。这次的毕业设计给了我一个很好的学习机会,我在这里面学习到很多东西,受益匪浅。6.2展望随着科技的不断发展,机器人技术已经逐渐应用于各个领域,教育领域也不例外。教室清扫机器人系统就是一种利用机器人技术来完成教室清洁工作的系统。未来,教室清扫机器人系统有望得到更广泛的应用和发展,具有以下几个展望:1.自主性增强:未来的教室清扫机器人系统将会拥有更强的自主性,能够根据教室的布局、大小和清洁需求,自动规划清扫路线,并完成清扫任务。同时,机器人还将能够通过机器视觉等技术,识别并避开教室中的障碍物,从而实现更高效、更准确的清洁。2.智能化:未来的教室清扫机器人系统将会拥有更高的智能化程度,能够通过人工智能技术学习、自我调整和优化清扫策略,提高清洁效率和质量。同时,机器人还将能够通过智能传感器和监控设备,实现对教室环境的实时监测和反馈,从而更好地适应不同环境下的清扫需求。3.多功能化:未来的教室清扫机器人系统将不仅仅是一款单一的清洁工具,而是可以承担更多的功能和服务。例如,机器人还可以担任课堂助手的角色,为老师和学生提供一些基础的服务和帮助,如提供学习资料、辅助课堂讲解等。4.网络化:未来的教室清扫机器人系统将与网络相连,实现远程控制和管理。通过互联网技术,老师和学生可以通过手机或电脑对机器人进行远程操作和监控,实时掌握教室清洁状况。同时,机器人还可以通过网络与其他机器人实现协同工作,提高清洁效率和质量。总之,教室清扫机器人系统的未来展望是十分广阔的,随着科技的不断进步和应用,相信未来的机器人系统会越来越智能化、自主化、多功能化和网络化,为教育教学提供更好的服务和支持。
参考文献[1]周洁羽,YuBaoliang.基于机器视觉的互动墙面设计研究[C].2020全国建筑院系建筑数字技术教学与研究学术研讨会.2020.[2]侯凡博,姬鹏飞,张修太.科技风.一种太阳能光伏板清扫机器人的设计[J].2020,(023).[3]林莉.基于STEAM教育理念的小学机器人教学研究——以“智能扫地车”主题课程为例[J].中国信息技术教育,2022(24):43-45.[4]曲宗峰,焦利敏,胡亚欣,亓新.家用电器机器人化技术及标准的研究与应用实践[C].中国标准化年度优秀论文(2022)论文集,2022:56-64.DOI:10.26914/kihy.2022.052916.[5]王佳庆.基于PLC的太阳能面板自动清扫机器人的设计研究[J].机电工程技术.2020,(009).[6]杨雨洋.智能扫地机器人[J].科学启蒙,2022(Z2):100.[7]刘长虹.基于单片机的扫地机器人设计[J].电子制作,2022,30(15):26-29.[8]刘卫.南方农机.基于STM32的智能温度巡检仪的设计与应用[J].2022,(001).[9]杨灵敏.基于STM32的窄缝卫生检测及清扫机器人研究与设计[J].自动化应用,2022(06):83-87.DOI:10.19769/j.zdhy.2022.06.025.[10]朱建新,赵淑华,韩慧丹.烟草科技.烟筐自动清扫机器人的设计及应用[J].2021,第011期[11]王臣炜,韩桂明,吕金华,舒洪启.智能扫地机器人[J].电子质量,2022(06):72-74+82.[12]金世城.家庭扫地机器人无线充电系统的设计与实现[D].南昌大学,2022..[13]杨灵敏.窄缝卫生检测及清扫机器人研究与设计[J].装备制造技术,2022(05):34-36.[14]屈世龙,杨瑞青,张庆晨,张善群,韩浩,王玉飞.智能教室管家机器人设计与研究[J].装备制造技术,2022(05):87-89+93.[15]胡聪娟,王艺.基于现代光传感技术的扫地机器人垃圾检测研究[J].激光杂志,2022,43(04).[16]于安妮,侯宗香.基于空气净化的多功能扫地机器人设计研究[J].信息与电脑(理论版),2022,34(08):143-145.[17]彭黎黎,姚忠良,唐清华,黄华生,柳晓雨.基于雷实验训练的智能扫地机器人设计[J].信息与电脑(理论版),2022,34(04):145-147.[18]杨林超,张新锋,李超,王岩.基于STM32微控制器的扫地机器人控制系统硬件架构设计[J].2022.[19]Karakurt,Tolga.DesignofDeLroAutonomousDeliveryRobotandAIBasedLocalization[D].2020.[20]AbdullahA.Hayat;RizuwanaParween;MohanR.Elara;K.Parsuraman;PrathapS.Kandasamy.AnalysisofHumanExerciseHealthMonitoringDataofSmartBraceletBasedonMachineLearning[J].2019.[21]AitorIbarguren.Designofflexibletrackinspectionrobotinminingface[J].2021.成就。附录A总原理图图A-1总原理图
附录B程序#include"delay.h"#include"sys.h"#include"timer.h"#include"usart.h"#include"oled.h"#include"bmp.h"#definePB5PBout(5)//PC13 #definePB6PBout(6)//#definePB7PBout(7)#definePB8PBout(8)#defineLEDPCout(13)#definebeepPBout(9)//蜂鸣器#definePB12GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12)//左循迹传感器#definePB13GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_13)//右循迹传感器#definePB14GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_14)//避障传感器#definePC15GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_15)unsignedcharfs_fg=0;externu8point;unsignedintdis_jl=0;unsignedintjl_r[2]={0,0};unsignedcharlc[]="0000.0CM";//路程unsignedcharsp_d[]="000cm/s";unsignedcharly_da=0;//u16hw=0;u16msHcCount=0;//定时器中断计数//unsignedcharfm_flg=0;unsignedintsp_count=0;//外部中断脉冲计数unsignedintnext_lc=0;//总里程//unsignedcharkz_flg=0;//unsignedchart_sp=0;unsignedintlc_sp1=0;//脉冲计数1unsignedintlc_sp2=0;//脉冲计数2//unsignedcharsetval1=18,setval2=80;voiddde(u16time){u16i=0; while(time--) {i=12000; while(i--); }}voidGPIO_Config(void)//配置PA2,PA3{GPIO_InitTypeDefGPIO_InitStructure;/*GPIOAclockenable*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC,ENABLE);///*GPIOAConfiguration:TIM3channel1and2asalternatefunctionpush-pull*/GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2|GPIO_Pin_3;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;//复用推挽输出GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13; //LED0-->PC.13端口配置 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; //推挽输出 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //IO口速度为50MHz GPIO_Init(GPIOC,&GPIO_InitStructure); //根据设定参数初始化GPIOC.13 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;//GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING; //??GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //50M????GPIO_Init(GPIOA,&GPIO_InitStructure); // GPIO_InitStructure.GPIO_Pin=GPIO_Pin_15; //LED0-->PC.13端口配置// GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU; //推挽输出// //GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //IO口速度为50MHz// GPIO_Init(GPIOC,&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8; //LED0-->PC.13端口配置 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; //推挽输出 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //IO口速度为50MHz GPIO_Init(GPIOB,&GPIO_InitStructure); //根据设定参数初始化GPIOC.13 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;// PB9设为输出脚,峰鸣器GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; //??GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //50M????GPIO_Init(GPIOB,&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8;//摁键初始化GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU; //??//GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //50M????GPIO_Init(GPIOA,&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14;//红外避障传感器输入GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU; //??//GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //50M????GPIO_Init(GPIOB,&GPIO_InitStructure); beep=1;}voidsend(unsignedchardata){USART1->DR=data;while((USART1->SR&0X40)==0);//等待发送结束}voidsen3_str(unsignedchar*dat){while(*dat!='\0'){send(*dat); dat++;}}voidqianjin()//前进子函数{PB5=1; PB6=0; PB7=1; PB8=0; TIM_SetCompare3(TIM2,21500); TIM_SetCompare4(TIM2,19000);}voidht()//后退子函数{PB5=0; PB6=1; PB7=0; PB8=1; TIM_SetCompare3(TIM2,21500); TIM_SetCompare4(TIM2,21500);}voidzz()//左转弯子函数{PB5=1; PB6=0; PB7=1; PB8=0; TIM_SetCompare3(TIM2,15000); TIM_SetCompare4(TIM2,38000); //dde(800); //qianjin();}voidyz()//右转子函数{PB5=1; PB6=0; PB7=1; PB8=0; TIM_SetCompare3(TIM2,36000); TIM_SetCompare4(TIM2,15000); //dde(800); //qianjin();}voidtz()//停止子函数{PB5=0; PB6=0; PB7=0; PB8=0; TIM_SetCompare3(TIM2,0); TIM_SetCompare4(TIM2,0);}voidzz1(){PB5=0; PB6=1; PB7=1; PB8=0; TIM_SetCompare3(TIM2,20000); TIM_SetCompare4(TIM2,20000);}voidyz1(){PB5=1; PB6=0; PB7=0; PB8=1; TIM_SetCompare3(TIM2,20000); TIM_SetCompare4(TIM2,20000);} voidEXTIX_Init(void){ EXTI_InitTypeDefEXTI_InitStructure; NVIC_InitTypeDefNVIC_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//外部中断,需要使能AFIO时钟 //KEY_Init();//初始化按键对应io模式//GPIOC0中断线以及中断初始化配置 GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource1); EXTI_InitStructure.EXTI_Line=EXTI_Line1; EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Rising_Falling;//上升沿和下降沿触发 EXTI_InitStructure.EXTI_LineCmd=ENABLE; EXTI_Init(&EXTI_InitStructure); //根据EXTI_InitStruct中指定的参数初始化外设EXTI寄存器////GPIOc1中断线以及中断初始化配置// GPIO_EXTILineConfig(GPIO_PortSourceGPIOC,GPIO_PinSource1);// EXTI_InitStructure.EXTI_Line=EXTI_Line1;// EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt; // EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Rising_Falling;//上升沿和下降沿触发// EXTI_InitStructure.EXTI_LineCmd=ENABLE;// EXTI_Init(&EXTI_InitStructure); //根据EXTI_InitStruct中指定的参数初始化外设EXTI寄存器////GPIOc2 中断线以及中断初始化配置// GPIO_EXTILineConfig(GPIO_PortSourceGPIOC,GPIO_PinSource2);// EXTI_InitStructure.EXTI_Line=EXTI_Line2;// EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt; // EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Rising_Falling;//上升沿和下降沿触发// EXTI_InitStructure.EXTI_LineCmd=ENABLE;// EXTI_Init(&EXTI_InitStructure); //根据EXTI_InitStruct中指定的参数初始化外设EXTI寄存器 NVIC_InitStructure.NVIC_IRQChannel=EXTI1_IRQn; //使能按键所在的外部中断通道 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0x03; //抢占优先级2, NVIC_InitStructure.NVIC_IRQChannelSubPriority=0x01; //子优先级1 NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE; //使能外部中断通道 NVIC_Init(&NVIC_InitStructure);}voidjs_jl(){if(msH
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2027年劳动合同北京二篇
- 2027年物业与个人合同二篇
- 《航天员写给孩子的信》同步练习题(含参考答案)
- 合规转利润:降本增效全指南(2026)《GBT 35935-2018动物毛纤维平均直径与分布试验方法 激光扫描纤维直径分析法》
- 《用替换的策略解决问题》教学设计
- 耐蚀纤维增强塑料工成果知识考核试卷含答案
- 有毒有害气体处理工安全知识宣贯知识考核试卷含答案
- 餐厅服务员测试验证知识考核试卷含答案
- 汽车发动机再制造装调工安全风险测试考核试卷含答案
- 水电站水工建构筑物维护检修工岗中技能知识考核试卷含答案
- 2026年云南民族大学附属中学西山分校教后勤工作人员招聘(5人)笔试备考题库及答案详解
- 2026年护理安全目标管理课件(完整版)
- 落实老年护理服务能力提升行动方案若干措施
- 2026年中学教师编制考试信息技术学科专业知识考试试卷及答案(共十五套)
- 新版2026秋统编版(新版)小学道德与法治五年级上册(全册)知识点清单梳理
- 2026秋西南大学版(新教材)小学数学三年级上册教学计划与进度表
- 新版部编人教版四年级上册道德与法治(课件)1热爱班集体
- 《大卫·科波菲尔(节选)》《复活》《老人与海》《百年孤独》群文阅读课件 【教材精讲精研】 统编版高中语文选择性必修上册
- 船闸简介专题知识专业知识讲座课件
- 2022年七年级数学上册第2章整式加减2.1代数式2.1.3代数式的值教案新版沪科版
- 第2课时 阅读策略:设计朗读的重音停连-教学课件-2022-2023学年七年级语文上册(部编版)
评论
0/150
提交评论