J1939 transportlīdzekļa simulators
Transportlīdzekļa simulators ar J1939 CAN atbalstu
Pārskats
Transportlīdzekļa simulators ( gva-vehicle-sim ) ir visaptverošs testēšanas un izstrādes rīks GVA (vispārējās transportlīdzekļu arhitektūras) platformai. Tas nodrošina reālistisku transportlīdzekļa dinamikas simulāciju ar integrētu J1939 CAN kopnes ziņojumu ģenerēšanu , nodrošinot aparatūras nepārtrauktu testēšanu, neprasot fizisku transportlīdzekļa aparatūru.
J1939 simulācijas priekšrocības ziņojumu ģenerēšanā
🎯 Izstrādes un testēšanas priekšrocības
Aparatūras neatkarīga izstrāde
- Izstrādāt un testēt GVA lietojumprogrammas bez fiziskas CAN aparatūras
- Nav nepieciešami dārgi transportlīdzekļu vadības bloki vai testa stendi
- Paralēla izstrāde vairākās komandās
Reālistiska transportlīdzekļa uzvedība
- Ģenerē autentiskus J1939 parametru grupu numurus (PGN) un aizdomīgo parametru numurus (SPN)
- Simulē reālistisku transportlīdzekļa dinamiku (ātrumu, apgriezienus minūtē, pārnesumu pārslēgšanu, bremzēšanu)
- Nodrošina laika sinhronizētus sensoru datus
Izmaksu samazināšana
- Novērš nepieciešamību pēc fiziskām testa automašīnām agrīnā izstrādes posmā
- Virtuālā CAN saskarne (
vcan0) ļauj veikt testēšanu jebkurā Linux darbstacijā - Samazina fiziskās aparatūras nolietojumu
Ātrā prototipēšana
- Tūlītēja atgriezeniskā saite algoritmu izstrādei
- Vienkārša scenāriju izveide un atkārtošana
- Konfigurējami ziņojumu ātrumi un datu modeļi
Integrācijas testēšana
- J1939 vārtejas funkcionalitātes validēšana
- Testa datu plūsma no CAN uz DDS tēmām
- Pārbaudiet HMI reakciju uz transportlīdzekļa parametriem
Reproducējama testēšana
- Deterministiska transportlīdzekļa uzvedība
- Atkārtojami testa scenāriji
- Konsekventa regresijas testēšanas bāzes līnija
📊 J1939 ziņojumu atbalsts
✅ Pilnībā atbalstīti PGN (ieviesti transportlīdzekļa simulatorā)
Transportlīdzekļa simulators aktīvi ģenerē šādus J1939 ziņojumus, izmantojot CAN, un publicē tos DDS, izmantojot vārteju:
| PGN | Sešpadsmit | Vārds | Vērtēt | SPN | Apraksts |
|---|---|---|---|---|---|
| 61443 | 0xF003 | EEC2 - elektroniskais dzinēja kontrolieris 2 | 50 ms | 91, 92 | Akseleratora pedāļa pozīcija, dzinēja slodze procentos |
| 61444 | 0xF004 | EEC1 - elektroniskais dzinēja kontrolieris 1 | 100 ms | 190, 512, 513 | Dzinēja apgriezieni (RPM), vadītāja pieprasītais griezes moments, faktiskais dzinēja griezes moments |
| 61445 | 0xF005 | ETC2 - Elektroniskā transmisijas kontrolieris 2 | 100 ms | 522, 523, 524 | Sajūga pozīcija, izvēlētais pārnesums, pašreizējais pārnesums |
| 61449 | 0xF009 | VDC2 - transportlīdzekļa dinamiskā vadība 2 | 100 ms | 1807., 1808. | Stūres rata leņķis, pagrieziena ātrums |
| 65253 | 0xFEE5 | STUNDAS - Dzinēja stundas | 1 sekundes | 247 | Kopējais dzinēja darba stundu skaits |
| 65256 | 0xFEE8 | VDS - transportlīdzekļa virziens/ātrums | 250 ms | 517, 519, 586 | Ātrums virs zemes, kompasa kurss, kurss |
| 65258 | 0xFEEA | ALT - Augstums | 1 sekundes | 580 | GPS augstums virs jūras līmeņa |
| 65262 | 0xFEEE | ET1 - Dzinēja temperatūra 1 | 1 sekundes | 110, 174, 175 | Dzesēšanas šķidruma temperatūra, degvielas temperatūra, eļļas temperatūra |
| 65263 | 0xFEEF | EFLP - Dzinēja šķidruma līmenis/spiediens | 500 ms | 96, 100, 94 | Degvielas līmenis, eļļas spiediens, degvielas padeves spiediens |
| 65265 | 0xFEF1 | CCVS - Kruīza kontrole/transportlīdzekļa ātrums | 100 ms | 84, 597, 598 | Transportlīdzekļa ātrums uz riteņiem, bremžu slēdzis, sajūga slēdzis |
| 65267 | 0xFEF3 | VP - transportlīdzekļa pozīcija | 250 ms | 584, 585 | GPS platums, garums |
| 65269 | 0xFEF5 | AMB - apkārtējās vides apstākļi | 1 sekundes | 108, 171 | Barometriskais spiediens, apkārtējā gaisa temperatūra |
| 65271 | 0xFEF7 | VEP1 - Transportlīdzekļa elektriskā jauda 1 | 1 sekundes | 167, 168, 158 | Akumulatora spriegums, ģeneratora spriegums, uzlādes sistēmas spriegums |
| 65276 | 0xFEFC | DD - informācijas paneļa displejs | 1 sekundes | 182, 183 | Degvielas patēriņš (l/h), momentānais degvielas ekonomija |
| 0xEF00 | 0xEF00 | PROP_A - Patentēts A (IONNIC USM) | 250 ms | - | IONNIC USM ES-Key paneļa LED vadība |
Detalizēts SPN saraksts (visi atbalstītie parametri)
| SPN | Parametra nosaukums | PGN | Vienība | Izšķirtspēja | Nobīde | Diapazons |
|---|---|---|---|---|---|---|
| 84 | Transportlīdzekļa ātrums uz riteņiem | 65265 | km/h | 1/256 km/h | 0 | 0–250 km/h |
| 91 | Akseleratora pedāļa pozīcija | 61443 | % | 0,4% | 0 | 0–100% |
| 92 | Dzinēja procentuālā slodze pie pašreizējā ātruma | 61443/61444 | % | 1% | 0 | 0–100% |
| 94 | Degvielas padeves spiediens | 65263 | kPa | 4 kPa | 0 | 0–1000 kPa |
| 96 | Degvielas līmenis | 65263 | % | 0,4% | 0 | 0–100% |
| 100 | Dzinēja eļļas spiediens | 65263 | kPa | 4 kPa | 0 | 0–1000 kPa |
| 108 | Barometriskais spiediens | 65269 | kPa | 0,5 kPa | 0 | 0–125 kPa |
| 110 | Dzesēšanas šķidruma temperatūra | 65262 | °C | 1°C | -40 | -40 līdz +210°C |
| 158 | Uzlādes sistēmas spriegums | 65271 | V | 0,05 V | 0 | 0–3212 V |
| 167 | Ģeneratora spriegums | 65271 | V | 0,05 V | 0 | 0–3212 V |
| 168 | Akumulatora spriegums | 65271 | V | 0,05 V | 0 | 0–3212 V |
| 171 | Apkārtējā gaisa temperatūra | 65269 | °C | 0,03125°C | -273 | -273 līdz +1735°C |
| 174 | Degvielas temperatūra | 65262 | °C | 1°C | -40 | -40 līdz +210°C |
| 175 | Dzinēja eļļas temperatūra | 65262 | °C | 0,03125°C | -273 | -273 līdz +1735°C |
| 182 | Degvielas likme | 65276 | L/h | 0,05 l/h | 0 | 0–3212 l/h |
| 183 | Momentānā degvielas ekonomija | 65276 | km/l | 1/512 km/l | 0 | 0–125 km/l |
| 190 | Dzinēja apgriezienu skaits | 61444 | RPM | 0,125 apgr./min | 0 | 0–8031 apgr./min |
| 247 | Kopējais dzinēja stundu skaits | 65253 | h | 0,05 stundas | 0 | 0–210 554 060 stundas |
| 512 | Vadītāja pieprasījuma dzinēja griezes moments | 61444 | % | 1% | -125 | -125% līdz +125% |
| 513 | Faktiskais dzinēja griezes moments | 61444 | % | 1% | -125 | -125% līdz +125% |
| 517 | Ātrums virs zemes | 65256 | km/h | 1/256 km/h | 0 | 0–250 km/h |
| 519 | Kurss virs zemes | 65256 | grāds | 1/128 grādi | 0 | 0–360° |
| 522 | Sajūga pedāļa pozīcija | 61445 | % | 0,4% | 0 | 0–100% |
| 523 | Transmisijas strāva | 61445 | aprīkojums | 1 | -125 | -125 līdz +125 |
| 524 | Transmisijas izvēlētais pārnesums | 61445 | aprīkojums | 1 | -125 | -125 līdz +125 |
| 580 | Augstums | 65258 | m | 0,125 m | -2500 | -2500 līdz +5531 m |
| 584 | Platums | 65267 | grāds | 10⁻⁷ grādi | -210 | -90° līdz +90° |
| 585 | Garums | 65267 | grāds | 10⁻⁷ grādi | -210 | -180° līdz +180° |
| 586 | Kompasa gultnis | 65256 | grāds | 1/128 grādi | 0 | 0–360° |
| 597 | Bremžu slēdzis | 65265 | - | 2 biti | - | Izslēgts/Ieslēgts/Kļūda/Nav pieejams |
| 598 | Sajūga slēdzis | 65265 | - | 2 biti | - | Izslēgts/Ieslēgts/Kļūda/Nav pieejams |
| 899 | Dzinēja griezes momenta režīms | 61444 | - | 1 | 0 | 0–15 (uzskaitījums) |
| 1807. gadā | Stūres rata leņķis | 61449 | rad | 1/1024 rad | -31,374 | -31,374 līdz +31,374 rad |
| 1808. gadā | Pagrieziena ātrums | 61449 | rad/s | 1/8192 rad/s | -3,92 | -3,92 līdz +3,92 rad/s |
Kopā: 15 PGN, 33 SPN aktīvi simulēti
🔲 Neatbalstīti PGN (vēl nav ieviesti)
Transportlīdzekļa simulators pašlaik neģenerē šādus J1939 ziņojumus. Tie atspoguļo potenciālus turpmākus uzlabojumus:
| PGN | Sešpadsmit | Vārds | Prioritāte | Lietošanas gadījums | Sarežģītība |
|---|---|---|---|---|---|
| 61440 | 0xF000 | ERC1 - elektroniskais palēninātāja kontrolieris 1 | Zems | Palēninātājs/dzinēja bremzes vadība | Vidējs |
| 61441 | 0xF001 | EBC1 - elektroniskais bremžu kontrolieris 1 | Augsts | ABS, bremžu sistēmas stāvoklis | Augsts |
| 61442 | 0xF002 | ETC1 - Elektroniskā transmisijas kontrolieris 1 | Vidējs | Pārraides režīms, notiek pārslēgšana | Vidējs |
| 64971 | 0xFDCB | VDHR - transportlīdzekļa attālums (augsta izšķirtspēja) | Augsts | Odometrs ar 5 mm izšķirtspēju | Zems |
| 64972 | 0xFDCC | TCO1 - Tahogrāfs | Vidējs | Vadītāja karte, ātrums no tahogrāfa | Zems |
| 65132 | 0xFE6C | TPMS - riepu spiediena kontrole | Vidējs | Individuāls riepu spiediens/temperatūra | Vidējs |
| 65217 | 0xFEC1 | PTODE - PTO piedziņas ieslēgšana | Zems | Jaudas noņemšanas vārpstas statuss | Zems |
| 65248 | 0xFEE0 | VDIST — augstas izšķirtspējas transportlīdzekļa attālums | Augsts | Kopējais attālums ar 5 m izšķirtspēju | Zems |
| 65251 | 0xFEE3 | ECFG - Dzinēja konfigurācija | Zems | Dzinēja marka, modelis, sērijas numurs | Zems |
| 65252 | 0xFEE4 | IZSLĒGŠANA — Izslēgšana | Zems | Dzinēja izslēgšanas ignorēšana | Zems |
| 65260 | 0xFEEC | VI — Transportlīdzekļa identifikācija | Vidējs | Pilna VIN pārraide (daļēja impl) | Zems |
| 65279 | 0xFEFF | CCVS1 - Kruīza kontrole/transportlīdzekļa ātrums 1 | Vidējs | Uzlaboti kruīza kontroles dati | Zems |
| 65098 | 0xFE4A | EBC2 - elektroniskais bremžu kontrolieris 2 | Augsts | Atsevišķu riteņu bremžu statuss | Augsts |
| 65099 | 0xFE4B | EBC3 - elektroniskais bremžu kontrolieris 3 | Vidējs | Bremžu uzliku nodilums | Vidējs |
| 65110 | 0xFE56 | IC1 - Ieplūdes/izplūdes apstākļi 1 | Zems | Ieplūdes kolektora spiediens/temperatūra | Vidējs |
| 65172 | 0xFE84 | RQST — pieprasījums | Zems | Pieprasīt konkrētu PGN no ECU | Vidējs |
| 65226 | 0xFECA | AT1I — 1. pēcapstrādes ieplūdes gāze | Zems | Dīzeļdegvielas daļiņu filtra ieplūdes atvere | Zems |
| 65227 | 0xFECB | AT1O — 1. pēcapstrādes izplūdes gāze | Zems | DPF izvads, NOx sensors | Zems |
| 65247 | 0xFEDF | EFL/P2 - Dzinēja šķidruma līmenis/spiediens 2 | Zems | Papildu šķidruma spiedieni | Zems |
| 65266 | 0xFEF2 | LFE - degvielas ekonomija | Vidējs | Vidējais degvielas patēriņš brauciena laikā | Zems |
| 65270 | 0xFEF6 | TD - turbokompresors | Zems | Pūtes spiediens, turbīnas ātrums | Vidējs |
| 65272 | 0xFEF8 | VEP2 - Transportlīdzekļa elektriskā jauda 2 | Zems | Papildu elektriskie autobusi | Zems |
Kāpēc tie netiek ieviesti
| Iemesls | Ietekmētie PGN | Grāfs |
|---|---|---|
| Neattiecas uz pamata transportlīdzekļa simulatoru | ERC1, PTODE, SLĒDZENES ATSLĒDZENES ATSLĒDZENES AIZSTĀDES ATSEVIŠĶAIS IEKĀRTAS ... | 7 |
| Nepieciešams riepu fizikas modelis | TPMS | 1 |
| Nepieciešams ABS/bremžu modelis | EBC1, EBC2, EBC3 | 3 |
| Nepieciešama uzlabota pārraide | ETC1 | 1 |
| Zema prioritāte / kosmētiskais efekts | VI (VIN), VDHR, VDIST, TCO1, LFE | 5 |
| Nepieciešams izplūdes gāzu/emisiju modelis | IC1, AT1I, AT1O | 3 |
| Protokola līmenis (nevis transportlīdzekļa dati) | RQST | 1 |
| Dublētas/uzlabotas versijas | CCVS1, EFL/P2, VEP2 | 3 |
Kopā: 22 neatbalstīti PGN faili
🛠️ Tehniskās īpašības
- OpenDRIVE ceļu tīkla atbalsts : sekojiet reālistiskai ceļa ģeometrijai
- Automātiskās pārnesumkārbas simulācija : pārnesumu maiņa, pamatojoties uz ātrumu un droseles stāvokli
- Uz fiziku balstīta dinamika : paātrinājums, bremzēšana, stūrēšana ar reālistiskiem ierobežojumiem
- DDS integrācija : tieša publicēšana J1939 automobiļu PSM tēmās
- Qt6 GUI : reāllaika vizualizācija un manuāla vadība
J1939 uz DDS vārtejas arhitektūru
Šī secības diagramma ilustrē pilnīgu datu plūsmu no J1939 CAN kopnes ziņojumiem caur vārteju līdz DDS abonentiem:
(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)
Secības diagrammas skaidrojums
1. Ziņojumu ģenerēšanas fāze
- Transportlīdzekļa simulators aprēķina reālistiskus transportlīdzekļa parametrus, pamatojoties uz vadītāja ievadi un fizikas datiem
- Kodē parametrus J1939 CAN kadros ar atbilstošu PGN/SPN struktūru
- Pārraida uz virtuālo CAN saskarni (vcan0)
2. CAN uztveršanas fāze
- SocketCanReader Qt pavediens nepārtraukti lasa no CAN saskarnes
- Validē CAN kadra formātu (29 bitu paplašināts ID)
- Izstaro Qt signālu ar neapstrādātiem kadra datiem
3. J1939 dekodēšanas fāze
- J1939Decoder iegūst protokola informāciju no CAN ID:
- PGN : Parametru grupas numurs (identificē ziņojuma veidu)
- Avota adrese : ECU identifikators (0–253)
- Prioritāte : Ziņojuma steidzamība (0 = augstākā, 7 = zemākā)
- Dekodē datu vērtumu atsevišķos SPN, izmantojot konfigurāciju:
- Bita pozīcija un garums
- Mēroga koeficients un nobīde
- Inženiertehniskās vienības
4. DDS publicēšanas fāze
- Vārteja publicē
C_Parameter_Group_Definition(PGN metadatus) pirmajā reizē - Katram ziņojumā norādītajam SPN:
- Izveido
C_Parameterziņojumu ar vērtību un statusu - Pievieno laika zīmogu un avota identifikāciju
- Publicē DDS tēmā
- Izveido
- Periodiski statusa atjauninājumi (1 Hz) publicē vārtejas stāvokli
5. Patēriņa fāze
- GVA lietojumprogrammas (HMI, LDMX) abonē J1939 DDS tēmas
- Saņemt parametru atjauninājumus, izmantojot DDS starpprogrammatūru
- Atjaunināt lietotāja interfeisa elementus (spidometru, tahometru, pārnesumu displeju)
Protokola detaļas
J1939 CAN ID struktūra (29 biti)
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 kadra dekodēšanas piemērs
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)Ātrā sākšana
1. Izveidojiet transportlīdzekļa simulatoru
cd build
cmake ..
make gva-vehicle-sim2. Virtuālā CAN iestatīšana
sudo scripts/test/j1939/setup-vcan.sh3. Sāciet transportlīdzekļa simulatoru
# 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 \
--headless4. Sāciet J1939 vārteju
./build/bin/gva-j1939-gateway \
--domain=0 \
--interface=vcan0 \
--config=/etc/gva/j1939-config.json5. Uzraudzīšana ar LDMX
./build/bin/ldmx
# Navigate to J1939 tab to see live parametersKonfigurācija
Transportlīdzekļa simulatora konfigurācija
Izveidojiet 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 vārtejas konfigurācija
PGN/SPN definīcijas un mērogošanas parametrus skatiet failā /etc/gva/j1939-config.json .
Lietošanas gadījumi
1. HMI izstrāde
- Izstrādāt transportlīdzekļa informācijas paneli bez fiziska transportlīdzekļa
- Instrumentu paneļa renderēšanas un animāciju pārbaude
- Brīdinājuma/trauksmes sliekšņu validēšana
2. Algoritmu testēšana
- Ekobraukšanas algoritmu pārbaude ar simulētu degvielas patēriņu
- Paredzošās apkopes loģikas validēšana
- Testa autonomās braukšanas lēmumu pieņemšana
3. Integrācijas testēšana
- Pilna datu plūsmas pārbaude: CAN → DDS → Lietojumprogramma
- Vārtejas veiktspējas pārbaude slodzes apstākļos
- Datu sinhronizācijas validēšana starp apakšsistēmām
4. Apmācība un demonstrācija
- Droša vide operatoru apmācībai
- Klientu demonstrācijas bez transportlīdzekļa
- Izglītojošs rīks GVA arhitektūrai
Veiktspējas raksturlielumi
| Metrika | Vērtība |
|---|---|
| CAN kadru ģenerēšanas ātrums | Līdz 100 Hz uz PGN |
| DDS publicēšanas latentums | < 5 ms (lokāli) |
| Vārtejas caurlaidspēja | > 1000 PGN/sekundē |
| CPU noslodze (simulators + vārteja) | < 10% (4 kodolu sistēma) |
| Atmiņas nospiedums | ~50 MB (kopā) |
Salīdzinājums: Fizisks vs. Simulēts
| Aspekts | Fizisks transportlīdzeklis | Simulators |
|---|---|---|
| Aparatūras izmaksas | 50 000 ASV dolāru+ | 0 ASV dolāri (tikai programmatūra) |
| Iestatīšanas laiks | Stundas (elektroinstalācija, konfigurācija) | Minūtes |
| Reproducējamība | Ierobežota (vadītāja mainība) | Perfekts (deterministisks) |
| Drošība | Bojājumu/traumu risks | Nulles risks |
| Scenāriju kontrole | Grūti (laika apstākļi, satiksme) | Pilnīga kontrole |
| Datu reģistrēšana | Nepieciešams aprīkojums | Iebūvēts |
| Paralēlā testēšana | Viens transportlīdzeklis vienlaikus | Vairāki gadījumi |
Problēmu novēršana
Bieži sastopamas problēmas
CAN saskarne nav atrasta
# Verify vcan0 exists
ip link show vcan0
# Recreate if needed
sudo scripts/test/j1939/setup-vcan.shNav DDS ziņojumu
# 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=0Vārteja neatšifrē ziņojumus
# Check CAN frames are being sent
candump vcan0
# Verify configuration file
cat /etc/gva/j1939-config.jsonPieprasiet demonstrāciju jau šodien.