数学建模基于matlab GUI平行停车模拟仿真含Matlab源码 1877期
Posted 海神之光
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数学建模基于matlab GUI平行停车模拟仿真含Matlab源码 1877期相关的知识,希望对你有一定的参考价值。
一、平行停车模拟仿真简介
近年来, 随着我国经济的快速发展, 机动车保有量也迅速增长.截至2012年底, 全国机动车保有量已达2.4亿辆, 城市“停车难”的问题日趋严重.统计结果表明, 2012年北京市机动车保有量已经超过520万辆, 而全市的备案停车位162万余个, 停车矛盾之突出, 可见一斑.
众所周知, 停车泊位的施划方法, 有平行式、斜列式及垂直式等 (如图1所示) .而在路侧停车中, 平行式泊车的方式最为常见.由于在平行式泊车过程中, 驾驶员需要根据车辆所在位置, 多次调整才能准确入位, 导致停车过程中能源消耗和环境污染, 并且在泊车过程中很容易出现车辆刮蹭及停车秩序混乱等问题.其次, 由于平行式停车需要的空间较大, 现在停车泊位施划方法, 容易造成土地利用效率过低等问题.
图1 3种主要停车泊位施划方法
为了解决平行式泊车车辆入位难的问题, 一些汽车生产厂商开发了自动泊车辅助系统, 利用该系统, 车辆可以自动泊车入位.该项技术虽然已经趋于成熟, 但目前只适用于部分高档车型, 对于绝大多数的在用中低档小汽车及在用车辆来说, 仍然是远水不解近渴.
针对以上问题和目前国内外的研究现状, 本研究从多个角度, 提出了一种名为“一把轮”的平行式停车泊位的施划方法.该方法通过改进现有平行式停车泊位的施划, 并在停车泊位区域内设立共用区域和引导线, 来降低平行式泊车的难度, 使驾驶员安全便捷地泊车, 最终达到提高土地利用效率、减少车辆剐蹭等事故的发生、节能环保及规范停车秩序的目的.
1 研究基础
研究的车辆模型如图2所示.
图2 车辆模型示意图
图中, La为车长;Ba为车宽;LS为轴距;LF为前悬;LR为后悬;BT为轮胎宽度.
理想的平行式泊车入位的过程大致可分为3个步骤, 如图3所示.
步骤1将车辆行驶到起始位置;
步骤2向右转动方向盘, 开始倒车, 使车身转动大约45°;
步骤3向左转动方向盘, 继续倒车, 使车身回正.
在上述泊车过程中, 有5个可能会发生碰撞的危险点, 如图4所示.
图3 平行式泊车过程分析示意图
图4 5个碰撞危险点示意图
2 建模分析
2.1 数学建模
在上述分析的基础上, 可以建立平行式泊车入位过程数学模型.根据步骤2和步骤3的泊车过程推导其轨迹方程.
-
步骤2的轨迹方程
其中
式中, Ba、LS、BT、LR分别为车辆参数, 详见图2;BB为泊位宽度;S1、S2、S4分别为考虑到碰撞危险点所预留出的安全距离;α1为步骤3中外侧转向轮转角;α2为步骤2中外侧转向轮转角(图5) .
图5 平行式泊车过程步骤2分析示意图 -
步骤3的轨迹方程 (图6)
2.2 仿真模型
2.2.1 仿真方法
利用MATLAB软件, 根据平行式泊车过程的轨迹方程 (1) 、 (2) 进行“一把轮”平行泊车过程仿真.
图6 平行式泊车过程步骤3分析示意图
在仿真中考虑了如下因素: -
车型.本研究调研并选取了大众捷达、大众帕萨特、奥迪A4L等167种车型的数据进行仿真;
-
驾驶员泊车时能时刻保持最小转向半径转向.在仿真时, 将最小转向半径乘以安全系数i (i=1.1) .仿真结果如图7所示.
根据仿真结果, 确定“一把轮”泊车所需的最短距离.
二、部分源代码
function varargout = RUN_ui(varargin)
% UI MATLAB code for ui.fig
% UI, by itself, creates a new UI or raises the existing
% singleton*.
%
% H = UI returns the handle to a new UI or the handle to
% the existing singleton*.
%
% UI('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in UI.M with the given input arguments.
%
% UI('Property','Value',...) creates a new UI or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before ui_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to ui_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help ui
% Last Modified by GUIDE v2.5 07-Jun-2022 20:23:09
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @ui_OpeningFcn, ...
'gui_OutputFcn', @ui_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin1)
gui_State.gui_Callback = str2func(varargin1);
end
if nargout
[varargout1:nargout] = gui_mainfcn(gui_State, varargin:);
else
gui_mainfcn(gui_State, varargin:);
end
% End initialization code - DO NOT EDIT
% --- Executes just before ui is made visible.
function ui_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to ui (see VARARGIN)
% Choose default command line output for ui
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% This sets up the initial plot - only do when we are invisible
% so window can get raised using ui.
if strcmp(get(hObject,'Visible'),'off')
plot(rand(5));
end
三、运行结果
四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1]李昕.MATLAB数学建模[M].清华大学出版社.2017
[2]王健,赵国生.MATLAB数学建模与仿真[M].清华大学出版社.2016
[3]余胜威.MATLAB数学建模经典案例实战[M].清华大学出版社.2015
[4]苏晴,关宏志,从骁宇.提高平行式停车效率的泊位施划方法研究[J].道路交通与安全. 2014,14(03)
以上是关于数学建模基于matlab GUI平行停车模拟仿真含Matlab源码 1877期的主要内容,如果未能解决你的问题,请参考以下文章
数学建模基于matlab GUI排队系统仿真含Matlab源码 1253期
数学建模基于matlab GUI彩票仿真系统含Matlab源码 1501期
数学建模基于matlab GUI雾霾分析仿真系统含Matlab源码 1503期
数学建模基于matlab GUI理发店排队模拟系统含Matlab源码 1116期