Hi
Welchen US soll ich denn dann aber abfragen? Weil wenn ich den gößeren abfrage stimmt die Position ja später nicht. Und wenn ich den kleineren abfrage dann funktioniert es wieder nicht wenn er in der Mitte steht.![]()
Warum nicht? Wenn der Abstand > 60cm ist, einfach auf die WandZitat von Checker108
zu fahren bis es wieder passt, wo ist das Problem?
Ärger gibt es wenn auf beiden Seiten ein Hindernis ist, dann hat
man keine Referenz mehr und beide Seiten sind < 60 cm. Dann
bleibt nur noch (um eine Kollision zu vermeiden) der Bot hält sich
in der Mitte zwischen den Hindernissen, gleicher Abstand auf beiden
Seiten. Das ist dann zwar nicht die reale Mitte im "Spielfeld", aber
der sicherste Weg zwischen den Hindernissen.
Der Fall den Du in der Zeichnung schilderst, darf/kann wenn richtig
programmiert wird auch nicht vorkommen. Wenn alle (bleiben wir mal
bei den 100ms) eine Abweichung festgestellt wird und in "Echtzeit"
gegen geregelt wird, bleibt der Bot quasi in der Mitte.
Das bedeutet das 60 cm die Referenz für die Mitte ist, alles unter 60cm
wird als Hindernis gewertet. Alles über 60 cm als Abweichung von der
Mitte.
Gruß Richard
Hi
Welchen US soll ich denn dann aber abfragen? Weil wenn ich den gößeren abfrage stimmt die Position ja später nicht. Und wenn ich den kleineren abfrage dann funktioniert es wieder nicht wenn er in der Mitte steht.![]()
Du musst natürlich beide Sensoren permanent abfragen, es ist ja nicht
bekannt auf welcher Seite ein Hindernis auftaucht. Wir reden hier von
"ms" = Millisekunden 100 ms sind 0,1 Sekunde, der Bot wird Optisch
"für Dich Mensch" immer "genau" in der Mitte bleiben. Jedenfalls wenn
die Motorregelung ordentlich programmiert ist. Ich würde das einfach
einmal aufbauen und Planung mit Realverhalten vergleichen. Alleine schon
um herauszufinden wie genau die Sensoren den Abstand überhaupt
messen können. Dann eine Wand verschieben und den Bot dazu bringen
immer einen Abstand von 60 cm zu Halten. Erst wenn das klappt kann
eine zusätzliche Routine für die Hindernis Erkennung dazu geschrieben
werden.
Gruß Richard
Ich hab auch keine Lösung gefunden, bei dem der Robo durch einfaches Messen wieder zur Mitte zurückfindet.
Wie Richard schreibt, müssen die Sensoren ja sowieso permanent abgefragt werden.
Dann brauchen zu Hinderniserkennung doch eigentlich nur die aktuellen Meßwerte mit den vorher gemessenen verglichen zu werden. Auf der Seite, auf der sich die Werte drastisch verringert haben, ist das Hindernis aufgetaucht; der Sensor auf der anderen Seite wird dann zur Abstandsmessung für die Mitte verwendet.
Auch wenn der Robo sich mal aus der Mitte fortbewegt, wird eine schnellere Änderung der Meßwerte auf der Seite auftreten, auf der das Hindernis auftaucht. Das kann man auch durch ständigen Vergleich der aktuellen Meßwerte beider Sensoren mit vorher gemessenen Werten feststellen.
Ob überhaupt (noch) ein Hindernis da ist kann ja durch einfache Addition der Messungen festgestellt werden. Die muß ja ohne Hindernis die Raumbreite von 120cm ergeben (abgesehen von Meßungenauigkeiten und Abstand der Sensoren voneinander).
Oder?
Gruß
Searcher
Hoffentlich liegt das Ziel auch am Weg
..................................................................Der Wegzu einigen meiner Konstruktionen
Ich hab es jetzt so ungefähr hinbekommen. Danke für die Antworten.
Wenns Probleme gibt melde ich mich wieder.
P.S: Ich weiß was ms sind.![]()
Lesezeichen