自动控制综合设计无人驾驶汽车计算机控制系统文档格式.docx
- 文档编号:18691848
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:23
- 大小:380.48KB
自动控制综合设计无人驾驶汽车计算机控制系统文档格式.docx
《自动控制综合设计无人驾驶汽车计算机控制系统文档格式.docx》由会员分享,可在线阅读,更多相关《自动控制综合设计无人驾驶汽车计算机控制系统文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
近年来,智能车辆已经成为世界车辆工程领域研究的热点和汽车工业增长的新动力,很多发达国家都将其纳入到各自重点发展的智能交通系统当中。
通过对车辆智能化技术的研究与开发,可以提高车辆的控制与驾驶水平,保障车辆行驶的安全通畅、高效。
对智能化的车辆控制系统的不断研究完善,相当于延伸扩展了驾驶员的控制、视觉和感官功能,能极大地促进道路交通的安全性。
智能车辆的主要特点是以技术弥补人为因素的缺陷,使得即便在很复杂的道路情况下,也能自动地操纵和驾驶车辆绕开障碍物,沿着预定的道路轨迹行驶。
(1)系统中心控制部件(单片机)可靠性高,抗干扰能力强,工作频率最高可达到25MHz,能保障系统的实时性。
(2)系统在软硬件方面均应采用抗干扰技术,包括光电隔离技术、电磁兼容性分析、数字滤波技术等。
(3)系统具有电源实时监控、欠压状态自动断电功能。
(4)系统具有故障自诊断功能。
(5)系统具有良好的人性化显示模块,可以将系统当前状态的重要参数(如智能车速度、电源电压)显示在LCD上。
(6)系统中汽车驱动力为500N时,汽车将在5秒内达到10m/s的最大速度。
整个系统主要由车模、模型车控制系统及辅助开发系统构成。
智能车系统的功能模块主要包括:
控制核心模块、电源管理模块、路径识别模块、后轮电机驱动模块、转向舵机控制模块、速度检测模块、电池监控模块、小车故障诊断模块、LCD数据显示模块及调试辅助模块。
每个模块都包括硬件和软件两部分。
硬件为系统工作提供硬件实体,软件为系统提供各种算法。
智能车主要通过自制小车来模拟执行机构,自制小车长为34.6cm,宽为24.5cm,重为1.2kg,采样周期为3ms,检测精度为4mm。
控制机构中,主控制核心采用freescale16位单片机MC9S12DG128B。
系统在CodeWarrior软件平台基础上设计完成,采用C语言和汇编语言混合编程,提供强大的辅助模块,包括电池检测模块、小车故障诊断模块、LCD数据显示模块以及调试辅助模块。
在路径识别模块,系统利用了freescaleS12系列单片机提供的模糊推理机。
因为系统电机控制模块控制小车的运动状态,其在不同阶段特性参数变化很大,故采用数字PID控制器,该控制器技术成熟,结构简单,参数容易调整,不一定需要系统的确切数字模型。
控制核心模块:
使用freescale16位单片机MC9S12DG128B,主要功能是完成采集信号的处理和控制信号的输出。
电源管理模块:
对电池进行电压调节,为各模块正常工作提供可靠的电压。
路径识别模块:
完成跑道信息的采集、预处理以及数据识别。
后轮电机驱动模块:
为电机提供可靠的驱动电路和控制算法。
转向舵机控制模块:
为舵机提供可靠的控制电路和控制算法。
速度检测模块:
为电机控制提供准确的速度反馈。
电池监控模块:
对电池电量进行实时监控,以便科学的利用,保护电池。
小车故障诊断模块:
对小车故障进行快速、准确的诊断。
LCD数据显示模块:
显示系统当前状态的重要参数。
调试辅助模块:
使得小车调试更加方便。
系统软件开发平台采用CodeWarriorforS12,CodeWarrior是Metrowerks公司的,专门面向Freescale所有的MCU与DSP嵌入式应用开发的软件工具,CodeWarriorforS12是面向以HC12或S12为CPU的单片机嵌入式应用开发的软件包。
包括集成开发环境IDE、处理器专家库、全芯片仿真、可视化参数显示工具、项目工程管理器、C交叉编译器、汇编器、链接器以及调试器。
(1)系统中引用了模糊推理机
模糊推理机是freescaleS12单片机一个重要的内部资源,利用模糊推理的三个步骤——模糊化、模糊逻辑推理、反模糊化,可以从路径传感信号,推理出精确的控制量。
(2)系统中采用了数字滤波技术
数字滤波技术可靠性高、稳定性好、具有很强的灵活性、可以根据不同的干扰情况,随时修改滤波程序和滤波方法。
系统硬件系统框图如下:
以下按各模块来分别设计本硬件电路:
(1)电源管理模块
电源管理模块的功能对电池进行电压调节,为各个模块正常工作提供可靠的工作电压。
电源管理模块采用7.2V、2000mAh镍镉电池以及LM2576(5V),LM317(6V)稳压芯片构成。
(2)微处理器
微处理器是freescale公司推出的S12系列增强型的16位单片机MC9S12DG128,该系列单片机在汽车电子领域有着广泛的应用。
(3)路径识别模块
路径识别模块是智能车系统的关键模块之一,其设计的好坏直接影响到智能车控制系统的性能。
目前能够用于智能车辆路径识别的传感器主要有光电传感器和CCD/CMOS传感器。
本设计红外发射管和红外接收管以及达林顿管ULN2803A作为路径识别的传感器。
采用双排传感器的策略,第一排传感器专门用于识别路径以及记忆路径的各种特征点,第二排传感器专门用于识别起始位置与十字交叉路口,由于不同传感器的功能不一样,因此它们的布置与安装位置也是不同。
传感器的设计主要包括传感器布局,传感器间隔距离,径向探出距离,信号的采集几部分构成。
(4)后轮驱动和速度检测模块
智能车前进的动力是通过直流电机来驱动的,本设计的驱动直流电机的型号为RS—380SH,输出功率为0.9W—40W。
在实际生活中,我们可能遇到弯道,为了能使模型车在过弯道的时候能快速地把速度减下来,电机驱动部分采用了两块MC33886组成的全桥式驱动电路,可以控制电机的反转以达到制动的目的。
在闭环控制系统中,速度指令值通过微控制器变换到驱动器,驱动器再为电机提供能量。
速度传感器再把测量的小车的速度量的实际值回馈给微控制器。
以便微控制器进行控制。
因此要对控制系统实行闭环控制,必须要有感应速度量的速度传感器。
常用的有轴编码器,它主要用来测量旋转轴的位置和转速。
(5)转向舵机模块
凡是需要操作性动作时都可以用舵机来实现。
本设计采用的舵机型号为HS—925(SANWA),尺寸为39.4*37.8*27.8,重量56kg,工作速度0.11sec/60(4.8V),0.07sec/60(6.0V),堵转力矩6.1kg。
一般来讲,舵机主要由以下基本分组成:
舵盘、减速齿轮组、位置反馈电位计、直流电机、控制电路板等。
其中,直流马达提供了原始动力,带动减速齿轮组,产生高扭力的输出,齿轮组的变速比愈大,输出扭力也愈大,越能承受更大的重量,但转动的速度也愈低。
在设计中,为了提高舵机的响应速度和工作力矩,采用6.0V工作电压。
(6)电源电压检测模块
智能车采用镍镉电池供电,由于镍镉电池具有记忆效应,对电池的不完全放电会认为降低电池的电容量,同时深度放电又会导致电池内部结构变化,造成对电池的永久损害,因此,在智能车控制系统中加入电源监控模块,当电池电压低于6V时及时自动报警,并切断电路,用来保护电池。
本模块用到的主要器件为光电耦合芯片TLP521—2以及运算放大器LM324。
(7)液晶显示模块
为了完善智能车控制系统的功能,使其更加人性化,同时为了方便测试,在设计中,加入液晶显示模块,把智能车系统当前状态的一些重要参数显示出来。
本模块用到的器件为LCD控制器HD44780。
(8)辅助调试模块(红外遥控)
在智能车调试阶段,小车经常出现启停的情况,例如高速行驶的小车有时因为异常情况冲出跑道,以这样的速度碰到周围的障碍物上,势必损坏小车的部件,这个时候就需要小车立刻停下来。
为此,在智能车系统上添加红外遥控模块,当想启动小车或者想让小车停止时,只需要按下遥控器上的按键,就可以很方便实现小车的启停。
本模块主要用红外接收器HS0038A和红外遥控器来进行遥控控制。
(9)故障诊断模块
小车的故障诊断模块原理很简单,就是利用单片机的SCIO口,通过RS—232接口与上位机连接起来,通过软件编程,小车不断的向上位机发送代码,通过故障代码就可以马上诊断出故障源。
在智能车系统中,软件系统主要有以下几个部分:
路径识别算法、后轮驱动电机控制算法、转向舵机控制算法、速度检测等。
单片机系统需要接收路径识别电路的信号、车速传感器的信号,采用某种路径搜索算法进行巡线判断,进而控制转向伺服电机和直流驱动电机。
控制策略的选择对于小车的行驶性能是非常重要的,控制小车的最终目的就是要使小车在平稳行驶的前提下,尽可能地以最快速度和最短的路线行驶。
下面简要介绍各模块的软件算法。
(1)后轮驱动电机控制算法
电机控制算法的作用是接受指令速度值,通过运算向电机提供适当的驱动电压,尽快尽量平稳地使电机转速达到速度值,并维持这个速度值。
换言之,一旦电机转速达到了指令速度值,即使遇到各种不利因素的干扰下,也应保持速度值不变。
因此我们采用数字控制器的连续化设计技术PID控制算法来控制本部分电路。
①数学模型的设定
我们设定系统中汽车车轮的转动惯量可以忽略不计,并且认为汽车受到的摩擦阻力大小与汽车的运动速度成正比,摩擦阻力的方向与汽车运动方向相反。
这样,我们就可以用以下模型来仿真之。
根据牛顿运动定律,该系统的动态数学模型可表示为:
我们对系统的参数进行设定,设汽车质量m=1000kg,比例系数b=50N*s/m,汽车驱动力u=500N。
根据系统的设计要求,系统中汽车驱动力为500N时,汽车将在5秒内达到10m/s的最大速度。
同时我们可以将系统的最大超调量设计为10%,静态误差设计为2%。
②系统的开环阶跃函数表示
为了得到系统的传递函数,我们进行拉普拉斯变换。
假定系统的初始条件为零,则:
所以系统的传递函数为:
运用MATLAB编程实现该传递函数模型:
m=1000
b=50
u=500
num=[1]
den=[mb]
sys=tf(num,den)
step(u*sys)
title('
系统开环节跃响应曲线'
)
从图上我们看出,系统不符合5秒的上升时间要求,故需要加上合适的控制器。
③PID控制器的设计
PID控制器的传递函数为:
我们运用凑试法来确定PID的各参数。
首先我们确定采样周期。
采样周期的选择既不能过大也不能过小,过小会使采样频率较高,一方面会加重单片机的负担,另一方面两次采样值的偏差变化太小,数字控制器的输出值变化不大。
同时采样周期也不能太大,太大会降低PID控制器的准确性,从而不能正常发挥PID控制器的功能。
综上所述,我们首先选择T=0.2s来进行实验,如果效果不好,我们在对其进行微调。
然后我们进行比例控制器的设计。
比例控制器一般将加快系统的响应,在有静差的情况下有利于减小静差。
我们首先设定Kp=100,则程序与仿真图为:
nc=100;
dc=1;
dd=tf(nc,dc)
dz=c2d(dd,0.1,'
tustin'
np=1;
dp=[100050]
g=tf(np,dp)
gd=c2d(g,0.1,'
sysold=dz*gd;
syscld=feedback(sysold,1)
step(500*syscld);
比例控制器作用下的阶跃响应(驱动力为500N)'
从图中可以看出,系统静态值太高,而且上升时间也远远不能满足设计要求。
我们改变汽车驱动力为10N,再次进行仿真,仿真结果如下(程序中只需改动step语句为step(10*syscld)即可):
我们看到系统静态值虽然产生了较大幅度的下降,但仍然不能满足要求。
我们再将Kp从100逐步增加,直至改为1500进行测试(程序改动为nc=1500),我们发现此时仿真静态值与静态误差以及上升时间已基本满足系统需求,从而我们完全可以通过继续增加比例系数来调节系统特性,进而理论上可以省去积分环节。
但是随着比例系数的增加动态过程将让人不满意,其动态变化将过快,从而给驾驶人员带来身体上的不适(图二为比例系数增至5000时的仿真波形,我们发现在0.1s的时间内,汽车速度将从2m/s骤增至5m/s),所以我们从人性化角度考虑,增加积分环节:
图二
积分环节的加入可以调节系统的静态误差。
我们设定Kp=1000,Ki=10,此时程序和仿真图形如下:
nc=[100010]
dc=[10]
dd=tf(nc,dc);
);
syscld=feedback(sysold,1);
step(10*syscld,10);
比例积分控制器作用下的阶跃响应'
我们可以看到,此时静态误差过大,我们调节积分系数为50(改变程序为nc=[100050]),再次仿真:
我们看到系统已基本实现设计要求,实际设计中可以不加入微分环节。
鉴于此次设计为课程设计,为保证设计完整性,我们在加入微分环节来观察一下微分环节对系统性能的影响。
设Kd=10,则程序为:
nc=[10100050]
step(10*syscld,10);
比例积分微分控制器作用下的阶跃响应'
我们发现此图与上图区别不明显,即微分作用不明显,我们将微分系数更改为500(程序更改为nc=[500100050]):
我们清楚的发现,系统初始值明显变大,即微分作用可以加快系统的动态响应速度,减小调整时间,从而改善系统的动态性能。
当采样周期改为T=1s时,系统程序与仿真波形为:
nc=[500100050]
dz=c2d(dd,1,'
gd=c2d(g,1,'
比例积分微分控制器作用下的阶跃响应T=1s'
我们可以看到效果远远不如T=0.1s时的情况。
所以综上所述,我们设计的PID控制器的传递函数为:
,采样周期为T=0.1s。
然后,我们利用数字控制器的离散化设计步骤来设计本系统。
通过前面的分析,我们知道被控对象的连续传递函数为:
。
其中,m=1000,b=50。
因为零阶保持器的传递函数为:
所以得到广义对象的脉冲传递函数为:
对单位脉冲输入信号的十倍,
,选择
仿真程序如下:
G=tf([0,0.0488,0],[50,47.56,0],1,'
variable'
'
z^-1'
H=tf([0,1,0],[1],1,'
R=tf([10,0,0],[1,-1,0],1,'
Y=R*H
figure
(1)
impulse(Y)
He=1-H
E=He*R
D=H/(G*(1-H))
U=E*D
figure
(2)
impulse(U)
从图中可以看出,在十倍的单位阶跃信号,采样周期为1s时,只需一拍输出就能跟踪输入,误差为零,非常好的达到了系统的设计要求。
然后,我们再看一下增量型PID控制器的效果:
当比例积分微分系数不变时,程序如下:
kp=1000
ki=50
kd=500
G=tf(1,[0,1000,50])
Gd=c2d(G,0.1,'
z'
[num,den]=tfdata(Gd,'
v'
u_1=0
u_2=0
y_1=0
y_2=0
e_1=0
e_2=0
q0=kp+ki*0.1+kd/0.1A
q1=-kp-2*kd/0.1
q2=kd/0.1
fork=1:
1:
1000
t(k)=k*0.1
r(k)=10
y(k)=1-den
(2)*y_1+num
(2)*u_1
e(k)=r(k)-y(k)
u(k)=q0*e(k)+q1*e_1+q2*e_2
u(k)=u_1+u(k)
u_2=u_1
u_1=u(k)
y_2=y_1
y_1=y(k)
e_2=e_1
e_1=e(k)
end
plot(t,y)
程序运行结果为:
我们可以清楚地看到,除超调量超过系统要求外,其余要求均符合系统初始条件,我们可以通过增加微分系数来减小超调,直至使其满足系统要求。
(2)路径识别模块的软件设计
路径识别模块的工作框图见下页。
智能车路径识别算法是智能车软件设计中最关键的一部分,智能车设计的大部分工作都是围绕它来展开的。
路径识别算法概括起来有两种:
一种是静态识别,所谓静态识别就是只根据小车的当前时刻的输入量来识别小车的位置;
另一种是动态识别,所谓动态识别就是根据小车的当前时刻以及前面的N个时刻的信号输入量来识别小车的运动趋势。
路径识别主要运用MC9S12DG128B内部的模糊推理机运用模糊逻辑的基本知识来实现。
本模块也可以用数字PID控制算法来实现,鉴于后轮驱动电机控制算法已详细的运用了PID来讲述之,此处不再赘述。
此处运用PID的思想即通过与数字地图比较偏差,从而不断调整小车路线,达到路径识别的功能。
(3)数字滤波技术
在电动机数字闭环控制系统中,测量值
是通过系统的输出量进行采样而得到的。
它与给定值r(t)之差形成偏差信号
,所以,测量值
是决定偏差大小的重要数据。
测量值如果不能真实地反映系统的输出,那么这个控制系统就会失去它的作用。
在实际中,对电动机输出的测量值常混有干扰噪声,用混有干扰的测量值作为控制信号,将引起误动作,在有微分控制环节的系统中还会引起系统震荡,危害极大。
在本系统设计中,采用了移动平均滤波法。
移动平均滤波法没计算一次测量值,只需采样一次,所以大大加快了数据处理速度,非常适合于实时控制。
移动平均滤波法是将采样后的数据按采样时刻的先后顺序存放在RAM中,在每次计算前先顺序移动数据,将队列前的最先采样的数据移出,然后将最新采样的数据补充到队列的尾部,以保证数据缓冲区里总有n个数据,并且数据仍按采样的先后顺序排列。
这时计算队列中各数据的算术平均值,这个算术平均值就是测量值
,它实现了每采样一次,就计算一个
(4)转向舵机控制算法
舵机控制是智能车系统中很重要的一个环节,舵机控制的好坏也直接影响了小车的控制效果,舵机的控制信号为20ms的脉宽调制信号,其中脉冲宽度从0.5ms—2.5ms,相对应舵盘的位置为0—180度,呈线性变化。
也就是说,给它一定的脉宽,它的输出轴就会保持在一个相对应的角度上,无论外界转矩怎样改变,直到给它提供一个另外宽度的脉冲信号,它才会改变输出角度到新的对应的位置上。
(5)速度检测软件设计
速度传感器采用红外对射式传感器,传感器感应出与速度相关的脉冲后,接下来就要识别这些脉冲。
有两种方法可以识别,一种是通过测量脉冲的宽度来识别小车的速度,另一种是通过计算一定时间内的脉冲的个数来识别小车的速度。
本设计采用后一种方法。
在本设计中利用了MC9S12DG128B内部的两个资源,分别是RTI中断和输入捕捉中断:
通过RTI中断,可以控制一定的时间,这段时间是固定的;
通过输入捕捉中断,来计算捕获脉冲的个数,最后通过在这段时间内捕获的脉冲个数来反映小车速度的大小。
该智能车控制系统智能化程度较高,使用操作简单,性能可靠;
采用专用单片机控制系统,提高系统工作可靠性;
智能化程度较高,在一定程度下,基本不用人工操作;
采用LCD液晶显示,人机交互化程度较高。
总体而言,为一质量较高的设计。
这次控制器的设计,引发了我的很多思考。
对控制对象施以控制的要求,以及具体实现后,在现实生活中的可以用具体事物实现。
这次设计让我在理论与实际之间的概念转换上得到很大的启发。
还有就是任何一项设计的具体实现是需要我们的耐心和细心。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自动控制 综合 设计 无人驾驶 汽车 计算机控制 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)