Autor Wątek:  Algorytm hamowania AI  (Przeczytany 3211 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline popatrz

  • Wiadomości: 588
    • Zobacz profil
  • Otrzymane polubienia: 2
Algorytm hamowania AI
« dnia: 10 Września 2012, 19:00:29 »
Podczas obserwacji zachowania AI w EXE 355, rzuciło mi się w oczy że proces hamowania nie do końca jest idealny.
W momencie, gdy AI skanuje tory i zauważa event ograniczający prędkość (przypisany np. do toru, przy którym stoi W9), mimo tego że ten tor jest jeszcze daleko (np. 300m) zaczyna trochę "przeginać" z nabijaniem cylindrów hamulcowych.
1) Hamowanie jest zbyt mocne
2) Zbyt późno włączane jest napełnianie (dopiero po zejściu do odpowiedniej prędkości).
Efekt jest taki, że gdy AI ma szlakową 40 km/h i dojeżdża do W9 ograniczającego do 20 km/h, cały skład się zatrzymuje daleko przed ograniczeniem.
Widoczne jest to szczególnie w składach towarowych, gdy jest niska szybkość hamulca (G). Przy ustawieniach P i R nie jest to tak odczuwalne.

Nie wiem, jak obecnie wygląda algorytm reagowania na zmiany dozwolonej prędkości, ale wydaje mi się, że powinien on zakładać bezwładność hamowania i odległość do ograniczenia.
W chwili, gdy AI natrafia na event wywołujący SetVelocity, a prędkość aktualna jest wyższa od tej z ograniczenia, AI powinno skalkulować odległość do ograniczenia i wyliczać na bieżąco ze wzoru v=s/t czas pozostały do ograniczenia i mając to, ze wzoru na przyśpieszenie/opóźnienie odpowiednią wartość opóźnienia.
Do czasu aż ta wartość docelowa jest mniejsza od rzeczywistego opóźnienia, AI powinien sprawdzać dynamikę napełniania cylindrów i odpowiednio dostosowywać położenie kranu. Gdy opóźnienie hamowania jest już wystarczające, powinien doprowadzić do ustalenia stałego ciśnienia i...
...tutaj jest ten drugi moment, gdy ważna jest bezwładność opróżniania cylindrów. Proces odhamowania powinien rozpocząć się _przed_ uzyskaniem docelowej prędkości. Czas ten pewnie ciężko będzie wyliczyć. Chyba lepiej zrobić to doświadczalnie.
Trochę poeksperymentowałem i zauważyłem, że ten czas nie zależy od prędkości początkowej ani też masy ogólnej składu.
Zależy w zasadzie "tylko" od procentu masy hamującej i szybkości hamulca.
Im szybszy hamulec, tym lepiej - więc AI nie musi wyprzedzać tak bardzo momentu przejścia w napełnianie. Dla składów towarowych AI musi zacząć napełnianie dużo wcześniej.

No tak. To teoria, nie wiem tylko czy w praktyce jest to do oprogramowania.

Offline Ra

  • Zasłużony dla Symulatora
  • Wiadomości: 6308
  • Ostatni gasi światło...
    • Zobacz profil
    • Instalator+Starter+Edytor
  • Otrzymane polubienia: 336
Odp: Algorytm hamowania AI
« Odpowiedź #1 dnia: 10 Września 2012, 19:13:37 »
Cytat: http://eu07.pl/dokumentacja/
Obecnie trwają prace nad SPKS (System Pneumatyki Kolejowej SPKS) - nowym silnikiem odwzorowującym pracę hamulców kolejowych, który będzie zawarty w exe. Obecny, zaimplementowany także w "EXE 325", nie będzie już rozwijany. Z tego też względu zgłaszanie wszelkich błędów związanych z układem hamulcowym jest bezcelowe.
¯\_( ͡° ͜ʖ ͡°)_/¯ Ra

Polecam: kręgarz Wojciech Walczak, projekt masarni

Offline popatrz

  • Wiadomości: 588
    • Zobacz profil
  • Otrzymane polubienia: 2
Odp: Algorytm hamowania AI
« Odpowiedź #2 dnia: 10 Września 2012, 21:01:08 »
OK, dzięki za informację. Gdzieś to nawet czytałem, ale tych informacji jest masa (co oczywiście jest pozytywne) i wyleciało mi to z głowy.
Prośba o zamknięcie tematu.

Offline Ra

  • Zasłużony dla Symulatora
  • Wiadomości: 6308
  • Ostatni gasi światło...
    • Zobacz profil
    • Instalator+Starter+Edytor
  • Otrzymane polubienia: 336
Odp: Algorytm hamowania AI
« Odpowiedź #3 dnia: 10 Września 2012, 22:58:50 »
« Ostatnia zmiana: 10 Września 2012, 23:39:58 wysłana przez Rozi »
¯\_( ͡° ͜ʖ ͡°)_/¯ Ra

Polecam: kręgarz Wojciech Walczak, projekt masarni