主要内容

自动化控制的智能车辆通过Stateflow图表

这个例子展示了如何建模与智能车辆高速公路场景控制同样的决策逻辑。每辆车决定何时加速,减速,或改变车道基于定义的逻辑独立Stateflow®图表。因为驾驶条件(包括附近的车辆的相对位置和速度)不同于车辆,车辆,单独的图表对象在MATLAB®控制个人车辆在高速公路上。

打开驾驶场景

开始这个例子中,运行脚本sf_driver_demo.m。脚本显示一个三维动画的公路和一些车辆。视图关注单个车辆及其周边地区。因为这辆车沿着公路,独立Stateflow图表sf_driver显示了决定其行动的决策逻辑。

从一个随机的位置,每辆车试图旅行速度的目标。因为目标速度是随机选取的,车辆可以阻挠。在这种情况下,车辆将试图改变车道,恢复其目标速度。

类文件HighwayScenario定义了一个drivingScenario(自动驾驶工具箱)对象代表了3 d环境,包含高速公路和车辆。控制车辆的运动,drivingScenarioStateflow图表对象的对象创建一个数组。每个图表对象控制不同的车辆模拟。

为车辆执行决策逻辑

Stateflow图sf_driver包括两个顶级状态,LaneKeepLaneChange

LaneKeep状态是活跃的,相应的车辆保持车道的交通。在这种状态下,有两种可能的亚态:

  • 巡航时活跃区直接在前面的车是空的,车辆可以旅行速度的目标。

  • 遵循变得活跃区车辆的正前方时占领和目标速度比汽车的速度快在前面。在这种情况下,车辆被迫放慢速度,试图改变车道。

LaneChange状态是活跃的,相应的车辆试图改变车道。在这种状态下,有两种可能的亚态:

  • 继续时活跃区旁边的车辆安全是空的,车辆可以改变车道。

  • 中止时变得活跃区旁边的车辆。在这种情况下,车辆被迫留在车道。

状态之间的转换LaneKeepLaneChange谨慎的价值吗isLaneChanging。在LaneKeep状态,这个局部数据的图表真正的当亚态遵循是积极和有足够的空间在车辆变换车道。在LaneChange状态,这个局部数据的图表当车辆完成换车道。

另请参阅

(自动驾驶工具箱)

相关的话题