Jump to content

Richtung bezüglich eines in der Ferne liegenden Kontaktes


Recommended Posts

Hallo,

wie stelle ich fest ob die Startrichtung ("drivingDirection")  +1 oder -1 sein muß, bezüglich eines contactes in der Ferne.

Ich denke es kommt nicht nur auf Aufgleisrichung des vehicle an ?

Das ganze wird erschwert wenn keine "Vergangenheit" vorliegt (Kaltstart).

Grüße vom liftboy

 

 

Link to comment
Share on other sites

Du kannst prüfen, ob ein bestimmter Kontakt in Fahrtrichtung voraus liegt.
Und ein Fahrzeug hat immer eine Fahrtrichtung. Auch nach einem Kaltstart.
Wenn der Kontakt nicht in Fahrtrichtung gefunden wird, dann kannst du die Fahrtrichtung mit einem Kommando umkehren.

Beachte dabei bitte, dass Kontakte nur über eine gewisse Distanz erkannt werden. Die genaue Länge kenne ich leider nicht.

Pardon! Mein Versuch hat ergeben, dass es sich etwas anders verhält (siehe unten)

Edited by Goetz
Aussage zurückgenommen
Link to comment
Share on other sites

Tut mir leid, aber da war ich voreilig, @liftboy.

Bei meinem Versuch, den ich leider erst nach dem Schreiben gemacht habe, wird der Kontakt bei einem stehenden Fahrzeug auch dann "gesehen", wenn er nicht in Fahrtrichtung vor, sondern hinter dem Fahrzeug, also entgegen der eingestellten Fahrtrichtung liegt. Nur wenn das Fahrzeug in Bewegung ist, wird korrekt unterschieden.

Edited by Goetz
Ergänzungen
Link to comment
Share on other sites

Hallo @Goetz

meine Versuche ergeben, daß auch bei stehendem Fahrzeug ein Kontakt richtig erkannt wird, sowohl nach vorne wie auch nach hinten
(auch wenn andere Kontakte dazwischen sind)
und deshalb aus dieser Info eine Fahrtrichtung abgeleitet werden kann.

Ich verwende  boo = v:isHeadingToward($("Testkontakt"))

Allerdings reißt die Verbindung ab einer bestimmten Entfernung ab - ich kann nicht genau sagen wieweit entfernt, aber scheinbar nicht soo weit!

Grüße vom lifboy

Link to comment
Share on other sites

vor 11 Minuten schrieb liftboy:

Allerdings reißt die Verbindung ab einer bestimmten Entfernung ab

Bei meinem Versuch war die Entfernung auf einer Anlage im H0 Maßstab 1,50 reale Meter.

Link to comment
Share on other sites

Hallo @liftboy,

wenn die maximale Distanz der Erkennung von "isHeadingToward" nicht ausreicht, kann man den Gleiskontakt auch als Ziel setzen (geht auch wenn Lok steht).
 

$("Lok").target=$("Gleiskontakt") --Gleiskontakt als Fahrziel setzen
if $("Lok").target~=nil then -- konnte Fahrziel gesetzt werden? (Aktuelle Fahrtrichtung in Richtung Gleiskontakt?)
print("aktuelle Fahrtrichtung ist in Richtung Gleiskontakt")
else
print("aktuelle Fahrtrichtung ist entgegen in Richtung Gleiskontakt")
end
$("Lok").target=nil -- Fahrziel wieder löschen

Gruß
EASY

Edited by EASY
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...