自动驾驶云服务 OCTOPUS-场景剧本(StoryBoard):执行顺序(Execution sequence)
执行顺序(Execution sequence)
OSC2.0场景剧本StoryBoard通过执行顺序Execution Sequence和触发器Trigger来支持用户设计各种场景。StoryBoard中有parallel和serial两种执行指令,最外层执行指令之前需要加上do来使场景剧本生效。其中:
- parallel:同步执行下方代码块内的动作action。
- serial:依次执行下方代码块内的动作act。
例如下方样例中,do parallel:下的assign_init_speed,assign_init_position和wait elapsed(10s) 是同步执行的。而serial:下的lead_vehicle.change_speed在Ego.activate_controller完成之后执行。
由于初始动作InitAction内的action同步执行,且InitAction与story之间不涉及顺序执行,建议场景最外层统一使用parallel。
样例
m_profile: dynamics_shape = linear do parallel: # InitAction Ego.assign_init_speed(15mps) Ego.assign_init_position(position: Ego_InitPosition) # Story serial: # act1 Ego.activate_controller(true, true) lead_vehicle.change_speed(target: 20mps, rate_profile: m_profile, rate_peak: 0.3mpss) serial: # act2 wait elapsed(10s) lead_vehicle.activate_controller(true, true)