首页 > 行业资讯 > 【运动学】基于最小半径实现泊车仿真含Matlab源码

【运动学】基于最小半径实现泊车仿真含Matlab源码

时间:2022-04-19 来源: 浏览:

【运动学】基于最小半径实现泊车仿真含Matlab源码

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。

收录于话题 #物理应用matlab源码 21个

1 简介

近年来,智能化的自动泊车技术不断发展.文章针对自动平行泊车轨迹曲率过大,曲率不连续和泊车起始位置,车身姿态要求较为苛刻等问题,提出了最小半径自动平行泊车方法。

2 部分代码

function varargout = bochefangzhen(varargin) % BOCHEFANGZHEN M-file for bochefangzhen.fig % BOCHEFANGZHEN, by itself, creates a new BOCHEFANGZHEN or raises the existing % singleton*. % % H = BOCHEFANGZHEN returns the handle to a new BOCHEFANGZHEN or the handle to % the existing singleton*. % % BOCHEFANGZHEN( ’CALLBACK’ ,hObject,eventData,handles,...) calls the local % function named CALLBACK in BOCHEFANGZHEN.M with the given input arguments. % % BOCHEFANGZHEN( ’Property’ , ’Value’ ,...) creates a new BOCHEFANGZHEN or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before bochefangzhen_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to bochefangzhen_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 bochefangzhen % Last Modified by GUIDE v2.5 30-Aug-2010 12:37:35 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct(’ gui_Name ’, mfilename, ... gui_Singleton ’, gui_Singleton, ... gui_OpeningFcn ’, @bochefangzhen_OpeningFcn, ... gui_OutputFcn ’, @bochefangzhen_OutputFcn, ... gui_LayoutFcn ’, [] , ... gui_Callback ’, []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if 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 bochefangzhen is made visible. function bochefangzhen_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 bochefangzhen (see VARARGIN) % Choose default command line output for bochefangzhen handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes bochefangzhen wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = bochefangzhen_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) global long;% 使这个变量变成全局变量 global width;% 使这个变量变成全局变量 global qianxuan;% 使这个变量变成全局变量 global houxuan;% 使这个变量变成全局变量 global lunjin;% 使这个变量变成全局变量 global fai;% 使这个变量变成全局变量 global x6;% 使这个变量变成全局变量 global y6;% 使这个变量变成全局变量 global x7;% 使这个变量变成全局变量 global y7;% 使这个变量变成全局变量 global x8;% 使这个变量变成全局变量 global y8;% 使这个变量变成全局变量 global x9;% 使这个变量变成全局变量 global y9;% 使这个变量变成全局变量 global ds;% 使这个变量变成全局变量 global r;% 使这个变量变成全局变量 global xd;% 使这个变量变成全局变量 global yd;% 使这个变量变成全局变量 axis([-10,20,-10,20]); axis manual; hold on; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %参数集,这里存放的为车辆与车位已经仿真所需的主要参数 %手动输入参数集 long=str2double(get(handles.edit1,’ string ’)); width=str2double(get(handles.edit2,’ string ’)); qianxuan=str2double(get(handles.edit3,’ string ’)); houxuan=str2double(get(handles.edit4,’ string ’)); lunjin=str2double(get(handles.edit5,’ string ’)); fai=str2double(get(handles.edit6,’ string ’)); x6=str2double(get(handles.edit7,’ string ’)); y6=str2double(get(handles.edit8,’ string ’)); x7=str2double(get(handles.edit9,’ string ’)); y7=str2double(get(handles.edit10,’ string ’)); x9=str2double(get(handles.edit11,’ string ’)); y9=str2double(get(handles.edit12,’ string ’)); x8=str2double(get(handles.edit13,’ string ’)); y8=str2double(get(handles.edit14,’ string ’)); ds=str2double(get(handles.edit15,’ string ’)); % long=6;%long 为车车长 % width=3;%width 为车宽 % qianxuan=1;%qianxuan 为车前悬长度 % houxuan=1;% houxuan 为车后悬长度 % lunjin=0.3;%lunjin为车轮半径 % fai=-(pi)/5;%fai 为前一段轨迹的车前轮偏角 % % % x6=11; % y6=15; % x7=18; % y7=15; % x8=18; % y8=0; % x9=11; % y9=0; % % ds=0.3; %仿真步长 %自动生成参数集 r=(long-qianxuan-houxuan)/abs(tan(fai));% 车辆的后轴中心点转弯半径 %theta0=(pi)/2;%theta0为起始点车身偏角 xd=(x8+x9)/2;%终点坐标 yd=(y8+y9)/2+1.5; h0=plot(xd,yd,’ bo ’); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

3 仿真结果

4 参考文献

[1]兰贵龙, 贺艺斌. 基于模糊控制的多圆弧路径自动平行泊车仿真[J]. 汽车实用技术, 2022, 47(3):4.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐