分享

PreScan快速入门到精通第四十三讲用户自定义数据库

 小明师兄 2022-07-15 发布于江苏


目的:用户库元素是由用户根据PreScan的(预定义)能力定义的元素。
使用方法:与它所基于的元素相同。     
GUI中的位置:作为一个用户库元素(UL ELements)。
格式:N/A
MBOX:在汇编表中根据基本类型显示。

使用:
PreScan的用户库向导可以帮助导入以下文件格式的模型:
*.DAE文件:DAE文件扩展名与COLLADA相关联,COLLAborative Design Activity用于建立交互式3D应用程序的交换文件格式。
*.osg文件:OpenSceneGraph应用程序使用的基于ASCII码的格式。AutoDesk3ds Max等程序可以生成这种文件格式。
*ive文件:OpenSceneGraph应用程序所使用的二进制格式,如AutoDesk3ds Max等程序可以生成这种文件格式。诸如AutoDesk3ds Max等程序可以生成这种文件格式。

PreScan支持以下元素类型的定义:
自然元素(NatureElement):自然元素类型的静态元素,InfraOtherInfraOther类型的静态元素;BasicActor:(简化)Actor类型的动态元素。
AnimatedActorActor类型(简化)的动态元素,包含一个动画动作。

一旦使用用户库向导定义了用户元素,每个元素将在与分配类型相关的库元素选项卡中变得可见。

此外,每个类型将自动继承对象配置对话框中相应的对象配置标签。举个例子,导入了一辆战车。对象配置和传感器相关的对话框如图所示。


准备工作
在某些情况下,需要做特殊的准备才能导入模型。
对于导入基于*.kmz的模型,请参考如何导入Google SketchUp模型?本节描述了使模型可用于用户库向导的预处理步骤。

对于导入基于 *.osg 的模型,请确保所有的纹理文件都在同一个目录下。
*.osg模型本身。这是必需的,因为PreScan否则无法找到osg文件中提到的纹理文件。请注意,这个问题不会发生在基于*.iove的模型上,因为iove文件本身就包含所需的纹理文件。

一般来说:如果元素在导入并在VisViewer中显示为黑色。可以通过修改 "实验->灯光设置"来克服这个问题,不使用阴影和灯光。

用户有责任验证导入模型的原点位置及其尺寸和大小。
这也适用于根据PreScan坐标系对模型进行定位。目前在自动定位模型方面有一些帮助(见步骤5:定位)。
请注意,ULE向导的 "侧面 "视图(在步骤6:文件选择2D中)应该是模型的右侧视图。

限制条件
作为PreScan交付的一部分的PreScan型号具有特定的功能,PreScan用户不能轻易编程。此外,灯光不能与用户库元素一起使用。其他适用的限制与碰撞检测、动画和简单的动态有关。请参考下表中的概述。
类型         碰撞检测                      动画                                              简单动力学
Nature Eleme nt
可用,使用视觉模型作为碰撞模型
不适用:通常这些元素没有动画功能
不适用:这些要素根本没有动态。
InfraOt her
不提供:需要特别准备的模型
不可行:无法在前手进行预定义。
Basic Actor
仅适用于在ULE向导中使用 "带车辆动力学的ULE  "选项创建的模型。
Anima tedAct  or
不适用:通常这些元素没有动画功能
不可行:不能在前手预定义。


43.1 使用PreScan的用户库元素向导
要访问该向导,从 "工具"菜单中选择 "用户库元素"
如果在以前的 PreScan 会话中没有定义文件夹,则会出现 "用户库元素向导 "的主屏幕。


 "添加文件夹"按钮可以定义文件夹,在那里可以存储特定的模型,例如 "我的建筑 " "我的执行器"。注意,左边的按钮是文件夹,右边的按钮是要定义的模型。

输入新库元素的步骤如下:
1. 欢迎
2. 命名
3. 文件选择 3D与仿真
4. 尺寸
5. 定位
6. 文件选择2D
7. 文件选择CS
8. 定义车辆动力学(适用于带有车辆动力学的ULE)。
9. 完成
步骤1:欢迎
假设一个基于IVE的汽车模型需要改进。在添加了一个名为MyCars的文件夹后,会出现一个界面。

描绘了文件夹名称'MyCars'(如果在向导主界面没有输入,仍然可以在这里手动输入),元素类型的选择。需要注意的是,在这个界面的底部提到了要经过的步骤数(8个步骤中的1个)。
第二步:命名
其次,可以输入模型名称,因为它将出现在GUI中,以及描述性文字。

3步:文件选择 3D与仿真
第三步,可以通过选择3D模型本身进行分配。

默认情况下,属于所选元素类型的ORM模型会被自动继承。个人的ORM模型--如果有的话--也可以通过取消选中ORM复选框来添加。然后屏幕将变为。

步骤4:尺寸

第四步涉及设置或检索模型的尺寸(或边界盒大小)。默认情况下,模型的尺寸是自动确定的。它们可以手动修正。改变其中一个参数会自动调整其他参数的比例。这意味着只需要知道对象的长度、高度或宽度。如果手动输入的值需要恢复到PreScan确定的值,请按获取尺寸。注意,应用于模型的坐标系原点将是边界框的中心。


本屏可以查看车型的尺寸。根据惯例,一辆典型的汽车的长度也应该大于宽度。如果加载了谷歌Sketchup模型,通常不会出现这种情况(如上图)。这些模型可以通过输入额外的旋转90度来正确定位。下图为修正后的数值。另外缩放可能是适用的,可以通过缩放系数来输入。

步骤5:定位
第五步涉及分配模型的重心(CoG)。默认情况下,CoG被放置在中间(50%)和边界框的底部(0%)。同样,可以手动更改。

这个屏幕还提供了一个模型检查:根据模型定义文件,模型的原点与边界框原点不一致。
通过勾选 "自动转换原点"框,PreScan可以自动将模型转换到(50,50,0)的位置。
当模型已被定位,使绘图原点在模型的后轮之间时,不应使用此选项。

步骤6:文件选择 2D
第六步,手动或自动分配PreScan所需的图片。如果没有了,按获取图片,PreScan将制作所需的图片。

步骤7:文件选择CS
在第7个屏幕中,汇编表(CS)的图片也是以类似的方式分配的。

步骤8:定义车辆动力学
只有在使用Vehicle Dynamics创建ULE时,才会出现 "定义车辆动力学 "页面。

也可以将车辆动力学添加到用户库元素(ULE's)。这可以通过使用现有的 "工具->用户库元素向导...",并将单选按钮从 "经典ULE "改为 "带有车辆动力学的ULE "来完成。对话框将(略微)改变其内容,任何在该模式下创建的ULE将被认为是一个带有车辆动力学的基本执行器(即车辆)。

首先必须选择一个 "通用车辆文件夹",它将成为根目录,所有带有VDULE将存储在该目录中(子目录)。默认情况下,"通用车辆文件夹 "将位于(经典的)"用户库文件夹 "旁边的一个名为 "通用车辆 "的文件夹中。在这个根目录下,可以通过点击 "添加文件夹 "按钮来指定个人子目录。当选择了这样的子目录后,可以通过点击'新建元素'按钮来启动向导,这与'经典ULE'对话框是一样的。

添加ULE+VD的向导也和以前差不多,有9个单子需要处理。
1)指定新ULE的文件夹名称(默认为选定的子目录),并选择元素类型(目前只能是 "BasicActor")。
2)为新的ULE输入一个名称,这个名称将在菜单中使用,以及(可选)一个描述。
3)为新的ULE选择一个3D文件。
为了尽可能与预定义模型同步,移动3D模型,使绘图原点在车辆的后轮之间。
Google Sketchup 可以用来编辑 COLLADA (*.dae) 文件(导入和导出为 COLLADA)。
4) 调整3D模型的大小以适应车辆的实际尺寸,这里只使用统一的缩放比例,以防止3D图像变形。
另外,还可以在这里输入 "附加旋转 "来围绕Z轴旋转车辆。
当从Google 3DWarehouse网站导入COLLADA (*.dae)模型时,通常需要这样做,当宽度值大于长度值时,就会清楚地显示是否需要旋转,最常见的是必须输入90度的附加旋转。
5)在这个阶段,可以指定车辆的CoG位置(作为边界框的百分比)。请注意,CoG的更精确值可以在以后定义车辆动力学时给出(8)
6)这里可以选择2D视图,这将在菜单、对话框和实验编辑器中使用。这里的 "侧面 "视图应该是 "右侧 "视图,即车辆应该从左到右 "行驶"
如果车辆指向相反的方向,回到步骤4),并添加180度的旋转。
7)选择要在MATLAB/Simulink模拟期间的 "编译表 "中使用的图片。目前,通用车辆/用户库元素使用的是标准图片。
8)定义车辆动力学。
首先输入车辆的实际尺寸和轮距的值。这些值可以不同(详细)的3D尺寸4)。请注意,车辆动力学计算将使用这里输入的值,而VisViewer将使用步骤4)的值。
轮距值将用于建立点击 "定义车辆动力学 "按钮时出现的侧视图图片中的测量值。请注意,在进入向导的下一张表之前,需要点击该按钮(并以 "确定 "离开对话框)。

 "车辆动力学"对话框中,可以为车辆指定默认的动力学参数。需要做的一件事是定义前轴和后轴的位置;由于这些位置的值与轮距值有关,而且这些位置实际上是用来建立图片中的测量值,所以要在预定的位置上获得标记可能会有点麻烦,因为移动一个标记会影响另一个标记的位置。在这里使用增量的方法通常会很快得到一个合理的结果。请注意,此对话框中 "后轴 ""前轴 "的值是以 "图片单位 "而非米为单位的;这些标记的位置以及轴距(L[m])的值,实际上是用来更精确地确定图片的水平尺寸。车辆后部偏移"(Offset [m])是根据标记的位置和轴距值计算出来的数值,单位是米。

在调整 "传动系"选项卡的 "传动系 "部分的齿轮数时要注意,这里必须删除齿轮,但不能增加齿轮。移除一个齿轮后,必须点击 "确定 "按钮,并重新进入对话框,才能相应地调整换挡策略。

9) 准备好了当选择满意后,现在可以创建带VDULE。请注意,在母体对话框中点击 "Ready "后,新创建的元素可以在菜单中常规的"Actor -> Cars & Motors "部分找到,位于预定义车辆之间。

如上所述创建的ULE+VD有一个已知的限制,那就是它们不能与 "3D "简单动力学一起使用。这将需要在3D模型中识别车轮,目前还不支持。

完成
最后一屏(第8/9屏)确认PreScan库对象成功创建。

 "完成 "键,模型将出现在向导的主屏幕中。

刷新和关闭后,一个库元素将出现在UL元素选项卡中,然而,带VDULE将(默认情况下)出现在菜单中常规的 "执行器->汽车和汽车"部分。

请注意,鼠标移到文本上的文字代表在步骤2中输入的描述性文字。

当打开一个新的实验或打开一个现有的实验时,库元素将出现在相应的标签中。

GUI的构建区域的外观。

VisViewer中的外观。

汇编表中的外观。

43.2 如何导入Google Sketchup模型?

什么是Google SketchUp
Google SketchUp是一款可以用来创建、修改和分享3D模型的软件。它比其他3D建模程序更容易学习,这也是为什么已经有那么多人在使用它的原因。

由于它比较容易使用,很多人都用它来创建自己的3D模型。Google 3D Warehouse(https://3dwarehouse./index.html)是一个集合了建筑物、桥梁、汽车以及宇宙中其他一切事物的3D模型。3D Warehouse是完全免费的,每个人都可以找到并分享任何他们喜欢的模型。

Google3D Warehouse中找到的物体样本包括:。

SketchUp对象导入PreScan
为了将Google SketchUp对象导入PreScan,用户需要进行一些预处理步骤。这些步骤是
安装Google SketchUp 8。可以在这里找到一个功能有限但足够的免费版本:http://www.google.com/sketchup/index.html
安装完成后,打开选择的模型。可以在谷歌3D仓库中找到一个很好的模型来源:https://3dwarehouse./index.html
一旦模型被打开,检查是否OpenGL设置 - 要访问使用窗口 ->首选项--"使用硬件加速 " "使用快速反馈 "开启。


如果需要,请更改模型单位。注意,模型中使用的单位可以在这里更改。帮助 -
型号信息。确保选择"十进制 "格式设置,如下面的截图所示。PreScan SketchUp 模型导入器不支持 "建筑""工程 ""小数 "格式。如果一个模型是用后一种格式设置创建的,选择 "十进制 "就可以了,因为SketchUp会自动进行转换。此外,请检查所选择的单位是 """毫米" "厘米",因为 "英寸 ""英尺 " PreScan 中是不可行的。

使用文件->导出->三维模型,同时选择COLLADA (*.dae)格式,模型可以在PreScan中使用。

现在可以使用PreScan的用户库元素向导导入模型。
重要说明----模型要求
用户有责任根据 PreScan 坐标系统设置 SketchUp 模型的方向。这也适用于模型的原点位置和大小。所有这些都可以使用SketchUp 的旋转、尺寸和移动工具手动完成。使用卷尺(在Sketchup的工具菜单中)可以检查尺寸)。
用户有责任将模型单位设置为公制/十进制,见上文。
Sketchup中定义的雾、阴影、光线设置等功能不导出,可以在以后的PreScan中设置。
模型需要有纹理。如果没有,它们在PreScanVisViewer中就会显示为黑色。
为了获得良好的动画和模拟性能,建议使用多边形数量相对较少(=三角形)的模型。PreScan Actor模型通常有300个多边形。
动画层次结构(如果有的话)会被导入,但由于目前还不支持导入模型的动画,所以在PreScan中不会使用。

KMZ文件夹结构
如果导出到存储导入模型的目标文件夹('MySketchUpExportedModels')成功,将出现一个 kmz 文件。下一步就是解压到目标文件夹(例如,'MyBuildings')。

在模型有纹理的情况下--应该如此--如下所示。
一个名为models的文件夹,包含一个.dae文件(描述几何体)。
一个名为doc.kml的文件,描述模型在地球仪上的位置(对PreScan没有任何用处,但对Google Earth有用)。
一个名为textures.txt的文件,其中包含了对所使用的纹理的引用;一个名为images的文件夹,其中包含了作为纹理的图片。
在没有纹理的情况下,textures.txt文件是空的,而名为images的文件夹则完全没有。因此,在PreScanVisViewer中,模型将显示为黑色。
维护这个结构是很重要的,因为当把模型导入PreScan时,会对它进行搜索和解析。

欢迎申请加入智能驾驶交流学习群,加小编微信号zhijiashexiaoming

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多