更新时间:2024-05-13 GMT+08:00
分享

执行顺序 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)
分享:

    相关文档

    相关产品