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

esmini là gì

esmini là OpenSCENARIO player mã nguồn mở, ra đời từ dự án nghiên cứu chung “Simulation Scenarios” của Thụy Điển (khởi động năm 2018). Được sử dụng rộng rãi như một reference implementation nhẹ cho OpenSCENARIO 1.x — dễ đọc code, dễ tích hợp, hành vi dự đoán được. License MPL-2.0, hỗ trợ Windows / macOS / Linux / Android.

Nói ngắn gọn, esmini làm những việc sau:

  • Đọc file .xosc theo OpenSCENARIO 1.x.
  • Đọc file .xodr theo OpenDRIVE được tham chiếu từ đó.
  • Thực thi Storyboard, di chuyển entity theo trajectory và controller, xuất trạng thái kết quả.

Đây không phải full simulator vật lý như CARLA hay LGSVL. Đây là player nhẹ để “phát lại kịch bản OpenSCENARIO đúng như định nghĩa” — đó chính là giá trị cốt lõi.

esmini thực tế là đại diện tiêu biểu nhất trong mã nguồn mở có thể phát lại OpenSCENARIO 1.x một cách trực tiếp. Do đó, với các công cụ xuất OpenSCENARIO, “có phát được trên esmini không” là cách kiểm tra nhanh liệu đầu ra có đúng không.

Nhiều công cụ xuất file ASAM thường kiểm tra với esmini trước khi phát hành — ví dụ tài liệu RoadRunner có ghi “tương thích với CARLA, esmini, IPG CarMaker và bất kỳ simulator tuân thủ OpenSCENARIO nào khác”.

Tối thiểu cần:

  • .xosc (file OpenSCENARIO chính)
  • .xodr (mạng đường OpenDRIVE được tham chiếu bởi .xosc)
  • Tùy chọn: .osgb (cho 3D viewer) hoặc thư mục Models/ chứa model phương tiện tùy chỉnh

Đóng gói chúng thành zip để có thể phát lại cùng kịch bản trên máy khác hoặc trong CI. Cấu trúc này thường được gọi là “esmini bundle”.

drawtonomy có thể xuất file zip gồm .xosc + .xodr + run.sh. Với cài đặt esmini tiêu chuẩn, giải nén là phát ngay:

Terminal window
unzip <name>.zip
esmini --osc <name>/<name>.xosc --window 60 60 1024 768

Tuy nhiên cần lưu ý:

  • Exporter của drawtonomy chỉ bao phủ một phần OpenSCENARIO 1.3 và OpenDRIVE 1.8. Trigger có điều kiện, quét tham số, Storyboard phức tạp, junction OpenDRIVE — hiện chưa được xuất.
  • Model phương tiện dùng model tích hợp sẵn của esmini, không cần chuẩn bị .osgb riêng.
  • Nên coi đầu ra là “để xem nhanh và cảm nhận” chứ không phải kịch bản hoàn chỉnh. Kịch bản quy mô lớn hoặc kiểm tra có tham số cần viết XML tay hoặc dùng thư viện Python.