Liste der Anhänge anzeigen (Anzahl: 1)
Probleme mit A Star, wenn Objekt größer ist als eine Nodepunkt
Hallo Zusammen,
ich habe folgendes Problem mit meinem A-Star Verfahren.
Ich habe eine Matrix angelegt, welche deutlich keiner ist, als mein eigentlicher Roboter.
Die einfache Suche ohne Hindernis arbeitet ohne Probleme.
Nur wenn ich Hindernisse einfüge, so werden die Hindernisse nicht korrekt umfahren, da die Größe des Roboters nicht korrekt
vorgesehen wird.
Ich habe hierbei auch die Routine, welche für die Funktion "Feld Frei" dahingehend erweitert, das in einem Radius
in der Größe des Roboters die Felder (in Fahrtrichtung) geprüft werden. Nur rechnet sich hierbei mein Roby zu tode.
Hat hier jemand eine Idee, wie ich das weiter angehe sollte.
Die beigefügte Grafik zeigt ein Beispiel einer meiner letzten Versuche. Hierbei sind die gelben Punkte, die untersuchten Punkte.
Die grünen Punkte sind Stützpunkte welche angefahren werden sollen. Diese sind auch noch suboptimal.
Rot ist der Startpunkt und Blau der Zielpunkt.
Wäre der Roby nur so gross wie eine Karteneinheit, würde das ganze korrekt arbeiten. Die Karte ist aus dem Grund kleiner, da ich Objekte in einer entsprechenden Auflösung darstellen und umfahren kann.
Gruss R.
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
so, die Route wird jetzt schon besser berechnet.
Die Zeit hierfür ist derzeit noch nicht die nächste Aufgabenstellung, sondern immer noch der Weg der gefahren wird.
Wir bekomme ich die Hacken aus der Routine raus ?
Warum will er nicht direkt nach unten fahren und fährt anstelle dessen weiter in Richtung Ziel?
Hilft mir hier eine bessere/andere Heuristik ?
http://theory.stanford.edu/~amitp/Ga...euristics.html
Hier meine derzeitige Formel:
Code:
newnode->h = (Position.Low_x()-m_iDestination.Low_x())*(Position.Low_x()-m_iDestination.Low_x()) +
(Position.Low_y()-m_iDestination.Low_y())*(Position.Low_y()-m_iDestination.Low_y());
Gruss R.