dann letztendlich mit hoher Genauigkeit angefahren wurden, und Grobpunkte,
der Summe am schnellsten war.
Vorgegeben wurden die Zwischenpunkte damals allerdings von Hand, so weit war die Rechentechnik dann doch nicht.
Lutz
--
Mit unseren Sensoren ist der Administrator informiert, bevor es Probleme im
Serverraum gibt: preiswerte Monitoring Hard- und Software-kostenloses Plugin
Das ist bei meiner Anwendung nicht das Problem. Es geht mit jetzt auch
den Fixpunkten und zwar wegen dem Speicherbedarf und der programmierung
mit dem Roboter die Punkte anzufahren, Position speichern und fertig.
Ich denke mal, ich komme mit maximal 20 Fixpunkten aus. Da ist der Speicherbedarf doch um einiges geringer als bei einem Raster von 100x100 bzw. 200x200 Rasterpunkten.
Route zu definieren? Oder sind Start- und Endpunkt dynamisch und der Roboter muss dasselbe Grid an verbotenen Punkten mehrfach mit unterschiedlichen Routen durchlaufen?
Das Ziel ist immer dasselbe. Der Startpunkt verschiebt sich.
Das mit den Fixpunkten ist im Prinzip eine Beschreibung der erlaubten Route.
Jeder Fixpunkt hat eine Position und eine Entfernung zum Ziel. Ich muss jetzt nur noch einen Fixpunkt finden, den ich auf gerader Linie anfahren kann. Habe ich mehrere Fixpunkte zur Auswahl, nehme ich den Fixpunkt,
ich, ob es einen anderen Fixpunkt gibt, der in direkter Linie angefahren
finde, bewege ich mich dorthin.
Anwendung bedeutet das, dass ich dann statt 10.000 Feldern nur noch ca.
schon einen Unterschied, ob ich 10.000 Felder oder 100 Punkte verwalten muss.
Richtig, aber du kannst so die Stelle C nicht eindeutig bestimmen.
Ist im Prinzip korrekt.
Hindernisse ab. Wenn zwei Linien miteinander verbundene sind, stimmt
glaube ich egal.
Ich habe jetzt zwei Array, einmal die Liste der Geraden und eine Liste der Punkte.
Die Punkte ergeben sich aus den Koordinaten der Geraden, wobei Doubletten eliminiert werden.
Jeder Punkt hat 3 Parameter, x,y und die Distanz zum Ziel. Die Punkte und Geraden sind bekannt.
Jetzt teste ich jeden Punkt darauf, ob ich eine gerade Linie zwischen diesem Punkt P und dem Ziel Z ziehen kann. Es darf also keine Kreuzung mit einer Linie geben. Bei jedem Punkt wo das gegeben ist, trage ich die
eine Linie zu dem Punkt Px der die geringsten bekannten Distanz zu Z hat ziehen kann. Ist das gegeben, trage ich bei diesem Punkt dessen Distanz zu Z ein. Das ist die Summe aus der Distanz zwischen diesem Punkt P und Px und der bei Px eingetragenen Distanz zu Z ein.
Das wiederhole ich mit dem Punkt der die 2. kleinste bekannte Distanz zu Z hat, usw. Das wiederhole ich solange, bis die Distanz aller Punkte zu Z bekannt ist.
Das muss ich einmal machen und speichern. Die Berechnung muss auch nicht
Lageplan erstellt wird.
direkt anfahren kann die Summe aus der Distanz von Px zu P und der
das nichts bringt.
Jedenfalls wenn ich den Punkt Px erreicht habe, suche ich wieder den direkt erreichbaren Punkt mit der geringsten Distanz zum Ziel usw. bis ich das Ziel erreicht habe, wobei Z einer der Punkte ist, d.h. wenn ich Z "sehen" kann, fahre ich direkt darauf zu.
Mir ist nicht ganz klar, wie der Roboter die Hindernisse erkennen soll. Wenn der Roboter eine Art digitaler Karte gespeichert hat, dann soll der Algorithmus den Weg in dieser Karte finden?
Andere Variante: der Roboter soll den Weg 'in echt' auf sowas wie einem
Weg in den ansonsten bekannten Daten findet.
Roboter zwischen den Hindernissen stecken bleibt.
zusammen stehen als der Roboter breit ist.
sehen, das nicht von anderen verdeckt ist.
dann kann der Roboter den Mittelpunkt eines Hindernisses erkennen und dessen Ausdehnung.
Daraus kann der Roboter die Umrisslinie berechnen und die halbe eigne Breite (plus den minimalen Seitenabstand) hinzu addieren und so den gesuchten Punkt C berechnen.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.