发送和接收双车道变换场景数据

这个例子说明了如何使用模拟3D消息集仿真三维信息获取当您运行双车道变更操作块与三维可视化环境中进行通信。具体来说,可以使用:

  • 仿真三维信息获取阻止取回车辆机动过程中有多少锥命中。

  • 模拟3D消息集块,以控制交通信号光。

对于所需的最低硬件来运行示例,请参阅三维可视化引擎的要求

运行双车道变更操作击中锥

随着三维可视化环境中启用,运行一个双车道变更操作命中锥体。

  1. 创建并打开双车道变换参考应用项目的工作副本。

  2. 启用3D可视化环境。在可视化子系统,打开3D引擎阻挡掩模,并选择启用。应用更改并保存模型。

    另外,在MATLAB®命令提示符下,输入验证码。

    这使3D环境查看代码

  3. 在模型的顶层,设置车道变换基准发生器阻止参数,使车辆不顺利完成动作。设置这些块参数,应用更改,并保存模型。

    • 演习开始时间

    • 纵向入口速度设定值40

    另外,在MATLAB命令提示符下,输入验证码。

    见代码,设置参数

  4. 运行演习。作为模拟运行,在AutoVrtlEnv窗口中,可以看到车辆撞击的锥体。

利用仿真三维信息获取块检索数据锥

使用仿真三维信息获取阻止取回车辆机动过程中有多少锥命中。默认情况下,机动采用双车道变换的场景。

  1. 导航到可视化> 3D引擎子系统。右键单击3D引擎块,然后选择面具>下看面具。在可视化> 3D引擎> 3D引擎子系统,插入这些块:

    • 仿真三维信息获取

    • 显示

    • 数学函数

  2. 设置仿真三维信息获取块参数,以便检索块锥从双车道变换场景数据。设置这些块参数,应用更改,并保存模型。

    • 信号名称,SigNameNumOfConesHit

    • 数据类型,数据类型布尔

    • 邮件大小不同,msgsize[2 15]

    • 采样时间-1

    另外,在MATLAB命令提示符下,输入验证码。

    见代码,设置参数

  3. 设置数学函数输出维参数。当你运行仿真时,数学函数块输出[15 2]阵列。

    另外,在MATLAB命令提示符下,输入验证码。

    见代码,设置参数

  4. 连接仿真三维信息获取数学函数显示块,如图所示。确认块参数。保存模型。

  5. 验证模拟3D场景配置之前的程序执行仿真三维信息获取块。这样一来,虚幻引擎®三维可视化环境准备前的数据仿真三维信息获取块接收它。要检查块执行顺序,右键单击块,然后选择属性。在一般选项卡,确认这些优先设置:

    • 模拟3D场景配置-0

    • 仿真三维信息获取-1

    关于执行顺序的更多信息,请参阅控制和显示执行顺序(金宝appSIMULINK)。

  6. 运行演习。作为模拟运行时,显示块与更新ReadMsg布尔值1当车辆撞击相应的锥形。

    结果表明,车辆命中SM_Cone20SM_Cone29SM_Cone3​​0在演习中。

    该表提供了双车道变换场景锥名称对应于ReadMsg数组元素。

    仿真三维信息获取ReadMsg

    虚幻®编辑锥名称

    仿真三维信息获取块数组元素

    虚幻编辑器锥名称

    ReadMsg(1,1) SM_Cone5 ReadMsg(2,1) SM_Cone10
    ReadMsg(1,2) SM_Cone4 ReadMsg(2,2) SM_Cone09
    ReadMsg(1,3) SM_Cone3 ReadMsg(2,3) SM_Cone08
    ReadMsg(1,4) SM_Cone2 ReadMsg(2,4) SM_Cone07
    ReadMsg(1,5) SM_Cone01 ReadMsg(2,5) SM_Cone06
    ReadMsg(1,6) SM_Cone15 ReadMsg(2,6) SM_Cone20
    ReadMsg(1,7) SM_Cone14 ReadMsg(2,7) SM_Cone19
    ReadMsg(1,8) SM_Cone13 ReadMsg(2,8) SM_Cone18
    ReadMsg(1,9) SM_Cone12 ReadMsg(2,9) SM_Cone17
    ReadMsg(1,10) SM_Cone11 ReadMsg(2,10) SM_Cone16
    ReadMsg(1,11) SM_Cone25 ReadMsg(2,11) SM_Cone3​​0
    ReadMsg(1,12) SM_Cone24 ReadMsg(2,12) SM_Cone29
    ReadMsg(1,13) SM_Cone23 ReadMsg(2,13) SM_Cone28
    ReadMsg(1,14) SM_Cone22 ReadMsg(2,14) SM_Cone27
    ReadMsg(1,15) SM_Cone21 ReadMsg(2,15) SM_Cone26

利用模拟3D消息集块以控制交通信号灯

  1. 导航到可视化> 3D引擎子系统。右键单击3D引擎块,然后选择面具>下看面具。在可视化> 3D引擎> 3D引擎子系统,插入这些块:

    • 模拟3D消息集

    • 数据类型转换

    • 楼梯发电机

  2. 设置模拟3D消息集块参数以使得该块的交通信号的数据发送到双车道变换的场景。设置这些块参数,应用更改,并保存模型。

    • 信号名称,SigNameTrafficLight1

    • 采样时间-1

    该表提供了现场交通信号灯的颜色对应于WriteMsg在双车道变换的场景值。

    模拟3D消息集WriteMsg

    TrafficLight1颜色

    0 红色
    1 黄色
    2 绿色

    另外,在MATLAB命令提示符下,输入验证码。

    见代码,设置参数

  3. 设置数据类型转换块参数数据转换为INT32。设置这些块参数,应用更改,并保存模型。

    • 输出数据类型INT32

    另外,在MATLAB命令提示符下,输入验证码。

    见代码,设置参数

  4. 设置楼梯发电机块参数来发送一个命令,对应于红色,黄色和绿色交通灯信号。设置这些块参数,应用更改,并保存模型。

    • 时间[0,2,3,5,8]

    • 振幅[0,0,1,2,2]

    • 采样时间1

    另外,在MATLAB命令提示符下,输入验证码。应用程序块更改和保存模型。

    见代码,设置参数

  5. 连接块,如图所示。确认块参数和信号连接。保存模型。

  6. 验证模拟3D消息集之前的程序执行模拟3D场景配置块。那样,模拟3D消息集虚幻引擎3D可视化环境接收它之前准备的信号数据。要检查块执行顺序,右键单击块,然后选择属性。在一般选项卡,确认这些优先设置:

    • 模拟3D场景配置-0

    • 模拟3D消息集--1

    关于执行顺序的更多信息,请参阅控制和显示执行顺序(金宝appSIMULINK)。

  7. 运行演习。作为模拟运行,在AutoVrtlEnv窗口,你可以看到TrafficLight1光变从红到黄绿色。

    时间范围(S)

    WriteMsg

    TrafficLight1颜色

    0-3

    0 红色

    3-5

    1 黄色

    5-8

    2 绿色

也可以看看

||||

相关的例子

更多关于