Προσομοιωτής Οχήματος J1939

Προσομοιωτής οχήματος με υποστήριξη J1939 CAN

Επισκόπηση

Ο Προσομοιωτής Οχήματος ( gva-vehicle-sim ) είναι ένα ολοκληρωμένο εργαλείο δοκιμών και ανάπτυξης για την πλατφόρμα GVA (Generic Vehicle Architecture). Παρέχει ρεαλιστική προσομοίωση δυναμικής οχήματος με ενσωματωμένη δημιουργία μηνυμάτων διαύλου CAN J1939 , επιτρέποντας δοκιμές υλικού εν κινήσει χωρίς να απαιτείται φυσικό υλικό οχήματος.

Πλεονεκτήματα της προσομοίωσης J1939 για τη δημιουργία μηνυμάτων

🎯 Πλεονεκτήματα Ανάπτυξης & Δοκιμών

  1. Ανάπτυξη ανεξάρτητη από υλικό

    • Ανάπτυξη και δοκιμή εφαρμογών GVA χωρίς φυσικό υλικό CAN
    • Δεν χρειάζονται ακριβές μονάδες ECU οχημάτων ή πάγκοι δοκιμών
    • Παράλληλη ανάπτυξη σε πολλαπλές ομάδες
  2. Ρεαλιστική Συμπεριφορά Οχήματος

    • Δημιουργεί αυθεντικούς αριθμούς ομάδας παραμέτρων J1939 (PGN) και αριθμούς ύποπτων παραμέτρων (SPN)
    • Προσομοιώνει ρεαλιστική δυναμική οχήματος (ταχύτητα, στροφές, αλλαγές ταχυτήτων, φρενάρισμα)
    • Παρέχει δεδομένα αισθητήρα συγχρονισμένα με το χρόνο
  3. Μείωση Κόστους

    • Εξαλείφει την ανάγκη για οχήματα φυσικών δοκιμών σε πρώιμο στάδιο ανάπτυξης
    • Η εικονική διεπαφή CAN ( vcan0 ) επιτρέπει τη δοκιμή σε οποιονδήποτε σταθμό εργασίας Linux
    • Μειώνει τη φθορά του φυσικού υλικού
  4. Ταχεία Πρωτοτυποποίηση

    • Άμεση ανατροφοδότηση για την ανάπτυξη αλγορίθμων
    • Εύκολη δημιουργία και επανάληψη σεναρίου
    • Ρυθμιζόμενοι ρυθμοί μηνυμάτων και μοτίβα δεδομένων
  5. Δοκιμή ολοκλήρωσης

    • Επικύρωση λειτουργικότητας πύλης J1939
    • Δοκιμή ροής δεδομένων από θέματα CAN σε θέματα DDS
    • Επαλήθευση της απόκρισης του HMI στις παραμέτρους του οχήματος
  6. Αναπαραγώγιμες δοκιμές

    • Ντετερμινιστική συμπεριφορά οχήματος
    • Επαναλήψιμα σενάρια δοκιμών
    • Συνεπής γραμμή βάσης για δοκιμές παλινδρόμησης

📊 Υποστήριξη μηνυμάτων J1939

✅ Πλήρως Υποστηριζόμενα PGN (Εφαρμοσμένα στον Προσομοιωτή Οχήματος)

Ο προσομοιωτής οχήματος παράγει ενεργά τα ακόλουθα μηνύματα J1939 μέσω CAN και τα δημοσιεύει στο DDS μέσω της πύλης:

PGN Γοητεύω Ονομα Τιμή SPN Περιγραφή
61443 0xF003 EEC2 - Ηλεκτρονικός Ελεγκτής Κινητήρα 2 50ms 91, 92 Θέση πεντάλ γκαζιού, ποσοστό φορτίου κινητήρα
61444 0xF004 EEC1 - Ηλεκτρονικός Ελεγκτής Κινητήρα 1 100ms 190, 512, 513 Στροφές κινητήρα (RPM), ροπή στρέψης που απαιτείται από τον οδηγό, πραγματική ροπή στρέψης κινητήρα
61445 0xF005 ETC2 - Ηλεκτρονικός Ελεγκτής Μετάδοσης Κίνησης 2 100ms 522, 523, 524 Θέση συμπλέκτη, επιλεγμένη ταχύτητα, τρέχουσα ταχύτητα
61449 0xF009 VDC2 - Δυναμικός Έλεγχος Οχήματος 2 100ms 1807, 1808 Γωνία τιμονιού, ρυθμός εκτροπής
65253 0xFEE5 ΩΡΕΣ ΛΕΙΤΟΥΡΓΙΑΣ - Ώρες λειτουργίας κινητήρα 1s 247 Συνολικές ώρες λειτουργίας κινητήρα
65256 0xFEE8 VDS - Κατεύθυνση/Ταχύτητα Οχήματος 250ms 517, 519, 586 Ταχύτητα πάνω από το έδαφος, κατεύθυνση πυξίδας, πορεία
65258 0xFEEA ALT - Υψόμετρο 1s 580 Υψόμετρο GPS πάνω από την επιφάνεια της θάλασσας
65262 0xFEEE ET1 - Θερμοκρασία κινητήρα 1 1s 110, 174, 175 Θερμοκρασία ψυκτικού κινητήρα, θερμοκρασία καυσίμου, θερμοκρασία λαδιού
65263 0xFEEF EFLP - Στάθμη/Πίεση Υγρού Κινητήρα 500ms 96, 100, 94 Στάθμη καυσίμου, πίεση λαδιού, πίεση παροχής καυσίμου
65265 0xFEF1 CCVS - Σύστημα ελέγχου ταχύτητας/ταχύτητα οχήματος 100ms 84, 597, 598 Ταχύτητα οχήματος με βάση τους τροχούς, διακόπτης φρένων, διακόπτης συμπλέκτη
65267 0xFEF3 VP - Θέση οχήματος 250ms 584, 585 GPS γεωγραφικό πλάτος, γεωγραφικό μήκος
65269 0xFEF5 AMB - Συνθήκες Περιβάλλοντος 1s 108, 171 Ατμοσφαιρική πίεση, θερμοκρασία περιβάλλοντος
65271 0xFEF7 VEP1 - Ηλεκτρική Ισχύς Οχήματος 1 1s 167, 168, 158 Τάση μπαταρίας, τάση εναλλάκτη, τάση συστήματος φόρτισης
65276 0xFEFC DD - Οθόνη Ταμπλό 1s 182, 183 Ρυθμός καυσίμου (L/h), στιγμιαία οικονομία καυσίμου
0xEF00 0xEF00 PROP_A - Ιδιοκτησιακό Α (IONNIC USM) 250ms - Έλεγχος LED για τον πίνακα IONNIC USM ES-Key

Λεπτομερής λίστα SPN (Όλες οι υποστηριζόμενες παράμετροι)

Ειδικό Μητρώο Ειδικών Ειδών (SPN) Όνομα παραμέτρου PGN Μονάδα Ψήφισμα Οφσετ Σειρά
84 Ταχύτητα οχήματος με βάση τους τροχούς 65265 χλμ/ώρα 1/256 χλμ/ώρα 0 0-250 χλμ/ώρα
91 Θέση πεντάλ γκαζιού 61443 % 0,4% 0 0-100%
92 Ποσοστό φορτίου κινητήρα στην τρέχουσα ταχύτητα 61443/61444 % 1% 0 0-100%
94 Πίεση παροχής καυσίμου 65263 kPa 4 kPa 0 0-1000 kPa
96 Επίπεδο καυσίμου 65263 % 0,4% 0 0-100%
100 Πίεση λαδιού κινητήρα 65263 kPa 4 kPa 0 0-1000 kPa
108 Αερομετρική πίεση 65269 kPa 0,5 kPa 0 0-125 kPa
110 Θερμοκρασία ψυκτικού κινητήρα 65262 °C 1°C -40 -40 έως +210°C
158 Τάση συστήματος φόρτισης 65271 V 0,05 Β 0 0-3212 V
167 Τάση εναλλάκτη 65271 V 0,05 Β 0 0-3212 V
168 Τάση μπαταρίας 65271 V 0,05 V 0 0-3212 V
171 Θερμοκρασία περιβάλλοντος αέρα 65269 °C 0,03125°C -273 -273 έως +1735°C
174 Θερμοκρασία καυσίμου 65262 °C 1°C -40 -40 έως +210°C
175 Θερμοκρασία λαδιού κινητήρα 65262 °C 0,03125°C -273 -273 έως +1735°C
182 Τιμή καυσίμου 65276 Λ/ώρα 0,05 λίτρα/ώρα 0 0-3212 λίτρα/ώρα
183 Στιγμιαία οικονομία καυσίμου 65276 χλμ/Λ 1/512 χλμ/λίτρο 0 0-125 χλμ/λίτρο
190 Ταχύτητα κινητήρα 61444 Στροφές/λεπτό 0,125 σ.α.λ. 0 0-8031 σ.α.λ.
247 Συνολικές ώρες λειτουργίας κινητήρα 65253 ω 0,05 ώρες 0 0-210,554,060 ώρες
512 Ροπή κινητήρα κατά απαίτηση του οδηγού 61444 % 1% -125 -125% έως +125%
513 Πραγματική ροπή κινητήρα 61444 % 1% -125 -125% έως +125%
517 Ταχύτητα πάνω από το έδαφος 65256 χλμ/ώρα 1/256 χλμ/ώρα 0 0-250 χλμ/ώρα
519 Πορεία πάνω από το έδαφος 65256 βαθμός 1/128 μοίρες 0 0-360°
522 Θέση πεντάλ συμπλέκτη 61445 % 0,4% 0 0-100%
523 Τρέχουσα ταχύτητα μετάδοσης 61445 γρανάζι 1 -125 -125 έως +125
524 Επιλεγμένη ταχύτητα κιβωτίου ταχυτήτων 61445 γρανάζι 1 -125 -125 έως +125
580 Υψόμετρο 65258 μ 0,125 μ. -2500 -2500 έως +5531 μ.
584 Γεωγραφικό πλάτος 65267 βαθμός 10⁻⁷ βαθμοί -210 -90° έως +90°
585 Γεωγραφικό μήκος 65267 βαθμός 10⁻⁷ βαθμοί -210 -180° έως +180°
586 Πυξίδα 65256 βαθμός 1/128 μοίρες 0 0-360°
597 Διακόπτης φρένων 65265 - 2 μπιτ - Απενεργοποίηση/Ενεργοποίηση/Σφάλμα/Μη διαθέσιμο
598 Διακόπτης συμπλέκτη 65265 - 2 μπιτ - Απενεργοποίηση/Ενεργοποίηση/Σφάλμα/Μη διαθέσιμο
899 Λειτουργία ροπής κινητήρα 61444 - 1 0 0-15 (απαρίθμηση)
1807 Γωνία τιμονιού 61449 ραδιόφωνο 1/1024 ακτίνιο -31.374 -31,374 έως +31,374 ακτίνια
1808 Ρυθμός εκτροπής 61449 ακτίνιο/δευτερόλεπτο 1/8192 ακτίνια/δευτερόλεπτο -3,92 -3,92 έως +3,92 ακτίνια/δευτερόλεπτο

Σύνολο: 15 PGN, 33 SPNs προσομοιωμένα ενεργά

🔲 Μη υποστηριζόμενα PGN (Δεν έχουν ακόμη υλοποιηθεί)

Τα ακόλουθα μηνύματα J1939 δεν δημιουργούνται αυτήν τη στιγμή από τον προσομοιωτή οχήματος. Αυτά αντιπροσωπεύουν πιθανές μελλοντικές βελτιώσεις:

PGN Γοητεύω Ονομα Προτεραιότητα Περίπτωση χρήσης Περίπλοκο
61440 0xF000 ERC1 - Ηλεκτρονικός Ελεγκτής Επιβράδυνσης 1 Χαμηλός Έλεγχος επιβράδυνσης/φρένου κινητήρα Μέσον
61441 0xF001 EBC1 - Ηλεκτρονικός Ελεγκτής Φρένων 1 Ψηλά ABS, κατάσταση συστήματος φρένων Ψηλά
61442 0xF002 ETC1 - Ηλεκτρονικός Ελεγκτής Μετάδοσης 1 Μέσον Λειτουργία μετάδοσης, αλλαγή σε εξέλιξη Μέσον
64971 0xFDCB VDHR - Απόσταση οχήματος (Υψηλή ανάλυση) Ψηλά Οδόμετρο με ανάλυση 5 mm Χαμηλός
64972 0xFDCC TCO1 - Ταχογράφος Μέσον Κάρτα οδηγού, ταχύτητα από τον ταχογράφο Χαμηλός
65132 0xFE6C TPMS - Παρακολούθηση πίεσης ελαστικών Μέσον Πίεση/θερμοκρασία μεμονωμένων ελαστικών Μέσον
65217 0xFEC1 PTODE - Συμμετοχή στην οδήγηση PTO Χαμηλός Κατάσταση λήψης ισχύος Χαμηλός
65248 0xFEE0 VDIST - Απόσταση οχήματος υψηλής ανάλυσης Ψηλά Συνολική απόσταση με ανάλυση 5 μέτρων Χαμηλός
65251 0xFEE3 ECFG - Διαμόρφωση κινητήρα Χαμηλός Μάρκα, μοντέλο, σειριακός αριθμός κινητήρα Χαμηλός
65252 0xFEE4 SHUTDN - Τερματισμός λειτουργίας Χαμηλός Παράκαμψη διακοπής λειτουργίας κινητήρα Χαμηλός
65260 0xFEEC VI - Αναγνώριση Οχήματος Μέσον Πλήρης μετάδοση VIN (μερική ενσωματωμένη) Χαμηλός
65279 0xFEFF CCVS1 - Σύστημα ελέγχου ταχύτητας/Ταχύτητα οχήματος 1 Μέσον Βελτιωμένα δεδομένα cruise control Χαμηλός
65098 0xFE4A EBC2 - Ηλεκτρονικός Ελεγκτής Φρένων 2 Ψηλά Κατάσταση μεμονωμένων φρένων τροχών Ψηλά
65099 0xFE4B EBC3 - Ηλεκτρονικός Ελεγκτής Φρένων 3 Μέσον Φθορά των τακακιών φρένων Μέσον
65110 0xFE56 IC1 - Συνθήκες Εισόδου/Εξόδου 1 Χαμηλός Πίεση/θερμοκρασία πολλαπλής εισαγωγής Μέσον
65172 0xFE84 RQST - Αίτημα Χαμηλός Αίτημα συγκεκριμένου PGN από ECU Μέσον
65226 0xFECA AT1I - Επεξεργασία 1 Εισαγωγή αερίου Χαμηλός Είσοδος φίλτρου σωματιδίων ντίζελ Χαμηλός
65227 0xFECB AT1O - Επεξεργασία 1 Εξόδου Αερίου Χαμηλός Έξοδος DPF, αισθητήρας NOx Χαμηλός
65247 0xFEDF EFL/P2 - Στάθμη/Πίεση υγρού κινητήρα 2 Χαμηλός Πρόσθετες πιέσεις υγρών Χαμηλός
65266 0xFEF2 LFE - Οικονομία Καυσίμου Μέσον Μέση/ταξιδιωτική οικονομία καυσίμου Χαμηλός
65270 0xFEF6 TD - Υπερσυμπιεστής Χαμηλός Πίεση υπερπλήρωσης, ταχύτητα τουρμπίνας Μέσον
65272 0xFEF8 VEP2 - Ηλεκτρική Ισχύς Οχήματος 2 Χαμηλός Επιπλέον ηλεκτρικά λεωφορεία Χαμηλός

Γιατί αυτά δεν εφαρμόζονται

Λόγος Επηρεαζόμενα PGN Κόμης
Δεν αφορά τον βασικό προσομοιωτή οχήματος ERC1, PTODE, SHUTDN, ECFG, AT1I, AT1O, TD 7
Απαιτείται μοντέλο φυσικής ελαστικών Σύστημα TPMS 1
Απαιτείται μοντέλο με ABS/φρένο EBC1, EBC2, EBC3 3
Απαιτείται προηγμένη μετάδοση ETC1 1
Χαμηλή προτεραιότητα / αισθητικό VI (VIN), VDHR, VDIST, TCO1, LFE 5
Απαιτείται μοντέλο καυσαερίων/εκπομπών IC1, AT1I, AT1O 3
Επίπεδο πρωτοκόλλου (όχι δεδομένα οχήματος) RQST 1
Διπλότυπες/βελτιωμένες εκδόσεις CCVS1, EFL/P2, VEP2 3

Σύνολο: 22 μη υποστηριζόμενα PGN

🛠️ Τεχνικά Χαρακτηριστικά

  • Υποστήριξη δικτύου οδών OpenDRIVE : Ακολουθήστε ρεαλιστική γεωμετρία δρόμων
  • Προσομοίωση Αυτόματου Κιβωτίου Ταχυτήτων : Αλλαγές ταχυτήτων με βάση την ταχύτητα και το γκάζι
  • Δυναμική Βασισμένη στη Φυσική : Επιτάχυνση, πέδηση, διεύθυνση με ρεαλιστικούς περιορισμούς
  • Ενσωμάτωση DDS : Άμεση δημοσίευση σε θέματα PSM αυτοκινήτων J1939
  • Qt6 GUI : Οπτικοποίηση σε πραγματικό χρόνο και χειροκίνητος έλεγχος

Αρχιτεκτονική πύλης J1939 σε DDS

Το ακόλουθο διάγραμμα ακολουθίας απεικονίζει την πλήρη ροή δεδομένων από τα μηνύματα διαύλου CAN J1939 μέσω της πύλης προς τους συνδρομητές DDS:

sequenceDiagram participant Sim as Vehicle Simulator participant CAN as CAN Bus (vcan0) participant Reader as SocketCanReader participant Decoder as J1939Decoder participant Gateway as J1939Gateway participant DDS as DDS Topic participant HMI as GVA HMI/LDMX Note over Sim,CAN: Message Generation Phase Sim->>Sim: Calculate vehicle state
(speed, RPM, gear) Sim->>CAN: Send PGN 61444
(EEC1: Engine Speed) Sim->>CAN: Send PGN 65265
(CCVS: Vehicle Speed) Sim->>CAN: Send PGN 61445
(ETC2: Transmission) Note over CAN,Decoder: CAN Reception Phase CAN->>Reader: Read CAN frame (29-bit ID) Reader->>Reader: Validate frame Reader->>Decoder: emit canFrameReceived() Note over Decoder,Gateway: J1939 Decode Phase Decoder->>Decoder: Extract PGN from CAN ID
(bits 24-8) Decoder->>Decoder: Extract source address
(bits 7-0) Decoder->>Decoder: Extract priority
(bits 28-26) Decoder->>Decoder: Decode SPNs from payload
(bit position, scale, offset) Decoder->>Gateway: emit j1939MessageDecoded() Note over Gateway,DDS: DDS Publishing Phase Gateway->>Gateway: Create C_Parameter_Group_Definition
(if first time) Gateway->>DDS: Publish PGN definition loop For each SPN in message Gateway->>Gateway: Create C_Parameter message
(sourceID, PGN, SPN, value) Gateway->>Gateway: Set metadata
(timestamp, status) Gateway->>DDS: Publish parameter end Note over DDS,HMI: Consumption Phase DDS->>HMI: onSampleReceived()
(C_Parameter) HMI->>HMI: Update speedometer HMI->>HMI: Update tachometer HMI->>HMI: Update gear indicator Note over Gateway: Status Reporting (1 Hz) Gateway->>Gateway: Update data source status Gateway->>DDS: Publish C_Data_Source
(gateway health)

Επεξήγηση διαγράμματος ακολουθίας

1. Φάση Δημιουργίας Μηνυμάτων

  • Ο Προσομοιωτής Οχήματος υπολογίζει ρεαλιστικές παραμέτρους οχήματος με βάση τις εισόδους του οδηγού και τη φυσική
  • Κωδικοποιεί παραμέτρους σε πλαίσια J1939 CAN με σωστή δομή PGN/SPN
  • Μεταδίδει σε εικονική διεπαφή CAN (vcan0)

2. Φάση Υποδοχής Καπνικής Νοσηλείας

  • Το νήμα Qt του SocketCanReader διαβάζει συνεχώς από τη διεπαφή CAN
  • Επικυρώνει τη μορφή πλαισίου CAN (29-bit εκτεταμένο αναγνωριστικό)
  • Εκπέμπει σήμα Qt με ακατέργαστα δεδομένα πλαισίου

3. Φάση Αποκωδικοποίησης J1939

  • Ο αποκωδικοποιητής J1939 εξάγει πληροφορίες πρωτοκόλλου από το CAN ID:
    • PGN : Αριθμός ομάδας παραμέτρων (προσδιορίζει τον τύπο μηνύματος)
    • Διεύθυνση πηγής : Αναγνωριστικό ECU (0-253)
    • Προτεραιότητα : Επείγον μήνυμα (0=υψηλότερη, 7=χαμηλότερη)
  • Αποκωδικοποιεί το ωφέλιμο φορτίο δεδομένων σε μεμονωμένα SPN χρησιμοποιώντας τη διαμόρφωση:
    • Θέση και μήκος μπιτ
    • Συντελεστής κλίμακας και μετατόπιση
    • Μονάδες μηχανικής

4. Φάση δημοσίευσης DDS

  • Η πύλη δημοσιεύει C_Parameter_Group_Definition (μεταδεδομένα PGN) κατά την πρώτη εμφάνιση
  • Για κάθε SPN στο μήνυμα:
    • Δημιουργεί μήνυμα C_Parameter με τιμή και κατάσταση
    • Προσθέτει χρονική σήμανση και αναγνώριση πηγής
    • Δημοσιεύει σε θέμα DDS
  • Περιοδικές ενημερώσεις κατάστασης (1 Hz) δημοσιεύουν την εύρυθμη λειτουργία της πύλης

5. Φάση Κατανάλωσης

  • Εφαρμογές GVA (HMI, LDMX) εγγραφείτε σε θέματα J1939 DDS
  • Λήψη ενημερώσεων παραμέτρων μέσω middleware DDS
  • Ενημέρωση στοιχείων UI (ταχύμετρο, στροφόμετρο, ένδειξη ταχύτητας)

Λεπτομέρειες πρωτοκόλλου

Δομή CAN ID J1939 (29-bit)

 Bits 28-26: Priority (0-7)
Bit  25:    Reserved
Bit  24:    Data Page (DP)
Bits 23-16: PDU Format (PF)
Bits 15-8:  PDU Specific (PS) - group extension or destination
Bits 7-0:   Source Address (SA)

PGN = (DP << 16) | (PF << 8) | (PS if PF >= 240 else 0)

Παράδειγμα αποκωδικοποίησης πλαισίου CAN

 CAN ID: 0x18F00400
Binary: 00011000111100000000010000000000

Priority:  0x6 (bits 28-26) = 6 (normal priority)
Reserved:  0   (bit 25)
DP:        0   (bit 24)
PF:        0xF0 (bits 23-16) = 240 (broadcast)
PS:        0x04 (bits 15-8)  = 4 (group extension)
SA:        0x00 (bits 7-0)   = 0 (engine controller)

PGN = (0 << 16) | (240 << 8) | 4 = 61444 (EEC1 - Engine Controller 1)

Γρήγορη Έναρξη

1. Προσομοιωτής κατασκευής οχήματος

 cd build
cmake ..
make gva-vehicle-sim

2. Ρύθμιση Εικονικού CAN

 sudo scripts/test/j1939/setup-vcan.sh

3. Έναρξη προσομοιωτή οχήματος

 # GUI mode with OpenDRIVE track
./build/bin/gva-vehicle-sim \
  --domain=0 \
  --opendrive=data/opendrive/ZalaZONE_full.xodr \
  --can-interface=vcan0

# Headless mode with J1939 only
./build/bin/gva-vehicle-sim \
  --domain=0 \
  --can-interface=vcan0 \
  --headless

4. Ξεκινήστε την πύλη J1939

 ./build/bin/gva-j1939-gateway \
  --domain=0 \
  --interface=vcan0 \
  --config=/etc/gva/j1939-config.json

5. Παρακολούθηση με LDMX

 ./build/bin/ldmx
# Navigate to J1939 tab to see live parameters

Διαμόρφωση

Διαμόρφωση προσομοιωτή οχήματος

Δημιουργήστε vehicle-sim-config.json :

 {
  "j1939": {
    "enabled": true,
    "sourceAddress": 0,
    "gatewayResourceId": 1000,
    "updateRateHz": 10
  },
  "vehicle": {
    "maxSpeed": 120.0,
    "maxRpm": 6000,
    "gearRatios": [3.5, 2.5, 1.8, 1.3, 1.0, 0.8],
    "engineIdleRpm": 800
  }
}

Διαμόρφωση πύλης J1939

Ανατρέξτε στο /etc/gva/j1939-config.json για ορισμούς PGN/SPN και παραμέτρους κλιμάκωσης.

Περιπτώσεις χρήσης

1. Ανάπτυξη HMI

  • Ανάπτυξη ταμπλό οχήματος χωρίς φυσικό όχημα
  • Δοκιμή απόδοσης και κινούμενων εικόνων του πίνακα οργάνων
  • Επικύρωση ορίων προειδοποίησης/συναγερμού

2. Δοκιμή αλγορίθμων

  • Δοκιμή αλγορίθμων οικολογικής οδήγησης με προσομοίωση κατανάλωσης καυσίμου
  • Επικύρωση λογικής προγνωστικής συντήρησης
  • Δοκιμή λήψης αποφάσεων για αυτόνομη οδήγηση

3. Δοκιμές Ενσωμάτωσης

  • Επαλήθευση ροής δεδομένων από άκρο σε άκρο: CAN → DDS → Εφαρμογή
  • Δοκιμή απόδοσης πύλης υπό φορτίο
  • Επικύρωση συγχρονισμού δεδομένων μεταξύ υποσυστημάτων

4. Εκπαίδευση & Επίδειξη

  • Ασφαλές περιβάλλον για την εκπαίδευση χειριστών
  • Επιδείξεις πελατών χωρίς όχημα
  • Εκπαιδευτικό εργαλείο για την αρχιτεκτονική GVA

Χαρακτηριστικά απόδοσης

Μετρικός Αξία
Ρυθμός δημιουργίας καρέ CAN Έως 100 Hz ανά PGN
Λανθάνουσα κατάσταση δημοσίευσης DDS < 5 ms (τοπικά)
Απόδοση πύλης > 1000 PGN/δευτ.
Χρήση CPU (προσομοιωτής + πύλη) < 10% (σύστημα 4 πυρήνων)
Αποτύπωμα μνήμης ~50 MB (συνδυασμένο)

Σύγκριση: Φυσική vs. Προσομοιωμένη

Αποψη Φυσικό Όχημα Προσομοιωτής
Κόστος Υλικού 50.000+ δολάρια 0$ (μόνο λογισμικό)
Ώρα εγκατάστασης Ώρες (καλωδίωση, διαμόρφωση) Πρακτικά
Αναπαραγωγιμότητα Περιορισμένο (μεταβλητότητα οδηγού) Τέλεια (ντετερμινιστική)
Ασφάλεια Κίνδυνος ζημιάς/τραυματισμού Μηδενικός κίνδυνος
Έλεγχος Σεναρίου Δύσκολο (καιρός, κίνηση) Πλήρης έλεγχος
Καταγραφή δεδομένων Απαιτεί εξοπλισμό Ενσωματωμένο
Παράλληλες δοκιμές Ένα όχημα κάθε φορά Πολλαπλές παρουσίες

Αντιμετώπιση προβλημάτων

Συνήθη προβλήματα

Δεν βρέθηκε η διεπαφή CAN

 # Verify vcan0 exists
ip link show vcan0

# Recreate if needed
sudo scripts/test/j1939/setup-vcan.sh

Δεν υπάρχουν μηνύματα DDS

 # Check gateway is running
pgrep -a gva-j1939-gateway

# Verify domain ID matches
./build/bin/gva-j1939-gateway --domain=0
./build/bin/gva-vehicle-sim --domain=0

Η πύλη δεν αποκωδικοποιεί μηνύματα

 # Check CAN frames are being sent
candump vcan0

# Verify configuration file
cat /etc/gva/j1939-config.json

Ζητήστε μια επίδειξη σήμερα.