- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 10 von 21

Thema: Probleme mit A Star, wenn Objekt größer ist als eine Nodepunkt

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.11.2004
    Beiträge
    332

    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.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken kSCADA1.jpg  
    Kaum macht man es richtig, schon funktioniert's ...

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    37
    Beiträge
    1.225
    Üblicher Trick, um den Algorithmus einfach zu halten: Man erweitert alle Hindernisse um den Radius des Roboters. Das macht natürlich nur so lange Sinn, wie der Roboter sich halbwegs sinnvoll in einen Kreis einbetten lässt. Gegenbeispiel: Ein Auto wäre tendenziell eher ungeeignet ...

    mfG
    Markus
    Tiny ASURO Library: Thread und sf.net Seite

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.11.2004
    Beiträge
    332
    Hallo Markus,

    nun ja, das ist bei mir leider der Fall. Ich habe keinen runden "Robby".

    Was könnte man den noch machen ?

    Gruss R.
    Kaum macht man es richtig, schon funktioniert's ...

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.12.2010
    Ort
    Nähe Wien
    Alter
    34
    Beiträge
    108
    Die einfachste Möglichkeit wäre wohl die größte Ausdehnung (halbiert), also in deinem Fall die halbe Diagonale aufzuschlagen.
    Du kannst ja jedes beliebige Rechteck mit einem Umkreis versehen, der Radius wäre dann die halbe Diagonale.

    Dann hast du zwar im Fall das du gerade drauf zu fährst links und rechts ein gewisses Spiel seitlich von deinem Roboter, andererseits sollte der Platz dann auch für eine Drehung in der nähe eines Objekts ausreichen.

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.08.2008
    Ort
    Graz
    Beiträge
    521
    Hi,
    man kann in der Feldbewertung Felder die nahe einem Hinderniss sind, höher bewerten, damit wird dann ein Abstand eingehalten.
    LG!
    alles über meinen Rasenmäherroboter (wer Tippfehler findet darf sie gedanklich ausbessern, nur für besonders kreative Fehler behalte ich mir ein Copyright vor.)

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.11.2004
    Beiträge
    332
    Hi,

    ich arbeite derzeit an der Lösung, das ich ein größeres Quadrat um den Roboter spanne. In diesem Bereich darf dann kein Objekt sein. Wie ijjiij bereits sagte, ist der Bereich dann zwar etwas größer, aber wer will schon Schrammen in den Schränken haben .

    Mir macht derzeit nur die Rechenzeit sorgen. Auf dem PC (iCore) geht das ruck zuck. Die kleine Linux CPU, derzeit noch 200MHz hat da echt zu kämpfen.
    Wenn das Verfahren stimmt, gehe ich die Geschwindigkeit an.

    @Damfino: Ich werde wohl eine Kombination aus beiden Vorschlägen machen müssen.

    Gruss R.
    Kaum macht man es richtig, schon funktioniert's ...

Ähnliche Themen

  1. Fernsteuerung Simprop Star 8
    Von holzi im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 10.10.2010, 10:10
  2. ref: pathfinder mit a*star-algorithmus
    Von nomad im Forum Software, Algorithmen und KI
    Antworten: 0
    Letzter Beitrag: 18.06.2010, 08:20
  3. Mein STAR²
    Von Spion im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 16
    Letzter Beitrag: 12.10.2006, 21:12
  4. Vergleich in ASM, wenn gleich oder größer gehe zu....
    Von Thomass im Forum Assembler-Programmierung
    Antworten: 7
    Letzter Beitrag: 20.06.2006, 15:34
  5. Antworten: 7
    Letzter Beitrag: 11.02.2006, 18:30

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test