Files
BQP/docs/MapEditor/VDA5050_Integration.md
2026-07-13 09:25:40 +07:00

2.7 KiB

VDA 5050 Integration / Tích hợp VDA 5050

📋 Overview / Tổng quan

MapEditor convert map data thành VDA 5050 Order messages để gửi đến robot.

🔄 Conversion Concept

graph LR
    subgraph "VDMA LIF Map"
        MapStations[Stations<br/>Physical locations]
        MapINodes[InteractionNodes<br/>Approach points]
        MapActions[Actions<br/>Behaviors]
        MapEdges[Edges<br/>Navigation paths]
    end

    subgraph "VDA 5050 Order"
        OrderNodes[Nodes<br/>Waypoints]
        OrderEdges[Edges<br/>Paths]
        OrderActions[Actions<br/>Tasks]
    end

    MapINodes -->|Map position<br/>+ deviations| OrderNodes
    MapActions -->|Copy action<br/>properties| OrderActions
    MapEdges -->|Map trajectory<br/>+ constraints| OrderEdges

    OrderActions -.->|Embedded in| OrderNodes

    style MapStations fill:#e6f3ff
    style MapINodes fill:#e6ffe6
    style MapActions fill:#f0e6ff
    style MapEdges fill:#fff0e6
    style OrderNodes fill:#e6f3ff
    style OrderEdges fill:#fff0e6
    style OrderActions fill:#f0e6ff

🔄 Order Generation Flow

sequenceDiagram
    participant FM as FleetManager
    participant PF as PathFinder
    participant Gen as OrderGenerator
    participant DB as Database

    FM->>PF: FindPath(startStation, endStation)
    PF->>DB: Load Stations & Edges
    PF->>PF: Run A* algorithm
    PF-->>FM: Path (stationIds[], edgeIds[])

    FM->>Gen: GenerateOrder(path, vehicleType)
    Gen->>DB: Load InteractionNodes for stations
    Gen->>DB: Load Actions for nodes
    Gen->>Gen: Build Order structure
    Gen-->>FM: VDA 5050 Order object

📋 Mapping Rules

InteractionNode → VDA 5050 Node:

  • nodeId: InteractionNode.interactionNodeId
  • sequenceId: Even numbers (0, 2, 4, ...)
  • nodePosition: From InteractionNode position
  • actions: From Actions table

Edge → VDA 5050 Edge:

  • edgeId: Edge.edgeId
  • sequenceId: Odd numbers (1, 3, 5, ...)
  • trajectory: From Edge.trajectory
  • maxSpeed: From Edge.maxSpeed

Action → VDA 5050 Action:

  • actionType: Action.actionType
  • blockingType: Action.blockingType
  • actionParameters: Action.actionParameters

🚗 Vehicle Type Filtering

Filtering Logic:

  • Load InteractionNodes for each station
  • Check vehicleTypeIds compatibility
  • Filter edges by vehicleTypeIds
  • Build Order với filtered elements only

Last Updated: 2025-11-13