2016西南交大数学建模复赛a题论文自动倒车策略

更新时间:2024-06-14 09:48:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

西南交通大学峨眉校区2016年 全国大学生数学建模竞赛第二次预选赛试题

题目(A题 自动倒车策略)

姓名 学号 专业 联系电话 QQ 吴佩伦 2014120771 14级机电 15881690129 792160313

何青霞 2014121382 14级铁道运输 18190896066 546452637

1

自动倒车策略

摘要

本文针对自动泊车系统的研究,参考生活中人工入库的实际情况,对整个倒车过程车辆运动规律进行深入分析之后,运用了几何学相关知识求出了车辆在各段泊车的位置,列出了相关不等式并采用数形结合的方法,求解出了泊车起始点范围,并根据车辆在泊车点附近安全行驶的区域范围及泊车最终停靠位置的合理性,列出约束条件,通过构建多目标非线性规划模型,很好的解决了安全倒车入库的起始点位置问题和最佳泊车策略问题,最后运用了Matlab软件对模型进行求解。

问题一中,题目要求寻找能够安全倒车入库的起始点位置所在的区域范围,首先我们要明确的是影响汽车安全入库的因素就是车库周围物体的阻碍,然后我们将汽车倒车入库的过程划分为三个阶段,仔细分析汽车倒车入库的过程之后我们考虑这三段过程中可能会发生的接触车库警戒线,列出约束条件,建立数学模型,并采用数形结合的方法对模型进行求解,最终求出汽车能够安全入库的起始点位置范围为下列曲线

6.747?5y?13.2?5;2.?x4?7 5.y?8.99?0.45x?0.3856.442?(x?3.97)2,x?(?2.47,3.97);

(x?2.8)2?(y?9.22)2?2.47,x?(3.97,5.27);(x?3.97)2?(y?0.6)2?6.442,x?(2.05,3.97)所

包络的不规则区域。

问题二中,题目要求设计出从任意倒车入库起始点开始的最佳泊车策略,并求出采用最佳策略时的前轮转角和后轮行驶距离。我们应该在汽车能够安全倒车入库并停在最恰当位置的前提下寻求满足前轮转角之和最小和后轮行驶距离最短的最佳泊车策略,先针对设任意起始点(x0,y0)分析,对问题一中所构建的模型稍加改动,增加了对最终停车位置的约束条件,并针对前轮转角和后轮行驶距离构建双目标函数,由几何问题转化为多目标非线性规划问题,因为(x0,y0)非具体值,无法通过软件直接求解,通过任意选取多个具体(x0,y0)的值,运用Matlab软件的fgoalattain函数对该双目标非线性规划问题求解,得到多个起始点的最佳泊车策略,并进行了比较分析。

关键词:数形结合,Matlab,多目标函数非线性规划

2

一、问题提出

若考虑系统控制容易性,参考人工倒车入库,当车辆位于与车位垂直的任意位置时,先通过前行或后退到达倒车入库起始点后,再确定前进转角或后退转角,使车身与车位在同一直线上后,直接倒车完成入库,即“一进二退”。这种两段式倒车模式提高了泊车过程中车辆行驶的紧凑性,同时减少了泊车行驶空间。

考虑某型汽车,假定其长3550mm,宽1495mm,轴距2340mm,前轮距1280mm,后轮距1280mm,目标车库为小型汽车库标准大小长6m,宽2.8m,车库周围情况如图,图中a=400mm,b=8000mm,c=300mm。

建立模型给出泊车策略,最终实现汽车自动、安全的停车入库。

(1)假定汽车转弯时固定按照36度的转向角前进和后退,建立数学模型,寻找能够安全倒车入库的起始点位置所在的区域范围。

(2)建立模型,给出从任意倒车入库起始点开始的最佳泊车策略,包括前轮转角、后轮行驶距离。

二、基本假设

1、假设汽车在自动泊车过程中不存在车轮打滑的情况。

2、假设汽车在自动泊车入库的过程中没有其他正在行驶的汽车及行人干扰其倒车入库。

3

3、假设在汽车自动泊车入库的过程中每一段泊车车车轮转角都为定值。

4、假设汽车在自动泊车过程中车的行驶速度都为7km/h以下的自动泊车安全速度。

三、符号说明

符号 意义 单位 备注 ? S0O1与O1S1之间的夹角 rad ???(0,) 2tan??WS?L? 汽车后轮轴中点到车头顶点连线与汽车中心轴之间的夹角 rad ?1 汽车在第一段倒车过程中的前轮转角 rad ?2??1?(,) 69?2 W 汽车在第二段倒车过程中的前轮转角 rad ?2??1?(,) 69W?1.495 t?1.28 汽车车身的宽度 汽车的后轮距 汽车的长度 汽车的轴距 车位的长度 车位的宽度 已经停放好的汽车车身左侧与车位左侧边界线之间的距离 m m m m m m t S S?3.55 L?2.34 L n n?6 m?2.8 a?0.4 m a m b 表示l1与l2之间的距离 m b?0.8 4

c 已经停放好的汽车车身前沿与车位上边界线之间的距离 车身与车位在同一条直线上之后,车直线行驶到最终泊车点的距离 c?0.3 m m d R1 汽车第一段行驶轨迹的半径 m R1?Lcot?1 R2 汽车第二段行驶轨迹的半径 m R2?Lcot?2

四、问题分析

4.1 问题背景

随着人们生活水平的逐步提高以及汽车产业及科技的高速发展,很多人都拥有自己的汽车,停车问题成为了很多新司机的困扰,而自动泊车系统就可以解决停车这一难题。自动泊车是一项非常具有挑战性和实用性的技术。自动泊车系统可通过各类传感器获取车位相对汽车的距离,通过控制汽车前轮转角和瞬时速度控制车辆行驶。 4.2 问题分析

对倒车入库过程的分析 分析影响最佳泊车策略的因素 车库周围障碍物的限制 停车位置的优化 前轮转角及后轮行驶距离的限制 建立问题一数学模型 建立问题二的非线性规划模型

5

从日常经验可知,以自行车为例,如果前轮有一定转角,在维持转角不变状态和无

轴向移动前提下自行车走过的路径将会以某个圆点为中心旋转,同样的状态也会出现在汽车上。其走过路径如下图。

根据阿曼克数学模型,从几何关系及运动学公式可知,在如上图后轮轴心的运动轨

迹可以描述为以半径R?Lcot?的圆周运动。两个后轮的轨迹分别为Lcot??Lcot??W的圆,?为该车前轮转角,推导详见参考文献[5]。 2W和2 在问题一中,首先明确问题,题目要求寻找汽车能够安全入库的起始点位置的区域

范围;然后,我们结合题目信息以及实际生活中的倒车过程,分析了制约汽车安全入库的影响因素,主要是受到车库周围事物的影响;我们将汽车倒车入库的过程分为三段,前两段轨迹为圆弧,其中第一段圆弧与第二段圆弧相切,第三段轨迹为直线运动;最后根据车库周围障碍物的制约构建不等式,并采用数形结合的方法得到区域范围,求出区域边界方程,最后得出满足汽车安全入库的起始点位置的区域。

在问题二中,题目要求根据前轮转角和后轮行驶距离设计出从任意入库起始点开始的最佳泊车策略,即在问题一汽车安全入库的基础上寻求倒车优化方案,从而建立优化模型。为了使得汽车出库和入库时行驶方便,参考上图中车位旁边的两辆汽车的停放位

6

置,要使停车位置最佳,则需要在满足问题一中约束条件的的前提下增加对停车位置的约束,并构建有关汽车行驶距离和两段泊车转角的多目标函数非线性规划,将任意点看做取多个具体点,最后运用Matlab软件进行求解,得到每个具体起始点的最优泊车策略。

五、模型的建立与求解

5.1 问题一模型建立与求解 5.1.1 问题一的分析

问题一中,我们参考了生活中倒车实际情况的同时,结合题目信息,将倒车的过程分为三段。如图所示,从汽车位于与车位垂直的任意位置时起,至汽车按照题目已知的转向角36度前进到某一合适的地点止,为第一段,第一段路程的轨迹是一段半径为汽车从第一段行程的终点按照相同的转向角36度后退R1?Lcot36?圆心角为?的圆弧;

到车身与车位在同一条直线上止为第二段,由如图1几何关系知第二段路程的轨迹是一段半径为R2?Lcot36?圆心角为

?2??的圆弧;最后汽车沿直线行驶距离d后直接后退

到车位的合适位置停车,为第三段。那么,为保证汽车能够安全倒车入库,影响其倒车起始点位置s0所在区域范围的约束条件有四个:第一,汽车位于第一段路程的起始点与车位垂直时,车身不能越过l2和l1;第二,汽车在第一段路程的终点处不能越过上边界线l1;第三,汽车在倒车的第二段过程中,车身(轮廓线在地面的投影)不能越过D点;第四,汽车在倒车的第三段过程终点停车时,车身左侧不能越过FG,右侧不能越过DE。

5.1.2 问题一模型的建立

通过对原问题的分析,我们以汽车两后轮连线中心点的轨迹代替汽车的运行轨迹,可以建立如下的数学模型. 首先明确变量:如图,以车位的左下角顶点F为坐标原点,设汽车位于初始点位置时,两后轮连线中心点坐标为S0(x0,y0),汽车位于第一段路程的 终点处时,两后轮连线中心点坐标为S1(x1,y1),汽车位于第二段路程的终点处时,两后

7

轮连线中心点坐标为B(xB,yB),汽车在第三段路程的终点处停车时,两后轮中心点坐标为S3(x3,y3),汽车在第一段和第二段过程中两后轮连线中心点轨迹为圆弧,设第一段轨迹圆心为O1,半径为R1,第二段轨迹圆心为O2,半径为R2,?S0O1S1??。

8

图1

Step1:

取F点坐标为(0,0)

用不等式表示出约束条件1,即汽车位于第一段路程的起始点与车位垂直时,车身不能越过l2。

n?WW?y0?n?b? (1-1)

22式中:n表示车位的长度 b表示l1l2之间的距离 W表示汽车的宽度

Step2:用不等式表示出约束条件2,即汽车在第一段路程的终点处不能越过上边界线l1。

汽车从S0(x0,y0)运动到S1(x1,y1)过程中,轨迹为以O1为圆心,R1?Lcot?1为半径的圆弧,?1为汽车沿圆弧前进时的前轮转角,则S1(x1,y1)的坐标用x0,y0表示为

x1?x0?R1sin? , y1?y0?R1(1?cos?),由勾股定理得 AS1?(A点的纵坐标为yA?y1?AS1sin(???),由图像易得tan??S?L2W2)?() ,则22W由此可得 S?Ly0?R1(1?cos?)?(S?L2W2?)?()sin(???)?n?b,??(0,) (1-2) 222式中:W表示汽车的宽度 S表示汽车的长度 L表示汽车的轴距

Step3:用不等式表示出约束条件3,即汽车在倒车的第二段过程中,车身(轮廓线在地面的投影)不能越过D点。

9

在第二段过程中,当汽车运行到车身与线段DO2垂直时,汽车两后轮连线中点为

S2(x2,y2),此时汽车刚好以全部的车身长度侧对DO2,车身离车位边角D点的距离最小,所以需满足S2D?W。 2在直角三角形Rt?O1CO2中,O2点横坐标为xO2?x0?(R1?R2)sin?,O2点的纵坐标为yO2?y0?[(R1?R2)cos??R1],D点坐标为(m,n),则由两点间的距离公式得

DO2?[m?x0?(R1?R2)sin?]2?[n?y0?(R1?R2)cos??R1]2。

当xO2?m且yO2?n时需满足R2?DO2?W,即当x0?(R1?R2且)s?in?m2y0?[(R1?R2)cos??R1]?n 时,

R2?[m?x0?(R1?R2)sin?]2?[n?y0?(R1?R2)cos??R1]2?W?,??(0,)22

(1-3)

式中:m表示车位的宽度

Step4: 用不等式表示出约束条件4,即汽车在倒车的第三段过程终点停车时,车身左侧不能越过FG,右侧不能越过DE。

如图所示,两后轮连线中点S3点的横坐标为x3?x1?R2(1?sin?),x1?x0?R1sin?则

x3?x0?R1sin??R2(1?sin?),由此可得

x0?R1sin??R2(1?sin?)?W?m (1-4) 2W?0 (1-5) 2 x0?R1sin??R2(1?sin?)?另外两后轮连线中心点S3的纵坐标为y3?y1?d?R2cos?,y1?y0?R1(1?cos?),则

?y3?y0?R1(1?cos?)?d?R2cos?,??(0,)

2 在问题一中,题目假定汽车转弯时固定按照36度的转向角前进和后退,即

R1?R2?Lcot36?,综上所述,由1-1到1-5知问题一的模型为

10

S=3.55; a=0.4; m=2.8; c=0.3;

bt=atan(W/(S+L)); save('information.mat');

适应性M文件fun.m function f=fun(x) load information.mat;

f=[x(2)+x(3);x(1)*L*cos(x(2))+(pi/2-x(1))*L*cot(x(3))+x(4)]; End

适应性M文件mycon2.m load information.mat;

g=[ y0+L*cot(x(2))*(1-cos(x(1)))+sqrt(((S+L)/2)^2+(W/2)^2)*sin(x(1)+bt)-n-b;...

sqrt((m-x0-(L*cot(x(2))+L*cot(x(3)))*sin(x(1)))^2+(n-y0+(L*cot(x(2))+L*cot(x(3)))*cos(x(1))-L*cot(x(2)))^2)-L*cot(x(3))+W/2;...

-x0-L*cot(x(2))*sin(x(1))+L*cot(x(3))*(1-sin(x(1)))+W/2+a;... x0+L*cot(x(2))*sin(x(1))-L*cot(x(3))*(1-sin(x(1)))+W/2+a-m;...

y0+L*cot(x(2))*(1-cos(x(1)))-x(4)-L*cot(x(3))*cos(x(1))+(S+L)/2-n+c;... -y0-L*cot(x(2))*(1-cos(x(1)))+x(4)+L*cot(x(3))*cos(x(1))+(S-L)/2+c]; ceq=[]; end 主程序 clear,clc

%x=[aef st1 st2 d x0 y0]

26

load information.mat;

prompt={'输入x0的取值:','输入y0的取值:'}; name='参数设定'; numlines=1;

answer=inputdlg(prompt,name,numlines); x0=str2double(answer(1)); y0=str2double(answer(2));

save('information.mat','x0','-append'); save('information.mat','y0','-append'); x_begin=[pi/1000;pi/1000;pi/1000;-9]; lb=[pi/6 pi/6 0 0 ]; ub=[2*pi/9 2*pi/9 pi/2 n+b ];

[x,fval,attain_factor]=fgoalattain('fun',x_begin,[0 1],[],[],[],[],lb,ub,'mycon2');

附录4:问题二的完整数据结果

>> x x =

0.7429 0.4788 0.6810 9.7543

27

0],[1

>> fval fval =

1.1598 13.6880

>> x x =

0.7182 0.5036 0.7830 5.5763 >> fval fval =

1.2866 9.0529

28

>> x x =

0.5236 0.5800 1.0713 3.6178 >> fval fval =

1.6513 5.9797

>> x x =

29

0.5236 0.6981 0.9331 4.1170 >> fval fval =

1.6312 6.8713

>> x x =

0.5236 0.6981 0.5915 3.6016 >> fval fval =

30

1.2896

8.1883

>> x x =

0.7022 0.5195 0.9188 4.9634 >> fval fval =

1.4384 7.9412

>> x

31

x =

0.5236 0.6981 1.0057 3.3337 >> fval fval =

1.7038 5.8260

32

本文来源:https://www.bwwdw.com/article/wdu6.html

Top