自动驾驶云服务 OCTOPUS-场景剧本(StoryBoard):执行顺序(Execution sequence)

时间:2024-10-30 16:07:55

执行顺序(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)
support.huaweicloud.com/usermanual-octopus/octopus-13-0013.html