深大二队技术报告_第1页
深大二队技术报告_第2页
深大二队技术报告_第3页
深大二队技术报告_第4页
深大二队技术报告_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

35/45第一届“飞思卡尔”杯全国大学生智能汽车邀请赛技术报告 学校:深圳大学队伍名称:深大二队参赛队员:张磊、李征文带队教师:邓元龙关于技术报告和研究论文使用授权的说明 本人完全了解第一届“飞思卡尔”杯全国大学生智能汽车邀请赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。参赛队员签名: 带队教师签名: 日期:

目录第一章前言………………………1第二章路径识别系统的设计………22.1检测方法的确定……………22.2光电传感器的确定………………22.3发射管驱动电路的设计…………32.4路径识别…………32.5光电传感器的固定………………3第三章硬件电路的设计……………33.1电源管理模块设计………………33.2电机驱动电路……………………33.3速度检测电路……………………43.4电路版的固定……………………4第四章控制算法及软件实现………44.1控制方案…………44.2控制算法编程……………………54.2.1思路分析…………………54.2.2算法实现………………………74.2.3仿真……………104.2.4控制算法仿真………………114.2.5Plastid仿真结果分析……………………12第五章结论…………1第一章前言“FERRSCALE”杯全国大学生智能车竞赛最主要的技术问题是:路径的自动识别和控制算法(策略)的设计。路径识别采用光电检测方法,把九对(发射与接收)光电传感器排成一列安装在小车的前面探测黑线。智能车的运动控制需要车速检测,考虑到对精度要求不高,在小车其中一个后轮上贴上8个黑白等间隔的条纹,采用光电检测的方法,通过测量脉冲宽度获得小车的瞬时速度。除了组委会提供的S12核心电路之外,设计和制作完成的硬件电路可以简单的分成四部分:1稳压电路部分,为单片机等电路提供合适的电压;2电机的驱动电路,采用集成芯片MC33886作为驱动,调制脉冲由单片机提供;3路径识别电路;4速度检测电路。具体内容在相应章节介绍。控制算法算法以及调试以Freescale的16位单片机MC9S12DG128作为核心控制器,以PWM(脉宽调制)信号控制直流电机和转向舵机。同时,用Plastid软件对控制方案进行仿真,用于指导实验。基于可靠的硬件设计,应用有提前纠偏特色的分级角度可调速控制算法,实现了智能小车的寻迹行驶。提前纠偏的方法较好地改善了分级角度匀速控制的直线蛇形前进问题。硬件总的方案图1:测速模块测速模块舵机舵机电源管理模块(5V稳压)电源管理模块(5V稳压)S12电路板S12电路板电机驱动(电机驱动(MC33886)电池(7.2V)电池(7.2V)路径识别模块路径识别模块图1:系统框图第二章路径识别系统的设计2.1检测方法的确定检测白底黑线有两种思路:一是颜色识别;二是利用黑白物体对光的反射率不同。前者一般使用颜色识别模块,但其中有前置的微处理器,不符合竞赛规则;如果不使用模块,使用MC9S12DG128做颜色判断和处理,必然占用较多的资源,影响控制周期和算法的展开。第二种方法又可分为:(1)利用CCD等图像传感器获得黑白图像,经单片机采集后,通过数字图像处理方法获得路径信息;(2)直接利用红外线发射和接受管,实现黑白检测,此方法简单,易于实现,本次设计采用了此方案。2.2光电传感器的确定红外线探测可以防止可见光的干扰,采用调制与解调方法可以增强抗干扰性能。所以本次设计采用了集成模块HS0038B和红外发光二极管TSAL6200。集成模块HS0038B内部已经集成了光电转换、放大装置和解调电路。HS0038B内部结构图2.2:图2.2:HS0038B内部结构图2.3发射管驱动电路的设计单片机的PWM模块给发射光的驱动电路提供37K的调制方波,占空比为4:5。采用三级管9012为驱动管,驱动3个放光管。发光管的瞬间电流有100mA左右,平均电流有20mA左右。发射管的简单脉冲驱动电路图如下:图2.3:脉冲驱动电路2.4路径识别通过实验,得到倾角为45度(光电管与地的角度),峰值电流与探测距离关系曲线:图2.41:峰值电流与探测距离关系曲线接收管加套筒有两点原因:一是接收管和发射管是放得很近的,如果没加套筒,那么接收管就永远会接收到发射管发射管的红外光,从而没办法正常探测。二是套管可以改变接收管的接收范围,提高测量精度。接收管接收管热缩套管1.75cm图2.42:提高精度方案光电管排成一字的形状。以中间的传感器为中心,两边传感器分别代表小车偏离黑色引导线的程度。控制算法以这个信息来控制小车。图2.43:光电传感器排列2.5光电传感器的固定光电管是成对的焊在一个小的电路板上的,电路通过一个支架被固定,支架通过螺丝上紧在小车的前面。支架与固定方法如图2.44:图2.44:固定支架传感器部分的电路通过排线与小车主电路连接如图2.44。第三章硬件电路的设计3.1电源管理模块设计由于路径检测电路与电机驱动电路直接使用电池供电,所以就是使用7805芯片稳压给单片机供电3.2电机的驱动电路电机的驱动电路是采用了FREESCALE公司生产的MC33886驱动芯片。该芯片输出的电压是通过PWM调节的。那么芯片所需要的PWM信号就可以从单片机那里获得。MC33886芯片还有两个许能信号脚,把其中的一个接地单片机的I/O口,让单片机控制,另一个,采用拨动开关,手动控制,这样在调试的时候可以带来方便。CM33886可以提供两路的控制输出,把两路输出并联起来用,这样可以加大芯片的驱动能力。因为电机在起动的时候是需要很大电流的,所以在设计的时候,使用了1000uF的电容。电路如图3.2:图3.2:驱动电路3.3速度检测电路采用光电检测,在车轮的内侧贴上黑白相邻等间距的贴条。在车轮转动的时候,红外接收管就会输出一个等间距的方波信号。。传感器固定在车轮旁边。如图3.3所示:3.4电路板的固定整个电路板大小有13cm×10cm,上面包括了检测电路以外的所有其它电路。通过四个柱子固定在小车的上面,这些柱子都是小车本身可以提供的。如图3.4:图3.3:速度检测电路图3.4:电路板的固定第四章控制算法及软件实现4.1控制方案根据前面的传感器中探测到黑线的传感器的级别,得到小车相对黑线的偏差,然后通过PWM信号给与舵机相应的转角,并引入了提前纠偏功能,另外也将速度闭环,从而达到控制速度、方向的目的。4.2控制算法编程4.2.1思路分析结合流程图4.2,对此控制方案的分析如下:每一个传感器对应一级角度,越边上的传感器对应角度越大,中间相邻的两个为左第一级和右第一级,越边上的传感器级数越高,对应角度也就越大,此为分级角度。如图16所示。提前纠偏处理的情况:首先取出上次探测到黑线的传感器级别,判断上次探测到传感器情况,根据上一状态给出舵机控制量。图4.2:程序流程图4.2.2算法实现利用CodeWarrior提供的专家助手ProcessorExpert的强大功能以及用c语言实现以上算法(程序参见附录A)。根据智能小车在实验中存在的,将跑道边缘与地面之间缝隙误判断成为黑线的情况,在算法实现中,加入了排除误判断的可能性,由于传感器检测周期短,所以检测跳变相对来说不会太大,将传感器编码(如下面程序),进行差值运算,得出的数据一定在某一范围内,利用这种思想,将以上干扰排除掉,同理也是用于交叉线。传感器编码程序:#defineleft_49#defineleft_38#defineleft_27#defineleft_16#definecenter5#defineright_14#defineright_23#defineright_32#defineright_41 速度调节方面,利用利用CodeWarrior提供的专家助手ProcessorExpert中的capture功能,对后轮转动传感器检测到的脉冲进行捕捉(图),根据实验测得计数器计数8次=1us,所以的出以下程序。voidCap1_OnCapture(void){if(time_counter>1){if(overflow_counter>0)save_time2=8192*(overflow_counter-1)+(65535-save_time1)/8+TC0/8;else save_time2=(TC0-save_time1)/8;save[save_num]=save_time2;save_num++;} save_time1=TC0; overflow_counter=0;}实验测得的数据得出基本符合情况,误差相差不超过10%,可以达到速度测量的目的。4.2.3仿真利用软件来仿真光电传感器的排列方案和控制算法,进而指导实验。Plastid智能车仿真系统是基于LabVIEW虚拟仪器技术所开发,可针对不同的赛车、赛道、路径识别方案、传感器排列方案、控制策略等内容,进行相关分析。根据大赛所配车模的尺寸,设置赛车基本信息如表4.2.31。表4.2.31:赛车基本信息设置车长0.27m车宽0.14m侧轮距0.2m右前轮坐标(0.07,0.1)轮长0.05m轮宽0.025m横轮距0.14m角速度90°/s满偏角40°注:1.横轮距用户不能设定(根据右前轮坐标自动计算而得)。 2.测轮距表示前轮轮心与后轮轮心的距离3.右前轮坐标是以车的中心为原点,车右前轮中心的相对坐标。传感器的排列设计方案和硬件制作由负责传感器设计的小组设计和实施。这里取的是一字型排列9个传感器的方案。其坐标信息如表4.2.32.。 表4.2.32:传感器坐标信息传感器序号X坐标Y坐标0-0.080.21-0.060.22-0.040.23-0.020.2400.250.020.260.040.270.060.280.080.2根据所设赛车基本信息和传感器坐标信息,所得图形如图4.2所示。YYX图4.2.3:仿真传感器排列4.2.4控制算法仿真将单片机的控制算法编写到DLL文件中进行仿真,由于在仿真的过程中发现输入接口Pre_Data[]不起作用,另设一全局变量out_direction(int,32bit有符号整数型)作为保存上一个时刻黑线的位置,函数没有提供速度输出接口,使用加速到一定速度后令*Acceleration=0的方法来达到匀速控制的目的。代码如下:if(Speed_in>=1.5)*Acceleration=0;速以及传感器值等信息,经过控制算法的计算后,控制单元输出相应的前轮转角以及加速度值,从而实现一个周期的控制。考虑舵机的最高工作频率200Hz(周期5ms),再合理估计单片机的运算周期,取仿真周期为15ms。分级角度匀速控制dll代码见附录B。4.2.5Plastid仿真结果分析设置仿真周期为15ms,启动加速度0.8m/s2。分3级角度,仍然是一字型9个传感器,左边的4个对应一级角度(即无论左边哪一个传感器探测到黑线,舵机都打同一个角度),右边的4个也对应一级角度,中间的1个探测到则直走。取左右的一级角度都为20°,给予不同的速度,其仿真结果如表4.2.51。表4.2.51:分3级角度仿真结果速度(m/s)是否冲出跑道完成2圈时间(s)第一圈时间(s)第二圈时间(s)1.5是——————1.4是——————1.3是——————1.2否4523221.1否482523分9级角度的仿真结果如表4.2.52:9级角度取为:±10°,±20°,±30°,±40°,0°表4.2.52:分9级角度仿真结果速度(m/s)是否冲出跑道完成2圈时间(s)第一圈时间(s)第二圈时间(s)3是——————2.5是——————2是——————1.6是——————1.5否3719181.4否392019由上面两表和仿真实验的过程可知,对于匀速控制,分9极角度比分3级角度取得更高的速度性能和稳定性能:分9级角度的上限速度为1.5m/s,以此速度完成2圈时间为37s,最快单圈时间为19s;分3级角度的上限速度为1.2m/s,以此速度完成2圈时间为45s,最快单圈时间为22s。同时,分9级角度直道和弯道都行进平滑,而分3级角度跑直道的蛇形明显严重。第五章结论通过长时间的使用,小车的硬件部分情况良好。整部车的功能介绍如下:改造后的车模总体重量:为1.5kg,长38cm,最宽的为18cm,高9.5cm尺寸。电路功耗,不带电机的功耗为7.2V*0.33A,带电机40%空载;所有电容总容量为1452.5uF;只使用了红外收发管共10对;除了车模原有的驱动电机、舵机之外没有使用伺服电机;赛道信息检测精度1.5cm、频率8us。寻迹智能小车系统的设计经硬件电路的制作、单片机程序的编写、用软件仿真传感器和控制算法以指导实验,再通过实验结果的反馈进行改进,实现了智能小车的变速寻迹行驶。实验证明,在模拟赛道上,智能小车行使平稳,转弯较为平滑。但也存在以下问题:但由于受到车的前瞻性的限制,转弯速度不易过快。采用具有提前纠偏的分级角度可调速控制方案,能以2m/s左右的上限速度完成大赛规定参数的跑道。超过2m/s的速度跑直道时仍会有轻微蛇形前进。利用Plastid仿真在硬件条件未准备好的情况下,分析各种基于光电传感器的排列方案和控制算法。但由于把小车看成一个质点,忽略了质量和惯性,仿真结果会有一定误差。由于智能小车可以采取速度控制,下一步利用记忆功能,对小车的入弯速度进行控制,并尽量提高直到速度,同时利用算法提高检测精度来解决以上问题。【参考文献】[1]雷玉堂.王庆有。光电检测技术,中国计量出版社,1997.7.[2]陈永甫红。外辐射红外器件与典型应用,电子工业出版社,2004.6[3]陈永甫红。红外探测与控制电路,人民邮电出版社,2004.6[4]秦积荣,光电检测原理及应用,国防工业出版社,1987[5]不详,国内外半导体光电器件实用手册,电子工业出版社[6]吴杰,光电信号检测,哈尔滨工业大学出版社,1990.[7]胡助理,安文源,李玲,欧阳小东.基于单片机技术的光电检测研究,《现代电子技术》2004年第13期总第180期[8]赵冬娥,光电检测系统中对干扰光的抑制办法研究,《测试技术学报》2004年第18卷增刊[9]丁广文,陈工,王志良,一种基于PIC单片机的红外遥控系统,河北工业大学学报2003年4月第32卷第2期[10]邵贝贝.单片机嵌入式应用的在线开发方法.清华大学出版社。2004.10[11](日)安部正人著.陈辛波译.汽车的运动和操纵.机械工业出版社。1998.10[12]伍晓宇.辛勇.C/C++语言与研究开发实践.航空工业出版社。1999[13]龚建伟熊光明.VisualC++/TurboC串口通信编程实践.电子工业出版社。2005.6[14]杨素行.模拟电子技术基础简明教程.高等教育出版社。1998.10附录A:主要程序代码for(;;){PWME_PWME1=1; if(k==0){if(PORTB!=0x00||S_right4==1){PWME_PWME2=1;PWME_PWME0=1; if(S_center==1) { direction_flag1=center;stat=direction_flag1-direction_flag;nowstat=center_angle;go_nowstate(); else { if(S_left1==1) { direction_flag1=left_1;stat=direction_flag1-direction_flag;nowstat=left_angle1;go_nowstate(); if(direction_flag==left_2) angle=center_angle; direction_flag=left_1; } elseif(S_right1==1) { direction_flag1=right_1;stat=direction_flag1-direction_flag;nowstat=right_angle1;go_nowstate(); if(direction_flag==right_2) aangle=center_angle; direction_flag=right_1; } elseif(S_left2==1) { direction_flag1=left_2;stat=direction_flag1-direction_flag;nowstat=left_angle2;go_nowstate();if(direction_flag==left_3)//回直道时提前纠偏 angle=left_angle1; } elseif(S_right2==1) { direction_flag1=right_2;stat=direction_flag1-direction_flag;nowstat=right_angle2;go_nowstate();if(direction_flag==right_3)//回直道时提前纠偏 angle=right_angle1; } elseif(S_left3==1) { direction_flag1=left_3;stat=direction_flag1-direction_flag;nowstat=left_angle3;go_nowstate();if(direction_flag==left_4)//回直道时提前纠偏 angle=left_angle3; } elseif(S_right3==1) { direction_flag1=right_3;stat=direction_flag1-direction_flag;nowstat=right_angle3;go_nowstate();if(direction_flag==right_4)//回直道时提前纠偏 angle=right_angle2; } elseif(S_left4==1) { direction_flag1=left_4;stat=direction_flag1-direction_flag;nowstat=left_angle4;go_nowstate(); } elseif(S_right4==1) { direction_flag1=right_4;stat=direction_flag1-direction_flag;nowstat=right_angle4;go_nowstate(); } }}else{if(direction_flag==left_4){ direction_flag1=left_4;stat=direction_flag1-direction_flag;nowstat=left_angle4;go_nowstate();angle=1760;}elseif(direction_flag==right_4){direction_flag1=right_4;stat=direction_flag1-direction_flag;nowstat=right_angle4;go_nowstate();angle=1060;}}PWM_Fmotor_SetDutyUS(angle);speed_control();}voidgo_laststate(void){if(direction_flag==1)angle=1060;elseif(direction_flag==9)angle=1760;}voidgo_nowstate(void){if((stat<2)&&(stat>-2)){angle=nowstat;direction_flag=direction_flag1;}else{if(direction_flag>5)direction_flag=9;elseif(direction_flag<5)direction_flag=1;go_laststate();}}voidCap1_OnCapture(void){/*Writeyourcodehere...*/Cap1_DisableEvent();time_counter++;if(time_counter>1){if(overflow_counter>0)save_time2=8192*(overflow_counter-1)+(65535-save_time1)/8+TC0/8;else save_time2=(TC0-save_time1)/8;save[save_num]=save_time2;save_num++; //Display(save_time2);} save_time1=TC0; overflow_counter=0; Cap1_EnableEvent();}仿真程序代码:/*CallLibrarysourcefile*/#include"extcode.h"_declspec(dllexport)voidAI(unsignedshortintSenser,doubleSpeed_in,doublePre_Data[], double*C_ang,double*Acceleration);voidleft_turn(unsignedshortint*Senser,double*C_ang,double*Acc);voidright_turn(unsignedshortint*Senser,double*C_ang,double*Acc);voidmid_turn(unsignedshortint*Senser,double*C_ang,double*Acc,double*Speed_in);intout_direction;voidAI(unsignedshortintSenser,doubleSpeed_in,doublePre_Data[],double*C_ang, double*Acceleration) { /*InputYourCodeHere*/ if(Senser&0x7) //senser0/1/2istrue { left_turn(&Senser,C_ang,Acceleration); out_direction=1; } elseif(Senser&0x01C0) //senser6/7/8istrue { right_turn(&Senser,C_ang,Acceleration); out_direction=-1; } elseif(Senser&0x38) //senser3/4/5istrue mid_turn(&Senser,C_ang,Acceleration,&Speed_in); if(Speed_in<=0) *Acceleration=0.8; if(Senser==0) { // if(Pre_Data[1]>0) if(out_direction==1) { *C_ang=40; }// elseif(Pre_Data[1]<0) elseif(out_direction==-1) { *C_ang=-40; } }// Pre_Data[1]=*C_ang; if(Speed_in>=1.5) *Acceleration=0; }voidleft_turn(unsignedshortint*Senser,double*C_ang,double*Acc){ if(*Senser&0x1) //senser0istrue { *C_ang=40; } elseif(*Senser&0x2) //senser1istrue { *C_ang=30; } else //senser2istrue { *C_ang=10; }}voidright_turn(unsignedshortint*Senser,double*C_ang,double*Acc){ if(*Senser&0x0100) //senser8istrue { *C_ang=-40; } elseif(*Senser&0x80) //senser7istrue { *C_ang=-30; } else //senser6istrue { *C_ang=-10; }}voidmid_turn(unsignedshortint*Senser,double*C_ang,double*Acc,double*Speed_in){ if(*Senser&0x20) //senser5istrue { *C_ang=-5; } elseif(*Senser&0x10) //senser4istrue { *C_ang=0; } else //senser3istrue { *C_ang=5; }}第一届“飞思卡尔”杯全国大学生智能汽车邀请赛技术报告附件B基于模糊控制的智能寻迹小车[注] 学校:深圳大学队伍名称:深大二队参赛队员:张磊带队教师:邓元龙注:研究论文附录B等内容是可以选择部分。关于技术报告和研究论文使用授权的说明 本人完全了解第一届“飞思卡尔”杯全国大学生智能汽车邀请赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。参赛队员签名: 带队教师签名: 日期: 基于模糊控制的智能寻迹小车张磊(深圳大学工程技术学院自动化系,广东深圳)【摘要】本文基于语言规则与模糊推理实现了智能小车的路径识别与运动控制。推导并建立了智能小车的运动学方程,对不同速度和路径情况下智能小车的行驶进行了分析与仿真,利用Matlab的模糊控制工具箱对系统的输入输出进行了验证,在获得大量实验数据的基础上,采用freescale公司的MC9SC12系列16位单片机实现了智能小车的自动寻迹和行驶。【关键词】智能小车;模糊控制;路径识别TheSmartCarforRouteRecognitionandTrackingBasedonFuzzyControl【Abstract】Theruleoflanguageandfuzzycontrolareappliedtorouterecognitionandtrackingofasmartcar.Thekinematicsequationsofsmartcararededucted,analysisandsimulationarecarriedoutforthemotionofsmartcarunderdifferentspeedandroute.ThefunctionsinfuzzycontroltoolboxofMatlab6.5areemployedtocheckthevalidationofinputandoutput.Theexperimentresultsdemonstratethesmartcarbasedona16bit-MCUofFreescaleiscapableofracinginthespecificracetrack.【KeyWords】smartcar;fuzzycontrol;routerecognition国内外学者和科技人员已经研究出了很多针对具体目标的识别和跟踪算法,但是相对来说利用模糊控制算法来实现智能小车的目标识别与跟踪较少,原因为模糊算法需要在大量实验的基础上得出结论,同时需要有丰富的专家经验融合在所设计的系统中,模糊控制器的参数调整相对传统的控制方法来说也较为困难。但是由于模糊控制运算周期短,无需建立复杂的数学模型,所以非常适合智能小车的目标识别与跟踪。本文提出了一种在速度保持一定的前提下,采用“飞斯卡尔”MC9S12DG128B单片机为核心控制器,利用模糊控制策略处理来自光电传感器所采集到的指引线数据的设计方法,从而减少系统运算时间,提高系统的响应速度,减少系统的响应时间,加强系统的稳定性,为今后进一步研究提供了一个平台。1.智能寻迹小车的系统组成大赛配发的标准车模用7.2V2000mAhNi-cd蓄电池进行电压调节。其中,单片机系统、路径识别的光电传感器和接收器电路、转向舵机(工作电压范围4.8V到6V)需要5V电压,CCD传感器需要12V电压,直流电机可以使用7.2V2000mAhNi-cd蓄电池直接供电驱动。系统电源分配示例见图1.1。7.2V7.2V稳压和升压模块传感器舵机单片机5V图1.1:系统电源分配图系统结构简图如图1.2。MCUMCUMC9S12DG128传感器电机驱动电路转向舵机直流电机图1.2:系统结构简图2、控制策略利用如下图所示光电传感器对智能寻迹小车的自身的差进行检测,并作为智能小车的一个输入量e,中间三个传感器作为中间位置的检测,左、右边三个作为两边三个不同控制辆的方向检测。模糊控制器另外一个输入为误差变化率ce,输出为舵机的控制量u。图2.1:传感器分布图人为的将9个传感器进行量化编号-4~4,并确定语言值为:“负大(NB)”、“负中(NM)”、“负小(NS)”、“零(ZO)”、“正小(PS)”、“正中(PM)”、“正大(PB)”七个语言变量,模糊控制器的输入量的语言值模糊子集选取为:{NB,NM,NS,ZO,PS,PM,PB}。采取最为简单的三角形作为其隶属度函数,图像如下:图2.2e的隶属度函数:图2.3ce的隶属度函数图2.4输出u的隶属度函数检测点编码表2.1:左4左3左2左1中间右1右2右3右4-4-3-2-101234根据选区的语言制定出相模糊控制规则,规则定制思想为当误差e为正大(PB)的时候,如果误差变化也为正大(PB),表明系统误差正在不断增大,为了迅速使误差减小,应尽快减少控制量(NB);如果误差变化为负小(NS),即误差已在慢慢减小,因此应当适当减少控制量(NM),如果此时系统误差正在快速减小,即误差变化为负大(NB),则为防止超调,控

温馨提示

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

评论

0/150

提交评论