平行停车模拟仿真:基于Matlab GUI的数学建模

平行停车模拟仿真简介

近年来, 随着我国经济的快速发展, 机动车保有量也迅速增长.截至2012年底, 全国机动车保有量已达2.4亿辆, 城市“停车难”的问题日趋严重.统计结果表明, 2012年北京市机动车保有量已经超过520万辆, 而全市的备案停车位162万余个, 停车矛盾之突出, 可见一斑.

众所周知, 停车泊位的施划方法, 有平行式、斜列式及垂直式等 (如图1所示) .而在路侧停车中, 平行式泊车的方式最为常见.由于在平行式泊车过程中, 驾驶员需要根据车辆所在位置, 多次调整才能准确入位, 导致停车过程中能源消耗和环境污染, 并且在泊车过程中很容易出现车辆刮蹭及停车秩序混乱等问题.其次, 由于平行式停车需要的空间较大, 现在停车泊位施划方法, 容易造成土地利用效率过低等问题.
【数学建模】基于matlab GUI平行停车模拟仿真【含Matlab源码 1877期】_数学建模
图1 3种主要停车泊位施划方法

为了解决平行式泊车车辆入位难的问题, 一些汽车生产厂商开发了自动泊车辅助系统, 利用该系统, 车辆可以自动泊车入位.该项技术虽然已经趋于成熟, 但目前只适用于部分高档车型, 对于绝大多数的在用中低档小汽车及在用车辆来说, 仍然是远水不解近渴.

针对以上问题和目前国内外的研究现状, 本研究从多个角度, 提出了一种名为“一把轮”的平行式停车泊位的施划方法.该方法通过改进现有平行式停车泊位的施划, 并在停车泊位区域内设立共用区域和引导线, 来降低平行式泊车的难度, 使驾驶员安全便捷地泊车, 最终达到提高土地利用效率、减少车辆剐蹭等事故的发生、节能环保及规范停车秩序的目的.



1 研究基础


研究的车辆模型如图2所示.
【数学建模】基于matlab GUI平行停车模拟仿真【含Matlab源码 1877期】_参考文献_02


图2 车辆模型示意图

图中, La为车长;Ba为车宽;LS为轴距;LF为前悬;LR为后悬;BT为轮胎宽度.
理想的平行式泊车入位的过程大致可分为3个步骤, 如图3所示.
步骤1将车辆行驶到起始位置;
步骤2向右转动方向盘, 开始倒车, 使车身转动大约45°;
步骤3向左转动方向盘, 继续倒车, 使车身回正.
在上述泊车过程中, 有5个可能会发生碰撞的危险点, 如图4所示.


【数学建模】基于matlab GUI平行停车模拟仿真【含Matlab源码 1877期】_参考文献_03


图3 平行式泊车过程分析示意图


【数学建模】基于matlab GUI平行停车模拟仿真【含Matlab源码 1877期】_数学建模_04


图4 5个碰撞危险点示意图




建模分析


2.1 数学建模
在上述分析的基础上, 可以建立平行式泊车入位过程数学模型.根据步骤2和步骤3的泊车过程推导其轨迹方程.

  1. 步骤2的轨迹方程
    【数学建模】基于matlab GUI平行停车模拟仿真【含Matlab源码 1877期】_参考文献_05
    其中
    【数学建模】基于matlab GUI平行停车模拟仿真【含Matlab源码 1877期】_matlab_06
    式中, Ba、LS、BT、LR分别为车辆参数, 详见图2;BB为泊位宽度;S1、S2、S4分别为考虑到碰撞危险点所预留出的安全距离;α1为步骤3中外侧转向轮转角;α2为步骤2中外侧转向轮转角(图5) .
    【数学建模】基于matlab GUI平行停车模拟仿真【含Matlab源码 1877期】_ide_07
    图5 平行式泊车过程步骤2分析示意图
  2. 步骤3的轨迹方程 (图6)
    【数学建模】基于matlab GUI平行停车模拟仿真【含Matlab源码 1877期】_开发语言_08
    2.2 仿真模型


2.2.1 仿真方法

利用MATLAB软件, 根据平行式泊车过程的轨迹方程 (1) 、 (2) 进行“一把轮”平行泊车过程仿真.
【数学建模】基于matlab GUI平行停车模拟仿真【含Matlab源码 1877期】_ide_09

图6 平行式泊车过程步骤3分析示意图


在仿真中考虑了如下因素:

  1. 车型.本研究调研并选取了大众捷达、大众帕萨特、奥迪A4L等167种车型的数据进行仿真;
  2. 驾驶员泊车时能时刻保持最小转向半径转向.在仿真时, 将最小转向半径乘以安全系数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 EDITgui_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(varargin{1})    gui_State.gui_Callback = str2func(varargin{1});endif nargout    [varargout{1: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 uihandles.output = hObject;% Update handles structureguidata(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));end1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.62.63.


三、运行结果

【数学建模】基于matlab GUI平行停车模拟仿真【含Matlab源码 1877期】_ide_10


matlab版本

2014a


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空