Also DB im ASURO ist viel zu viel Aufwand. Meines Erachtens nach ist eine simplere Vorgehensweise besser.
Mein Vorschlag: ( rein schematisch )
"1 Einheiten" könnte z.B eine bestimte Anzahl Encoderschritte sein.Code: [Ansicht]// INP: R, E // OUT: -- // Fährt E Bogensegmente mit Radius R funktion Fahre auf Radius(int R, int E){ . . . } funktion fahre kreis(int R){ [wenn Hindernis drehe +90° fahre 10 drehe -90° fahre kreis( R + 10 ) // rekursion drehe -90° (abweisende schleife) [wenn Hindernis drehe +90° fahre kreis( R ) // rekursion drehe -90° ] fahre 10 drehe +90° ] sonst [ // Fahre auf dem Radius R, 1 Einheiten Fahre auf Radius ( R, 1 ) ] }
Läuft komplett auf dem Stack und findet immer zurück zum Ursprungsradius, da konzentrisch gefahren wird.
O.![]()