因个人学习暂不会用到Prescan,关于Prescan的学习笔记暂时停止更新,有兴趣的同学可参见下面网址。
以下资料是对B站上学习视频的整理,主要来源:https://space.bilibili.com/268138391/
,大家一起学习哦
下面以直道为例子,演示一些其他属性的设置。
如下图,右击路段,在弹出的菜单中点击Edit road joint
。
弹出如下界面,点击one to one
,就可以实现一段道路可以同时连接另外两段。
效果如下:
如图,选中要编辑的路段,右击Object configuration
,弹出下图界面:
按照上图进行各个属性的编辑,就可以改变车道线颜色、虚线/实线/双实线/双虚线、路肩等设置,其中,选择每个属性右下角的Apply XXX to all
就可以实现对所有道路的统一修改,按照上图所设置的效果如下:
这里的标志是指粉刷在道路上的如转向箭头,掉头箭头,斑马线等。
从右侧直接拖入,点击就可以进行属性编辑。
路径Path+速度Speedprofile=轨迹
自动标记·Inherited Path Definition
点击图中所示图标
发现每个车道两端都有一个黄色的圆圈,如图
点击各个圆圈,即可实现自动连接,同时,也可以点击不同车道的圆圈,实现变道操作。效果如下图:
手动标记·Manual Path Definition
点击上图图标,就可以进行路径定义,完全是手动画点,点与点之间的连线可以是直线,曲线,样条曲线,变道专用曲线等等,如下图所示:
路径的属性设置
如上图,选中路径,右击Object configuration
,弹出如下界面:
第一个选项卡中包括了各段曲线的类型以及相关的参数,第二个选项卡可以给路径上添加一些车道线,障碍物等等。
要配置Speedprofile,首先要添加一辆车,在右上角的关系树中Speedprofile
选项就可以展开,如下图
双击上图中蓝色背景的Speedprofile_1
,就可以打开Speedprofile Editor
,基本操作选项如下图所示:
各个选项卡所示见下图:
用一个例子来说明:
假设:想要研究两辆车在路口相遇的情况,现在定义的轨迹如下图:
运行后结果如图:
由图中不难看出,一辆车到达交汇点时,另一辆还很远,为了解决这个问题,可以使用轨迹同步。
Synchronize Trajectories
,弹出响应对话框。Set as sync time
,即实现轨迹同步。如下图,将进度条拖到起点,发现参考车的起始位置没有改变,而另一辆车的起始位置发生了改变。在上图关系树中选择一个汽车,双击,弹出以下界面,根据下图操作提示即可实现多轨迹分配。
在关系树中双击一个汽车,就能得到如下图对话框,下面分别介绍各个选项卡的作用。
Trajectory · 轨迹
界面如上图所示,其具体用法在1.3.4中已经有过讲解,这里不再赘述。
Sensor Properties · 传感器属性
界面及各部分作用见下图。
Control · 控制
Physics · 物理参数设定
如上图,可以看到设置Human对话框里的选项卡和汽车是一样的,但是有些属性是不能设置的,比如说动力学模型等。
如上图,点击工具栏上的按钮,弹出Simulation Scheduler
的对话框。
如上图,将Human View拖到右边的object 上既可以在3Dview里面得到一个视角,Human View可以拖到车上,或者是其他别的地方。
如上图,拖到车上时会弹出如下界面,可以选择坐在车上的什么位置。点击如下图位置所示就可以得到Human View,注意这个视角是一个固定的,而且仅供观察使用。
如上图,选择相应的标志牌拖到右边的场景里,就会弹出相应的对话框进行设置。此外,还可以对交通标志牌进行自定义设置,如下图。
点击完后,弹出下图窗口,进行如下操作。
选择好照片之后,回到刚才的界面,再右击,选择Assign plate texture
,选择刚才导入的图片即可,如下图。
整体效果:
Image Based
即为后面放一张图片作为背景,Generated
为计算机通过计算生成的,其中在Image Based
下的skybox
效果分别如下:select skybox | 说明 | 示例 |
---|---|---|
None | 什么也没有 | |
Air | 蓝天白云 | |
Desert | 沙漠背景 | |
Mountain | 高山背景 |
Sun location and intensity · 太阳的位置与强度
这个设置里面有两个选项:
本设置有两个子项,分别是:
各个效果实际情况见下表
效果名称 | 说明 | 示例 |
---|---|---|
None | 什么效果都没有 | |
Fog | 雾(150m能见度) | |
Rain | 下雨(大雨) | |
Snow | 下雪(大雪) |
注意:雾和降水的情况是可以共存的。
待补充…………
可以提供准确的目标物真值信息,如目标车的车速、距离、方位角等,目的是在前期对算法进行快速验证。
Configurable parameters · 配置参数
Position & orientation · 传感器位置&方向
Range · 传感器范围
Opening angle (sweep angle) · 扫描角度
Output signals per target · 输出信息
Distance to target · 目标距离
Azimuth angle (θ) with target · 目标方位角
Elevation angle (Ф) with target · 目标仰角
Absolute velocity of target · 目标绝对速度
Absolute heading of target · 目标绝对方向
Target ID · 目标ID
将AIR拖到车辆上,就会弹出操作界面(如下图),下面介绍各个参数的配置说明
Center:返回的距离是传感器到物体几何中心的距离。
CoG:返回的距离是传感器到物体重心的距离。
5. 右上角按钮
可以隐藏/显示右边overview框中传感器探测范围预览(即绿色部分)。
6. Number of detectable objects · 可探测物体数量
返回几个距离,如果设置为1,就返回最近的距离。
在传感器设置完成后,点击build
按钮进行生成,之后点击Invoke Simulink Run Mode
,运行Matlab · Simulink。
打开Matlab后,在左侧的文件夹中找到.slx
的simulink文件,这是我们刚才在点击完bulid之后自动生成的,双击打开该文件。
打开simulink模型后,下面介绍simulink界面出现的各个模块:
双击BMW_X5模块,就可以进入该车的Simulink模块。
可以清晰的看到两个输入的情况,其中自车输入包含了位置信息、角度信息、速度信息等;AIR传感器输入的包括障碍物的距离、角度、ID、速度、朝向等信息,与前面所讲的一致。
【待补充……】
TIS是一种普通的扫描设备,用户可以轻松地将其配置为特定的传感器。 TIS构成了PreScan详中Detail Sensors中的激光雷达,雷达和超声波传感器的基础。
虽然前面提到过,TIS可以模拟毫米波雷达,但是如果在实际应用中确定使用毫米波雷达,就可以直接选择,毫米波雷达与TIS传感器设置大同小异,但是在某些方面还是要更加详细。
注意:上面的对话框里弹出了警告,因为毫米波雷达只会被下雨干扰,因此这种隐式的定义方式必须要在天气设置时选择雨天。
与之前的雷达的配置界面相比,整体上还有有些差距,这里详细介绍一下。
Output Simulink Image
的复选框,如果不选择,则不输出到Simulink,就没有必要设置分辨率了。Specify CCD Parameters
的复选框,选中,则可以通过CCD和摄像头的焦距来定义视角范围;不选中,就可以直接定义可视角度。Misalignment选项卡
主要是对摄像头输入的图像可以进行错位调整,以便能更好的测试系统的鲁棒性。
Camera Effects选项卡
设定摄像头传回画质的效果,点击Manage Effect
按钮,可以给摄像头添加效果。
这里设定相机效果为defaultBlur,查看摄像头返回图像可以通过两种方式:
Simulation stop time
设置为0,然后点击运行,此时是空运行。Dispaly
模块,通过该模块输入摄像头捕捉到的R、G、B图像,双击该Display模块,弹出设置,其中勾选Active复选框,则运行Simulink时会自动弹出右图所示的窗口,不勾选则不会弹出,同时在设置里还可以对摄像头捕捉到的图像进行保存。对于实际应用,可以删除Display模块,将RGB输出到相应的图片处理模块上去。
注意:这里显示的图像一直黑屏,目前还未找到解决方法,后续补充。
更新:问题已解决,可参考:https://blog.csdn.net/dreautumn/article/details/111319911
鱼眼摄像头跟普通摄像头设置差别不大,有区别的在于可以进行视角范围的设置,一般鱼眼摄像头的视角范围更广。
鱼眼摄像头的效果如下右图所示。
两个作用:
除了常见的配置传感器位置的选项卡,本传感器选项卡里还提供了一个Output
的选项卡,就是设置这些面到传感器距离的。
可以在VisViewer中看到效果,需要进行以下设置:
首先Experiment
->General Settings
->3D-World
->勾选Show Sensor Beams
打开全局开关。然后在传感器的定义界面,将Visualize
选项改为True。
得到的效果如下:
打开Simulink,可以看到LaneMakerSensor的输入已经被打包,删除掉Terminator图标,从Simulink Library Browser
里面找到Bus Selector
,连接好之后,双击Bus Selector,就可以看到要输出的各个值。
与上面的传感器不同的是,这个传感器所输出的是车道线的拟合多项式或者车道线拟合多项式的系数。
Open Useful Boxes
按钮,点开,在弹出的工具库中找到BRS data on Camera image
拖到汽车的Simulink模块中,并且按照相应的接口连接好,点击运行。Output Camera Image
设置为True。功能
同上面的传感器一样,这个传感器返回的点云是真实的点云,而不是激光雷达扫描出来的点云,也是给传感器提供一个真值的参考。
可视化操作
1.在配置界面,输出形式要选择World Position
,Intensity
复选框可选择,也可不选择(目前不知道这个复选框的作用,因此把选与不选两种情况都尝试了一下),为了使视角更广阔,我们这里把横向角度改为120°。
2.在Simulink界面,点击Useful Block Boxes
(详细介绍见2.5.4),找到里面的Point Cloud Sensor XYZ Plot
或Point Cloud Sensor XYZ Range Plot
拖动到汽车的Simulink模块,连接好接口运行。
注:左边的图片是没有勾选Intensity的,右边的是勾选了的。
根据Intensity意思并且根据两个结果比较猜测,勾选了这个选项的应该是能返回反射强度。
注:左边为同一类物体,右边为同一个物体。
按照下图进行设置,至于为什么这么设置之后的内容会讲。设置后之后进行Build。
编译好之后在VisViewer场景如下:
打开simulink,点击regenerate。
设置仿真时间为19s。
运行,可以看到在没有传感器没有算法的情况下的结果:
主车会直接穿过气球车并继续向前,直到仿真结束。
将这次结果作为对照组,将这个车设置为幻影:
右击
->Object Configuration
->Actuators
->Ghosting
点击Build,效果如下。
创建一个类型和轨迹和刚刚一样的车,作为实验组。
为了设置方便,这里选择用TIS传感器直接进行配置。
同样选择TIS传感器。
这里还是配置两个,一个是俯视视角,另一个为从主车侧后方视角。
设置完成后在VisViewer中效果如下:
这里直接调用Prescan自带的控制算法
D:\Users\Public\Documents\Experiments\TestScenarios\AEBS\includes_AEBSPreBrakingModel.mdl
前8项依次相连
表格的前8项一一对应连接即可。
从驾驶员模型接入的可以使用goto模块
插入goto模块、命名、连接,拖动下图所示蓝色箭头生成From模块,将该模块移动到相应位置连接。
从汽车动力学模型得到转速
拖动汽车动力学模型输出的-T-模块的蓝色箭头生成该模块对应的From模块,拖到相应位置,用Bus selector模块选出所需要的转速信息
最后的两个信号直接输入到Terminator
最后两个信号是刹车灯信号和TTC是2.6s时的信号,跟我们这次的控制没有关系。
改变goto/from标签的颜色
因为有多组goto/from标签,为了使表达更加清晰,可以改变他们的颜色
选中标签->右击->Format->Background Color->选择颜色
观测特定信号
对于AEB系统,我们对如下几个参数比较感兴趣
可以通过添加一个Scope模块来检测这些信息。
注意到在设置TIS时设置的最大检测目标数为32个,这里我们只需要观测到第一个障碍物的距离,因此用Selector模块,从32个里面选择第一个。同时给各个输入命名。
仿真界面如下:
运行完仿真之后,双击之前设置的scope模块,查看相关数据变化。
说明:
这个AEB系统跟业内的大部分AEB系统一样,根据TTC做判断
TTC<2.6s——系统给出报警
TTC<1.6s——系统给出半程制动 40%
TTC<0.6s——系统给出全力制动 100%
展开Prescan自带的AEB算法,该算法大致分为如下几个模块: