泊车仿真研究:基于最小半径的运动学实现

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 EDITgui_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});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 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 bochefangzhenhandles.output = hObject;% Update handles structureguidata(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 structurevarargout{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');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1.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.64.65.66.67.68.69.70.71.72.73.74.75.76.77.78.79.80.81.82.83.84.85.86.87.88.89.90.91.92.93.94.95.96.97.98.99.100.101.102.103.104.105.106.107.108.109.110.111.112.113.114.115.116.117.118.119.120.121.122.123.124.125.126.127.

3 仿真结果

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


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

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

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

* 公司名称:

姓名不为空

手机不正确

公司不为空