足球机器人毕业论文_第1页
足球机器人毕业论文_第2页
足球机器人毕业论文_第3页
足球机器人毕业论文_第4页
足球机器人毕业论文_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

足球机器人毕业论文1总体设计机器人移动方式的选择机器人在地面上移动的方式通常有三种车轮式、履带式和步行式。步行移动方式模仿人类或动物的行走机理,用腿脚走路,对环境适应性好,智能程度也相对较高。正因如此,步行移动方式在机构和控制上是最复杂的,技术上也还不成熟,不适于在要求灵活和可靠性高的比赛中。履带式实际是一种自己为自己铺路的轮式车辆。它是将环状循环轨道履带卷绕在若干滚轮外,使车轮不直接与地面接触。履带式的的优点是着地面积比车轮式大,所以着地压强小;另外与路面黏着力强,能吸收较小的凸凹不平,适于松软不平的地面。因此,履带式广泛用在各类建筑机械及军用车辆上。车轮式移动是最常见的一种地面行进方式。车轮式移动的优点是能高速稳定的移动,能量利用效率高,机构和控制简单,而且技术比较成熟。它的缺点是对路面要求较高,适于平整硬质路面。在本机器人足球比赛中,场地为室内光滑平整地面,非常适合车轮运动,因此本设计选用车轮式运动方式。232机器人电路硬件选择根据规则所描述,要求机器人尺寸较为小巧,直径为CM,并且不允许人工干设其操作,需要自动控制。因此选用单片机为核心的控制器件,小型直流电机作为动力驱动,可以达到比赛的基本要求。单片机价格低廉,体积小巧,一般为引脚或引脚封装,其中包括了中央处理器,数据存储器、程序存储器输入输出设备。对于需要灵活机动,精度要求不高,有可扩展性及程序可擦写和简单成熟的编程平台等要求,单片机不失为最合适的选择。电机选择方面,考虑到机器人本身自重不大,必且场地尺寸有限,可选用小型直流伺服电机,可用电枢电压作为速度控制信号,但必须加装减速箱以适应低转速和大扭矩的应用环境。传感器元件及转换元件选择通过对比赛规则的解读可以发现,对于球和场地基板的设计是该项比赛中最具特色内容,它对机器人的核心设计传感器以及比赛的方式产生了决定性的影响。发出红外光的足球意味着机器人必须有红外传感器来对其进行检测。红外线波长介于可见光和无线电波之间,大约,而光电传感器其所用到的波长选择在近红外区,即。常用的红外线接收元件为光电二极管和光电三极管。它们可以将接收到的光变化转变的电流变化。比赛的场地图纸为纵向的黑白灰度渐变,这意味着机器人对进攻方向作出正确判断必须要能读出场地的灰度变化信息。要实现这一功能,则要用到红外光电反射式传感器。该元件由红外发光管和接受管组成。发光管材料一般为砷化钾半导体,发光波长范围在,小功率的管压降,平均工作电流,红外发管有指向角,光轴,波长,辉度等性能指标。红外接收管可用上述光电二极管或三极管。红外元件所接收的信号,根据情况的需要,要进行模拟数字量的转换,因此需要转换芯片,转换的选择要根据所选用的的单片机来确定。本文所选用的系列单片机,由于其端口的限制,需要转换器具有串口数据输出功能。252机器人运行算法的构想对比赛过程的规则进行分析后发现,比赛的进行与真实的足球比赛的思维过程是一致的,机器人需要完成下述动作循环图24然而在这一过程中,最关键的一步是把球攻进正确的球门。其难点在于找球的传感器与地面方向的传感器是相互独立的两套系统,怎样才能让机器人判断当前状态是找球过程还是在带球进攻过程。如果单独执行找球程序,让机器人跟随球的方向前进,很有可能把球撞入己方球门;如果单独执行方向判断程序,机器人则无法知道当前球的位置,有可能在没有控球的情况下冲向对方球门而造成无效的进攻。怎样解决找球程序和进攻方向判断程序的衔接,避免乌龙球和无效的进攻,这是算法设计要解决的重要问题。然而笔者查阅过一些相关资料,一直没有找令人满意的算法解决方案。由于机器人套件的外形限制,在外形上做一些改动以适应算法需要的想法无法实现。而本设计这是利用了外形可以自行设计的优势,通过加装了一个“持球探测臂”来解决算法上找球程序和进攻方向判断程序的衔接的问题。图25如图所示,当机器人寻找到球,并把球控制在控球板内时,持球探测臂上垂直向下的持球传感器将接收到红外信号并转换为电流变化。利用该信号作为是否持球的判断标志,单片机不断查询该标志位。若该标志位无信号反馈,则说明机器人没有控球,执行找球程序;若该标位有信号反馈,则说明已经控球,则执行进攻方向判断及带球进攻程序。简要流程如下图266RHINO绘制的机器人效果图图点击放大各部分零件介绍图图图210第三章动力驱动部件与运动方式设计323四轮移动配置和操舵方式3轮机器人车体配置结构虽然简单,但稳定性差,遇到冲撞容易倾倒,与3轮相比,4轮稳定性更好。4轮典型配置有如下两种。图如图组合为前后轮为万向脚轮,左右两轮为独立驱动轮,其自转中心于车体中心重合,适于在狭窄场地运行。其灵活性稳定性都比较好。其缺点是前后轮不能同时着地,加速前进时可能出现俯冲。图该配置方式是常见的所谓汽车配置方式,车的稳定性较高。2个操舵轮需要同一个操舵机构协调转向,为了减少后轮摩擦损耗,配备了差动齿轮装置,增加了机构复杂性。综合各种因素考虑,本设计采用图所示的四轮配置方案。第四章硬件电路设计引言本章按照机器人系统结构模块,把本机器人分解为主控部分,传感器部分,AD转换部分,电源供电部分以及电机驱动部分。对每个部分的器件选用,主要功能以及各部分所组合成的总体系统作了分析介绍。41机器人系统结构按照现代机器人理论,机器人分为机械手,环境,任务和控制器4个相互作用的部分。其系统结构图如下图在本设计中根据实际情况的需要,对以上模型进行了简化,得到以下的系统结构图图42主控部分硬件电路421主控部分硬件89C4051本设计选用了ATL公司生产的89C4051单片机作为控制器。AT89C51是一个含有4K可编程可擦写只读存储器的低功率高性能CMOS8位单片机。该器件运用了ATMEL公司的高密度不易丢失存储技术斌且兼容MCS51工业标准的设置和管角输出。片内的闪存允许用系统内模式编程或传统的不易失程序编写器。由于集成了一个通用8位CPU和闪存,使得ATML的AT89C51成为一片具有高灵活性,可有效解决大多嵌入式控制应用的高性能单片机。AT89C51支持如下标准特性4K闪存,128字RAM,32条I/O线路,双16位定时/计数器,5V双电平中断机构,一个全双工串行口,片内震荡和时钟电路。综上,AT89C51是按照静态逻辑操作停止到0频率设计的,并且支持两套由软件选择的功率存储模式。被空闲模式停止的CUP可有RAM,J定时/计数器,串口和中断系统使其继续运作。掉电模式用锁定振荡器停止一切芯片功能的方式存储RAM内的内容,直到下一次的硬件复位。图422控制电路所应用到的端口功能介绍VCC为点片机提供5V主电源RST/VPD单片机复位引脚。单片机上电时,各存储器处于随机状态,在该引脚上输入两个周期高电平,使单片机复位。P10P178个带内部上拉电阻的I/O口。其中P14P17四个口用作接到L298的IN1IN4,用作了对直流电机的驱动控制。另外,8个I/O口上都留有LED接口,这样可以通过程序将任何一个寄存器空间上的内容输出到P1口并由LED显示,方便了程序的调试和功能的扩展。P30串行口,向AD转换器TLC1543的CLOCK口输出时钟频率,用于控制AD转换的器串行传输的频率以及AD转换器的转换/读写周期的切换。P31串行口,接TLC1543的ADRESS地址口,串行输出四位地址用以对AD转换器的9个模拟量输入口进行选通。P34串行口,接TLC1543的DATAOUT口,用以接收经过AD转换后的8数字量P35带上拉电阻的I/O口,接TLC1543的片选CS口,用于对AD转换器的转换/数据读取周期的控制。P32带上拉电阻的I/O口,外部中断0的输入,用于碰撞开关的中断输入口。XTAL1XTAL2借外部晶振的两条引脚。GND地线。42389C4051线路连接图图传感器部分硬件电路431找球传感器根据比赛用球为红外发射装置,故采用的传感器为红外接收的传感器,根据车体前方的两个红外传感器接收红外光输出电压不同比较来判断球的方位指导车体前进方向。该红外接收器由一只光电三极管构成,其电路图如下图A当光电三极管接收到红外线信号时,其电阻减小,在管两端的电压分压减小,输出口电压上升,输入到AD转换芯片进行转换。432控球判传感器控球判断传感器也是一只红外三极管,安装在控球探测臂上,感光方向为正下方(见第二章相关章节)其原理同上,因只需判断持球与否连个状态,所以不需要AD转换比较,输出量为数字量直接输入到单片机P13口进行判读。433进攻方向判断传感器场地贴有按进攻黑白灰度渐变的基板帖纸,由两个位于车底的灰度传感器进行判断,当左右两个传感器值相等时,认为正对球门。灰度传感器由反射式红外光电判读器组成,即一个红外发光管和红外三极管并排绑定构成,其电路图如下图B当地面灰度变化时,对红外光的反射量随之变化,白色对红外光反射力强,输出电压高;黑色对红外光吸收力强,输出低电压。434碰撞传感器当机器人与墙体发生碰撞时,装于持球检测臂上部的微动开关会被按下,导致一个中断脉冲,使机器人进入中断处理程序倒退,转向,避开障碍。由于碰撞开关安装高度大于球的直径,不会造成球碰到碰撞开关而造成误操作。碰撞传感器线路图见89C4051线路图,其中的电容C4电阻R3起到对碰撞信号稳定延迟的作用,使单片机能接收到一个可靠的中断信号。AD转换部分硬件电路AD转换芯片的选用TLC1543AD转换器自用在于把接收到的红外线电压模拟信号转换成可被单片机计算比较的数字信号。其类型有积分型,逐次比较型等等。针对本设计,所选用的是20管脚的单片机89C4051,其并行输入口有限,并已用于驱动电机控制。而TLC1543的模拟端口地址输入和数字量输出都用串行口,这样大大节省了I/O口资源。虽然串行通讯速度慢于并行通讯,但对于本设计,串口速度远高于机器人反应速度,可以满足需要。另外,该AD转换器有11个模拟量输入口,为今后的功能扩展留下很大空间。图TLC1543与单片机的电路连接图所用到的管脚功能介绍ADDRESS串行输入地址端口,通过4位的串行地址选择需要的模拟量端口。VCC芯片工作正电压。REF高参考电压值(通常是VCC)输入到该管脚,其最大输入电压取决于该管脚与REF管脚上的电压差值。REF低参考电压(通常接地)。CS片选信号。该位上一次由高到低的跳变将复位内部计数器和控制器,并使能DATAOUT和ADDRESS,并且I/OCLOCK在最大建立时间内加两个下降沿到内部系统时钟。一次由低到高的跳变将禁止DATAOUT和ADDRESS,同样的加两个下降沿到内部时钟。DATAOUT三态串行输出口用于输出AD转换的结果。当CS高时DATAOUT被置为高阻态,CS低时被置为可用状态。I/OCLOCK输入输出时钟。该管脚接受串行输入的时钟信号,并执行4种功能。1、前4个周期在ADDRESS上接收4位地址信号。2、接下来几个周期,被选中的模拟量端口电压进入AD转换器的电容阵列。3、把前一周期所选中的模拟端口转换结果从DATAOUT输出。4、在第十个下降沿控制内部控制器,使之开始转换。EOC结束转换信号。在第十个时钟周期该由高跳到低并保持,直到转换结束为止。GND接地端。45电源供应部分451稳压块选用本系统所有芯片都需要5V的工作电压,而干电池足能提供的电压为15V的倍数的电压,并且随着使用时间的延长,其电压会逐渐下降,想要得到稳定的5V工作电压,则需要L7805稳压芯片。图452电源选择虽然微处理器和微控制器不需要支持电路,功耗也很低,但必须要加以考虑。单电池组用一组电池同时给控制电路和驱动电机供电。可以使机器人的重量减轻,成本降低。双电池组用两组电池分别给控制电路和驱动电机供电,可减少电机开关时的能量波动。本设计才用双电池供电模式,四节AA15V碱性电池用于控制芯片供电,一节9V电池用于驱动电机供电。46电机的驱动与控制直流H桥集成功放电路驱动原理直流H桥功放电路是用于控制直流电机双向运动的基本电路,该电路使电机在单电源供电下可以双向运转。图示电路为用三极管构成的H桥集成功放电路基本形式。为使电机顺时针转,应接通三极管A和D,对电机而言,其电压右负左正,通过改变不同的三极管导通状况,可改变电机两端电压,达到反转目的。图L298双通道直流电机驱动芯片L298驱动芯片是性能优越的小型直流电机驱动芯片之一。它可被用来驱动两个直流电机或者是双极性步进电机。在646V的电压下,可以提供2A的额定电流。L298还有过热自动关断功能,并有反馈电流检测功能。为保证L298正常工作,建议加装片外续流二极管。图L298驱动双电机的电路连接图图电机控制逻辑47硬件连接总图图412第五章软件程序设计引言在完成了硬件的设计之后,需要进行相应的软件设计,对机器人的控制的思想,是直接通过软件程序表达的。因此,软件设计是整个设计过程中最重要的部分之一,直接关系到机器人在赛场上的表现。本章先对程序运行的重要环节AD转换器的读写控制进行了说明,再针对各个功能模块设计了相关软件,各模块间相互独立,可用于测试各个部件的运行状况。最后合成一个具有完整性能和多判断的比赛应用程序。51AD转换器的读写控制模块511TLC1543的时序分析在本设计中所使用的AD转换器为TLC1543,它支持串行的地址/数据输入输出,大大节省了单片机的I/O口数量,但是这种串行通行方式有着较为复杂的时序要求。深入理解它的时序图,是编写读写控制程序的前提。时序图如下图51由图可知,该芯片通过一个EOC(ENDOFCONVERSION)信号把时序划分为两个大的周期,当EOC输出高电平时,芯片开始从串口接收地址数据并发送转换结果;当EOC输出低电平时,芯片进入AD转换周期,直到转换完毕,EOC会再次跳高。在数据收发周期开始时,由CS片选信号跳低和EOC跳高为标志,由外部入输的I/OCLOCK作为串行通信的同步时钟,该周期被这个时钟信号划分为10个小的时钟周期。在ADDRESS口上,前4个周期接收4位地址信号,通过这4位地址信号来选中11个模拟量输入口其中的一个;在DATAOUT口上,10个时钟周期输出10位AD转换的数字量结果。需要注意的是,该结果来自于上一个数据收发周期中所确定的那个模拟量输入口,而本周期所确定的模拟量输入口所读进的数字转换结果将在下一个读写周期输出。512AD转换器数据读取程序的编写虽然89C4051上有自带的串行口,但是TLC1543的串行通信较为特殊,需要在同一时钟周期内有两个I/O口在同时输入和输出,并且51自带的串口同步时钟难于保证在1543应用上的同步,于是本程序采用了用普通I/O口模拟串口的方法。单片机的P30口连接AD转换器的I/OCLOCK口,通过对P30口输出的信号进行翻转的方法来制造时钟信号。P34连接DATAOUT口,用移位寄存器的方式接收串行数据。即用P30控制时钟,用标志位C作为数据和地址的传递媒体,把转换结果通过C传递到可进行位操作的地址空间20H,接收一位,左移一位,直到8位传递完毕。同样,用P31连接到ADDRESS口,把地址数据存入可进行位操作的21H地址空间,通过标志位C把地址传入ADDRESS,传送一位,右移一位,直到4位地址传完。在前4个周期,地址传送和结果接收同时进行,后四个周期,只进行数据接收,因1543共有10个周期,所以8个周期完成后让P30空翻转两次,完成数据地址的收发过程,进入AD转换的过程,这时等待EOC的跳高信号,意味着转换完成,进入下一个数据收发过程。以上过程进行4个循环,分别读取左右红外和左右灰度4传感器的数据,分别存放在02H,03H,04H,05H四个地址单元中。52运动控制程序模块521程序原理机器人在实际运用中,需要作出的动作有前进、后退、左转和右转,其中,左右转可以根据需要分别有以车身中心为圆心转动和以车轮为圆心转动。其工作原理为,通过89C51的P1口向电机驱动芯片L298传送4位的控制信号,控制左右两个电机的正转反转,再调用一段延时程序,完成动作。其中,两个轮子反向转动时,可实现以车身中心为圆心转弯,当一个轮转动时,可实现以车轮为圆心转弯。522运动控制模块延时程序通过循环调用,执行空语句实现DELAYMOVR5,04H延时1SDLOOP6MOVR7,0FFH延时250MSDLOOP5MOVR6,0FFHDLOOP4NOPNOPDJNZR6,DLOOP4DJNZR7,DLOOP5DJNZR5,DLOOP6RET直行程序MOVP1,50HACALLDELAYRET后退程序MOVP1,A0HACALLDELAYRET轮心左转MOVP1,10HACALLDELAYRET轮心右转MOVP1,40HACALLDELAYRET轴心左转MOVP1,90HACALLDELAYRET轴心右转MOVP1,60HACALLDELAYRET53找球程序模块531编程思路找球的过程是通过对左右两个红外传感器的电压数字量比较实现的。当球在左前方时,左红外传感器接收光量大于右红外,电压数字量也大于右红外,这时控制机器人向左转。右转情况相同。当球在正前方时,左右传感器电压数字量相等,此时控制机器人直行。当球在背后时,两个红外传感器没有光接收,此时以车身中心为圆心进行转动,直到搜索到球为止。找球程序有以下几点值得注意。1)找球目的在于尽快地接近球,于是当球不在正前方时,每次调整方向后,调入一段短距离直行程序,在修正方向的同时,不断地向球靠近;当球在正前方时,调入一段长距离执行程序,缩短找球时间。2)由于AD转换以及传感器的误差的存在,即使球完全正对机器人,也不可能得到两个完全相等的电压数字量,于是在比较时应设一个阈值,当左右差值小于阈值时,认为正对足球,调用长直行;当差值大于阈值时,再进行左右大小判断,调用转弯程序。3)当进行阈值判断时,差值有可能得到负数,在此情况下应求其相反数。4)当球不在红外传感器可视范围,即传感器接收到的红外信号为零时,由于周围环境的影响和暗电流的存在,其输出电压不可能为零,而是约03V左右。532找球程序流程图图5254进攻程序模块541编程思路进攻方向的判断是根据对面灰度的增减比较来进行的。在接近白色的区域,对红外光的反射量大,光电判读器即灰度传感器的输出电压高,在接近黑色区域,输出电压则低。在此,默认从白到黑为进攻方向进行编程。当机器人找到球并持球时,程序进入进攻模块。该模块大致分为两个步骤,首先判断前进的方向是否是进攻的方向,之后,再判断前进的方向是否平行于边线正对球门。在进攻程序之前的找球程序模块中,多次用到读取AD转换结果的程序READ,在该程序中,每执行一次,将读进4个传感器的转换结果,其中左灰度和右灰度的转换结果存放在04H和05H两个地址单元里。在判断正确前进方向时,03H和04H里存放着前一次的转换结果,先把它们转移到共工作寄存器R1,R2中,在读取当前的灰度转换结果,分别与前一次的结果进行比较,只要其中有一个值增大,就认定为前进方向错误,这时调用以车身中心为圆心的原地转动程序,当转过约180度后,读取当前灰度值保存,再调用一段短距离直行程序,再次比较灰度值变化趋势,直到左右两个灰度值都为减小,这时,机器人前进方向为正确进攻方向。在大方向调正之后,许要调整机器人的前进角度,即使前进方向平行于边线,正对球门。这个动作左右两个灰度传感器转换结果之间的比较完成。先读取当前灰度值,左右两个结果进行比较,如果左灰度大于右灰度,说明前进方向偏左,调用原地转动程序向右偏转,调整后,再次读取,比较,直到左右相等为止,这时方向正对球门,调用长距离直行程序,开始进攻,把球攻入球门。在两个灰度值大小比较时,与红外传感器有类似的问题需要注意相减时出现负数时需要调整为相反数;判断相等时有传感器误差存在,需要设定阈值,差值小于阈值即认为相等。图53542进攻程序模块流程图图5455碰撞避让程序模块551碰撞避让程序的硬件实现本设计的碰撞避让系统,是通过51单片机的中断控制功能实现的。MCS51系列单片机有5个中断源,可分为2个中断优先级。本碰撞避让系统所用到的中断源为,即外部中断0。其请求信号由P32输入请求信号有效电平由IT0和设置,一旦输入信号有效,则将TCON中的IE0标志位置1,可向CUP申请中断。552中断控制设置MCS51系统中断控制由4个专用寄存器组成。中断请求标志TCON其中IE0为外部中断零的申请标志位。当外部中断源有请求时,该位置1,其复位由触发方式来设置。IT0为外部中断触发方式设置位,IT00时,为电平触发方式,该方式下,CUP每个机器周期对外部中断源采样,如果为低电平,则进入中断。该方式中CUP响应中断后不能自动清除IE标志位,所以中断返回前,外部中断源引脚上的低电平必须撤销。IT01时为脉冲触发方式,即在两个相邻的机器周期内上的电平发生由高到低的跳变即进入中断IE1保持到CUP响应中断时,才由硬件清除,该方式下,中断源低电平需要至少保持一个机器周期。中断开放和屏蔽IE其中,EA为总中断允许位,EA1时开放中断,EA0时关断一切中断。EX0为外部中断0允许位,EX01时允许。中断优先级设定IP其中PX0为外部中断0优先级设定,PX01时,为高优先级。553碰撞系统模块程序中断控制设置SETBIT0;选择触发方式为电平触发MOVIE,85H;EA1,EX01,开放外部中断0MOVIP,01H;PX01,外部中断零设为高优先级中断服务子程序INTR0MOVP1,50H;后退ACALLDELAY01;ACALLTURN;调头RETI;中断返回56整体程序561编程思想以上所述的几大功能模块,都可以独立使用,分别完成不同的任务,而把它们联系到一块,则可以形成一个完整的程序,使机器人在赛场上完成整场比赛。而把他们联系在一起的桥梁则是前中提到的持球探测壁以及其上的持球传感器。持球传感器也一个红外接收管,不需要AD转换,只需要逻辑判断,当机器人持球时,该传感器从P36口输入一个高电平。整个程序运行过程中,通过查询方式来判断是否持球。当P360时,执行找球程序,当P361时,执行进攻程序。在整个程序中,中断开放,实现任何状态下的碰撞避让。562整体程序流程图图55点击放大第六章测试及设计总结61足球机器人完成图图61点击放大足球机器人完成图62功能测试621找球功能模块测试测试条件用一个高功率红外发光管模拟比赛用球,在室内日光灯光源下进行测试。测试软件找球程序模块,差值阈值005V,无红外情况输出电压045V。转弯延时025秒,直行延时05秒。测试结果机器人能在40CM距离左右发现球,在向球运动过程中,前半段由于基础电压小,差值小于阈值,直线前进;当靠近球时,电压增大,差值大于阈值,机器人左右调整方向,逐渐靠近小球。622碰撞功能模块测试测试条件面向墙壁直行,模拟碰撞场地挡板。测试软件装入直行程序,中断开放,中断服务程序为倒退延时1秒,原地转弯延时1秒。测试结果机器人在直行碰撞墙壁后,顺利进入中断服务程序,倒退并调头,之后中断返回继续直行。623方向判断功能模块测试测试条件用黑白两色纸模拟场地基板,室内日光灯光源。测

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论