山东大学威海三轮组技术报告_第1页
山东大学威海三轮组技术报告_第2页
山东大学威海三轮组技术报告_第3页
山东大学威海三轮组技术报告_第4页
山东大学威海三轮组技术报告_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、第十四届“恩智浦”杯全国大学生智能汽车竞赛技 术 报 告学校:山东大学(威海) 队伍名称:DC 车队参赛队员:张博 朱宝宇 朱玉岩带队教师:王小利关于技术报告和研究论文使用授权的说明本人完全了解第 14 届“恩智浦”杯全国大学生智能汽车竞赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和恩智浦半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论中。参赛队员签名: 带队教师签名: 日 期 : 引言 承接第十三届智能车竞赛出现的三轮车模和第十三届智能车竞赛双车组使用电磁和摄像头双传感器。

2、今年的“变形”三轮组使用三轮车模,两种传感器,并且要求在直立和三轮两种状态下切换,这给我们带来了新的挑战。 本文将会对车模的结构,硬件,软件,算法做详细的介绍,阐述我们解决问题的方案。主要体现在对于姿态切换方案的探索,对于多种传感器信号的融合处理。是我们共同讨论的结果,凝结着我们的汗水。 在准备比赛的过程中,我们小组学习了机械,电子,软件,控制等方面的相关知识,理论联系实践,不断尝试,勇于摸索,促进了我们对于学科的理 解。在此要感谢教育部高等自动化专业教学指导分委员会,给我们带来了这样一个富有意义的比赛。同时感谢山东大学(威海)的老师和同学们,是大家的协作让我们能够走到今天。 第十四届全国大学

3、生智能汽车邀请赛技术报告 目录5第一章 方案设计61.1 系统总体方案的设计61.2 系统总体方案设计图6第二章 智能车机械结构的设计82.1 智能车结构分析82.2 智能车万向轮的选择92.3 智能车加速度计陀螺仪安装位置确定92.4 智能车重心位置的调整9第三章 电路设计说明103.1 电源模块的硬件设计103.2 电机驱动模块的设计103.3 数模转换模块113.4 智能车传感器模块设计11第四章 智能车控制软件设计说明124.1 各模块的初始化124.2 陀螺仪采集处理算法124.3 电感数据和摄像头数据处理144.4 断路的识别154.5 主体控制程序15第五章 制作与调试部分165

4、.1 控制算法的参数整定165.2 环岛的参数调整16第六章 模型车的主要技术参数说明176.1 模型车外形参数176.2 电路部分参数176.3 传感器个数与种类176.4 赛道检测频率17第十四届全国大学生智能汽车邀请赛技术报告 第一章 方案设计本章介绍车模设计的总体思路,在后面的章节中将其分为车模结构,传感器使用,软件算法三个部分对车模进行详细的介绍。 1.1 系统总体方案的设计根据规则,车模采用 D 车模改装作为三轮车模使用。主控芯片采用 NXP 公司的 LPC54606 微控制器,在 IAR 中进行软件开发。赛车的传感器有采集角度的加速度计陀螺仪,采集车轮转速的编码器,采集赛道位置信

5、息的摄像头和电磁传感器,采集断路信息的红外对管,识别路障的超声传感器。此外,还采用了按键和液晶作为输入输出设备,实现对于车模当前状态的显示,以及对参数的快速调试和更改。 1.2 系统总体方案设计图图一 系统总体方案设计图 7可以看出该系统包括四大模块,分别是 LPC54606 最小系统板,各传感器模块,电机驱动模块,辅助调试模块。各模块的作用如下: 1、LPC54606 最小系统:是整个智能车的控制核心,通过对于各种传感器数据的采集,根据情况不同做出决策,将信号传输给电机驱动模块,对电机进行控制。 2、传感器模块:是智能车获取信息的途径,通过各传感器的信息,使得芯片可以进行反馈调节。 3、电机

6、驱动模块:接受 MCU 的输入信号,通过 PWM 对于电机转速进行调节。 4、辅助调试模块:分别有上位机和液晶和按键。上位机可以对于摄像头采集的图片进行更深入的处理。液晶可以实时显示赛道的信息,按键可以对参数实时调节第十四届全国大学生智能汽车邀请赛技术报告 第二章 智能车机械结构的设计智能车的所有组别对于车模结构都有自己的要求。对于三轮组来说,由于需要实现直立和三轮状态的切换,对于结构的要求更加严格。对于结构的设计我们从理论出发,之后根据实际情况做出修改,调试出合适的结构。 2.1 智能车结构分析对于直立车来说,基本的要求是重心要低,以防止高速时的“跳轮”;质量集中,以减少转动惯量增加稳定性;

7、重量要轻,使得电机的动力相对质量来说更加强劲。 但是由于需要切换姿态,又需要前部有一定的重量,使得三轮状态下车模不会过分容易抬起。所以我们采用 D 车模改装,同时将摄像头和电磁传感器放在车模前部。 图二 车模结构 92.2 智能车万向轮的选择我们考虑使用的万向轮包括福来轮,牛眼轮。福来轮在前进和转向时效果都很好,已经在去年的 F 车上得到了充分的验证。但是其重量很大,这对于直立车来说有利有弊。有利之处在于重心变高之后加减速变快,速度控制效果更好,弊端是重心高会导致转弯侧轮摩擦力减小甚至侧翻。 2.3 智能车加速度计陀螺仪安装位置确定加速度计和陀螺仪在本车中是用于测量车模角度的。为了使得加速度计

8、不要受到过多的干扰,需要将它放置在两车轮车轴的中间位置。为此我们设计了陀螺仪支架用于安装加速度计陀螺仪。 2.4 智能车重心位置的调整重心的调整本着重心集中的原则,将大部分重量放置于车轴位置。电路板放在车轴正上方,电池放在车轮后部用于平衡前部重量。前部放置电磁传感器和摄像头。 直立车直立存在机械零点问题。如果重心过于靠前,那么机械零点的角度就会过大,使得车模在直立运行时抬起过高,这会对摄像头的数据处理造成困难,同时会使得电磁传感器的前瞻变短。如果重心过于靠后,那么会使得车模直立前进时的角度过低。所以需要通过细微的调节电池的位置改变车模重心使得其处于一个合适的位置。第十四届全国大学生智能汽车邀请

9、赛技术报告第三章 电路设计说明为了进一步减轻车模的重量,并使得车模的质量集中,本车电路板先设计各个模块,然后集中到一块电路板上,电路包括了电源部分,运放部分,电机驱动模块。 3.1 电源模块的硬件设计对于电源模块我们的要求是可靠。为了达到这个要求我们将数字信号和模拟部分进行了隔离。 本车电源一共有三种。一是单片机,运放芯片,mpu6050,摄像头,编码器,液晶使用的 3.3 伏。二是超声传感器所需要的 5 伏电压。三是电机驱动需要的 12 伏电压。 3.3 伏电源使用的是线性稳压,考虑到主控板与 mpu6050 的通信是使用 iic 协议,因此为了防止干扰,没有使用 DC-DC 电源,而是使用

10、了线性稳压芯片SPX29150。 5 伏电源和 3.3 伏电源使用类似的芯片,也是 SPX29150. 12 伏电源使用 DC-DC 芯片 MC34063 进行升压,用于对电机驱动芯片供电。 图三 电源部分原理图 3.2 电机驱动模块的设计为了防止电机的电感产生的电动势倒灌,驱动模块采用 74lvc245 对信号进11 行隔离。主体部分是使用两个 H 桥作为驱动。 3.3 数模转换模块图四 电机驱动原理图 由于 LPC54606 内部有 ADC 模块,所以我们直接使用,而没有再外加 ADC 模块。 3.4 智能车传感器模块设计本车最主要的传感器是电磁传感器。按照规则,赛道上有 100mA 的

11、20kHz 交变电流,使用 10mH 电感和 6.8nf 电容构成的 LC 振荡电路作为电磁传感器。 第十四届全国大学生智能汽车邀请赛技术报告第四章 智能车控制软件设计说明控制软件的主要思路是将人的思想用软件实现出来。软件设计的原则是模块化,逐层求精。 4.1 各模块的初始化154.2 陀螺仪采集处理算法图五 初始化函数 陀螺仪常用的算法包括一阶互补滤波,融合滤波和卡尔曼滤波方法。其中卡尔曼滤波又叫最佳线性滤波。本车采用卡尔曼滤波。需要大量的矩阵运算。 double ZB_Kalman_Filter(int16 Accel,int16 Gyro) static double AccData_z

12、,Gyro_y; static double X2 = 0,0; static double X_2 = 0,0; static double P22 = 1,0,0,1; static double P_22 = 1,0,0,1; static double F22 = 1,0.005,0,1; static double Q22 = 0.0001,0,0,0.0001; static double H2 = 1,0; static double R = 1; static double Z; static double K2; static double FPF22; static dou

13、ble P_H2; static double FP22; static double HP_H; static double HX_; static double KZHX_2; static double KH22; static double EKH22; static double EYE22 = 1,0,0,1; AccData_z = (double)(Accel 2); Gyro_y = (double)(Gyro 3); Gyro_y = (Gyro_y + 6) / 2; /Gyro_y = Gyro_y / 2; if(AccData_z 1000) AccData_z =

14、 1000; if(AccData_z -1000) AccData_z = -1000; Z = acos(double)(double)AccData_z / 1000) * 180 / 3.141592653589793; X1 = -Gyro_y; X_0 = F00 * X0 + F01 * X1; X_1 = F10 * X0 + F11 * X1; FP00 = F00 * P00 + F01 * P10; FP01 = F00 * P01 + F01 * P11; FP10 = F10 * P00 + F11 * P10; FP11 = F10 * P01 + F11 * P1

15、1; FPF00 = FP00 * F00 + FP01 * F01; FPF01 = FP00 * F10 + FP01 * F11; FPF10 = FP10 * F00 + FP11 * F01; FPF11 = FP10 * F10 + FP11 * F11; P_00 = FPF00 + Q00; P_01 = FPF01 + Q01; P_10 = FPF10 + Q10; P_11 = FPF11 + Q11; 第十四届全国大学生智能汽车邀请赛技术报告 P_H0 = P00 * H0 + P01 * H1; P_H1 = P10 * H0 + P11 * H1; HP_H = H

16、0 * P_H0 + H1 * P_H1; K0 = P_H0 / (R + HP_H); K1 = P_H1 / (R + HP_H); HX_ = H0 * X_0 + H1 * X_1; KZHX_0 = K0 * (Z - HX_); KZHX_1 = K1 * (Z - HX_); X0 = X_0 + KZHX_0; X1 = X_1 + KZHX_1; KH00 = K0 * H0; KH01 = K0 * H1; KH10 = K1 * H0; KH11 = K1 * H1; EKH00 = EYE00 - KH00; EKH01 = EYE01 - KH01; EKH10 =

17、 EYE10 - KH10; EKH11 = EYE11 - KH11; P00 = EKH00 * P_00 + EKH01 * P_10; P01 = EKH00 * P_01 + EKH01 * P_11; P10 = EKH10 * P_00 + EKH11 * P_10; P11 = EKH10 * P_01 + EKH11 * P_11; return X0; 4.3 电感数据和摄像头数据处理电感和摄像头数据的处理都是为了得到偏差。其中电感在正常赛道仅需要用到 3 个,在环岛时候需要 5 个电感同时使用,其中竖电感主要用于方向的判断。摄像头作为电感数据的辅助主要用于对于赛道元素的识

18、别,包括停车线, 直道和弯道的分辨,环岛,路障等。 15第十四届全国大学生智能汽车邀请赛技术报告4.4 断路的识别断路的识别主要使用红外对管。由于赛道和其他部分对于红外的反射率不同,可以通过红外对管判断车模是否处于赛道上。进而完成对断路的判断。 4.5 主体控制程序车模在直立状态的正常运行主要是通过四个闭环控制来实现的。四个环串级控制。首先是直立环,输入是加速度计陀螺仪数据经过卡尔曼滤波后得到的角度。然后速度环的输入是编码器采集的速度,通过对于设定角度的改变加减速度。方向环的输入是位置偏差。除此之外还有角速度环,用于在不同姿态间进行切换。15第五章 制作与调试部分由于 3D 打印技术的成熟,车

19、模的所有需要的模块都可以使用 3D 打印的部件进行拼接,几乎不需要使用粘胶固定。某些结构可以使用 pcb 和铜柱螺丝螺母等固定。这样增加了整车的稳定性。参数调试可以使用 matlab 模拟,模拟之后再实际调试,可以缩短调试时间。 5.1 控制算法的参数整定对于各个环来说基本都可以以 P 这个参数为主,当其大致稳定后,再加入其他参数调节。有时可以用二分法对于合适的参数进行搜索。 5.2 环岛的参数调整对于环岛这种特殊元素,入环岛和出环岛会采用不同的方式,这需要根据车模运行的实际情况进行分析。最常见的是入环岛时转向不足和过度。如果转向过度,就会导致再进入换到后产生振荡。如果转向不足,就会撞上环岛夹

20、角的路肩。第六章 模型车的主要技术参数说明 第六章 模型车的主要技术参数说明6.1 模型车外形参数车长:280mm 车宽:245mm 车高:195mm 6.2 电路部分参数采用电池供电,除电机外的部分功率不超过 5W. 6.3 传感器个数与种类本车共 12 个传感器,包括 5 个电感,1 个 mpu6050,2 个编码器,2 个红外传感器,1 个摄像头和 1 个超声传感器。 6.4 赛道检测频率对于不同信息检测频率不同。对于位置检测频率是 5ms,对于路障也是5ms,对于断路检测延迟小于 100us。 17第十四届全国大学生智能汽车邀请赛技术报告结论自从报名参加智能车竞赛以来,我们队伍经历了方

21、案的设计,车模部件的设计制作,电路板的设计制作,发现问题,分析问题,解决问题的过程。最终完成了目标。 在这份技术报告中,主要体现了遇到的问题和解决问题的主要思想。 在传感器方面,本次采用的传感器数量非常多,我们在反复实践中学会了如何兼顾各个传感器的数据。 在电路方面,我们以成熟的电路模块为主,重新设计电路布线。报告中是我们最后的电路设计。 在算法方面我们经过不断的调试和优化,最后形成了现在的算法。 最后感谢指导老师给我们的帮助,感谢学院和学校的大力支持,我们希望在接下来的比赛中赛出风格,赛出水平。 19参考文献1 王盼宝 智能车制作:从元器件、机电系统、控制算法到完整的智能车设计 北京:清华大

22、学,2018 3 卓晴, 黄开胜, 邵贝贝 学做智能车:挑战“飞思卡尔”杯 北京:北京航空航天大学,2007 第十四届全国大学生智能汽车邀请赛技术报告附录#include headfile.h #include isr.hextern uppid_struct up_pid_struct;uint16 pit_test; uint16 i = 0;/int32 angle_Kalman;/卡尔曼滤波后角度int32 angle_ZB_Kalman;/张博写的卡尔曼滤波后角度int32 angle_Qinghua;/清华滤波后角度int32 duty;/直立环占空比int32 encoder_p

23、ulse;/编码器获得的单位时间两轮平均脉冲(就是平均速度)int32 encoder_pulse_least;int32 speed_angle;/速度串级调节所用变量int32 final_set_angle;/速度串级调节所用变量int32 speed_duty;/速度并级调节所用变量int16 ad_err;/电磁偏差int16 ad_err_duty;/转向并级调节所用变量int16 camera_err; int16 camera_err_duty;void RIT_DriverIRQHandler(void)PIT_FLAG_CLEAR;/get_accdata_hardware

24、 ();/int16 mpu_acc_x,mpu_acc_y,mpu_acc_z;加速度,直接使用变量即可,本车用 z 轴/get_gyro_hardware();/int16 mpu_gyro_x,mpu_gyro_y,mpu_gyro_z;角速度,直接使用变量即可,本车用 y 轴get_accdata();/加速度get_gyro();/角速度22/angle_Kalman = Kalman_Filter(mpu_acc_z,mpu_gyro_y);/利用卡尔曼滤波算出实际角度angle_ZB_Kalman = (int32)( 857-10*ZB_Kalman_Filter(mpu_ac

25、c_z,mpu_gyro_y) );/利用张博写的卡尔曼滤波算出实际角度/angle_Qinghua = QingHua_AngleCalaulate(mpu_acc_z,mpu_gyro_y,WRITE);/encoder_pulse_least = encoder_pulse_obtain(EncoderAve);/获得平均速度/encoder_pulse = (encoder_pulse*8)/10;/一阶低通滤波/encoder_pulse += (encoder_pulse_least*2)/10;/一阶低通滤波encoder_pulse = encoder_pulse_obtain(EncoderAve);/获得平均速度/speed_angle = speedpid_reali

温馨提示

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

评论

0/150

提交评论