Winkel zu einem Ziel (Wegfindung)

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Petop
User
Beiträge: 2
Registriert: Donnerstag 12. November 2020, 22:21

Hallo zusammen,

Ich habe momentan ein "kleines" Projekt, in dem ich ein RC Auto mit einem Lidar und Ultraschall Sensoren aufgepimt habe.

Kurze Zusammenfassung über das was schon geht und wer Fragen dazu hat, gerne auch stellen.

Mein Problem kommt gleich. Ein Raspi 3b ist in diesem Projekt zusammen mit mehren Arduinos verbaut. Die Arduinos sind mit den Sensoren, Motoren usw. verbunden und auch untereinander.
Am Ende landen alle Daten in einem Arduino Mega welches diese Daten dann über USB an ein Raspi übergibt. Das Mega bekommt vom Raspi auch Befehle, zum Beispiel um die Motoren zu steuern.
Warum ist das so gelöst? Es hat sich in der Praxis einfach bewährt, hier eine Arbeitsteilung durchzuführen. Hier ist auch noch kein Problem, alles funktioniert. Das Raspi ist auch mit einem Lidar verbunden, auch dass ist angebunden und funktioniert tadellos.

Um nun die Ultraschall Sensoren und das Lidar zusammen zu bringen, habe ich die Daten in zwei Arrays übertragen (je eines für x/y) . Wo nun alle erfassten Hindernisse vermerkt sind, sofern sie nicht mehr als 3Meter entfernt sind.

Das erfassen von Hindernissen im direkten Bereich des Fahrzeugs, ist soweit für mich damit kein Problem. Schaut schon sehr witzig aus wie das Fahrzeug selbst von einer Wand weg fährt ohne beim Rückwartsfahren wo dagegen zu fahren.

Nun aber zum Problem/Hindernisse, wo ich hoffe jemand hat eine Idee. Wie kann man nun am besten einen Weg für das Fahrzeug finden, wenn es zu einem Punkt fahren soll. Der Punkt ist in Grad zum Fahrzeug bekannt. Das wird später dann z. B. eine Person sein oder ähnliches die es zu verfolgen gilt.

Ich habe schon vieles mit A* und ähnliches gesehen/getestet. Allerdings keinen Erfolg damit gehabt. Meist ist es nicht möglich die Größe vom Fahrzeug mit zu berücksichtigen, was in der Realität nun mal nötig ist (Trägheit kann man dagegen vernachlässigen) .

Ideen wie Slam usw. habe ich schon verworfen. Auch Lösungen über Cloud usw. Alles nicht das was ich suche.

Mir schwebt auch keine Perfekte Lösung vor, mir würde es schon reichen wenn ich grob die beste Richtung bekomme wohin das Fahrzeug zu fahren hat. In Grad am liebsten.

Noch vielleicht ein Hinweis, dass Fahrzeug kann sich nicht auf der Stelle drehen. Ist halt ein RC Auto.

Wenn jemand eine Idee hat, die er gerne teilen will wie man an das Problem rangehen könnte. Bitte hier posten :-)

Wenn mehr Details benötigt werden, sagt bescheid.
Kann sicher mal die beiden Arrays hier einspielen, wie auch die Auswertung über Plt.

Besten Dank schon mal für alle die eine Idee habe und bis hierhin gelesen haben

Peter
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Petop hat geschrieben: Donnerstag 12. November 2020, 22:52 Ich habe schon vieles mit A* und ähnliches gesehen/getestet. Allerdings keinen Erfolg damit gehabt.
Ich habe keinen konkreten Ansatz für dich, glaube aber, dass es mit A* funktionieren sollte. Vor diversen Jahren hat mir Sebastian Thrun mal einen autonomen Roboter vorgeführt und als Wegfindemechanismus A* genannt. Welche möglichen Optimierungen darin noch enthalten waren kann ich allerdings nicht sagen.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

A* ist hier nicht gefragt (zumindest nicht auf dieser Ebene) weil er nur die Antwort auf das “wohin als nächstes” beantwortet. Nicht aber die Manöver die dafür notwendig sind.

Sowas hier ist was die vielleicht die Suche ermöglicht: https://ieeexplore.ieee.org/document/6160349
Petop
User
Beiträge: 2
Registriert: Donnerstag 12. November 2020, 22:21

Abend, danke schon mal für die Rückmeldungen :-)

Mit einem A* habe ich schon versuche unternommen, diese sind dann allerdings gescheitert an diversen Problemen. Unteranderem schon daran, dass ich den Abstand zum ziel nicht kennen kann.
A* funktioniert am besten, nach meiner Meinung, wenn man eine Karte der Umgebung hat bzw. diese aufzeichnen kann. Was aber eher dann schon Richtung ROS usw. führen würde und das will ich mir gerade nicht antun.
Kann aber auch an fehlenden Fähigkeiten liegen, dass ich es nicht hinbekomme ;-)

@__deets__ Danke für den Tipp, muss ich mir einmal anschauen.
Antworten