Mam na mapce Hołopole kilka składów AI które ustawiają sobie przebiegi podczas jady. Czy jest możliwość aby przebieg nie przestawiał zwrotnic pod jadącym po nich pociągiem. Z tego co widzę na czas jazdy pociągu po zwrotnicach mają one w T19 status zablokowana a jednak pociąg AI ustawiając sobie przebieg przestawia zwrotnice co doprowadza do wykolejeń i rozerwań innych pociągów znajdujących się na zwrotnicach z przebiegu.
Pomógł: 28 razy Wiek: 50 Dołączył: 05 Mar 2018 Posty: 375 Skąd: Kraków
Wysłany: 12-05-2023, 13:12
Cudownego lekarstwa nie ma. Jest stara jak kolej kwestia organizacji SRK. AI uranowskie od zawsze było tak skonfigurowane, żeby "za wszelką cenę dotrzeć do celu". Jeśli skład AI wjeżdża na już zajęty tor i rozpruwa znajdujący się tam skład, to znaczy, że prawdopodobnie masz jakiś deficyt osygnalizowania danego odcinka szlaku czy stacji.
Na Twoim miejscu ja bym się, przede wszystkim, zastanowił nad tym, jak rozmieścić semafory w danym punkcie mapy, zawierającym "miejsce niebezpieczne", by ten problem przestał się pojawiać.
Generalnie AI w trainz nie przewala widzianego S1, nawet, jeśli samo sobie ustawia układy rozjazdowe.
Jest też takie urządzenie Radka:
<kuid2:263713:599:1> Podwojne polaczenie torow-kontroler
dzięki któremu na krzyżowych układach rozjazdowych typu:
| |
|X|
| |
rozjazdy blokowane są parami, tak, aby AI widziało zajętość układu torowego, której normalnie na krzyżowych rozjazdach przy jeździe "na bok" nie widzi.
W miejscach, gdzie nie ma warunków do zastosowania faktycznej SBL na szlaku, stosuję natomiast niewidzialną, dwukierunkową blokadę liniową. Odpowiednik SBL, tylko zbudowanej z niewidzialnych semaforów np. RBacha: rozmieszczonych tak jak semafory SBL, co około 1km, odpowiednio po jednym w przeciwnych kierunkach jazdy:
<kuid2:263713:8221:1> semafor niewidzialny
Zaletą tego rozwiązania jest to, że AI widzi te niewidoczne w trybie maszynisty ludzkim okiem semafory i stosuje się do ich wskazań. Jeśli widzi światło czerwone wynikające z zajętości następnego odcinka szlaku, to się zatrzyma przed takim niewidzialnym semaforem. Jeśli widzi zielone, będzie jechać pełną prędkością rozkładową, a nie tylko połową prędkości - jak się dzieje, gdy AI nie widzi następnego semafora.
Można też zastosować full-wypas, czyli system blokady szlakowej Radka i wtedy SRK w Trainz zbliża się już do realu na wyciągnięcie ręki.
Albo wystarczy użyć komendy "Autodrive", która to komenda nie przekłada nam rozjazdów a jedynie podąża do/przez wskazany trackmark. W tym wypadku oczywiście sami musimy zadbać, aby pociąg miał ułożoną drogę - ręcznie, komendami czy regułami.
Ustalmy trzy fakty:
1. Semafor ma możliwość zdefiniowania przebiegów
2. Istnieje komenda maszynisty ustawiająca przebieg zdefiniowany w semaforze
3. Zwrotnice pod jadącym po nich pociągu AI mają status zablokowana, gdyż pojawia się przy nich kłódka.
Zatem z faktu 3 wyciągam wniosek że obiekt zwrotnica ma atrybut który informuje czy w danym momencie jest ona zablokowana czy nie jest.
Moje pytanie: Czy komenda maszynisty ustawiająca przebieg mogłaby zawierać warunek sprawdzający atrybut zablokowania zwrotnicy?
i w razie stwierdzenia zablokowania zwrotnicy by jej nie przestawiała?
Coś typu: "Jeśli zwrotnica N ma status zablokowana nie przestawiaj jej"?
Ostatnio zmieniony przez ezechiasz 15-05-2023, 12:26, w całości zmieniany 1 raz
Moje pytanie: Czy komenda maszynisty ustawiająca przebieg mogłaby zawierać warunek sprawdzający atrybut zablokowania zwrotnicy?
i w razie stwierdzenia zablokowania zwrotnicy by jej nie przestawiała?
Mogłaby.
Tylko co z resztą zwrotnic w przebiegu? Musiałoby to polegać na odrzuceniu całego polecenia ustawienia przebiegu, a to z kolei "rozłoży" ciąg poleceń maszynisty, w którym taka komenda wystąpi i zostanie odrzucona.
Ustawiłoby wszystkie zgodnie z zdefiniowanymi w przebiegu oprócz tych zablokowanych. Przebieg nie byłby w pełni ustawiony. I wtedy pociąg AI który chciał ten przebieg ustawić nie wykoleja innego składu AI który właśnie wjeżdża po przebiegu sprzecznym oraz stoi pod semaforem z sygnałem S1. Po tym gdy ten inny skład zjedzie ze zwrotnic AI który ma komendę "nawiguj do znacznika" ustawi i tak sobie te zwrotnice których wcześniej nie mógł ustawić przebiegiem i wyjedzie ze stacji.
Zmodyfikowałem mapę Hołopole tak że większość szlaków, oprócz Aleksandrów-Zator, jest dwutorowa. Na takiej mapie hula już 12 składów AI jeżdżą ładnie bo mają szlaki dwutorowe ale w momencie gdy jeden AI chce wyjechać ze stacji a drugi w tym samym czasie wjeżdża po przebiegu sprzecznym mamy katastrofę bo pod jadącym pociągiem przestawiają się zwrotnice.
Taka mapa jest bardzo dynamiczna i żyje. A ja mogę sobie jeździć jakimś innym składem i wygląda to nieźle.
Problem jest tylko jeden te zwrotnice przestawiające się pod jadącym pociągiem.
Ustawiłoby wszystkie zgodnie z zdefiniowanymi w przebiegu oprócz tych zablokowanych.
Tak łatwo to nie ma. Komenda się wykonuje, niezależnie od tego, czy wszystkie rozjazdy się ustawiły, czy nie. Po wykonaniu znika z kolejki poleceń. I zostajemy z częściowo ułożonym przebiegiem. AI na polecenie "jedź do" układa sobie wszystkie rozjazdy tak, jak mu akurat wygodnie, najczęściej niezgodnie z przebiegiem w semaforze. I nie ma tu żadnego znaczenia, czy wcześniej ułożyłeś pół przebiegu komendą, czy nie ułożyłeś go wcale, bo nie rozróżnia, czy jakiś rozjazd był ułożony komendą czy nie był ruszany od czasu zbudowania mapy.
Można to obejść, dając trigger, po którym przejedzie pociąg "sprzeczny", wtedy w kolejce drugiego pociągu dajesz "czekaj na trigger" i dopiero wtedy komendą układasz przebieg z semafora.
Chodzi mi tylko o to aby komenda maszynisty ustawiająca przebiegi nie przestawiała zablokowanych zwrotnic. Ostatecznie nie interesuje mnie jak działa komenda "Nawiguj do znacznika toru", choć z tego co widzę działa dobrze, czyli jak ustawię przebieg i dam "nawiguj" to jedzie jak ma ustawione. Natomiast komenda "Jedź do znacznika toru" faktycznie robi sobie co jej się żywnie podoba. Ale zostawmy te komendy.
Mnie interesuje tylko i wyłącznie komenda ustawiająca przebiegi, aby nie przestawiała zwrotnicy zablokowanej, co prowadzi do wykolejeń innych składów.
Czy zatem w skrypcie komendy maszynisty która ustawia przebieg można dodać do kodu instrukcję warunkową która nie przestawiałaby zwrotnic mających status zablokowana?
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach