决策规划仿真平台的搭建

以下内容笔记据来自于b站up主忠厚老实的老王,视频;链接如下:

自动驾驶决策规划算法第二章第一节 决策规划仿真平台搭建_哔哩哔哩_bilibili

使用到的软件有matlab、prescan、carsim以及visual stadio。

我电脑上软件的版本是matlab2022a,carsim2019.1、prescan8.5以及vs2022,最终可编译成功。

prescan提供道路、传感器的信息;carsim提供车辆动力学模型,matlab就提供一些仿真模型和写算法,prescan和matlab联合仿真的话需要用到c++编译器,这里使用vs。

在prescan的Experiments文件夹下有一些例子,例如在"C:\Users\Public\Documents\Experiments\DemoTemplates\Demo_PreScanCarSim3D\Demo_PreScanCarSim3D.cpar"中有一个cpar的车辆模型,是prescan自己做的一个和carsim联合仿真的模型接口。

在prescan中新建一个实验,之后拖出audi A8的车辆在面板中:

打开carsim2019.1,选择第四个选型,并在弹出来的文件夹选择中提取刚刚找到的:"C:\Users\Public\Documents\Experiments\DemoTemplates\Demo_PreScanCarSim3D\Demo_PreScanCarSim3D.cpar"这个车辆模型。

 提取之后它会让你选择将文件提取到那个文件夹下面,这里文件夹理论是可以放在电脑上的人任何地方,这里推荐放在prescan的Experiments这个文件夹下面,新建的文件夹名称最好是英文名,我将它名为dynamic。我把它放在了d盘,路径如下:D:\xuexi\dynamic选择这个新建的文件夹后carsim会把这个文件解压缩,解压缩成功后这个文件夹的最终的形态就如下:

carsim的界面如下:

回到prescan中做一些相应的设置:

(1)右键audiA8模型——在动力学模型中选择user specified用户自定义,选择到上面解压缩后的文件中的文件夹中的simulink文件夹中的模型。

(2)设置仿真步长:对于carsim的迭代步长要设置到1000,因为carsim提供的是动力学模型,否则会不收敛。其中上面20是prescan自己自带的仿真步长,由于它在这里只提供一些环境和传感器信息,所以它的迭代频率设置为20就可以。

这里设置完毕后要点build按钮,prescan中每次更新模型后都要点一下这个按钮,否者新设置的参数不会更新到simulink模型中。

下面要打开matlab进行联合仿真,要注意的进行联合仿真时不能直接打开matlab,打开方式点击prescangui中的start按钮:

一般matlab第一次和prescan联合仿真会使用vs中的c++编译器做一系列的c++程序的编译。编译完成matlab的工作路径会自动跳转到C:\Users\Public\Documents\Experiments中,此时要手动将工作路径改到prescan刚建立的工程文件夹下:C:\Users\Public\Documents\Experiments\testexperiment,其中testexperiment是我上面在prescan中建立的新工程名称。在文件夹中的

就是在prescan中build的simulink模型,打开这个模型会生成一个testexperiment.pb文件,在文件夹中也会生成一些相关的配置。

整体模型如下:

其中按钮的作用就是在prescan中每build一次后就需要在这个模型文件中按一次这个按钮以更新simulink模型。

打开这个文件中的carsim模型,模型的封装关系见图的最上面:

 双击carsim模型它需要提供simfile文件的具体路径,目前还没有生成simfile文件,生成方式如下,在carsim中点击send to simulink,会在上面将prescan中cpar文件解压缩后的文件夹中也就是D:\xuexi\dynamic生成一个simfile.sim文件:

路径就是上面carsim模型的路径D:\xuexi\dynamic\simfile.sim,将该路径赋值到simulink的carsim模块中,如下:

接下来设置一下carsim的输入和输出:

该模型中carsim的输入一共有23个,前三个分别是油门,方向盘转角和制动压力,4到15是一系列坡度,16到23是路面附着系数。在testexperiment_cs.mdl模型中设置输入和输出的参数可以参考上面选择解压缩的cpar文件所在文件夹中自带的simulink模型模版。

将模型中的carsim模块的输入输出粘贴到testexperiment_cs.mdl中即可,上图中红圈就是模板中的输入输出。

其中输入一共23个,正好对应carsim模型中的三个:

输入第一个是方向盘转角,第二个是油门,第三个是刹车坡度一共有8个,将其接地即可,附着系数全部设置成0.9,这样的话输入就全部设置完毕。

输出设置如下:

原本的carsim输出一共有35个:

在模型中增加了ax、ay,需要在carsim软件中新增

在simulink模型中设置,点击小箭头进入:

这样在外部将相关的参数连接起来即可

至此输入和输出接口已经全部设置完毕,效果如下:

 接下来打开老王在github上的文件夹,将算法文件复制到我们上面新建prescan项目的根目录下:

其中emplanner.m文件是EM PLANNER初始化与配置文件,主要是加载全局路径,加载油门刹车标定表,设置一些规划和控制参数等等。

将老王github上的算法模型和一些个接口数据粘到自己的模型中:

 这样整个基础的仿真模型搭建完毕,关于模型的介绍请看老王的视频解析。

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

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

相关文章

华为Pura独立?或将成立全新子品牌

近日,华为官方公布了P系列将正式升级为“Pura”系列的消息,并且有可能演变成为一个全新的子品牌。多年以来,P系列一直以影像功能与颇具时尚感的设计而闻名。而这次品牌升级似乎并不局限于智能手机,经营范围似乎覆盖了手表、珠宝等…

PG 检查点管理与Oracle的比较

之前介绍过,在任何数据库中,一条DML操作执行都需要在内存中执行,但当操作越来越多,总有时候内存会写满,这时候就需要把内存中的块写入到磁盘,释放内存,保存数据。 写入到磁盘这一步,…

小米15曝光?可能会要稍微涨价

也许是感受到了智能机市场的逐渐复苏,最近各大手机品牌发售新品的速度明显加快了。从4月份的Redmi、一加,再到5月份一大堆vivo、OPPO新机型的发布。而近日,有关小米14即将发售的消息也是悄咪咪的放了出来。 去年发售的小米14可以说是狠狠地让…

Hadoop Java API操作 及读取序列化文件(04-05-06)

针对于04-05-06班级整合。 1.创建java项目 2.修改pom.xml文件 添加依赖 <dependencies><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-client</artifactId><version>3.1.4</version></dependenc…

近几年上门按摩市场为何如此火爆,有哪些功能?

近几年上门预约推拿按摩市场为何如此火爆&#xff0c;这个融合了休闲、保健与养生的行业&#xff0c;其消费频率高且受众广泛&#xff0c;不受任何限制。 而在按摩服务类系统平台中&#xff0c;小程序以其轻便与易用性脱颖而出。用户只需轻松一扫&#xff0c;便能迅速进入应用&…

UART中的DMA数据处理过程

一、DMA简介 DMA (Direct Memory Access) &#xff0c;直接内存存储器&#xff0c;使用它在做数据传输时能够大大减轻CPU的负担。 DMA&#xff0c;全称 Direct Memory Access&#xff0c;即直接存储器访问。用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。D…

R语言学习笔记

学习资料&#xff1a; 菜鸟教程&#xff1a;https://www.runoob.com/r/r-setup.html 1、查看 R 包的安装目录.libPaths() 查看已安装的包&#xff1a;library() search()函数可以输出当前加载的环境&#xff1a; 2、利用conda创建新的环境&#xff0c;并安装包&#xff08;…

经验分享智能产品从0到1全流程

大家好&#xff0c;今天继续分享文章&#xff0c;这篇文章在网络上搜索资料时&#xff0c;有感而发&#xff0c;分享一个智能产品从0到1的整个生命周期中需要经历哪些阶段&#xff0c;我这里以开发一个mini补光灯为例&#xff0c;深入探索各个阶段可能涉及的具体活动和考虑事项…

鸿蒙OS开发:【一次开发,多端部署】(应用UX设计原则)

应用UX设计原则 设计原则 当为多种不同的设备开发应用时&#xff0c;有如下设计原则&#xff1a; 差异性 充分了解所要支持的设备&#xff0c;包括屏幕尺寸、交互方式、使用场景、用户人群等&#xff0c;对设备的特性进行针对性的设计。 一致性 除了要考虑每个设备的特性…

EE-SX670 槽型光电开关 5MM 限位检测感应器 使用案例

EE-SX670是一款槽型光电开关&#xff0c;也被称为U形传感器或限位检测感应器。它是光电传感器中的一种&#xff0c;通过检测物体是否插入其感应槽来触发开关。这种传感器通常用于自动化生产线上的位置检测、对象计数以及安全设备中的运动检测。 EE-SX670作为一款高性能的光电传…

智能文档处理:解析文档场景下多模态大模型的应用与研究前沿

解析文档场景下多模态大模型的应用与研究前沿 一、TextIn 文档解析技术1. 现有大模型文档解析问题2. 文档解析技术背景3. TextIn 文档解析技术架构4. 版面分析关键技术 Layout-engine 二、TextIn 文本向量化技术三、TextIn.com Text Intelligence 一、TextIn 文档解析技术 hell…

十二.吊打面试官系列-JVM优化-深入JVM内存模型

JVM内存模型 1.JVM的组成 整个JVM组成由 &#xff1a;运行时数据区 &#xff0c; 类加载子系统 &#xff0c; 执行引擎 &#xff0c; 本地方法库 几部分组成 上面是Java7的内存模型&#xff0c;Java8以后做了一些调整&#xff0c;把方法区变成了元空间&#xff0c;元空间不在…

Blender雕刻建模流程

1.构形 先构造一个大致相像的外形 可使用的方法包含 -多边形&#xff1a;表面细分&#xff0c;布尔 -曲线&#xff1a;曲线倒角 -融球&#xff08;使用较少&#xff09; -曲面&#xff08;使用较少&#xff09; 构形之后的准备 -应用缩放 -应用修改器 -曲线转网格 1.1…

【BOSS直聘爬取系统功能介绍】

完整代码关注公众号 &#xff1a; 爬取网站&#xff1a;BOSS直聘&#xff1a;https://www.zhipin.com/ 难点 1. boss直聘不论什么岗位都只会展示10页数据&#xff0c;就算在网页里加到了11&#xff0c;内容也会和10一样。 2.多次访问会有验证码需要登录&#xff0c;这部分需…

3SRB2516-ASEMI适配大功率充电桩3SRB2516

编辑&#xff1a;ll 3SRB2516-ASEMI适配大功率充电桩3SRB2516 型号&#xff1a;3SRB2516 品牌&#xff1a;ASEMI 封装&#xff1a;SGBJ-5 正向电流&#xff08;Id&#xff09;&#xff1a;25A 反向耐压&#xff08;VRRM&#xff09;&#xff1a;1600V 正向浪涌电流&…

【3dmax笔记】028:倒角的使用方法

一、倒角描述 在3dmax中创建倒角效果可以通过多种方法实现,以下是几种常见的方法: 使用倒角修改器。首先创建一个图形(如矩形和圆),然后对齐它们,将它们转化为可编辑样条线,并附加在一起,选择要倒角的边缘,然后使用倒角修改器来调整高度、轮廓等参数。使用倒角剖面修…

听劝!普通人千万别随意入门网络安全

一、什么是网络安全 网络安全是一种综合性的概念&#xff0c;涵盖了保护计算机系统、网络基础设施和数据免受未经授权的访问、攻击、损害或盗窃的一系列措施和技术。经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”…

校园防欺凌平台

校园霸凌事件很难被发现&#xff0c;发现者又可能迫于威胁而不敢告发&#xff0c;被霸凌者又因各种原因而选择忍耐&#xff0c;所以&#xff0c;如果能够在发生校园霸凌的时候&#xff0c;做出及时的预警&#xff0c;也许能够拯救挽回无数个家庭。本平台结合防欺凌设备&#xf…

【js刷题:数据结构链表之设计链表】

设计链表 一、题目二、题解 一、题目 二、题解 // 定义节点类&#xff0c;每个节点都有一个值和一个指向下一个节点的引用 class LinkNode{constructor(val,next){ // 构造函数&#xff0c;接收节点值和下一个节点的引用this.valval // 节点的值this.nextnext // 指…

查看Linux服务器的硬盘占用情况

查看Linux服务器的硬盘占用情况 一、查看各分区的使用情况和磁盘挂载1、查看磁盘分区使用和磁盘挂载2、结果解释&#xff08;1&#xff09;列名解释&#xff08;2&#xff09;各系统解释 二、查看一个目录及其所有子目录中文件的总占用大小1、查看指定目录的总大小2、列出目录下…