云文档网 - 专业文章范例文档资料分享平台

毕业论文_智能小车建模研究-精品

来源:网络收集 时间:2024-05-02 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

参考文献

[1] 卓晴,黄开胜等. 学做智能车——挑战“飞思卡尔”杯[M]. 北京:北京航空航天大学出版社,2007.

[2] 游峰,王荣本,张荣辉. 智能车辆系统辨识与控制算法研究[J]. 中国公路学报,2008,21(4):111-116.

[3] E. Dincmen,T. Acarman. Application of Vehicle Dynamics' Active Control to a Realistic Vehicle Model[C]. In: American Control Conference, New York, NY , 2007: 200-205.

[4] 喻凡,林逸. 汽车系统动力学[M]. 北京:机械工业出版社,2005.

[5] H. Sayyaadi,N. Shokouhi. A new model in rail–vehicles dynamics considering nonlinear suspension components behavior[J]. International Journal of Mechanical Sciences, Volume 51, Issue 3, March 2009: 222-232. [6] 孙中辉,孙中红等. 车辆悬架系统数学模型改进及仿真研究[J]. 系统仿真学报,2008,20(3):720-723,728.

[7] 李文超,陈昆山. 轮式车辆转向梯形机构的综合数学模型[J]. 江苏理工大学学报:自然科学版,2001,22(4):75-78.

[8] 王敏,赵京. 汽车转向机构的非线性运动学模型[J]. 汽车工程,1995,17(5):291-295.

[9] L.I. Silva,G.A. Magallan,C.H. De Angelo,G.O. Garcia. Vehicle dynamics using multi-bond graphs: Four wheel electric vehicle modeling[C]. In: IECON 2008 - 34th Annual Conference of IEEE Industrial Electronics, Orlando, Florida, 2008: 2846-2851.

[10] 包继华,张建武,于岩. 汽车整车多体系统动力学建模和仿真[J]. 计算机仿真,2004,21(1):53-56.

[11] Qiuzhen Qu,Jianwu Zhang,Yanzhu Liu. Variable structure model following control of active four-wheel-steering vehicle based on the optimal reference model[C]. In: Vehicle Electronics Conference, Changchun PRC, volume 1, 1999: 254-257.

[12] 马昕,李贻斌,宋锐. 车辆动态数学模型辅助的惯性导航系统[J]. 山东大

40

学学报(工学版),2005,35(2):66-71.

[13] 冯培悌. 系统辨识[M]. 杭州:浙江大学出版社,2004.

[14] 潘立登,潘仰东. 系统辨识与建模[M]. 北京:化学工业出版社,2003. [15] Chao Zhao,Pu Han. Model identification of thermal object based on smooth support vector regression[C]. In: Proceedings of the 2007 International Conference on Wavelet Analysis and Pattern Recognition, Beijing PRC, Volume 3, 2007: 1388-1391.

[16] 时玮. 利用单片机PWM信号进行舵机控制[J]. 今日电子,2005,(10):80-82. [17] 曹菁,朱纪洪. 基于极点配置的电动舵机控制器设计[J]. 微特电机,2006,34(10):20-22.

[18] 郝卫生,张新华. 电动舵机系统控制律的一种工程设计方法[J]. 战术导弹技术,2008,(6):69-74.

[19] 余志生. 汽车理论[M]. 第四版. 北京:机械工业出版社,2006:2-21. [20] 王飞. 军用车辆运动速度数学模型[J]. 解放军测绘学院学报,1993,(1):66-70.

[21] 辜承林,陈乔夫,熊永前. 电机学[M]. 第二版. 武汉:华中科技大学出版社,2005:82-94.

[22] 杨啟梁. 四轮车辆二自由度转向模型研究[J]. 机械与电子,2007,(8):71-73.

[23] 熊万龙. 基于Kalman滤波器的自主车辆定位方法研究[D]. 国防科技大学,2005.

[24] 徐德, 邹伟. 室内移动式服务机器人的感知、定位与控制[M]. 北京:科学出版社,2008:75-86.

[25] 李小华. 复杂目标雷达散射截面频率特性研究[D]. 电子科技大学,2007. [26] 张晓华. 系统建模与仿真[M]. 北京:清华大学出版社,2006.

41

致 谢

在论文即将完成之际,我首先感谢专祥涛老师对我的毕业设计的悉心指导,专老师帮助我确定了本文的研究方向,并定期开会讨论研究进程,帮助我开拓研究思路,为我指点迷津,他那严谨的治学态度和平易近人的作风给我留下了深刻的印象。同时,也要感谢郑贵林老师和陈正老师在智能车竞赛方面的大力支持和指导帮助,感谢自动化系各位老师对我的教育培养,在老师们的帮助下,我在自动化专业的理论和实践方面都有了很大提高,在此深表感谢!

周围同学四年来对我学习、生活的关心和帮助,让我度过了充实而愉快的大学生涯。在毕业设计的研究过程中,参加过或是正在参加智能汽车竞赛的同学们也对我提供了很大的帮助,在此一并表示感谢!

还有,我要感谢我的父亲、母亲,感谢他们对我的充分理解和支持! 最后,感谢所有关心我和帮助过我的人!

42

附录

智能小车运行程序

#include /* common defines and macros */ #include /* derivative information */ #pragma LINK_INFO DERIVATIVE \#include

#define BD_9600 52 //波特率9600 #define speed_CNT 450 //速度采集数目 #define angle_CNT 900 //角度采集数目

unsigned int cnt=0; //中断计数 unsigned char speed[speed_CNT]=0; //速度采集 unsigned int s_cnt=0; //速度采集计数 unsigned char angle[angle_CNT]=0; //角度采集 unsigned int a_cnt=0; //角度采集计数

unsigned int Servo_M=5600; //舵机中心位置

unsigned char Motor_set[10]={0,45,45,45,45,45,45,45,45,45}; //电机输入,50ms改变一次

unsigned int Servo_set[10]={5600,5600,5600,5600,5600,5200,5200,5200,5600,5600}; //舵机输入,50ms改变一次

unsigned char set_cnt=0; //输入改变次数

void init_ECT(void) {

43

TIOS_IOS1=1; //PT1输出比较,定时

TIOS_IOS2=0; //PT2输入捕捉旋转编码器脉冲,测速 TSCR2_PR=5; //M_clock分频32,Bus_clock=8MHz

TC1=1250; //5ms定时

TIE_C1I=1; //允许PT1产生中断 TCTL4_EDG2A=1; //PT2捕捉上升沿 TCTL4_EDG2B=0;

PACN2=0; //清零

ICPAR_PA2EN=1; //打开脉冲累加器 }

void init_ATD(void) {

ATD0CTL2=0xC0; //上电,ATD Fast Flag Clear All ATD0CTL3=0x08; //转换序列长度为1

ATD0CTL4=0x83; //8位精度,ATDclock=1MHz,采样时间0.002ms ATD0DIEN=0x00; //禁止数字输入

ATD0CTL5=0xa1; //右对齐,连续转换,通道1转换,转换开始。 }

void init_Servo(void) //舵机使用PWM45级联 {

PWMCTL_CON45=1; //级联PWM45 PWMPRCLK_PCKA=0; //Clock A=8MHz

PWMSCLA=1; //Clock SA=Clock A/(2*PWMSCLA)=4MHz PWMCLK_PCLK5=1; //PWM5选择SA为时钟源

PWMPOL_PPOL5=1; //设置PWM5极性,使输出先高后低 PWMPER45=40000; //设置PWM5的周期,10ms PWMDTY45=Servo_M; //设置PWM5的占空比

44

学号__200531470020__ 密级________________

武汉大学本科毕业论文

智能小车建模研究

院(系)名 称:动力与机械学院 专 业 名 称 :自动化 学 生 姓 名 : 指 导 教 师 : 副教授

二○○九年六月

郑 重 申 明

本人呈交的学位论文,是在导师的指导下,独立进行研究工作所取得的成果,所有数据、图片资料真实可靠。尽我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包含他人享有著作权的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。本学位论文的知识产权归属于培养单位。

本人签名: 日期:

BACHELOR'S DEGREE THESIS OF WUHAN UNIVERSITY

Modelling of a Smart Car

College :Power and Mechanical Engineering Subject :Automation Name :Wang Xuezhu

Director :Zhuan Xiangtao Associate Professor

June 2009

摘 要

本课题源自全国大学生智能汽车竞赛,建模的对象为前轮转向、后轮驱动的智能小车。论文采用机理分析和实验测试相结合的方法,建立了该智能小车在平面上运动的双输入双输出模型。根据小车运行和控制特点,输入量选取智能小车的舵机控制信号和电机控制信号,分别控制车辆转向和前进速度,输出量选取智能小车任意时刻在平面上的坐标。首先通过机理分析得到智能小车的模型结构,舵机模型为带延迟的一阶微分方程,电机模型为一阶微分方程,在转向时需要在电机模型中加入前轮转向对速度的影响,然后,通过运动学分析建立智能小车的整车模型结构。其次,通过实验测试获取不同情况下小车运行数据。接着运用最小二乘法估计出模型中的未知参数。将得到的模型和实际小车行驶情况进行对比,验证了此模型的有效性和可靠性。

关键词:智能车;建模;参数估计

ABSTRACT

This study origins from the Smart Car Competition for National University Students, and the modelling object is a four-wheel electric smart car. The mechanism analysis method and experimental modelling method are employed to establish a two-input two-output mathematical model for a smart car. The input of the model is servo control signal and motor control signal, which respectively controls the smart car’s turning and speed, and the output of this model is complanate coordinate of the smart car, which has two degree of freedom. Firstly, the model structure is obtained by using mechanism analysis method. Then, the data of various scenarios for the step responses of the system are measured under different input. With least squares method applied, the parameters of the model are identified. Comparing the simulation result (using the identified model) and the actual experience data (using the smart car running with the same setting), we can see that this model is validated and proved to be reliable.

Key words: smart car; modelling; parameter estimation

所需向心力,使小车发生侧滑。

(2)实验二

舵机输入为xa?5600u(t)?600u(t?2.5)?600u(t?4),即xa初始值为5600,在2.5s时改变为5000,持续1.5s后再改回5600。电机输入为xu?45u(t?0.5)。

运行小车,测得的舵机输出ya如图4.9中实线所示,测得的电机输出yu如图4.10中实线所示,两个图的横坐标均为时间(s),纵坐标分别为测得的ya和yu。测得的小车行驶轨迹如图4.11中实线所示,图中横坐标为XM,纵坐标为YM,单位均为m,原点为小车的出发点。

9080706050403020100 252015105 0 0.511.522.533.544.55000.511.522.533.544.55图4.9 舵机输出量 图4.10 电机输出量

1.210.80.60.40.20-0.200.20.40.60.811.21.41.61.8图4.11 小车运动轨迹

给定同样的输入量,运行Simulink中的小车模型,设置运行时间5s,测得的ya和yu分别如图4.9和图4.10中虚线所示,横坐标均为时间(s),纵坐标分别为仿真得到的ya和yu。小车行驶轨迹如图图4.11中虚线所示,图中横坐标为XM,纵坐标为YM,单位均为m,原点为小车的出发点。

35

对比小车实际运行数据和模型仿真结果可以看到,舵机的实际输出与模型仿真结果很一致,电机的实际输出比模型仿真结果稍小,实际中前轮偏角的变化带给小车速度的变化趋势和模型比较吻合,证明舵机和电机的模型结构正确,估计的模型参数也较准确。小车实际的运动轨迹和仿真结果基本符合,但在转弯过程中实际轨迹偏离弯道外侧,且偏离幅度大于实验一的图4.8,可见在前轮偏角变大时,小车受到的离心力增大,侧滑程度也会增大。

4.3 小结

本章使用Simulink搭建小车模型,通过对比模型仿真结果和小车实际运行情

况对小车模型进行验证,实验证明小车模型是有效的,可靠的。

36

第5章 结论与展望

针对用于全国大学生智能汽车竞赛的智能小车,论文采用机理分析和实验测试相结合的方法,建立了智能小车在平面上运动的双输入双输出模型,以设计控制器,优化小车结构。

首先,通过机理分析确定小车模型结构。

舵机的输入量选取PWM控制信号的占空比xa,输出量选取前轮偏角?。通过对舵机内部结构和工作原理的分析,得出结论:舵机输出的舵盘转角?是一个带延迟的一阶惯性环节,而且根据对前轮转向机构的几何分析可以由舵盘转角?计算出前轮偏角?。用数学式子表示如下:

?d?(t)??(t)?f(xa(t??))?Tdt????f?2?(?)?(5.1)

电机的输入量选取PWM控制信号的占空比xu,输出量选取小车速度u。通过对小车所受阻力和直流电机机械特性的分析计算,得到一阶微分方程:

u?k3du?k1*xu(t)?k2?k?(?)dt(5.2)

其中,k3为只和电机自身特性有关的常数;k1在电池电压U0不变时也为常数;k2代表小车在直线行驶时受到的阻力之和(主要是滚动摩擦力),在路面情况不变时为常量;k?(?)代表由于转弯而增加的滚动阻力F?,随前轮偏角?的改变而改变。

小车运动学方程的输入量选取前轮偏角?和小车速度u,输出量选取小车后轮轴心在平面上的坐标(XM,YM),分析可得到:

?d?dt?utan?/L??dXMdt?ucos??dYdt?usin??M(5.3)

其中,?为小车中轴线与X轴的夹角,L为小车的前后轮轴心之间的距离。

联合以上三组方程,即为智能小车的整车模型结构,输入量为智能小车的舵机控制信号xa和电机控制信号xu,分别控制车辆转向和前进速度,输出量为小车后轮轴心任意时刻在平面上的坐标(XM,YM)。

其次,选择一个智能小车作为实验对象,通过实验测试获取不同情况下该小

37

车的运行数据,接着运用最小二乘法估计出模型中的未知参数。得到这个特定的智能小车在KT板铺成的水平路面上运动的数学模型为:

?x?5500?0.12xa?583,??f(x)?5500?x?5700?aa?0.03xa?88,?0.122x?612.7,x?5700?a??dya(t)?0.03?ya(t)?fa(xa(t?0.03))?dt?(47?ya)*0.03???0.253?arcsin()?256*0.0155???ky?(?)?40*|?|?4??dyu(t)??0.98xu(t)?11.68?ky?(?)?yu(t)?1.43dt?u(t)?0.0387yu(t)???d?dt?utan?/0.2??dXMdt?ucos??dYdt?usin??M(5.4)

(5.5)

(5.6)

其中,ya为使用直滑电位器测量舵盘转角?的输出结果,yu为使用旋转编码器测量小车速度u的输出结果,fa(xa)为ya的稳态值,ky?(?)代表由于转弯而增加的滚动阻力F?对yu的影响。

最后,使用Simulink搭建得到的小车模型并进行仿真,将模型仿真结果和小车实际行驶情况进行对比,验证了此模型的有效性和可靠性。

本文建立的小车模型结构对所有前轮使用舵机控制转向、后轮使用直流电机提供驱动的智能小车都是通用的。对被选作实验对象的智能小车,估计出的模型参数在路面情况不变时也是不变的,如果路面情况变化,只需要将和滚动摩擦系数相关的参数k2(对应于式(5.5)中第二个方程中的11.68)进行修正即可。

在实际应用中,将参数辨识的程序写入任意一个智能小车,即可使该小车在遇到新的路面环境时,自动辨识新的参数。而且由于式中大部分参数都不随外界环境改变而改变,可以在平时测出,实际需要重新辨识的只有代表路面的滚动摩擦系数的k2。在遇到新的路面环境时及时对k2进行重新估计,就可以使小车根据外界环境变化及时修正模型参数。这样一来,就可以根据准确的小车模型设计控制器,实现从理论上设计控制器,而不是反复试验仅靠经验调试控制器,大大缩

38

减了设计时间,并有助于设计较复杂的控制器。

研究中出现的一个问题是,在分析前轮偏角对速度的影响时,仅使用实验数据进行分析,得到的结论理论性不够,如果能通过对轮胎特性的理论分析来确定二者之间的函数关系,则可以使结论更为可靠。另一个问题是小车轮胎的侧滑现象,在急转弯时小车离心力较大,侧滑较明显,因此实际行驶轨迹在弯道处会比理论轨迹的半径大。而侧滑和小车速度、前轮偏角以及轮胎和路面之间的摩擦系数都有关,难以对侧滑幅度进行定量分析。因此考虑如何在小车存在侧滑时对其精确定位,这是下一步的研究方向。

39

u?2?*0.026*

yu18*/0.01?0.0387yu10076(3.11)

3.3.2 实验设计

电机模型的输入量为电机控制信号(PWM)的占空比设置项xu。将小车放在跑道上,对xu给定一个阶跃信号,使小车开始前进,同时保持舵机不动,前轮偏角为0。然后每0.01s读一次脉冲累加器数据yu,并存入数组yu[500]中,直到读够500次(共5s),yu[500]中的数据即为每10ms内旋转编码器产生的脉冲数。通过对其阶跃响应进行分析即可得到电机模型的参数。

写入单片机的电机测试程序的流程图见图3.6。

开始入口中断入口系统初始化打开定时器中断SCI模块初始化,准备串口数据传输中断计数cnt加1中断计数大于500?Y关闭定时器中断NPWM模块初始化,设置电机输入为xu,设置舵机转角为0将脉冲累加器的计数值写入yu[cnt-1]关闭电机ECT模块初始化,设置10ms定时器,设置脉冲累加器对旋转编码器脉冲计数清零脉冲累加器的计数寄存器中断返回SCI模块接收到数据传送指令?YN返回(c)中断程序(b)系统初始化子程序将yu[500]通过串口发送到上位机结束(a)主程序图3.6 电机测试程序流程图

3.3.3 数据处理

电机模型见式(2.22),根据u(t)?0.0387yu(t),代入,可得

25

0.0387yu(t)?0.0387k3

dyu(t)?k1*xu(t)?k2?k?(?)dt(3.12)

令ky1?k1/0.0387,ky2?k2/0.0387,ky?(?)?k?(?)/0.0387,则式(3.12)可变为:

yu(t)?ky3

dyu(t)?ky1*xu(t)?ky2?ky?(?)dt(3.13)

前轮偏角?为0时k?(?)为0,故不考虑ky?(?),需要估计的参数为ky1、ky2和ky3。

考虑到小车速度受外界干扰较大,令xu(t)的幅值为40,运行测速程序,测10组yu(t),将10组yu(t)取平均值以消弱外界干扰的影响。平均值yu(t)保存在d:\\data\\m40.txt中,以备最小二乘拟合使用。在使用最小二乘法估计参数时,考虑到电机刚启动时性能不稳,在拟合时去除前0.1s的数据;3s后速度变化缓慢,易受外界干扰,且由于实验条件所限,跑道长度不够,速度较大时在3.5s后小车会撞墙,因此再去除3s后的数据。使用最小二乘法对剩余的yu数据进行拟合,估计输入量为xu时的模型参数ky3和ky1xu?ky2。然后拟合对应于不同xu的ky1xu?ky2值,估计参数ky1和ky2。

使用Matlab实现最小二乘法估计参数的程序如下: m1=textread('d:\\data\\m40.txt','%s')';

y =hex2dec(m1)'; %y为10组测速数据取平均值后得到的yu(t) t=0.01:0.01:5;

plot(t,y,'k'); %绘制yu(t)随时间变化的曲线,如图3.7(a)中实线所示,其中横坐标为时间,单位为s,纵坐标为yu(t)

f=inline('a(1)*(1-exp(-t/a(2)))','a','t'); %已知yu(t)初始值为0,式中a(1)为稳态值ky1xu?ky2,a(2)为时间常数ky3

t3=0.1:0.01:3;

y3=y(10:300); %取第10到第300的数据,即0.1s-3s的数据 x0=[1 1];

[xx,res]=lsqcurvefit(f,x0,t3,y3) %最小二乘拟合,xx为[a(1) a(2)]

拟合结果为a(1)= 27.93,a(2)= 1.61,即xu=40时,ky1xu?ky2=27.93,时间常数ky3=1.61s,代入式(3.13)可得模型yu?27.93*(1?e?t/1.61)

绘制该模型的仿真曲线,如图3.7(a)中虚线所示,其中横坐标为时间,单位为s,纵坐标为仿真得到的yu(t)。

26

30403020101002000123(a) Xu = 40450123(b) Xu = 5045504030201000123(c) Xu = 604560402000123(d) Xu = 7045图3.7 输入不同幅值xu时电机的阶跃响应

令xu(t)的幅值分别为50,60,70,运行测速程序,各测10组yu(t)取平均值作为纵坐标,得到的数据图象分别如图3.7中(b) 、(c)、(d)三图中的实线所示,图中横坐标均为时间,单位为s,虚线的纵坐标为拟合得到的模型的仿真结果yu(t)。

按照同样的处理方法拟合数据,可以得到

xu=50时,ky1xu?ky2=36.05,ky3=1.39 xu=60时,ky1xu?ky2=47.77,ky3=1.46 xu=70时,ky1xu?ky2=56.61,ky3=1.24

对ky3取平均值,可得ky3=1.43s。以xu为横坐标,ky1xu?ky2为纵坐标,绘制图象如图3.8所示。使用polyfit(x,y,1)函数做多项式拟合,可得到ky1=0.98,

ky2=11.68。

故当前轮偏角为0时,电机的输入输出模型为:

yu(t)?1.43

dyu(t)?0.98xu(t)?11.68dt(3.13)

需要注意的是,智能小车不发生倒走,即速度恒大于等于0。当速度为0时,

27

没有滚动摩擦阻力,上式中的11.68代表小车前进时受到的阻力,此时应为0。

之前已推出式(3.11):

u?2?*0.026*

yu18*/0.01?0.0387yu10076(3.11)

联合以上两式即为前轮偏角为0时的电机模型,其输入量为PWM的占空比控制量xu,输出量为小车速度u。

3.4 前轮偏角对小车速度的影响

电机输出量u(t)?0.0387yu(t),yu(t)为单片机采集到的原始数据,为了便于计

算,将可将前轮偏角?对小车速度u的影响这一问题转换为?对yu(t)的影响。给定电机输入量xu(t)为一常量,改变舵机输入量xa(t)的值,观测前轮偏角?的变化对电机输出量yu(t)的影响,即可求得函数k?(?)。

将上节求出的ky1=0.98,ky2=11.68和ky3=1.43,代入式(3.12),可得

yu(t)?1.43dyu(t)?0.98xu(t)?11.68?ky?(?)dt (3.14)

将图3.2舵机测试程序流程图和图3.6电机测试程序流程图相结合,同时给舵机和电机输入控制信号,然后测量小车速度的变化,即为测试前轮偏角对小车速度影响的程序流程。

数据处理方法为:得到yu(t)后,对前轮偏角?为稳态值时的yu(t)数据做最小二乘拟合,得到其稳态值0.98xu(t)?11.68?ky?(?),即可得到此时ky?(?)的值。改变舵机输入量xa(t)后再次运行程序,求得对应于不同?的ky?(?)值,拟合即可得到函数ky?(?)。

如下例:给定电机输入量xu(t)为30,舵机输入量xa(t)初值为5600,使前轮偏角为0,在第2s时将xa(t)的值改变为5000(根据式3.9、式3.10和式3.1计算可知此时前轮偏角?的稳态值为0.6308rad),持续1.5s后,在第3.5s时将xa(t)的值改回5600。使用Matlab实现最小二乘法估计参数的程序为:

m=textread('d:\\finalvalidation\\30 50.txt','%s')'; m1=m(7:456); %读速度yu(t) y1=hex2dec(m1)'; t1=0:0.01:4.49;

28

plot(t1,y1);grid on; %绘制yu(t)的变化曲线,如图3.8中实线所示,图中横坐标为时间,单位为s,纵坐标为yu(t)

hold on;

z=(0.98*30-11.68)*(1-exp(-t1/1.43)); %据式3.13得到xu(t)为30,前轮偏角为0时的理想yu(t)

plot(t1,z,':'); %绘制前轮偏角?为0时yu(t)的理论曲线,如图3.8中虚线所示,图中横坐标为时间,单位为s,纵坐标为仿真的到得yu(t)

t0=0:0.01:1.1;

y0=y1(210:320); %第2s时xa(t)的值发生改变,舵机时间常数为0.03s,故第2.1s时前轮偏角已达到稳态值0.6308rad。考虑到第3.3s到3.5s时小车速度几乎为0,在最小二乘拟合时只使用从2.1s到3.2s的数据。

f=inline('a(1)+(12-a(1))*exp(-t0/1.43)','a','t0'); % a(1)为?=0.6308rad ,

xu(t)=30时的0.98xu(t)?11.68?ky?(?)

x0=[1]; %初始解向量 [xx,res]=lsqcurvefit(f,x0,t0,y0)

拟合得到的结果为-8.6507,即0.98xu(t)?11.68?ky?(?)=-8.6507。故?为0.6308rad时ky?(?)的值为(0.98*30-11.68)-( -8.6507)=26.3707。

18161412108642000.511.522.533.544.5图3.8 xu(t)=30,?=0.6308时的yu(t)

改变电机输入量xu(t)和舵机输入量xa(t),多次做实验测量速度的变化情况。经过数据处理后可以看出电机输入量xu(t)的改变对ky?(?)几乎没有影响。将多次

???0.1423时,实验结果取平均值,得到的对应于不同?的k?(?)值为: ky?(?)?9;

29

???0.3596时,ky?(?)?17;???0.6308时,ky?(?)?28

使用polyfit(x,y,1)即可估计出函数k?(?)近似为

ky?(?)?40*|?|?4 (3.15)

需要注意当?=0或yu=0时,ky?(?)=0。

3.5 小结

本章通过实验测试获取不同输入下某智能小车的运行数据,然后运用最小二

乘法估计出小车模型中的未知参数。得到小车模型如下:

联合式(3.9)、(3.10)和式(3.1)即为舵机输入输出模型:

?xa?5500?0.12xa?583,??f(x)?5500?xa?5700?0.03xa?88,aa??0.122x?612.7,x?5700?aa??dya(t)?0.03?ya(t)?fa(xa(t?0.03))?dt?(47?ya)*0.03???0.253?arcsin()?256*0.0155? ? ?(3.16)

联合式(3.15)、式(3.13)和式(3.11)即为电机输入输出模型:

ky?(?)?40*|?|?4??dyu(t)??0.98xu(t)?11.68?ky?(?)?yu(t)?1.43dt?

u(t)?0.0387yu(t)??(3.17)

测量可知小车的前后轮轴心之间的距离L=0.2m,代入式(2.28)即为小车运动学模型:

?d?dt?utan?/0.2??dXMdt?ucos??dYdt?usin? ? M(3.18)

30

第4章 模型验证

4.1

使用Simulink搭建模型

Matlab下提供的Simulink环境是解决非线性系统建模、分析与仿真的理想工具,它提供了各种各样的模块,允许用户以框图的形式搭建起任意复杂的系统,从而对其进行准确的仿真[26]。

小车模型较为复杂,采用模块封装方法可以使系统模型更加结构化,也更易于维护。因此将舵机模型和电机模型各自封装,作为子系统Subsystem和Subsystem1。

Step1StepAddSubsystemTransportDelayFcn7alphaXaalphau*180/pi

图4.1 舵机子系统示意图

0.122*u-612.7FcnStep2TrigonoFuncScope YaSwitchSubsystem2TrigonoFunc1Xa0.03*u-88Fcn20.12*u-583Fcn1Switch110.03s+1Transfer FcnTransportDelayf(u)Fcn31alpha图4.2 舵机子系统内部框图

图4.1为舵机子系统封装后的示意图,图中舵机子系统Subsystem的输入量为Xa(即PWM占空比xa),输出量为alpha(即前轮偏角?,单位为rad)。输入端使用阶跃输入的叠加实现方波输入,输出端的示波器用于显示单位为度时的alpha值,以便于观察。

图4.2为舵机子系统的内部框图,图中Ya为对表示转角大小的电位器电平进行A/D转换得到的数值ya,Fcn3为0.253-asin((u-47)/256*30/15.5),实现了ya到?

31

的转换:

??0.253?arcsin((47?ya)*0.03)256*0.0155Transfer Fcn和Transport Delay实现了ya(t)的微分方程:

0.03dya(t)?ya(t)?fa(xa(t?0.03))dtSwitch和StepSwitch1联合FcnAdd、Fcn1、Fcn2实现了fa(xaFcn7)的分段结构:alpha

XualphauSubsystemxa?5500?0.12xa?583,Step1?Transportfa(xa)??0.03xa?88,5500?xa?5700Delay?0.122x?612.7,x?5700aa?Fcn6ProductIntegratorTrigoFu

uTrigoFuStep2Subsystem2图4.3 电机子系统示意图

40*u+41alpha|u|Abs0Constant10ConstantSwitch2Fcn9Switch1u+11.68Fcn1Scope Yu12Xu0.98*uFcn4Add11.43s+1Transfer Fcn10.0387*uFcn51u图4.4 电机子系统的内部框图

图4.3为电机子系统封装后的示意图,图中,电机子系统的输入量为Xu(即PWM占空比xu)和前轮偏角alpha,输出量为u(即小车速度u)。Step2给Xu一个阶跃信号输入。

图4.2为电机子系统的内部框图,图中Yu为单片机测速时采集到的原始数据

yu,Fcn5实现了yu到u的转换:u(t)?0.0387yu(t)。

除了Fcn5外的其他模块实现了yu(t)的微分方程:

32

yu(t)?1.43dyu(t)?0.98xu(t)?11.68?ky?(?)dt其中,Switch1及其左边的模块实现了ky?(?)?40*|?|?4,且?=0时ky?(?)=0;Switch2将yu作为判断条件,实现了当yu=0时11.68?ky?(?)不存在,即此时小车受到的阻力为0。

Xaalphau*180/piFcn7alphau*180/piFcn8thetasimoutXStepAddSubsystemStep1TransportDelaytan(u)/0.2Fcn6Product1sIntegratorTo WorkspacecosTrigonometricFunction1sProduct1Integrator1alphauXusinTrigonometricFunction11sProduct2Integrator2XY GraphuStep2simoutYTo Workspace1Subsystem2图4.5 系统总框图

图4.5为小车模型的总框图,图中,theta为小车中轴线与X轴的夹角?,有

d?dt?utan?/0.2。simoutX为仿真得到的XM,simoutY为仿真得到的YM,有

?dXMdt?ucos???dYMdt?usin?XYGraph以XM为横坐标,YM为纵坐标,绘制小车运行轨迹。simoutX和simoutY则将XM和YM的值保存至Workplace,以便于在Matlab程序中使用。

4.2 模型验证

(1)实验一

设置舵机输入为xa?5600u(t)?400u(t?2.5)?400u(t?4),即xa初始值为5600,

在2.5s时改变为5200,持续1.5s后再改回5600。设置电机输入为xu?45u(t?0.5),即在0.5s时给舵机xu赋值45。

小车的运行程序见附录,运行小车,测得的舵机输出ya如图4.6中实线所示,测得的电机输出yu如图4.7中实线所示,两个图的横坐标均为时间(s),纵坐标分别为测得的ya和yu。小车运行时,在车尾中央绑一条蘸墨水的细布带,从而在跑

33

道上留下小车行驶轨迹,经描点绘制得到小车轨迹如图4.8中实线所示,图中横坐标为XM,纵坐标为YM,单位均为m,原点为小车的出发点。

给定同样的输入量,运行Simulink中的小车模型,设置运行时间5s,仿真得到的ya和yu分别如图4.6和图4.7中虚线所示,横坐标均为时间(s),纵坐标分别为仿真得到的ya和yu。小车行驶轨迹如图图4.8中虚线所示,图中横坐标为XM,纵坐标为YM,单位均为m,原点为小车的出发点。

9080706050403020100 00.511.522.533.544.5530252015105000.511.522.533.544.55图4.6 舵机的输出ya 图4.7 电机的输出yu

1.81.61.41.210.80.60.40.20-0.200.20.40.60.811.21.41.61.82图4.8 小车运动轨迹

对比小车实际运行数据和模型仿真结果可以看到,舵机和电机的实际输出与模型仿真结果很一致,实际中前轮偏角的变化带给小车速度的变化也和模型比较吻合,证明舵机和电机的模型结构正确,估计的模型参数也较准确。小车实际的运动轨迹和仿真结果基本符合,但在转弯过程中实际轨迹偏离弯道外侧。究其原因,主要是在建模过程中为了简化模型,假定小车轮胎和跑道的静摩擦力足够大,可以使小车不发生侧滑。然而实验所用的跑道比较旧,轮胎也有一定磨损,跑道和轮胎之间的最大静摩擦力较小,因此小车在急转弯时静摩擦力不足以提供转弯

34

百度搜索“yundocx”或“云文档网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,云文档网,提供经典综合文库毕业论文_智能小车建模研究-精品在线全文阅读。

毕业论文_智能小车建模研究-精品.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.yundocx.com/wenku/180064.html(转载请注明文章来源)
Copyright © 2018-2022 云文档网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219