主要内容

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

此示例演示如何使用模拟3D消息集模拟三维消息获取块,以便在运行双车道变换机动时与三维可视化环境通信。具体而言,您可以使用:

  • 模拟三维消息获取封锁以获取在机动过程中车辆撞上了多少路障。

  • 模拟3D消息集阻挡控制交通信号灯。

有关运行该示例所需的最低硬件,请参阅虚幻引擎模拟环境的要求和限制

进行一次双车道变换动作,使其撞上圆锥体

启用3D可视化环境后,进行双线变道机动,撞到圆锥体。

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

  2. 启用三维可视化环境。在可视化子系统中,打开3 d引擎块掩码并选择启用。应用更改并保存模型。

    或者,在MATLAB上®在命令提示下,输入此代码。

    参见启用3D环境的代码

  3. 在模型的顶层,设置变道参考发生器封锁参数,使车辆无法成功完成机动。设置这些封锁参数,应用更改,并保存模型。

    • 演习开始时间5

    • 纵向进口速度设定值36

    或者,在MATLAB命令提示下,输入以下代码。

    请参阅设置参数的代码

  4. 执行这个动作30秒。当模拟运行时,在AutoVrtlEnv窗口中,你可以看到车辆撞击锥。

    参见运行模拟的代码

使用模拟三维消息获取块检索锥数据

使用模拟三维消息获取封锁以获取在机动过程中车辆撞上了多少路障。默认情况下,机动使用双车道变道场景。

  1. 导航到可视化> 3D引擎子系统。右键单击3 d引擎阻止并选择面具>看下面具.在Visualization > 3D Engine > 3D Engine子系统中,插入以下模块:

    • 模拟三维消息获取

    • 陈列

    • 数学函数

  2. 设定模拟三维消息获取块参数,以便块从双车道更改场景检索圆锥体数据。设置这些块参数,应用更改,并保存模型。

    • 信号的名字,SigName努莫夫科尼希特

    • 数据类型、数据类型布尔值

    • 消息大小,MsgSize15 [2]

    • 采样时间-1

    或者,在MATLAB命令提示下,输入以下代码。

    请参阅设置参数的代码

  3. 设定数学函数输出维度参数到转置。运行模拟时数学函数块输出[15 2]数组中。

    或者,在MATLAB命令提示下,输入以下代码。

    请参阅设置参数的代码

  4. 连接模拟三维消息获取数学函数,陈列块如图所示。确认块参数。保存模型。

  5. 验证模拟三维场景配置块在模拟三维消息获取块。这样,虚幻引擎®三维可视化环境准备数据前模拟三维消息获取block收到它。若要检查块执行顺序,请右键单击块并选择性质.在全体的tab,确认这些优先事项设置:

    • 模拟三维场景配置- - - - - -0

    • 模拟三维消息获取- - - - - -1

    有关执行顺序的详细信息,请参见控制和显示执行顺序

  6. 运行操作。当模拟运行时,显示块用ReadMsg布尔值1当车辆撞上相应的圆锥体。

    结果表明车撞了SM_Cone20在操作期间。

    属性对应的双道变道场景锥名称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 (7) SM_Cone14 ReadMsg(2、7) SM_Cone19
    ReadMsg (8) SM_Cone13 ReadMsg (8) SM_Cone18
    ReadMsg (9) SM_Cone12 ReadMsg (9) SM_Cone17
    ReadMsg (10) SM_Cone11 ReadMsg(2,10) SM_Cone16
    ReadMsg (11) SM_Cone25 ReadMsg (11) SM_Cone30
    ReadMsg (12) SM_Cone24 ReadMsg (12) SM_Cone29
    ReadMsg (13) SM_Cone23 ReadMsg (13) SM_Cone28
    ReadMsg (14) SM_Cone22 ReadMsg (14) SM_Cone27
    ReadMsg (15) SM_Cone21 ReadMsg (15) SM_Cone26

使用模拟3D消息集控制交通信号灯

  1. 导航到可视化> 3D引擎子系统。右键单击3 d引擎阻止并选择面具>看下面具.在Visualization > 3D Engine > 3D Engine子系统中,插入以下模块:

    • 模拟3D消息集

    • 重复序列楼梯

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

    • 信号的名字,SigNameTrafficLight1

    • 采样时间-1

    此表提供了与场景交通信号灯颜色相对应的场景交通信号灯颜色书面形式双车道变换场景中的值。

    模拟3D消息集书面形式价值

    TrafficLight1颜色

    0 红色的
    1 黄色的
    2 绿色

    或者,在MATLAB命令提示下,输入以下代码。

    请参阅设置参数的代码

  3. 设定重复序列楼梯阻塞参数以发送与红色、黄色和绿色交通灯信号相对应的命令。设置这些块参数、应用更改并保存模型。

    • 输出值向量:[0 0 0 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

    • 采样时间1

    • 输出数据类型int32

    或者,在MATLAB命令提示下,输入此代码。应用块更改并保存模型。

    请参阅设置参数的代码

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

  5. 验证模拟3D消息集块在模拟三维场景配置块。通过这种方式,模拟3D消息集在虚幻引擎3D可视化环境接收信号数据之前准备信号数据。要检查块执行顺序,请右键单击块并选择性质.在全体的tab,确认这些优先事项设置:

    • 模拟三维场景配置- - - - - -0

    • 模拟3D消息集- - - - - --1

    有关执行顺序的详细信息,请参见控制和显示执行顺序

  6. 运行机动。当模拟运行时,在AutoVrtlEnv窗口中,您可以看到TrafficLight1光线由红到黄再到绿。

    时间范围(s)

    书面形式价值

    TrafficLight1颜色

    0–3

    0 红色的

    3 - 5

    1 黄色的

    5 - 30

    2 绿色

另请参阅

||||

相关的例子

更多关于