PreScan笔记(1)——入坑之简单介绍和Demo

2023-11-13

PreScan 小白入坑

本人最近才接触PreScan,最近也略微熟悉了GUI和相关步骤。先给自己定个目标,之后每学一点就写一点。

PreScan的安装我就不想写了,百度直接搜索就可以了,非常简单。(注意这只是单独的PreScan安装,之后我会讲到一个常见的与MATLAB连接过程中的问题)

小白虽想入坑,但难免会跳错坑。请相信过程,你会走出来的!
(如果官方手册下不到的话大家也可以参考PreScan GUI里面的帮助文档,个人感觉内容都一样的…)

1. PreScan简单介绍

PreScan has been developed: a development and evaluation environment in which smart cars can actually see the surrounding in which they are driving and can subsequently respond to it.

PreScan是一款关于汽车的研发和评估软件,在这里,智能汽车可以实际看到驾驶时周围的环境并作出响应。

这里的PreScan GUI只是扮演着预处理器的一种角色,而核心的控制部分则是由MATLAB负责,两者的连接依靠PreScan生成的compilation sheet。

PreScan广泛用于智能汽车系统,比如现在的ADAS(Advanced Driver Assistance Systems高级驾驶辅助系统),自动巡航系统等,也可以用于如今的自动驾驶领域,即涉及更多的传感器。(其他详细介绍可以参考PreScan官方手册。)

2. First Demo

简单介绍实验的基本四步

  1. Build Scenario
  2. Modeling Sensor Systems
  3. Adding Control Systems
  4. Running an Experiment

第一步应该是指添加基本的道路原件,背景,路标之类的;第二步应该是往各种汽车中添加传感器,比如AIR传感器,雷达传感器,摄像头等;第三步是在MATLAB中加入一些自定义的控制模块来控制车的速度,偏向角,坐标等;最后一步就是在VisViewer中跑了,这里可以选择便于可视化的多种视角。(以上只是我到目前为止的理解,有错误望指正!)

具体流程+与MATLAB连接过程中的问题

本节参考的是手册中5.4节,example: first start,我会搬运一些重要的步骤并且讲一个我遇到的编译器相关的问题。
前提:先前在安装Prescan的时候,程序会提示你用MATLAB集成安装。这里最好用2013~2017的版本,因为这是官方测试过的版本,应该是比较稳定吧。

步骤:如图1,先新建一个实验,起一个合适的名称,文件会自动存储到C:\Users\Public\Documents\Experiments,之后涉及到的simulink文件也从该路径找就可以了。
图一:步骤一,手册的版本号是8.2.0,但这无关紧要
之后,选择一个Underlay的类型,如图2所示。
图2:Underlays
加入背景之后,我们就可以开始添加道路了,可以自己组建想要的道路工况。手册上只添加了一块环岛路,如图3。
图3:Road Segment
接着点击上图标蓝的图标,画出想要的路径,如图4中的红线部分。
图四:Roundabout
紧接着的重要一步是把actors中喜欢的车辆放到路线上,并加上AIR传感器和Visu Aids里面的类似于获取驾驶视角的模块,如图5,车头前的绿色区域代表传感器的范围(可以自己设定)。
图5
当然,手册上最后还放上去了一辆没有任何作为的车,这里就暂时省略了。

搭建完了场景和传感器,我们就可以生成能被MATLAB处理的编译文件(compilation sheet)了,这些文件的扩展名是.slx(MATLAB Simulink文件的扩展名)。具体步骤如图6。
在这里插入图片描述
第一步是parse(个人理解为检查语法,和场景搭建是否合乎逻辑),如果任何一个环节出现错误,可以按照提示来纠正。接下来就是build成simulink文件,最后点击图中标红的按键,Invoke Simulink Run Mode来开启MATLAB。MATLAB与PreScan连接好之后会有如下提示:

=================================================
MATLAB has been configured for PreScan R 8.5.0
=================================================
PrescanPath : C:\Program Files\PreScan\PreScan_8.5.0
PrescanBuild : C:\Program Files\PreScan\PreScan_8.5.0
PrescanCoreBuild : C:\Program Files\PreScan\PreScan_8.5.0
PrescanData : C:\Program Files\PreScan\PreScan_8.5.0
UDLibFolder (CU) : C:\Users\Public\Documents\PreScan\UDLibElements
UDLibFolder : C:\Users\Public\Documents\PreScan\UDLibElements
GenVehFolder : C:\Users\Public\Documents\PreScan\GenericVehicles
GenActFolder : C:\Users\Public\Documents\PreScan\GenericModels
ExperimentRepository : C:\Users\Public\Documents\Experiments
Plugins enabled : 
  * GIDAS Importer
  * IDC Importer Plugin
  * Intelligent Traffic Module Plugin
  * PBCameraPlugin
  * RemoteViewerPlugin
  * Scene Support
  * V2X Plugin
  * Vissim
C compiler : Microsoft Visual C++ 2015 Professional (C)
S-Function location : 
  * C:\Users\84775\AppData\Roaming\TNO\PreScan\8.5.0\sfunction_R2016a
  * C:\Program Files\PreScan\PreScan_8.5.0\bin

我第一次配置的时候因为电脑上之前装的是Visual Studio 2017和MATLAB 2016a,显然,MATLAB2016不可能认出2017的VS编译器,此时就会出现如下图的问题。
图7
搜索了一些博客对此问题的讲解之后,我安装了VS2015,之后我先用mex -setup检查了下C编译器。如果有编译器的话MATLAB会出现以下结果。

>> mex -setup
MEX 配置为使用 'Microsoft Visual C++ 2015 Professional (C)' 以进行 C 语言编译。
警告: MATLAB C 和 Fortran API 已更改,现可支持
	包含 2^32-1 个以上元素的 MATLAB 变量。不久以后,
	 您需要更新代码以利用
	 新的 API。您可以在以下网址找到相关详细信息:
	 http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html。

要选择不同的语言,请从以下选项中选择一种命令:
 mex -setup C++ 
 mex -setup FORTRAN

如果想知道MATLAB查找C编译器的过程,可以输入mex -setup -v

回到之前的步骤上,现在我们就可以打开simulink文件开始跑了。
图8
点击Mazda RX8模块,我们可以看到里面的内容,一个是self模块,一个是我们自己添加的AIR传感器,我这里按照手册的要求加入了一个MUX模块和Display单元,它们能帮我们更好的看出具体数据的变化。
在这里插入图片描述
点击开始运行按钮之后,PreScan的VisViewer会出现动画,选一个自己喜欢的视角就能看到汽车在跑了,别忘了记住要设置运行时间!!可以用如下代码(在下一篇的博客里我应该就会写到跟data Model API相关的知识)

Models=prescan.experiment.readDataModels('C:\Users\Public\Documents\Experiments\Experiment1.pb')
prescan.experiment.runWithDataModels(Models, 'StopTime','10')

这里的C:\Users\Public\Documents\Experiments\Experiment1.pb代表相应的.pb文件所在路径,就和.slx文件在一个目录下。这样一来,我们就能控制运行时间了。
最后附上VisViewer在human_view下的截图
在这里插入图片描述

参考

PreScan Manual

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PreScan笔记(1)——入坑之简单介绍和Demo 的相关文章

  • 试题 C: 刷题统计

    题目链接 点击跳转 题目描述 小明决定从下周一开始努力刷题准备蓝桥杯竞赛 他计划周一至周五每天做 a 道题目 周六和周日每天做 b 道题目 请你帮小明计算 按照计划他将在第几天实现做题数大于等于 n 题 输入格式 输入一行包含三个整数 a
  • 系统资源占用高排查手段

    1 cpu高排查思路 1 top d 1每秒打印进程所占cpu资源 然后再按h显示线程占用 2 strace跟踪strace p 线程号 会打印该线程主要做什么操作 2 io高排查思路 lsof是一个展现的是当前系统所有进程 不是线程 打开
  • 端午过后公司面了一个字节来的要求月薪23K,明显感觉他背了很多面试题...

    最近有朋友去字节面试 面试前后进行了20天左右 包含4轮电话面试 1轮笔试 1轮主管视频面试 1轮hr视频面试 据他所说 80 的人都会栽在第一轮面试 要不是他面试前做足准备 估计都坚持不完后面几轮面试 其实 第一轮的电话面试除了一些常规的
  • Redis数据结构——QuickList、SkipList、RedisObjective

    承接上文 本文主要介绍QuickList SkipList RedisObjective 四 Redis数据结构 QuickList 问题1 ZipList虽然节省内存 但申请内存必须是连续空间 如果内存占用较多 申请内存效率很低 怎么办
  • ObjectArx 学习笔记(一)--入口函数acrxEntryPoint

    参考资料 AutoCAD 2000 ARX二次开发实例精粹 1 Arx程序的初始化 新建完工程之后 Arx程序的初始化在acrxEntryPoint 函数的AcRx kInitAppMsg事件中 或该事件调用的函数中进行 例如InitApp
  • 【PS】高低频磨皮

    一 原理 将皮肤纹理的信息储存在高频的图层中 将皮肤颜色的信息储存在低频的图层中 从而分开皮肤的颜色和纹理 达到快速修复皮肤的效果 二 步骤 1 建立高低频图层 2 低频图层 3 高频图层 图像 应用图像 混合模式改为线性光
  • 以http协议实现onvif协议并完成对IPC摄像头的监控

    文章目录 目录 文章目录 前言 1实现http连接 2 获取设备编码参数 3 设置摄像头相关参数 总结 前言 因为工作上的原因 需要接入IPC摄像头 实现监控功能 因而开始了对于IPC摄像头的学习之路 因为要做到通用 所以目光直接锁定了on
  • python爬虫增加多线程获取数据

    Python爬虫应用领域广泛 并且在数据爬取领域处于霸主位置 并且拥有很多性能好的框架 像Scrapy Request BeautifuSoap urlib等框架可以实现爬行自如的功能 只要有能爬取的数据 Python爬虫均可实现 数据信息
  • 国产数据库产品清单

    01 提到国产数据库 圈儿内的朋友多数会说出国产数据库 四大家族 达梦 金仓 南大 神通 那么除了这四家 你还是否还了解其他的国产数据库产品 随着国内信息技术的快速发展 以及近几年去 O 的强势浪潮 在国内各数据库厂商的不断努力下 国产数据
  • 区块链实验室(14) - 编译FISCO-BCOS

    FISCO BCOS是一种区块链平台 与Hyperledger和Ethereum有些不同 详见FISCO BCOS 区块链 编译FISCO BCOS源码的目的是修改或者新增其中功能模块 进行对比实验 验证新想法 新创意的效果 编译的步骤很简
  • SQLi-Labs 学习笔记(Less 41-50)

    点击打开链接 Less 41 基于错误的POST型单引号字符型注入 先打开网页查看 Welcome Dhakkan 与之前讲的Less 40的区别 plain view plain copy sql SELECT FROM users WH
  • WPF性能优化经验总结

    原文地址 WPF性能优化经验总结 痴鸟 博客园 WPF性能优化一 Rendering Tier 1 根据硬件配置的不同 WPF采用不同的Rendering Tier做渲染 下列情况请特别注意 因为在这些情况下 即使是处于Rendering
  • 服务器添加网卡

    原因 因为网络原因服务器需要添加网卡 1 确定主板卡槽 是否可以添加网卡 2 命令ip a 查看现有网卡 3 命令 cd etc sysconfig network scripts 查看文件列表 enpls0 网卡对应文件ifcfg enp

随机推荐