整理自动控制综合设计无人驾驶汽车计算机控制系统方案_第1页
整理自动控制综合设计无人驾驶汽车计算机控制系统方案_第2页
整理自动控制综合设计无人驾驶汽车计算机控制系统方案_第3页
整理自动控制综合设计无人驾驶汽车计算机控制系统方案_第4页
整理自动控制综合设计无人驾驶汽车计算机控制系统方案_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、自动控制综合设计无人驾驶汽车计算机控制系统指导老师:学校:目录一 设计的目的及意义二 智能无人驾驶汽车计算机控制系统背景知识三 系统的控制对象四 系统总体方案及思路1 系统总体结构2 控制机构与执行机构3 控制规律4 系统各模块的主要功能5 系统的开发平台6 系统的主要特色五 具体设计1 系统的硬件设计2 系统的软件设计六 系统设计总结及心得体会一 设计目的及意义 随着社会的快速发展,汽车已经进入千家万户。汽车的普及造成了交通供 需矛盾的日益严重, 道路交通安全形势日趋恶化, 造成交通事故频发, 但专家往 往在分析交通事故的时候, 会更加侧重于人与道路的因素, 而对车辆性能的提高 并不十分关注

2、。 如果存在一种高性能的汽车, 它可以自动发现前方障碍物, 自动 导航引路,甚至自动驾驶, 那将会使道路安全性能得到极大提高与改善。 本系统 即为实现这样一种高性能汽车而设计。二 智能无人驾驶汽车计算机控制系统背景知识 智能无人驾驶汽车是一个集环境感知、规划决策、多等级辅助驾驶等功能 于一体的综合系统,它集中运用了计算机、现代传感、信息融合、通讯、人工智 能及自动控制等技术, 是典型的高新技术综合体。 目前对智能汽车的研究主要致 力于提高汽车的安全性、舒适性,以及提供优良的人车交互界面。近年来,智能 车辆已经成为世界车辆工程领域研究的热点和汽车工业增长的新动力, 很多发达 国家都将其纳入到各自

3、重点发展的智能交通系统当中。通过对车辆智能化技术的研究与开发, 可以提高车辆的控制与驾驶水平, 保 障车辆行驶的安全通畅、 高效。对智能化的车辆控制系统的不断研究完善, 相当 于延伸扩展了驾驶员的控制、 视觉和感官功能, 能极促进道路交通的安全性。 智 能车辆的主要特点是以技术弥补人为因素的缺陷, 使得即便在很复杂的道路情况 下,也能自动地操纵和驾驶车辆绕开障碍物,沿着预定的道路轨迹行驶。三 系统的控制对象1)系统中心控制部件(单片机)可靠性高,抗干扰能力强,工作频率最高可达到 25MHz ,能保障系统的实时性。(2)系统在软硬件方面均应采用抗干扰技术,包括光电隔离技术、电磁兼 容性分析、数字

4、滤波技术等。(3)系统具有电源实时监控、欠压状态自动断电功能。(4)系统具有故障自诊断功能。(5 )系统具有良好的人性化显示模块, 可以将系统当前状态的重要参数 (如 智能车速度、电源电压)显示在 LCD 上。(6 )系统中汽车驱动力为 500N 时,汽车将在 5 秒达到 10m/s 的最大速 度。四 系统总体方案及思路1 系统总体结构整个系统主要由车模、模型车控制系统及辅助开发系统构成。智能车系统的功能模块主要包括: 控制核心模块、 电源管理模块、 路径识别 模块、后轮电机驱动模块、转向舵机控制模块、速度检测模块、电池监控模块、 小车故障诊断模块、 LCD 数据显示模块及调试辅助模块。每个模

5、块都包括硬件 和软件两部分。硬件为系统工作提供硬件实体,软件为系统提供各种算法。2 控制机构与执行机构智能车主要通过自制小车来模拟执行机构,自制小车长为 34.6cm ,宽为 24.5cm ,重为 1.2kg ,采样周期为 3ms ,检测精度为 4mm 。控制机构中,主控制核心采用 freescale16 位单片机 MC9S12DG128B 。系统在 CodeWarrior 软件平台基础上设计完成, 采用 C 语言和汇编语言混合编 程,提供强大的辅助模块,包括电池检测模块、小车故障诊断模块、 LCD 数据 显示模块以及调试辅助模块。在路径识别模块,系统利用了 freescaleS12 系列 单

6、片机提供的模糊推理机。3 控制规律因为系统电机控制模块控制小车的运动状态, 其在不同阶段特性参数变化很 大,故采用数字 PID 控制器,该控制器技术成熟,结构简单,参数容易调整, 不一定需要系统的确切数字模型。4 系统各模块的主要功能控制核心模块:使用 freescale16 位单片机 MC9S12DG128B ,主要功能是完成采集信号的处理和控制信号的输出。电源管理模块:对电池进行电压调节,为各模块正常工作提供可靠的电压。路径识别模块:完成跑道信息的采集、预处理以及数据识别。后轮电机驱动模块:为电机提供可靠的驱动电路和控制算法。转向舵机控制模块:为舵机提供可靠的控制电路和控制算法。速度检测模

7、块:为电机控制提供准确的速度反馈。 电池监控模块:对电池电量进行实时监控,以便科学的利用,保护电池。 小车故障诊断模块:对小车故障进行快速、准确的诊断。LCD 数据显示模块:显示系统当前状态的重要参数。调试辅助模块:使得小车调试更加方便。5 系统的开发平台系统 软件开 发平 台 采用 CodeWarrior for S12 , CodeWarrior 是Metrowerks 公司的,专门面向 Freescale 所有的 MCU 与 DSP 嵌入式应用开 发的软件工具, CodeWarrior for S12 是面向以 HC12 或 S12 为 CPU 的单片 机嵌入式应用开发的软件包。包括集成

8、开发环境 IDE 、处理器专家库、全芯片 仿真、可视化参数显示工具、项目工程管理器、 C 交叉编译器、汇编器、器以及 调试器。6 系统的主要特色(1)系统中引用了模糊推理机模糊推理机是 freescaleS12 单片机一个重要的部资源,利用模糊推理的三 个步骤模糊化、模糊逻辑推理、反模糊化,可以从路径传感信号,推理出精 确的控制量。(2)系统中采用了数字滤波技术 数字滤波技术可靠性高、 稳定性好、 具有很强的灵活性、 可以根据不同的干 扰情况,随时修改滤波程序和滤波方法。五 具体设计1 系统的硬件设计系统硬件系统框图如下:以下按各模块来分别设计本硬件电路:1 ) 电源管理模块电源管理模块的功能

9、对电池进行电压调节, 为各个模块正常工作提供可靠的 工作电压。电源管理模块采用 7.2V 、2000mAh 镍镉电池以及 LM2576 (5V),LM317 (6V )稳压芯片构成。(2 ) 微处理器微处理器是 freescale 公司推出的 S12 系列增强型的 16 位单片机MC9S12DG128 ,该系列单片机在汽车电子领域有着广泛的应用(3 ) 路径识别模块路径识别模块是智能车系统的关键模块之一, 其设计的好坏直接影响到智能 车控制系统的性能。 目前能够用于智能车辆路径识别的传感器主要有光电传感器 和 CCD/CMOS 传感器。本设计红外发射管和红外接收管以及达林顿管 ULN2803A

10、 作为路径识别的传感器。采用双排传感器的策略,第一排传感器专 门用于识别路径以及记忆路径的各种特征点, 第二排传感器专门用于识别起始位 置与十字交叉路口, 由于不同传感器的功能不一样, 因此它们的布置与安装位置 也是不同。传感器的设计主要包括传感器布局, 传感器间隔距离, 径向探出距离, 信号的采集几部分构成。(4 ) 后轮驱动和速度检测模块 智能车前进的动力是通过直流电机来驱动的, 本设计的驱动直流电机的型号 为 RS380SH ,输出功率为 0.9W 40W 。在实际生活中, 我们可能遇到弯道, 为了能使模型车在过弯道的时候能快速地把速度减下来, 电机驱动部分采用了两 块 MC33886

11、组成的全桥式驱动电路, 可以控制电机的反转以达到制动的目的。在闭环控制系统中, 速度指令值通过微控制器变换到驱动器, 驱动器再为电 机提供能量。 速度传感器再把测量的小车的速度量的实际值回馈给微控制器。 以 便微控制器进行控制。 因此要对控制系统实行闭环控制, 必须要有感应速度量的 速度传感器。常用的有轴编码器,它主要用来测量旋转轴的位置和转速。(5 ) 转向舵机模块 凡是需要操作性动作时都可以用舵机来实现。本设计采用的舵机型号为 HS 925(SANWA ),尺寸为 39.4*37.8*27.8 ,重量 56kg ,工作速度 0.11sec/60 ( 4.8V ),0.07sec/60 (6

12、.0V ),堵转力矩 6.1kg 。一般来讲,舵机主要由以下 基本分组成:舵盘、减速齿轮组、位置反馈电位计、直流电机、控制电路板等。其中,直流马达提供了原始动力,带动减速齿轮组,产生高扭力的输出,齿轮组 的变速比愈大,输出扭力也愈大,越能承受更大的重量,但转动的速度也愈低 在设计中,为了提高舵机的响应速度和工作力矩,采用 6.0V 工作电压。(6 ) 电源电压检测模块智能车采用镍镉电池供电, 由于镍镉电池具有记忆效应, 对电池的不完全放 电会认为降低电池的电容量, 同时深度放电又会导致电池部结构变化, 造成对电 池的永久损害, 因此,在智能车控制系统中加入电源监控模块, 当电池电压低于 6V

13、时及时自动报警,并切断电路,用来保护电池。本模块用到的主要器件为光 电耦合芯片 TLP521 2 以及运算放大器 LM324 。(7 ) 液晶显示模块为了完善智能车控制系统的功能, 使其更加人性化, 同时为了方便测试, 在 设计中,加入液晶显示模块,把智能车系统当前状态的一些重要参数显示出来。 本模块用到的器件为 LCD 控制器 HD44780 。(8 ) 辅助调试模块(红外遥控)在智能车调试阶段, 小车经常出现启停的情况, 例如高速行驶的小车有时因 为异常情况冲出跑道, 以这样的速度碰到周围的障碍物上, 势必损坏小车的部件, 这个时候就需要小车立刻停下来。 为此,在智能车系统上添加红外遥控模

14、块, 当 想启动小车或者想让小车停止时, 只需要按下遥控器上的按键, 就可以很方便实 现小车的启停。本模块主要用红外接收器 HS0038A 和红外遥控器来进行遥控 控制。(9 ) 故障诊断模块小车的故障诊断模块原理很简单,就是利用单片机的 SCIO 口,通过 RS232 接口与上位机连接起来,通过软件编程,小车不断的向上位机发送代码,通过故障代码就可以马上诊断出故障源。2 系统的软件设计在智能车系统中,软件系统主要有以下几个部分:路径识别算法、后轮驱动 电机控制算法、 转向舵机控制算法、 速度检测等。 单片机系统需要接收路径识别 电路的信号、 车速传感器的信号, 采用某种路径搜索算法进行巡线判

15、断, 进而控 制转向伺服电机和直流驱动电机。 控制策略的选择对于小车的行驶性能是非常重 要的,控制小车的最终目的就是要使小车在平稳行驶的前提下, 尽可能地以最快 速度和最短的路线行驶。下面简要介绍各模块的软件算法。(1 )后轮驱动电机控制算法电机控制算法的作用是接受指令速度值, 通过运算向电机提供适当的驱动电 压,尽快尽量平稳地使电机转速达到速度值,并维持这个速度值。换言之,一旦 电机转速达到了指令速度值, 即使遇到各种不利因素的干扰下, 也应保持速度值 不变。因此我们采用数字控制器的连续化设计技术 PID 控制算法来控制本部分电 路。 数学模型的设定我们设定系统中汽车车轮的转动惯量可以忽略不

16、计, 并且认为汽车受到的摩 擦阻力大小与汽车的运动速度成正比, 摩擦阻力的方向与汽车运动方向相反。 这 样,我们就可以用以下模型来仿真之。根据牛顿运动定律,该系统的动态数学模型可表示为:ma bv uyu我们对系统的参数进行设定,设汽车质量 m=1000kg ,比例 系数 b=50N*s/m ,汽车驱动力 u=500N 。根据系统的设计要求,系统中汽车驱动力为 500N 时,汽车将在 5 秒达到 10m/s 的最大速度。 同时我们可以将系统的最大超调量设计为 10% ,静态误差 设计为 2% 。 系统的开环阶跃函数表示为了得到系统的传递函数, 我们进行拉普拉斯变换。 假定系统的初始条件为 零,

17、则:msV(s) bV(s) U(s)Y(s) V(s)所以系统的传递函数为:Y(s) 1U (s) ms b运用 MATLAB 编程实现该传递函数模型:m=1000b=50u=500num=1den=m bsys=tf(num,den)step(u*sys)title( 系统开环节跃响应曲线 )从图上我们看出,系统不符合 5 秒的上升时间要求,故需要加上合适的控 制器。 PID 控制器的设计PID 控制器的传递函数为:D(s)U(s)E(s)Kp(1 T1s TDs) K p TIsKIs2KD s2 K ps KI KDsD p Is我们运用凑试法来确定 PID 的各参数首先我们确定采样周

18、期。 采样周期的选择既不能过大也不能过小, 过小会使 采样频率较高, 一方面会加重单片机的负担, 另一方面两次采样值的偏差变化太 小,数字控制器的输出值变化不大。 同时采样周期也不能太大, 太大会降低 PID 控制器的准确性,从而不能正常发挥 PID 控制器的功能。综上所述,我们首先 选择 T=0.2s 来进行实验,如果效果不好,我们在对其进行微调。然后我们进行比例控制器的设计。 比例控制器一般将加快系统的响应, 在有 静差的情况下有利于减小静差。我们首先设定 Kp=100 ,则程序与仿真图为:nc=100;dc=1;dd=tf(nc,dc)dz=c2d(dd,0.1,tustin)np=1;

19、dp=1000 50g=tf(np,dp)gd=c2d(g,0.1,tustin)sysold=dz*gd;syscld=feedback(sysold,1)step(500*syscld);title( 比例控制器作用下的阶跃响应(驱动力为 500N )从图中可以看出,系统静态值太高,而且上升时间也远远不能满足设计要求我们改变汽车驱动力为 10N ,再次进行仿真,仿真结果如下(程序中只需 改动 step 语句为 step ( 10* syscld )即可):我们看到系统静态值虽然产生了较大幅度的下降, 但仍然不能满足要求。 我 们再将 Kp 从 100 逐步增加,直至改为 1500 进行测试

20、(程序改动为 nc=1500 ), 我们发现此时仿真静态值与静态误差以及上升时间已基本满足系统需求, 从而我 们完全可以通过继续增加比例系数来调节系统特性, 进而理论上可以省去积分环 节。但是随着比例系数的增加动态过程将让人不满意, 其动态变化将过快, 从而 给驾驶人员带来身体上的不适 (图二为比例系数增至 5000 时的仿真波形, 我们 发现在 0.1s 的时间,汽车速度将从 2m/s 骤增至 5m/s ),所以我们从人性化 角度考虑,增加积分环节:积分环节的加入可以调节系统的静态误差。我们设定Kp=1000 ,Ki=10,此时程序和仿真图形如下:nc=1000 10dc=1 0dd=tf(

21、nc,dc);dz=c2d(dd,0.1,tustin)np=1;dp=1000 50 g=tf(np,dp) gd=c2d(g,0.1,tustin); sysold=dz*gd;syscld=feedback(sysold,1); step(10*syscld ,10);title( 比例积分控制器作用下的阶跃响应 )我们可以看到,此时静态误差过大,我们调节积分系数为 50 (改变程序为nc=1000 50 ),再次仿真:我们看到系统已基本实现设计要求, 实际设计中可以不加入微分环节。 鉴于 此次设计为课程设计, 为保证设计完整性, 我们在加入微分环节来观察一下微分 环节对系统性能的影响。

22、设 Kd=10 ,则程序为:nc=10 1000 50 dc=1 0 dd=tf(nc,dc);dz=c2d(dd,0.1,tustin)np=1;dp=1000 50g=tf(np,dp)gd=c2d(g,0.1,tustin);sysold=dz*gd;syscld=feedback(sysold,1);step(10*syscld,10);title( 比例积分微分控制器作用下的阶跃响应 )我们发现此图与上图区别不明显, 即微分作用不明显, 我们将微分系数更改为 500 (程序更改为 nc=500 1000 50 ):我们清楚的发现, 系统初始值明显变大, 即微分作用可以加快系统的动态响

23、应速度,减小调整时间,从而改善系统的动态性能。当采样周期改为 T=1s 时,系统程序与仿真波形为:nc=500 1000 50 dc=1 0 dd=tf(nc,dc); dz=c2d(dd,1,tustin) np=1;dp=1000 50g=tf(np,dp)gd=c2d(g,1,tustin);sysold=dz*gd;syscld=feedback(sysold,1);step(10*syscld,10);title( 比例积分微分控制器作用下的阶跃响应 T=1s)我们可以看到效果远远不如 T=0.1s 时的情况。 所以综上所述,我们设计的 PID 控制器的传递函数为:U (s) 100

24、0s 50D(s) ,采样周期为 T=0.1s 。E(s) s然后,我们利用数字控制器的离散化设计步骤来设计本系统。 通过前面的分析,我们知道被控对象的连续传递函数为:Y(s)U(s)。其中, ms bm=1000 ,b=50 。因为零阶保持器的传递函数为:1 e TsH(s) 1 Se 。所以得到广义对象的脉冲传递函数为:G(z) Z1 se * 10001s 50s 1000s 50(1z 1)Zs(1000s 50)(1 z1)Z10100*s(s1210)11000*(11z 1)*20*1 Zs111201 (1 e 20)z 1 1 0.0488 z 1 *50210 1 50 1

25、 0.9512z 11 e 20 z 110对单位脉冲输入信号的十倍, R(z) 10 1 1z,选择(z)z 1 。仿真程序如下:G=tf(0,0.0488,0,50,47.56,0,1,variable,z-1)H=tf(0,1,0,1,1,variable,z-1)R=tf(10,0,0,1,-1,0,1,variable,z-1)Y=R*Hfigure(1) impulse(Y)He=1-HE=He*RD=H/(G*(1-H)U=E*Dfigure(2)impulse(U)Figure 1QFigure 2G G oFile EditViewInsert Tools Desktop W

26、indowHelp Hefe釵遲目| a D从图中可以看出,在十倍的单位阶跃信号,采样周期为 1s 时,只需一拍输出就能跟踪输入,误差为零,非常好的达到了系统的设计要求 然后,我们再看一下增量型 PID 控制器的效果: 当比例积分微分系数不变时,程序如下: kp=1000ki=50kd=500G=tf(1,0,1000,50)Gd=c2d(G,0.1,z)num,den=tfdata(Gd,v)u_1=0u_2=0y_1=0y_2=0e_1=0e_2=0q0=kp+ki*0.1+kd/0.1Aq1=-kp-2*kd/0.1q2=kd/0.1for k=1:1:1000t(k)=k*0.1r(k

27、)=10y(k)=1-den(2)*y_1+num(2)*u_1e(k)=r(k)-y(k)u(k)=q0*e(k)+q1*e_1+q2*e_2u(k)=u_1+u(k)u_2=u_1u_1=u(k)y_2=y_1y_1=y(k)e_2=e_1e_1=e(k)endplot(t,y)程序运行结果为:我们可以清楚地看到, 除超调量超过系统要求外, 其余要求均符合系统初始 条件,我们可以通过增加微分系数来减小超调,直至使其满足系统要求。(2)路径识别模块的软件设计路径识别模块的工作框图见下页。智能车路径识别算法是智能车软件设计中最关键的一部分, 智能车设计的大 部分工作都是围绕它来展开的。 路径识

28、别算法概括起来有两种: 一种是静态识别, 所谓静态识别就是只根据小车的当前时刻的输入量来识别小车的位置; 另一种是 动态识别,所谓动态识别就是根据小车的当前时刻以及前面的 N 个时刻的信号 输入量来识别小车的运动趋势路径识别主要运用 MC9S12DG128B 部的模糊推理机运用模糊逻辑的基 本知识来实现。本模块也可以用数字 PID 控制算法来实现,鉴于后轮驱动电机控制算法已 详细的运用了 PID 来讲述之,此处不再赘述。此处运用 PID 的思想即通过与数 字地图比较偏差,从而不断调整小车路线,达到路径识别的功能。(3)数字滤波技术在电动机数字闭环控制系统中,测量值 yk 是通过系统的输出量进行采样而 得到的。它与给定值 r(t)之差形成偏差信号 ek ,所以,测量值 yk 是决定偏差 大小的重要数据。 测量值如果不能真实地反映系统的输出, 那么这个控制系统就 会失去它的作用。 在实际中, 对电动机输出的测量值常混有干扰噪声, 用混有干 扰的测量值作为控制信号, 将引起误动作, 在有微分控制环节的系统中还会引起系统震荡,危害极大。在本系统设计中, 采用了移动平

温馨提示

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

评论

0/150

提交评论