[Prescan] Prescan与Simulink联合

文章目录

  • 基本结构
  • Test Automation
  • Model Data API
    • Objects
    • Sun
    • Weather
      • Fog
      • Precipitation
    • Sensor Models
    • Utility functions
      • prescan.experiment

笔记翻译自prescan帮助文档,侵删

基本结构

[Prescan] Prescan与Simulink联合_第1张图片

Block Description
Self input port & demux Containing data of the object itself
Trajectory blocks Containing all trajectories. If multiple trajectories are coupled to one actor,a switch enables the user to switch between them. If the user has generated a path definition file the object elapsed track velocity can be manipulated. Note: An actor (linked to a trajectory) stops at the end of the trajectory.
Control block Containing control logics. This block is only present in case user specified control is selected in the GUI.
Dynamics block Containing the vehicle dynamics. This block can contain simple dynamics or user specified dynamics. In case no dynamics is selected an empty dynamics block is inserted, in order to enable the user to insert manually dynamics. The empty dynamics block contains a mux block to the state port, in order to help the user supplying the correct signals to the state port.
State output port block Sending the state signals to the state port block at experiment level. Be aware that the state port contains two modes: dynamics & positioning. Always check whether the desired mode is selected.
Game Controller input port & HID Controller demux block Containing signals retrieved from Game Controller (Logitech MOMO, G27,G29 or Custom) control.
Sensors input port & demux block Containing signals retrieved from the sensors.
Visualization Actuator mux &output port blocks Sending data to the visualization port blocks.

Prescan使用非虚拟总线的形式进行与Simulink的数据交互

碰撞检测选项:

Component 碰撞模型
Vehicles Actual geometry
Buildings Actual geometry
Traffic Signs Actual geometry
Information Boards Only poles
Matrix Sign / Information Plate Actual geometry (Detectability the same as the parent overhang).
Nature Elements Rough shape
Road segments None
Underlays None
User-Defined Models Actual geometry
Generated infrastructure (Guardrail,line placement, etc) No

具体设置见General Settings对话框。
Prescan提供了三种形式的自动化测试方式:

  • Test Automation : 参数直接进行修改,不对GUI做任何修改
  • Test Automation with rebuild:先rebuild试验,可以结合命令行界面实现。
  • Data Model API :允许用户使用脚本自行修改。

Test Automation

[Prescan] Prescan与Simulink联合_第2张图片
数值类这里不说了,只需要注意角度的单位是deg,下表给出了drift type、noise type、detection type三种功能对应的参数变化表格:

Sensor Variable Conversion
TIS Drift Type 0: None 1: Gaussian 2: Unidirectional
TIS Noise Type 0: Additive 1: Multiplicative
AIR Detection Type 0: BoundingBox 1: Bounding Box Center 2: CenterOfGravity

Model Data API

worldmodel存储了试验中的大部分信息,包括对objects、objects之间的关系、照明信息、天气参数等。
大部分worldmodel参数都可以读取、修改。

Filed name Short description
experimentName [readonly] The name of the experiment. Must not be modified.
experimentDescription The description of the experiment. This field might be omitted in the worldmodel if no description was added during experiment creation
sensorRandomSeed The random seed value which is used to initialize random generator of the experiment. Using the same random seed guarantees repeatability of the experiment.
experimentOrigin The origin of the experiment specified as a longitude, latitude and altitude.
simulationConfiguration [read-only] Specifies the frequency the simulation is running.
object An array with all configurable objects in the experiment
material An array of materials available in the experiment. Some objects refer to one of the materials defined in this array.
connectionTable Specifies the connection between road lane segments
userObjectType An array with objects grouped by their type. The information from this array is used by certain sensors, e.g. Image Segmentation Sensor
articulatedActor An array with relationships (e.g. tuck/trailer) between objects in the experiment.
sun Configuration of the sun
sky Configuration of the sky
terrain Configuration of the terrain. Few types of terrain can be used, e.g. grass, desert,etc.
weather Configuration of the weather, e.g. fog and precipitation. This field might be empty if no weather was specified in the PreScan GUI
physicsEnvironment Settings of the physics environment. One can change the air density, gravitation,air temperature, etc.

Objects

每个目标的ID都是确定且唯一的。使用Model Data API之前需要确认目标是存在的。(Matlab isfield命令)

field name description
ID unique identification number of the object
name Unique name for general purposes, e.g. “StraightRoad_1”.
objectTypeName The object type, e.g. “StraightRoad”, the object is a straight road.
modelFile The model filename (e.g. car.osg) or the node name within the parent model, e.g. “BrakeLightR”
modelLocation An object may have a 3D Model associated with it.The location of the file is determined by an enumeration value: 1. mlUnknown: Nothing is known about existence or location 2.mlNone: There is no model 3.mlContainer: There is no model but there may be children 4. mlModelDepo: The model is located in the modeldepo 5. mlExperimentDir: The model is located in the experiment folder (Models subfolder) 6.mlParentModel: The model is embedded in the parent’s model
objectTypeID Object type. Consult the prescan.types.ObjectTypeID enumeration for available values
numericalID Unique identification number on the compilation sheet in Matlab/Simulink.
description A description of the object sensorDetectable Specifies if the object is detectable by any sensor sensorDetectionColor Some sensors use the color to uniquely identify the object. If the field doesn’t exists for a given object a default color of the object type will be used
collisionDetectable Specifies if the object participates in collision detection
pose Contains the position and orientation of the object
subType Possible subtypes are: 1. typeBasic: No extra data 2.typeUnderlay 3.typeVehicle 4.typeRoad 5.typeDirtSpot 6.typeAbstractObject 7.typeTrafficSignPole 8.typeTrafficSignPlate 9.typeTrailer 10.typeHuman 11.typeTrafficSignElement 12.typeInformationBoard 13.typeRoadMarkin If an object has no further information it is of typeBasic. Examples of typeBasic objects are: Non-car vehicles (and their children), Buildings, Nature elements, Highway overhang children, Light element pivots and Sensor holders.
child An array of children objects. An object can have multiple children, e.g. a car can have multiple wheels.
light List of light sources. Light sources are treated separately. A single object can have multiple light sources, e.g. a car can have multiple lights.
staticModel When a scene contains many objects of the same type, that are never changed individually (e.g. trees), a graphics system can optimize memory. The following flag specifies if an object is static: 1: This object’s 3D model is equal to all other models of this type 0: This object’s 3D model may differ from other models of this type.
materialID A unique identification number of the material of this object. A list of materials can be found in the worldmodel.material array recolorMap The filename of a recolor map, a texture that specifies (in its alpha component) which parts of a 3D Model are recolored. The filename is searched for in the /ModelDepo/Visual folder
animation Some actors can be animated. The animation index and update time are passed through.

Sun

field name description
powerRatio Unitless quotient of set power and the power of a default sun (in case of explicit definition: 688 W/m2).

Weather

weather包括了两个部分:Fog和Precipitation

Fog

field name description
Field name Description
enabled Specifies if the fog calculation is enabled
name The name of the selected fog configuration
color The color of the fog
start The fog starts at this distance from the observer [m]
visibility The fog ends at this distance from the observer [m]
mode Can be “exp”, “exp2” or “linear”
density The density of the fog is calculated from the visibility: density = –ln(0.005)/(1.6*visibility).

Precipitation

这里的降水表示的是降雨或降雪

field name description
subType typeNone 1. typeRain Rain 2. typeSnow Snow
name The name of the favorite, if selected in the editor, for example “Default Moderate_Rain”
animation Specifies if the particles should be animated or not
color The color of the precipitation particles
density Number of particles per 1000 m3
direction The movement direction of the particles
hardness A measure for the opacity of the particles [0-1], where 0 means fully transparent and 1 means fully opaque
particleSize The size of the particles [m]
shape The filename of the image file used for the particle, for example “Snow.tga”
shutterTime The shuttertime influences the length of the rain streaks [s]
oscillationAmplitude The amplitude of the snowflake dynamics, default 0.06 [m]
oscillationPeriod The period of the snowflake dynamics, default 1.5

Sensor Models

field name description
cammodel [deprecated] Used for the RemoteViewerFederate and VisViewer
viewerproxymodel Used by the VisViewer
airsensormodel Used by the AIR sensor
almsmodel Used by the Analytical Lane Marker sensor
brsmodel Used by the Bound Rectangle sensor
cameramodel Used by the Camera, Fisheye, Depth and Image Segmentation sensors
collisiondetectionmodel Used by the Collision detection sensor
communicationmodel Used by the IR Beacon, IR OBU, RF Beacon, RF OBU
dynamicsmodel Used for the vehicle dynamics generation
lanemarkermodel Used by the Lane Marker sensor
lidarmodel Used by the Lidar sensor
ocsmodel Used by the Object Camera sensor
radarmodel Used by the Radar sensor
tismodel Used by the Technology Independent sensor
radarmodel Used by the Radar sensor
tismodel Used by the Technology Independent sensor
ultrasonicmodel Used by the Ultrasonic sensor

Utility functions

prescan.experiment

filename = prescan.experiment.getDefaultFilename()
[value, result] = prescan.experiment.getFieldValue(inStruct, name)
simOut = prescan.experiment.runWithDataModels(models, varargin)
[inStruct, result] = prescan.experiment.setFieldValue(inStruct, name, value)
[isValid, resultMsg] = prescan.experiment.validate(models, path)

  • prescan.worldmodel
  • prescan.sensors
    《太多了,看官方文档吧》

你可能感兴趣的:(Simulink,无人驾驶汽车学习)