全国大学生智能汽车竞赛技术报告_第1页
全国大学生智能汽车竞赛技术报告_第2页
全国大学生智能汽车竞赛技术报告_第3页
全国大学生智能汽车竞赛技术报告_第4页
全国大学生智能汽车竞赛技术报告_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、全国大学生智能汽车竞赛技术报告设计概览整车设计思路智能车主要由三个部分组成:检测系统,控制决策系统,动力系统。其中检测 系统采用 CMO数S 字摄像头 ov7620,控制决策系统采用 S128作为主控芯片,动力系统 主要控制舵机的转角和直流电机的转速。整体的流程为,通过视觉传感器来检测前 方的赛道信息,并将赛道信息发送给单片机。同时,通过光电编码器构成的反馈渠道将车体的行驶速度信息传送给主控单片 机。根据所取得的赛道信息和车体当前的速度信息,由主控单片机做出决策,并通 过PWM信号控制直流电机和舵机进行相应动作,从而实现车体的转向控制和速度控 制。车模整体造型我们车模的整体设计简洁,轻便,可靠

2、美观。如下图:智能车软件设计系统硬件对于赛车来说是最基础的部分, 软件算法则是赛车的核心部分。 首先, 赛车系统通过图像采样处理模块获取前方赛道的图像数据,同时通过速度传感器模 块实时获取赛车的速度。然后 S128利用边缘检测方法从图像数据中提取赛道黑线, 求得赛车于黑线位置的偏差,接着采用 PID 方法对舵机进行反馈控制,并在 PID 算 法的基础上, 整合加入模糊控制算法, 有利于对小车系统的非线性特性因素的控制。最终赛车根据检测到的速度,结合我们的速度控制策略,对赛车速度不断进行 恰当的控制调整,使赛车在符合比赛规则情况下沿赛道快速前进第三章 小车的机械设计良好的机械结构将直接影响小车的

3、结构稳定,和车模的高速时的性能。模型车 的机械机构和组装形式是整个模型车身的基础,机械结构的好坏对智能车的运行速 度有直接的影响。经过大量的实验经验可以看出,机械结构决定了智能车的上限速 度,而软件算法的优化则是使车速不断接近这个上线速度,软件算法只有在精细的 机械结构上才能够更好的提高智能车的整体性能。舵机安装舵机转向是整个控制系统中延迟较大的一个环节,为了减小此时间常数,通过 改变舵机的安装位置,降低舵机的中心,将舵机的安装尽量低,而并非改变舵机本 身结构的方法可以提高舵机的响应速度。 分析舵机控制转向轮转向的原理可以发现, 在相同的舵机转向条件下,转向连杆在舵机一端的连接点离舵机轴心距离

4、越远,转 向轮转向变化越快。舵机安装如下:转向轮调整轮定位包括主销后倾角、主销内倾角、前轮外倾角和前轮前束四个内容。车轮 定位的作用是使汽车保持稳定的直线行驶和转向轻便,并减少汽车在行驶中轮胎和 转向机件的磨损。从车前后方向看轮胎时,主销轴向车身内侧倾斜,该角度称为主销内倾角。当 车轮以主销为中心回转时,车轮的最低点将陷入路面以下,但实际上车轮下边缘不 可能陷入路面以下,而是将转向车轮连同整个汽车前部向上抬起一个相应的高度, 这样汽车本身的重力有使转向车轮回复到原来中间位置的因而舵机复位容易。此外,主销内倾角还使得主销轴线与路面交点到车轮中心平面与地面交线的距 离减小,从而减小转向时舵机的拉力

5、,使转向操纵轻便,同时也可减少从转向轮传 到舵机上的冲击力。但主销内倾角也不宜过大,否则加速了轮胎的磨损。从前后方向看车轮时,轮胎并非垂直安装,而是稍微倾倒呈现“八”字形张开, 称为负外倾,而朝反方向张开时称正外倾。前轮外倾角对汽车的转弯性能有直接影 响,它的作用是提高前轮的转向安全性和转向操纵的轻便性。前轮外倾角俗称“外 八字”,如果车轮垂直地面一旦满载就易产生变形,可能引起车轮上部向内倾侧, 导致车轮联接件损坏。所以事先将车轮校偏一个外八字角度,这个角度约在1左右。脚尖向内,所谓“内八字脚”的意思,指的是左右前轮分别向内。采用这种结 构目的是修正上述前轮外倾角引起的车轮向外侧转动。如前所述

6、,由于有外倾,舵 机转向变得容易。另一方面,由于车轮倾斜,左右前轮分别向外侧转动,为了修正 这个问题, 如果左右两轮带有向内的角度, 则正负为零, 左右两轮可保持直线行进, 减少轮胎磨损。车体重心调整车体重心位置对赛车加减速性能、转向性能和稳定性都有较大影响。重心调整 主要包括重心高度和前后位置的调整。理论上,赛车重心越低稳定性越好。因此除 了摄像头装得稍高以外,其他各个部件的安装高度都很低。除此之外,车辆重心前后方向的调整,对赛车行驶性能也有很大的影响。根据车辆运动学理论,车身重心前移,会增加转向,但降低转向的灵敏度(因为大部分重量压在前轮,转向负载增大),同时降低后轮的抓地力,影响加减速性

7、能;重心后移,会减少转向,但增大 转向灵敏度,后轮抓地力也会增加,提高加减速性能。因此,确定合适的车体重心, 让车模更加适应比赛赛道是很关键的。今年我们赛车在车体中心位置上有了很大改 革,将摄像头安装在车体靠后位置,这样使得赛车的重心后移,极大地增加了赛车 的转向灵活度。第四章 硬件电路设计4.1 电源设计 小车电源系统如下图所示7.2v 电池摄像头的选择市场上容易买到的摄像头有 PC用 的 USB摄 像头,安防系统上使用的模拟输 出 的单板摄像头,以及数字输出的摄像头模块和感光芯片。若使用 USB摄 像头,虽 然价格低廉,但是需要增加 USB接 口芯片,并需要 充分了解其内部协议,增加了 实

8、现的复杂度。因而不考虑使用 USB摄 像头。若使用模拟输出的摄像头,可采用专 用的视频处理芯片对信号进行数字化。 例如,可以使用 LM1881M对 PAL制 模拟信号 实现行、场同步信号分离。可以使 用专用的视频 A/D 转换器,如 XRD4460,A 对模拟信号进行采集。因为 多用于安防系统,模拟摄像头的成像质量好,边沿锐利,对比度高。使用模拟摄 像头带来的问题是需要增加额外的硬件电路, 容易受外界的干扰, 因而对电路设 计的要求也相对高一些若使用数转换,直接输出量化的图像信号,不需要再增加 额外的硬件设备, 简化了字输出的摄像头, 则可以由感光芯片中的处理器预先进 行 A/D 硬件设 计,

9、减轻了重量,提高了设计的可靠性。和模拟摄像头相比,数 字摄像头的重 量相差不大,而与 DSC的 接口更简单,使用起来更为方便。综合上 面的分析,我们选择数字摄像头。各传 感器的供 电电路我们编器需 供电,故 性稳压芯选用的测速 要使用 3.3V 需要通过线 片为其 提供一个 3.3V 的电源驱动电路设计 我们用两个半桥电路构成 h 全桥驱动电机正反转。 BTS7960这款芯片非常适 合电机驱动。 BTS7960是 英飞凌公司制造的大电流电机驱动芯片,其最大电流为 43A,使用 2 片BTS7960可 以组成一个 H 桥。我们共使用了 4 个 I/O 端口控制 4 片 BTS7960来 驱动C车

10、的两个电机,可以实现电机的正、反转控制。电路如图:速度测量模块为了使得赛车能够平稳地沿着赛道运行, 需要控制车速, 使赛车在急转弯时 速度不至过快而冲出赛道。 通过控制驱动电机上的平均电压可以控制车速, 但是 如果开环控制电机转速,会受很多因素影响,例如电池电压、电机传动摩擦力、 道路摩擦力和前轮转向角度等。 这些因素会造成赛车运行不稳定。 通过速度检测, 对车模速度进行闭环反馈控制, 即可消除上述各种因素的影响, 使得车模运行得 更稳定。车速检测的方式有很多种, 例如用测速发电机、 转角编码盘、 反射式光电检 测、透射式光电检测和霍尔传感器检测。 经过对去年测速方案和其它学校方案的 比较,本

11、次设计中速度传感器采用的是 OMRO公N 司生产的 E6A2-CS100型光电编 码器。它由 5-12V的直流供电, 速度传感器用螺钉固定在塑料片上, 塑料片固定 在后轮支架上, 这样固定好之后, 就有了较高的稳定性。 速度传感器通过后轮轴 上的齿轮与电机相连,车轮每转一圈,速度传感器转过 2.75 圈。这样能够很好 的稳定工作,且能很准确的得到电机的转速,比较可靠。第五章 小车的软件设计在编写程序过程中,为了便于调试和调用,本文将底层函数都以模块的方 式封装起来,在模块中完成系统的初始化,赛道的识别,速度控制和电机控制。 这样各个模块相对独立、结构清晰,便于理解,而且有利于后期修改。为了减轻

12、 单片机的处理任务, 提高智能车控制的实时准确程度, 本文对程序作了优化, 避 免了很多不必要的运算。系统框图如图:赛道边沿提取算法提取赛道边沿的原则是在保证准确性的前提下提高运算速度 , 并具有较好的 环境适应能力。 本文使用的双边沿提取算法的核心为: 边缘检测算法。 由于白板 的灰度值很大, 黑线的灰度值很小, 所以会检测到一个下降沿的跳变, 记录下跳 变沿发生时的列号,就能确定出黑线的位置。摄像头组的核心部分为左右边线的提取, 从而推算出中心线的位置, 引导车 子的行进方向。我们使用了 ov7620 这款数字摄像头,返回的是灰度图像,远方 图像较模糊,难以提取黑线。所以我们使用了边沿锐化

13、算法,根据一定的阈值, 对返回的灰度图像进行遍历, 运算处理, 得到反映图像边沿的二值图像, 远方的 信息也能较好地得到,再进行左右边线的提取。只需设定好跳变的阈值 , 就可以比较准确的检测出黑色引导线。因为一幅图 像白板与黑线的灰度值相对差值较大, 这样可以减轻环境光线对边沿检测的影响 从而使智能车能够适应各种赛道环境。通过多次调试可以找出适宜的阀值大小。双边沿提取的思路是: 采用由近到远的搜索方式, 搜索图像的有效边沿和无 效边沿,找到左右边线, 以黑线的位置为基准建立搜索窗口, 然后分别在窗口内继续寻找双边线控制策略智能车的车速主要采用增量式 PID 控制和位置式 PD控制,将模糊控制与

14、 PID 控制相结合,使智能车能够在赛道上平稳快速的行驶。经典 PID 控制介绍 在工程实际中,应用最为广泛的调节控制规律为比例、积分、微分控制,简 称 PID控制,又称 PID调节。 PID 控制器结构简单,稳定性好、工作可靠、调节 方便而成为工业控制的主要技术之一。 当被控对象的结构和参数不能通过有效的 测量手段来获取即不能得到精确的数学模型时, 系统控制器的结构和参数必须依 靠现场调试和经验来确定,这时应用 PID控制技术最为方便。 PID 控制器是一种 线性控制器,它根据给定值与实际输出值之间形成偏差,将偏差的比例(P)、PID积分( I )、微分( D)通过线性组合构成控制量,对被控

15、对象进行控制 控制原理图如下 :单位反馈 e 代表理想输入与实际输出的偏差, 将偏差信号 e 送入控制器,控 制器算出偏差信号 e 的微分值和积分值, 将计算出来的微分值和积分值与原来的 误差信号 e 进行线性组合,得到输出量 u。计算公式如公式( 4-1 )所示。 u(t) KP e(t) 1 e(t)dt TD de(t)(4-1)Ti dt其中 Kp、Ki 、Kd 分别成为比例系数、积分系数、微分系数; r(t) 、 e(t) 、u(t) 分别为控制器 的输入信号、偏差信号、输出信号。在 PID 控制系统中, 比例调节是最简单的调节方式, 它能够快速、 无滞后的 是被控参数稳定在给定值附

16、近,并且能及时克服扰动干扰,一般增大比例系数 Kp可以减小上升时间,但比例控制不能消除稳态误差,并且比例系数 Kp 过大时 会导致系统不稳定。位置式 PID 算法在计算机控制系统中, 使用的是数字 PID 控制器。数字 PID控制算法可以分 为位置式 PID和增量式 PID 控制算法。由于计算机控制是一种采样控制, 它不能像模拟控制那样连续输出控制量进 行连续控制, 而只能根据采样时刻的偏差计算控制量, 数字 PID控制需要将微分 项和积分项进行离散化处理。 离散化处理方法为: 采样周期为 T,采样序号为 k,则离散时间 kT 对应着连续时间 t ,得到离散化的 PID表达式由公式 (4-2

17、)给出:u(k) K P e(k)T nTD4-2)T e( j) TD e(k) e(k 1) TI j 0T其中, u(k) 第 K 次采样时微机输出;e(k) 第 K 次采样时的偏差值; e(k 1) 第 K-1 次采样时的偏差值。位置式 PID 控制是将输出量 u(k) 直接作用于执行结构, u(k) 的值与执行机 构的位置时一一对应的。 由于位置式 PID 每次输出都与过去的状态有关, 计算时 要对 ek进行累加,工作量大,并且当计算机出现故障时,输出量 u(k) 变化幅度 很大,从而引起执行机构位置的大幅度变化, 很有可能造成严重的生产事故, 不 能用于实际的生产。增量式 PID

18、算法增量式 PID控制是将控制量的增量 u(k) 作为数字控制器的输出,控制器的 第 k-1 个采样时刻的输出值由公式( 4-3 )给出:k 1 e(k 1) e(k 2)u(k 1) Kpe(k 1) Ti e( j) T(4-3)j0将式( 4-2 )与式( 4-3 )相减并整理得,可以的到增量式 PID 控制器的增量 u(k) , u(k) 由 公 式 ( 4-4 ) 给 出 :4-4)式中:Ki Kp TTi 积分系数;Kd Kp TdT 微分系数。此控制器输出的控制量的增量 u(k) 与采样周期、 比例系数、积分时间常数 和微分时间常数有关。当计算机控制系统采用恒定的采样周期T,确定

19、 KP、Ki 、Kd,则只需要使用前后三次测量的偏差值,就可以求出控制量。增量式PID 控制算法比位置式 PID 控制算法计算量小,在实际中应用广泛智能车的速度控制算法智能车速度控制系统以 K60 单片机为控制系统的核心, 由单片机给电机一个 给定速度即理论速度, 建立模糊 PID 控制器,利用模糊 PID控制器来控制电机的 转速,即控制智能车的实际速度。再利用光电编码器来测量智能车的实际车速, 并将实际车速反馈给模糊 PID 控制器,形成闭环负反馈回路。 具体程序框架图如 下:第六章 调试工具对于摄像头队而言, 对图像的提取的处理无疑是一个很重要的环节, 为了更 好更准备的提取和处理黑线,我

20、们开发了一个查看摄像头传回来图像的上位机。 它能够将摄像头传回来的数据还原到真实的图像, 以便于我们看到摄像头工作的 情况,及时发现和处理摄像头方面的问题。该上位机的工作界面如下:摄像头调试软件编译开发环境对于 S128处理器的编程开发,使用开发工具: CodeWarrior 10.1(以下简称 CW10.1) , 它提供了高度可视化操作及自动创建复杂嵌入式系统应用的功能,编辑界面十分友好,可以对程序的阅读与开发带来很多便利。 但正是因为它有如此强大的功能, 所以运行时需要占用 PC 机更多的资源,包括软件启动在内的很多操作都执行的很慢,而且不具有变量实时查看 功能,不利于系统的在线调试。串口

21、调试工具由于模型车在跑道上实际运行时都处于高速运行状态, 调试人员不可能随时 跟着智能车进行观察。 因此,要选用方便易用的蓝牙传输方式传送数据给上位机, 调试人员就能在上位机上监视智能车的运行状况, 方便地进行离线数据分析。 蓝 牙模块发挥的作用是:将智能车采集的图像、处理得到的双边线、中心线、车速 和输出给电机的 PWM波占空比等数据通过蓝牙模块发送到上位机上。 此蓝牙模块 可在 10 米内可靠传输数据。模拟示波器界面第七章 车模参数与总结致谢7.1 车模规格车长31.5cm车宽18cm车高35cm重量1.3kg传感器类型2传感器个数2总电容735.uf7.2 总结与致谢本届比赛较以往而言,

22、 难度大大增加, 增加了直角弯,中心黑色线, 障碍物, 还有灯塔, 关键是预赛除了坡道之外所有的难度都有, 在比赛是稍微的不注意就 有可能死在各种难度上, 所以本届比赛重点看的是车子的稳定性, 只有在稳定性 较好的基础上, 再去处理各种难度才可以是车子跑的又快又稳; 增加了比赛的难 度有利于进一步提高选手的算法分析应用能力, 这或许是以后比赛的一个重点所 在。历经沧桑,飞思卡尔智能车比赛已举行了十届了,回顾这几年的技术发展, 每一年都有着很大的创新, 一年又一年的不断地提高选手的能力, 从第一年以光 电车为主, 到第二年摄像头车成绩遥遥领先, 到第三年激光管车的出现, 再到第 五年电磁车的出现

23、,每一个新的检测方法的出现都使车速提升到一个新的高度。 虽然每年的赛道元素千变万化, 但始终不变的是选手们对车子的热血激情; 车因 此不仅需要做到很好的路径优化, 更重要的是车模的稳定性, 因此调整车模的机 械结构使其更加稳定花费了我们大量的时间。 相信在不久的将来, 车模的形态还 会出现很大的改变,只有创新才会有进步。这个比赛过程离不开学院、 老师和学长们的支持, 没有学院领导的重视, 老 师的悉心指导, 学长们的热心帮助, 我们不会有今天的成绩。 感谢一路走来的队 友,感谢一路陪伴的学习学妹们,感谢所有为飞思卡尔智能车做出努力的人们, 感谢所有为安科智能车做出贡献的小伙伴。 同时我要重点感

24、谢我们的徐老师, 他 和我们一起坚持, 熬夜;每次当我们遇到问题是他总是能够给我们悉心的指导和 建议,同事他也不断地给我们以鼓励和生活上的照顾,也是我们最好的朋友。参考文献谭浩强著 C程序设计 M 北京:清华大学出版社, 2003邵贝贝单片机嵌入式应用的在线开发方法M 北京清华大学出版社2004.阎石数字电子技术基础 M. 北京: 高等教育出版社 . 2006.贾秀江,李颢 . 摄像头黑线识别算法和赛车行驶控制策略 . 电子产品世界 . 2007, 5(5):146-147刘进、齐晓慧、李永科、基于视觉的智能车模糊 PID 控制算法 . 兵工自动 化.2008,27(10)卓晴、黄开胜,邵贝贝

25、 .学做智能车挑战“飞思卡尔”杯 . 北京航空航天 大学出版社 .2007,3夏陆毅,电路原理图与电路板设计教程 protel 99seM, 北京希望电子出版 社, 2002.6陈益飞, 单片机原理及应用技术 M, 国防工业出版社 ,2011附录:部分代码void TaskStart(void *pdata)INT8U err; unsigned char i=0;unsigned char j;unsigned char *pucTemp;unsigned char temp_index,find_ok_hang;unsigned char summation; unsigned char

26、temp_i,tempFlag;unsigned char b_counter ;unsigned char n_counter;unsigned char temp_xcs_maxphoto =xcs_maxphoto; /135unsigned char int16sTemp1,int8sTemp,int16sTemp2;unsigned char temp_num;unsigned char NEW_IMAGE;unsigned char sDistanceToPrevRowPos;/ 黑块距离上帧基距离int TmpLeftStart, TmpLeftEnd, TmpRightStar

27、t, TmpRightEnd;int left,right;Read_AD_6(); /读取滑动变阻器的值G_MAX_PHOTO_YUZHI =(sensor_ad6)/20; temp_xcs_maxphoto= G_MAX_PHOTO_YUZHI;/RTICTL=0 x4f; / 实时中断控制寄存器/ CRGINT_RTIE=1; / 实时中断控制寄存器 CRGINT_RTIE=1; 打开中断 =0 关闭/ 将数组的地址装入指针数组 for(i=0;iIMAGE_ROW;i+)p_addr_Buffer1i = &uca_Buffer1i;for(i=0;iIMAGE_ROW-IMAGE_

28、ROW_DIS;i+)PosStore1i=IMAGE_COLUMN/2; / 初始化黑线位置数组 两组 一组用于存放上 一场 一组存放本场 默认是中间值 IMAGE_COLUMN/2PosStore2i=PosStore1i;BlockSelectedIndexi = VIDEO_INIT_DATA; / 初始化黑块个数 和 黑线在 黑块中的索引LINE_NFO_REC_PREi.i = IMAGE_COLUMN/2;LINE_NFO_REC_PREi.num =0;LINE_NFO_RECi.rec0.i = IMAGE_COLUMN/2;LINE_NFO_PRE_F_END = ADJA

29、CENCY_FRAME_BASELINES_LIMIT;/ 初始化得偏差 printp(uart_putchar,starting gon);TFLG1_C0F=1; / 清行中断标志TFLG1_C1F=1; / 清场中断标志 TIE_C0I = 1;TIE_C1I = 1;for(;) / 主循环OSSemPend(SemPhoMake01,0,&err);i =0;find_ok_hang= 0;/表示假设没有找到第一个有效基行 1 表示找到ValidBottomRow = VIDEO_INIT_DATA;/ 首先假设是场无效的 ValidTopRow =0 ;/ 假设开始的最后一个位置是

30、 0while(heixian(IMAGE_ROW-IMAGE_ROW_DIS) if(i heixian)/temp_index = i;新的还没有采集过来 IMAGE_COLUMN/0表示本行没有黑点块 表示本行黑点没有异常 初始化黑块个数 和pucTemp = p_addr_Buffer1temp_index; b_counter = 0;/ 黑点块得索引 n_counter = 0;/ 黑点块得黑点个数 LINE_NFO_RECtemp_index.mul = 0; / LINE_NFO_RECtemp_index.rec2.num =0;/ BlockSelectedIndexi =

31、 VIDEO_INIT_DATA; / 黑线在黑块中的索引 VIDEO_INIT_DATA =251start/ 先找到最左面和最最右面的点的位置 for(j=0; j temp_xcs_maxphoto) /说明是白G_a =j;G_a_back=j; break; for(j=IMAGE_COLUMN-2; j2; j=j-2)/,pucTemp1+j+/ 全白是大数 全黑是最小值 故而 1 是白 0 是黑 if(*(pucTemp+j) temp_xcs_maxphoto) /说明是G_b =j;G_b_back =j; break;for(j=LINE_NFO_RECi.rec0.i;

32、j3;j-=3)if(*(pucTemp+j) temp_xcs_maxphoto&*(pucTemp+j-1) temp_xcs_maxphoto&*(pucTemp+j-2) temp_xcs_maxphoto)G_a =j;break;for(j=LINE_NFO_RECi.rec0.i;j=IMAGE_COLUMN -4;j+=3)if(*(pucTemp+j) temp_xcs_maxphoto&*(pucTemp+j+1) temp_xcs_maxphoto&*(pucTemp+j+2)=20&LINE_NFO_RECi.rec0.i=20&TmpLeftStart= LINE_N

33、FO_RECi.rec0.i -20;TmpLeftEnd = LINE_NFO_RECi.rec0.i +20;left =TmpLeftStart;right = TmpLeftEnd; for(j=TmpLeftStart;j(LINE_NFO_RECi.rec0.i)+20-2;j+=2) if(*(pucTemp+j) temp_xcs_maxphoto&*(pucTemp+j+1)(LINE_NFO_RECi.rec0.i)-20+2;j-=2)if(*(pucTemp+j) temp_xcs_maxphoto&*(pucTemp+j-1) temp_xcs_maxphoto)/ G_b

温馨提示

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

评论

0/150

提交评论