Salta ai contenuti

RoadRunner e OpenSCENARIO — una tabella di corrispondenza

Se conosci già MathWorks RoadRunner Scenario, gran parte dell’editor di scenari di drawtonomy ti risulterà familiare — i due tool organizzano lo stesso problema in modi simili, e entrambi usano lo standard ASAM OpenSCENARIO. Il vocabolario differisce in alcuni punti. Questa pagina mette in correlazione i tre sistemi.

RoadRunner Scenario è un prodotto desktop commerciale maturo con canvas 3D, libreria di asset, comportamenti veicolo incorporati, co-simulazione con CARLA e Simulink, e API gRPC. drawtonomy è un editor 2D gratuito basato su browser. Non sono lo stesso tool; lo scopo di questa pagina è mostrare che i concetti sono trasferibili.

RoadRunner ScenariodrawtonomyOpenSCENARIO 1.x
Scene Editing modemodo Scene
Scenario Editing modemodo Scenario
Logic editorla carta LOGICStoryboard
Action PhasePhaseAct
(le azioni vivono nelle fasi)EventEvent
ActorActorScenarioObject / Entities
ConditionTRIGGERStartTrigger
End conditionEND CONDITIONSStopTrigger
Fail conditionFAIL CONDITIONS(specifico del vendor)
Attributes paneil pannello attributi
Library Browser (assets)l’elenco TEMPLATEcataloghi Vehicle / Pedestrian
Scenario Parameters, Variablesil pannello {x}ParameterDeclarations, VariableDeclarations

Entrambi i tool condividono la suddivisione Scene / Scenario mode, e per la stessa ragione: la strada è un artefatto separato dal comportamento che vi si svolge.

L’unica vera differenza strutturale è come viene sequenziato il comportamento.

RoadRunner Scenario concatena fasi d’azione per attore, con condizioni poste tra di esse come nodi circolari. Ogni condizione determina quando termina la fase immediatamente prima di essa e inizia la fase successiva. Il comportamento si legge come una catena.

drawtonomy colloca gli eventi dentro una fase, e ogni evento porta con sé il proprio TRIGGER. Una fase ha una propria condizione di Start, e gli eventi al suo interno si attivano ogni volta che il loro trigger è soddisfatto. Il comportamento si legge come un insieme di regole attivate da trigger piuttosto che come una catena. Questo rispecchia il modello stesso di OpenSCENARIO, dove un Act ha uno StartTrigger e ogni Event ne ha uno.

In pratica: ciò che RoadRunner scrive come fase → condizione → fase, drawtonomy lo scrive come due eventi con trigger diversi nella stessa fase.

C’è ancora un’altra differenza nella nomenclatura: RoadRunner crea una fase d’azione iniziale per attore per il suo stato iniziale. drawtonomy mantiene lo stato iniziale sull’attore stesso — la casella Set initial speed nel pannello di posizionamento — e riserva le fasi per il comportamento.

RoadRunner ScenariodrawtonomyOpenSCENARIO 1.x
Change SpeedChange SpeedSpeedAction
Change LaneChange LaneLaneChangeAction
Change Lateral OffsetLateral OffsetLaneOffsetAction
Change Longitudinal DistanceKeep Longitudinal DistanceLongitudinalDistanceAction
Path FollowingFollow PathFollowTrajectoryAction
TeleportTeleportAction
Drive to PositionAcquirePositionAction

drawtonomy espone 35 azioni in totale, una per ogni elemento di azione di OpenSCENARIO.

RoadRunner ScenariodrawtonomyOpenSCENARIO 1.x
Simulation TimeSimulation timeSimulationTimeCondition
Actor SpeedActor speedSpeedCondition
Distance to ActorDistance to actorRelativeDistanceCondition
Distance to PointDistance to pointDistanceCondition
CollisionCollisionCollisionCondition
DurationDuration (solo condizioni di fallimento)
Time GapTime gap to actorTimeHeadwayCondition
Phase / event stateStoryboardElementStateCondition

L’elenco completo è nel riferimento trigger.

Entrambi i tool impostano di default lo scenario in modo che fallisca in caso di collisione. In RoadRunner questo default arriva con la fase iniziale dell’attore; in drawtonomy la sezione FAIL CONDITIONS inizia con Collision / Any actor già presente.

Due note affinché la documentazione e l’interfaccia non ti confondano:

  • Actor, participant, e entity significano la stessa cosa. La barra degli strumenti di disegno chiama lo strumento Participants, la barra degli strumenti dello scenario dice Add actor, l’intestazione del pannello attributi è ACTORS, e OpenSCENARIO li chiama ScenarioObject. Questi documenti dicono actor in tutto il testo.
  • Non esiste un pulsante denominato “Run”. Il pulsante ▶ sulla carta LOGIC avvia lo scenario; RUN è il badge di verdetto mostrato mentre è in corso.

RoadRunner Scenario esporta XML ASAM OpenSCENARIO, e drawtonomy lo importa. Esporta il .xosc insieme al .xodr OpenDRIVE della scena, quindi trascina entrambi sulla tela di drawtonomy — vedi Aprire e riprodurre uno .xosc esistente. Gli Act arrivano come fasi con i loro nomi originali, e gli eventi mantengono i loro trigger, azioni e priorità.

Nel senso opposto, drawtonomy esporta .xosc + .xodr da Hamburger → Export. Vedi Esportare OpenDRIVE + OpenSCENARIO.

Aspettati una conversione con perdite in entrambe le direzioni. Tutto ciò che è espresso come comportamento, asset o logica incorporata specifici del tool non ha rappresentazione OpenSCENARIO per trasferirsi, e la copertura dello standard per asset 3D è limitata per scelta di design. Quello che si trasferisce in modo affidabile è la parte che conta di più per la revisione: rete stradale, entità e storyboard.