Bỏ qua để đến nội dung

drawtonomy và viết tay OpenSCENARIO XML

Viết trực tiếp XML OpenSCENARIO bằng tay vẫn là workflow bình thường và trong nhiều trường hợp đó là cách đúng. drawtonomy không thay thế workflow đó — nó chỉ bao phủ phần layout, và chỉ một phần của specification.

Viết XML trực tiếp phù hợp hơn trong những trường hợp:

  • Kịch bản nhỏ và cần kiểm soát từng byte.
  • Đang sinh XML tự động từ DSL hoặc công cụ code generation.
  • Cần dùng specification mà visual tool không xử lý (conditional trigger, parameter sweep, custom controller, Storyboard phức tạp, traffic flow model).
  • Kịch bản được quản lý chung trên git và ưu tiên XML diff ổn định hơn visual editing.

Trong tạo kịch bản thực tế, XML viết tay hoặc output từ generation pipeline là con đường chính.

Những gì drawtonomy có thể export hiện tại

Phần tiêu đề “Những gì drawtonomy có thể export hiện tại”

Theo exporter, phạm vi hỗ trợ là một phần của OpenSCENARIO 1.3:

  • Road network 2D nhìn từ trên xuống (làn, giao lộ, linestring đơn giản) export thành .xodr OpenDRIVE 1.8 (một phần).
  • Đặt tĩnh xe, người đi bộ, tín hiệu, vạch kẻ đường dưới dạng <ScenarioObject> / <Pedestrian>.
  • Quỹ đạo đơn giản của participant dưới dạng <FollowTrajectoryAction>.

File .xosc export ra có thể chạy cảnh đơn giản trên esmini. Nên coi đó là điểm xuất phát.

Đây là những điểm được đề cập trong roadmap exporter:

  • Phần tử <junction> của OpenDRIVE.
  • Export biển báo dạng <signal>.
  • Profile tăng/giảm tốc, sự kiện dừng, quỹ đạo liên động với tín hiệu, đổi làn, Storyboard multi-actor phức tạp hơn.
  • Conditional trigger, parameter sweep, custom controller, traffic flow dày. Nói chung mọi thứ vượt quá “đặt tĩnh + quỹ đạo đơn giản” đều chưa hỗ trợ.

Nếu cần những điều này, viết XML tay hoặc sinh từ code.

  1. Dùng drawtonomy phác thảo layout trực quan, xác định cấu trúc làn và vị trí participant.
  2. Export esmini bundle, xác nhận pattern đơn giản chạy được.
  3. Mở .xosc bằng text editor, thêm tay những phần drawtonomy chưa export (trigger, khai báo parameter, Storyboard phức tạp, v.v.).
  4. Lưu .drawtonomy.svg làm nguồn hình cho kế hoạch kiểm thử / luận văn / slide.

drawtonomy làm phác thảo, XML là source thực tế — đó là sự phân công.

Trong thế giới OpenSCENARIO, cuối cùng mọi công cụ đều sinh ra XML (hoặc tương đương DSL) ở một giai đoạn nào đó, nên viết tay XML là nền tảng. Exporter của drawtonomy, scenariogeneration, Scenic, RoadRunner, Blender DSC đều sinh ra XML cuối cùng. Chính nhờ những người đọc/ghi XML trực tiếp mà tiêu chuẩn giữ được là tiêu chuẩn, và các công cụ sinh XML đều được hưởng lợi từ tính tương tác mà cộng đồng đã xây dựng xung quanh tiêu chuẩn.