PreScan功能介绍
1. Pre-processor or GUI: 预处理器或GUI
2. Engineering Workspace or Compilation Sheet:工程工作区或编译表
3. Main modules:主要模块
4. Process Manager:进程管理
5. Miscellaneous:其它项
1.1 预处理器或GUI
GUI的关键是其预定义和可自由配置的库元素(library elements),能够使用拖放操作快速构建测试场景。通过查看可生成的报告(reporting),预览(preview)和解析(parsing)等模式,帮助用户了解已建立的场景类型及已经使用的库元素及相应的配置。这些功能还可以帮助用户确定试验中需要在实际在Engineering Workspace中执行试验之前要解决的问题。同时GUI还可以完成自动转换较早版本的试验场景模型。
PreScan 2021中预处理器主要的部分,如下图所示:
在标准Microsoft Windows类型的控件和工具栏旁边,可以看到:
->在左侧的选项卡代表可用的各种库元素。库元素包括执行器(actors)(汽车,动画人物,卡车等),基础元素(infrastructural elements)(建筑物,道路,树木等)和传感器(sensors)(以及其他传感器)
->右侧上部是称作实验树(experiment tree):显示了实验中元素之间的关系。使用实验树,可以快速查看汽车上安装了哪种类型的传感器以及为其分配了哪些轨迹。在属性编辑器中不直接需要或不直接可见的信息(位于实验树的下方和下方)可以使用“对象配置”对话框访问,该对话框在将鼠标悬停在所选对象上时按鼠标右键即可调用。同时,其他选项(例如复制,粘贴和编辑)也可以通过这种方式访问。当然,当将鼠标悬停在构建区域中的对象本身上时,如果按下相同的鼠标按钮,也可以调用相同的选项。
->在中间的 build area区域中,可以俯视PreScan世界中放置的所有元素,它们是设置实验的主要用户界面。
1.1.1 Library items
预处理部分包含五种类别的library,他们分别是:
->带有被称为路基underlays环境(Environment)
->基础设施(Infrastructure),包括路段(road segment),建筑物(buildings),可扩展的所谓抽象对象(abstract objects)(稍后将详细介绍),自然元素(Nature Elements)和交通标志(traffic signs)等元素;
->具有诸如汽车(cars & motors),卡车(trucks)和公共汽车(busses),人类(humans)等元素的执行器,及用于标定传感器读数的标定元素(calibration elements)。
->具有预先定义的人类视觉(human view)的VisuAids,可以将其拖放到汽车或大地坐标系上。
下面对于上述元素库将做一些简要的说明:
执行器(Actor)
执行器是那些在试验场景中显示的有效目标,通常指车辆和行人。
执行器具有传感器属性,动力学模型,控制器模型和动画属性等,例如,可以点亮刹车灯并使车轮转动。执行器也可以绑定到它们必须遵循的轨迹。此处提供了一个执行器输入样本样板,其中显示了简单动力学模型(通常在PreScan中可用)在汽车上的使用情况。
基于MATLAB / Simulink的动力学和控制器模型,用户可以方便地实现自己模型的开发。同时动力学模型包括可能使用的CarSim和VeDyna等比较广泛使用的动力学模型.
执行器中非常特殊的类别是行人的类别。在PreScan中,可以使用三个人:骑自行车的人(cyclist),摩托车手(motorcyclist)和动画的人(animated human) (具有三种不同的姿势:静止,行走和奔跑)。请注意,骑自行车的人和摩托车手实际上可以操纵。如下图所示:
路段Road segments
可以在“基础结构库( Infrastructure)”选项卡下找到路段。除了直线路段(straights)和折弯路段(bends)等标准路段外,用户还会发现特殊的变体,例如入口和出口车道(entrance and exit lanes),合并路段(merge segment)和弯曲(curved road segments)路段。所有路段类型均可由用户自由配置:可以设置车道数量,行车方向,线型和颜色,环形交叉路口的车道数量等。此处的插图显示了可以在一分钟内完成的示例 :
摄像头传感器Camera sensor
可以将自己的单目或多目摄像头传感器拖放并安装在执行器上,当其在四处行驶时,会将运行时的周围环境输出成摄像机图像。下图是各种状态下的屏幕截图以及“编译表”中的显示形式:
TIS 传感器
该传感器结合了雷达和激光雷达技术,因此得名:技术独立传感器(Technology Independent Sensor TIS)。 它提供了三种基本的扫描感知模式,即:
->线扫描(Line Scan):这是最常用的模式,在该模式中,连续发射光束并水平或垂直捕获信息。
->Z扫描(Z-Scan beamwise):Z扫描是执行Z扫描模式的更为复杂的扫描形式;
->矩阵扫描(Z-Scan arraywise):可以将矩阵扫描与使用PC屏幕捕获工具捕获图像进行比较:以用户指定的捕获频率捕获整个图像并检索信息。当然,此信息不是在位图图像(RGB值)中找到的信息,而是特定的TIS信息,例如方位角和仰角等。
下图很好地说明了每个捕获周期内各种扫描模式之间的差异。蓝色单元格显示光束实际上在照亮场景的位置。
建筑物Buildings
可以在“基础结构库(Infrastructure)”选项卡下找到建筑物。这是一些可用建筑物的样本。还要注意树木。这些树使能通过检测树枝和树叶感知到遮挡!
抽象目标Abstract objects
也可以在“基础结构库(Infrastructure)”选项卡下找到抽象对象。抽象对象用于装饰场景,而不必过多关注细节等。所有抽象对象都是可伸缩的,可以设定传感器属性。以下对象已包含为抽象对象:教堂,工厂,房屋,办公室,矩形框等。
交通信号Traffic signs
在“基础结构库(Infrastructure)”选项中,同时可以快速创建交通信号标志
车辆操纵定义Car Maneuver Definition
在GUI界面中使用专用的工具可以很容易进行车辆操纵定义。假设想在两辆汽车之间设计一次碰撞事故。首先通过将路径组合在一起,创建需求的道路模型。可用的线段包括直线(straight line,),圆弧(arc),车道变化(lane change),高程变化(elevation change),贝塞尔曲线(Bézier curve)和回旋曲线(clothoid curve)。通过为它设定一个执行器actor,同时创建一条轨迹(它基本上是路径+速度信息)。可以使用鼠标或使用路径编辑器来修改路径。该界面还允许缩放和选择各个细分类型。使用速度曲线编辑器可以设置速度曲线。在下面的图片中,显示了两个轨迹以及路径编辑器和速度曲线编辑器。
+
当定义了另一个属于不同执行器的轨迹时,可以通过同步角色位置来重构接近碰撞。通过移动动画滑块并通过沿其轨迹移动执行器,可以使执行器彼此相对。一旦使用“同步(synchronize button)”按钮,轨迹就会随着时间的推移而发生变化,从而使执行器在正确的时间处在正确的位置。PreScan通过引入在所选轨迹的开始或结束处的延迟时间实现自动计算。
解析和编译机制Parse & Build Mechanism
所有警告对话框均已集中到一个名为“解析和编译(parse & build)”的模块中。在解析过程中,首先要检查实验仿真速率的一致性。失败时,给出了明确的问题描述,用户可以为识别的问题区域重新设置。成功完成所有解析步骤后,用户可以选择编译实验。编译过程涉及生成3D可视化所需的所有文件,并通过编译(Compilation Sheet)表进行实验。
PreScan的调度程序(scheduler)是使用直接链接到parse&build的检查机制。调度程序显示各个模块要求和/或要求的模拟速率。调度程序的这张图说明了PreScan的工作原理:在底部,PreScan引擎提供的用户定义的模拟步长。在右侧,可以看到“硬件在环”接口,在新版本中获得更新。
报告Reporting
存在两种类型的报告,即。关于对象的报告,显示它们具有什么属性(传感器属性,控制器的名称或类型等),以及关于传感器的报告,显示哪个传感器用于感知哪些对象及实现什么功能。
自动错误报告 Auto-error reporting
程序执行异常(即程序崩溃)时,PreScan会自动创建一个错误信息文件。该文件包含日志文件,以zip格式本身经历或导致崩溃的实验以及生成的错误消息的屏幕转储。请注意,也可以在不太严重的程序错误时手动生成此报告。
1.2工程工作空间或编译表(Engineering Workspace or Compilation Sheet)
编译表是PreScan仿真引擎的从属,并具有各种PreScan功能之间的所有连接。特殊的MATLAB / Simulink交互机制,使仅在PreScan生成和插入的特定块的需要时刷新。在用户重新生成实验后,将保留插入的Simulink块或模型,这可以避免大量的反工,节省大量的时间。例如,当使用GUI更改特定传感器的设置。
编译表中最引人注目的元素是执行器。其具有输入和输出端口。例如,中间的汽车(Toyota Previa)上装有三个系统。GPS系统(在PreScan中称为SELF端口),一个称为AIR(理想化传感器)的传感器和一个立体摄像机系统。右上角有一个表格,告诉实验中有哪些元素以及它们具有哪些特定的顶级属性。还要注意中间引入的块:该块输出碰撞检测信息。
在显示顶部的汽车下方(马自达RX-8)双击时,会发现由PreScan GUI生成的更多功能。PreScan生成的所有块均为灰色,而用户插入的块默认为黑色。在PreScan的GUI中定义了可以广播的各种消息。除了这些块外,还有一个GUI插入的轨迹和简单的动力学模型。
3D可视化观察器The 3D Visualization Viewer
3D可视化观察器用于可视化已建立的实验。可以使用预定义的视点(例如顶视图和默认场景视图),也可以在需要时定义自己的视点。可视化观察器带有使用鼠标的直观导航。同时也可以使用全屏模式,提高驾驶员对仿真场景的体验效果。
3D可视化查看器还用于生成影片和/或所选视点的单个图片。 支持的单个图片格式包括png和jpg.
1.3主要模块Main Modules
为了更好地了解产品功能和特性,应该首先了解PreScan包含的三个主要模块:
预处理模块Pre-processor 也可叫做 'the GUI':
预处理模块用于定义和修改试验工况和场景,Prescan试验场景通常包含一个定义的虚拟世界(道路、树木、建筑等),定义的执行器(行人、车辆等),其中每一个执行器都有自己的控制器或者动力学模型或者感知模型,及其它信息,例如跟随路径驾驶等。
工程工作空间 Engineering W orkspace:
工程工作区由专用的MATLAB / Simulink交互组成,通常称为“编译表”。该交互是PreScan模拟核心的从属,并具有各个PreScan模块之间的所有连接。编译表是工程师进行算法研究的主要界面。之所以选择MATLAB / Simulink,有多种原因,但最重要的是,MATLAB / Simulink是汽车世界上首选的仿真选择。MATLAB / Simulink中已经提供了许多控制和决策算法,可以很容易地将其导入并在进行任何转换进行重新使用。除此之外,使用MATLAB / Simulink还可以使用现代的V-Cycle开发工具(由dSPACE等推动)
3D可视观察器 3D Visualization Viewer:
该模块为提供了实验的多种观测点。例如如果开发者想通过驾驶员的视角观看仿真情况!其他选项包括预定义的视角,例如顶视图和向北或向南的视图。其导航控件非常直观,并提供了广泛的图片和动画生成功能。
还有另外两个对用户不可见的模块:
仿真引擎Simulation Engine:
仿真引擎或调度程序是PreScan的真正核心。在此模块中,将对传感器进行仿真并计算参与者的位置。它以1:1链接到PreScan的MATLAB / Simulink进行交互。
进程管理模块Process Manager:
进程管理器监督主要模块,包括仿真引擎。它同步和调度模块之间的各种信息流.
进程管理器监控主要模块GUI,MATLAB和VisServer。它同步和调度模块之间的各种信息流。界面中的按钮可用于启动这些模块,下图为PreScan配置的Windows命令窗口。在此窗口中,可以使用prescan run命令运行已编译的PreScan实验。
当启动GUI或Engineering Workspace(即为PreScan配置的MATLAB接口)时,Process Manager将自动启动。可以通过在Windows任务栏中右键单击并选择“打开”,使用图标打开Process Manager GUI...
通过从菜单中选择退出,可以同时停止所有PreScan进程。
PreScan同时带有实例,工具设置和后处理工具。
Demos
PreScan包含的一些实例,将教使用者如何在Prescan设置典型的实验,并帮助用户快速搭建自己的实验产场景。一些实例展示了标准PreScan传感器模型提供的功能(如噪声和漂移),另一个实例展示了如何重建交通场景,还有实例演示了对规避的仿真。
这些实例涵盖了不同关键字指示的领域。规避实例展示的关键词包括:合并驾驶员模型,在轨迹之间切换以及模型初始化。另一个带有动画的完整6自由度实例,其中汽车在双挂架之间发生旋转-作为关键字:引入了6自由度的车辆动力学模型,能够处理滑移的详细轮胎模型以及车轮和轮胎的动画及方向盘。
工具模块设置 Tool block sets
标准的PreScan安装还具有一些方便的工具,这些工具是基于MATLAB / Simulink的模块的形式。在工具库中可以找到以下块:
->一个简单的驾驶员模型,使用户可以在空间和时间(速度)上实际跟踪轨迹。该块读取设定点并实现节气门和转向角的控制。
->坐标转换块:此块将世界位置和速度转换为您自己的坐标系中的位置和速度。
->根据整个车身运动计算车轮位置的模块。该块被认为对于车辆动画很方便。
动画编译工具 Movie compilation tool
MovieGenerator是一种特殊的后处理工具,已开发为将3D Visualization Viewer生成的各个位图“粘合”在一起。这使用户可以选择观看动画的视角。