自动化控制的智能车辆通过Stateflow图表
这个例子展示了如何建模与智能车辆高速公路场景控制同样的决策逻辑。每辆车决定何时加速,减速,或改变车道基于定义的逻辑独立Stateflow®图表。因为驾驶条件(包括附近的车辆的相对位置和速度)不同于车辆,车辆,单独的图表对象在MATLAB®控制个人车辆在高速公路上。
打开驾驶场景
开始这个例子中,运行脚本sf_driver_demo.m
。脚本显示一个三维动画的公路和一些车辆。视图关注单个车辆及其周边地区。因为这辆车沿着公路,独立Stateflow图表sf_driver
显示了决定其行动的决策逻辑。
从一个随机的位置,每辆车试图旅行速度的目标。因为目标速度是随机选取的,车辆可以阻挠。在这种情况下,车辆将试图改变车道,恢复其目标速度。
类文件HighwayScenario
定义了一个
对象代表了3 d环境,包含高速公路和车辆。控制车辆的运动,drivingScenario
(自动驾驶工具箱)drivingScenario
Stateflow图表对象的对象创建一个数组。每个图表对象控制不同的车辆模拟。
为车辆执行决策逻辑
Stateflow图sf_driver
包括两个顶级状态,LaneKeep
和LaneChange
。
当LaneKeep
状态是活跃的,相应的车辆保持车道的交通。在这种状态下,有两种可能的亚态:
巡航
时活跃区直接在前面的车是空的,车辆可以旅行速度的目标。遵循
变得活跃区车辆的正前方时占领和目标速度比汽车的速度快在前面。在这种情况下,车辆被迫放慢速度,试图改变车道。
当LaneChange
状态是活跃的,相应的车辆试图改变车道。在这种状态下,有两种可能的亚态:
继续
时活跃区旁边的车辆安全是空的,车辆可以改变车道。中止
时变得活跃区旁边的车辆。在这种情况下,车辆被迫留在车道。
状态之间的转换LaneKeep
和LaneChange
谨慎的价值吗isLaneChanging
。在LaneKeep
状态,这个局部数据的图表真正的
当亚态遵循
是积极和有足够的空间在车辆变换车道。在LaneChange
状态,这个局部数据的图表假
当车辆完成换车道。
另请参阅
drivingScenario
(自动驾驶工具箱)
相关的话题
- 为执行为MATLAB对象创建Stateflow图表
- 以编程方式创建驾驶场景(自动驾驶工具箱)
- 通过编程方式创建演员和车辆轨迹(自动驾驶工具箱)
- 定义道路布局以编程方式(自动驾驶工具箱)