小车侧方位停车过程的动态模拟matlab仿真

目录

1.课题概述

2.系统仿真结果

3.核心程序与模型

4.系统原理简介

5.完整工程文件


1.课题概述

       小车侧方位停车过程的动态模拟matlab仿真。仿真得到小车的停车动画,小车移动的xy轴坐标以及角度变换。

2.系统仿真结果

3.核心程序与模型

版本:MATLAB2022a

..................................................................................

%阶段3
%车轮    
pause(1);
for i=1:13
    ya1=ya1+0.5;
    yb1=yb1+0.5;
    ya2=ya2+0.5;
    yb2=yb2+0.5;

    cla;
    patch([Car2pos_x1 Car2pos_x2 Car2pos_x3 Car2pos_x4],[Car2pos_y1 Car2pos_y2 Car2pos_y3 Car2pos_y4],[0.7 0.7 0]);
    patch([Car1pos_x1 Car1pos_x2 Car1pos_x3 Car1pos_x4],[Car1pos_y1 Car1pos_y2 Car1pos_y3 Car1pos_y4],[0.7 0.7 0]);           
    patch([xa1 xb1 xb2 xa2],[ya1 yb1 yb2 ya2],[0 1 0]);

    ya11=ya1+(D-WLen/2);
    yb11=ya11+WLen;
    ya21=ya2+(D-WLen/2);
    yb21=ya21+WLen;
    xa11=xa2+(Wkd/2);
    xb11=xa2+(Wkd/2);
    xa21=xa2-(Wkd/2);
    xb21=xa2-(Wkd/2);
    patch([xa11 xb11 xb21 xa21],[ya11 yb11 yb21 ya21],[0 0 0]);

    xa22=xa1-(Wkd/2);
    xb22=xa1-(Wkd/2);
    xa12=xa1+(Wkd/2);
    xb12=xa1+(Wkd/2);
    patch([xa12 xb12 xb22 xa22],[ya11 yb11 yb21 ya21],[0 0 0]);

    ya13=ya11+Hcar;
    yb13=yb11+Hcar;
    patch([xa11 xb11 xb21 xa21],[ya13 yb13 yb13 ya13],[0 0 0]);
    patch([xa12 xb12 xb22 xa22],[ya13 yb13 yb13 ya13],[0 0 0]);
    
    pause(.02);

end

hold on
plot(-59*ones(1,121),[-20:100],'r','linewidth',2);
hold on
plot(-40*ones(1,121),[-20:100],'r','linewidth',2);
hold on
plot(-21*ones(1,121),[-20:100],'r','linewidth',2);
hold on
plot(-2*ones(1,121),[-20:100],'r','linewidth',2);
hold on
plot(17*ones(1,121),[-20:100],'r','linewidth',2);
hold on
plot(36*ones(1,121),[-20:100],'r','linewidth',2);
hold on
plot(55*ones(1,121),[-20:100],'r','linewidth',2);
hold on
plot(74*ones(1,121),[-20:100],'r','linewidth',2);
hold on
figure;
subplot(121);
plot(Xset,'b-o')
hold on
plot(Yset,'r-s')
legend('x坐标变化','y坐标变化');

subplot(122);
plot(thetas,'b-o')
legend('角度变化');
38

4.系统原理简介

假设小车是一个刚体,其侧方位停车过程中涉及到以下几个关键状态变量:

  1. 位置坐标:小车前端中心点在水平面上的坐标(x, y)。
  2. 角度:小车与垂直方向之间的夹角θ。
  3. 速度:小车向前和向侧面的线速度(vx, vy)。
  4. 角速度:小车转向的角度速度ω。

       侧方位停车的过程可以拆分为直线行驶、转向、倒车和微调等阶段,对于每一个阶段,可以分别建立相应的运动学方程:

结合上述运动学模型和控制策略,构建小车侧方位停车的动态模拟流程,包括:

  1. 设定初始条件(小车位置、速度、目标车位位置等)。
  2. 设计和实现控制器,根据当前状态计算下一步的控制输入(驱动力矩、转向角等)。
  3. 更新小车的运动状态(位置、速度、角度)。
  4. 检查是否达到停车条件(如与车位边界点的距离是否小于阈值),未达到则重复步骤2和3,直至成功停车。

        这样的模拟有助于验证控制策略的有效性,优化停车算法,并在实际应用前对停车过程进行预判和调试。在实际编程实现时,可以利用Matlab工具搭建仿真模型,并可视化整个停车过程。

5.完整工程文件

v

v

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/477390.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux系统资源管理

Linux系统资源命令 在Linux中查看系统资源常用命令有哪些 在Linux中,系统资源是指计算机硬件、软件和网络设备等可以利用的一切物质和能量。Linux中的系统资源包括: CPU(中央处理器):用于处理计算机中的指令和数据的…

opencv各个模块介绍(2)

Features2D 模块:特征检测和描述子计算模块,包括SIFT、SURF等算法。 Features2D 模块提供了许多用于特征检测和描述子匹配的函数和类,这些函数和类可用于图像特征的提取、匹配和跟踪。 FeatureDetector:特征检测器的基类&#xf…

AI应用开发-基于python的知识图谱技术

AI应用开发相关目录 本专栏包括AI应用开发相关内容分享,包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧 适用于具备一定算法及Python使用基础的人群 AI应用开发流程概…

19 反向迭代器

反向迭代器和正向迭代器相反,比如一个数组内容是1,2,3,4,5。正向迭代器就是按顺序输出,反向迭代器是5,4,3,2,1,顺序倒着。想要第一个输出5,需要反向迭代器rbegin在5的位置,判断输出完的条件,rend在头节点的位置就行,只…

【go从入门到精通】select条件控制

作者简介: 高科,先后在 IBM PlatformComputing从事网格计算,淘米网,网易从事游戏服务器开发,拥有丰富的C,go等语言开发经验,mysql,mongo,redis等数据库,设计模…

【八股】ThreadLocal原理

1. Thread.java 我们首先打开Thread.java源码,看到里面有一个ThreadLocalMap类型的变量threadLocals 2. ThreadLocal.java -> getMap(thread t) 然后ThreadLocal.java里面有一个getMap函数,传入的是线程,返回的是线程里面的ThreadLoca…

mysql无法看到3306端口监听

参考:https://blog.csdn.net/shumeigang/article/details/103902459 mysql> show global variables like ‘port’; 是0 原因是我的my.cnf有话: skip-network 或 注释掉,然后重新启动下数据库,运行netstat -an|grep 3306 就可以看到了

学习笔记Day13:Linux进阶

Linux进阶 Vim——Linux自带的文本编辑器 功能强大 命令模式 使用 vim <file>进入后的默认模式可以上下左右移动光标 方向键/hjkl快速到所在行的开头^/末尾$向下移动30行30j&#xff08;上左右同&#xff09;上下翻页Ctrlf向上&#xff0c;Ctrlb向下翻页快速回到文件第…

docker 进入容器内部命令

docker容器运行了&#xff0c;怎么进入容器内部查看内部的文件情况呢&#xff1f; 答&#xff1a;可以通过docker exec 的命令查看。 docker exec --help 可以查看命令介绍 &#xff1a; docker exec -it XXX /bin/bash XX为容器ID 进入容器内部 /bin/bash是需要添加的 不…

MT管理器 使用手册

MT管理器 论坛&#xff1a;https://bbs.binmt.cc/ 使用技巧系列教程&#xff1a;https://www.52pojie.cn/thread-1259872-1-1.html MT管理器 使用手册 &#xff1a;https://mt2.cn/guide/&#xff1a;https://www.bookstack.cn/read/mt-manual/80b8084f6be128c0.md&#xff…

vue学习日记15:普通组件的注册使用

一、概念 &#xff08;1&#xff09;局部注册 &#xff08;2&#xff09;全局注册 二、实践 1.局部注册 &#xff08;1&#xff09;代码 步骤&#xff1a;创建组件 导入 注册 使用 src文件夹下面仅仅保留这两个即可 其他两个文件夹可以删除 在src下面建立components文件夹…

刷题DAY30 | LeetCode 332-重新安排行程 51-N皇后 37-解数独

332 重新安排行程&#xff08;hard&#xff09; 给你一份航线列表 tickets &#xff0c;其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK&#xff08;肯尼迪国际机场&#xff09;出发的先生&…

Qt 不同数据类型转换

一.不同类型数据转换示例&#xff1a; #include <QGuiApplication> #include <QQmlApplicationEngine> #include <QJsonDocument> #include <QJsonObject> #include <QDebug>int main(int argc, char *argv[]) {QCoreApplication::setAttribute…

【C语言】linux内核pci_enable_device函数和_PCI_NOP宏

pci_enable_device 一、注释 static int pci_enable_device_flags(struct pci_dev *dev, unsigned long flags) {struct pci_dev *bridge;int err;int i, bars 0;/** 此时电源状态可能是未知的&#xff0c;可能是由于新启动或者设备移除调用。* 因此获取当前的电源状态&…

【Flask】Flask项目结构初识

1.前提准备 Python版本 # python 3.8.0 # 查看Python版本 python --version 安装第三方 Flask pip install flask # 如果安装失败&#xff0c;可以使用 -i&#xff0c;指定使用国内镜像源 # 清华镜像源&#xff1a;https://pypi.tuna.tsinghua.edu.cn/simple/ 检查 Flask 是…

网络: 网络层

IP地址: 分为网络号和主机号. 用来标识主机 IP协议 IP协议报文 4位版本号(version): 指定IP协议的版本, 对于IPv4来说, 就是4.4位头部长度(header length): IP头部的长度是多少个32bit, 也就是 length * 4 的字节数. 4bit表示最大的数字是15, 因此IP头部最大长度是60字节. 8…

传输介质介绍,数据链路层,MAC地址的构成和作用

简单网络 1.网卡 2.物理介质 3.协议栈 双绞线&#xff1a; UTP 非屏蔽双绞线 屏蔽式双绞线 水晶头 串口电缆&#xff1a;连接运营商 广域网一个用户接入到广域网&#xff0c;早期来讲&#xff0c;光纤 物理层&#xff1a;本质是通信&#xff0c;数据传输&#xff0c;介质产…

数据结构02:线性表 链表习题01[C++]

考研笔记整理~&#x1f95d;&#x1f95d; 之前的博文链接在此&#xff1a;数据结构02&#xff1a;线性表[顺序表链表]_线性链表-CSDN博客~&#x1f95d;&#x1f95d; 本篇作为链表的代码补充&#xff0c;供小伙伴们参考~&#x1f95d;&#x1f95d; 第1版&#xff1a;王道…

3.21小题总结

第一题&#xff1a;生日蛋糕 题解&#xff1a;这题是蛋糕结构是一层一层的&#xff0c;估计很多人很快就能想到是dfs&#xff0c;但是这题的难想的点在于 你每层的状态该怎么去确定&#xff0c;你怎么来确定每层的半径和高度是多少&#xff0c;一开始我也不知很理解&#xff0…

计算结构体的大小(结构体的内存对齐)

一&#xff1a;问题 问题所在&#xff1a;两个结构体应该都是6个字节大小&#xff0c;为什么一个12&#xff0c;一个6&#xff1f;&#xff1f;&#xff1f; 二&#xff1a;如何正确的计算结构体大小&#xff1f; 首先得掌握结构体的对齐规则&#xff1a; 第一&#xff1a; 第一…