Ein Kumpel und ich haben solch ein Projekt geplant und sind so ziemlich fertig damit (ca. 85%). Startpunkt des Einschalten des Roboters markiert den Ursprung eines nach Norden ausgerichteten Koordinatensystems. Mit einer Kombination von US und IR, welche drehbar montiert sind, kann er die Hindernisse in seiner Umgebung messen. In jedem Punkt ensteht eine neues Koordinatensystem mit den Hindernisspunkten, welche dann in das Hauptkoordinatensystem transformiert werden. Die ganzen Berechnungen basieren auf Vektoren. Mit seinen Radencoder (und auch noch einem Maussensor in Planung) kann er millimetergenau fahren. Wir haben uns dafür entschieden, dass wir die Rechnenleistung auslagern. Somit werden alle Daten über Funk an einem PC geschickt, der daraus die Realität in einer gezeichneten Map simuliert. Dort gibt wird der Roboter auch animiert. Man kann ihn anklicken und zu einem bestimmten Punkt fahren lassen. Der Weg dorthin wird mittels dem Graph - Search Algo a* berechnet. Die Animation wird ständig mit der Realität synchronisiert. Die aufgrund von neuen Sensorwerten entstehenden Hindernisse werden in die Karte eingetragen und gezeichnet. Hierbei werden die ganzen Punkte gefiltert, sodass man am Ende keine vielen Einzelpunkte mit Fehlmessungen hat, sondern ein in sich geschlossenes Hinderniss mit Eckpunkten.
So weit ist alles realisiert. Mein großes Ziel ist noch, den berechneten Pfad, der nachher gefahren wird, zu interpolieren. Sprich die Ecken abrunden, sodass er keine Drehungen auf der Stelle macht. Das wird aber noch eine große Herrausforderung werden. Wie man Ecken mathematisch abrundet, ist nicht schwer. Dies jedoch auf die Radencoder um zu setzen um so mehr.
/edit
Ich sehe gerade:
Unsers ist ja nicht wirklich komplett auf dem Roboter...ca. 25% der KI auf dem Roboter, der Rest auf einem Rechner..."Gibt es im Forum User die es bereits erfolgreich geschafft haben auf ihrem Roboter einen funktionierenden Navigationsalgorithmus* zu implementieren?" Selbige User sollen sich doch bitte mal melden.
Lesezeichen