Topher
01.03.2013, 10:32
Hallo Leute!
Ich wir möchten mit unserem (bereits fertig gebauten) Asuro einen Irrgarten NUR mit dem Ulstraschallsensor durchqueren. Die Rechte-Hand-Regel soll dabei nicht verwendet werden. Nun habe ich mich mal nach verschiedenen Algorithmen dazu auseinander gesetzt: Abgesehen davon über einen theoretisch unendlichen Zeitraum den Asuro immer zufällig abbiegen zu lassen, erfordern alle Algorihtmen die Markierung von Einmündungen oder Kreuzungen etc.. Mein Favorit dabei war zuletzt dieser hier:
"1.Wenn du einen Gang betrittst, markiere den Eingang mit dem Wort Stopp. Betritt nie einen Gang, der mit Stopp markiert ist.
2.Betrittst du das erste Mal eine Kreuzung (daran erkennbar, dass an keinem Gang eine Markierung angebracht ist), markiere den eben verlassenen Gang mit dem Wort zuletzt.
3.Gibt es an einer Kreuzung Gänge, die keine Markierung besitzen, wähle einen beliebigen davon, um weiterzugehen. Sollte es keine unmarkierten Gänge mehr geben, betritt den mit zuletzt markierten Gang." (aus Wikipedia)
Hat jemand eine Idee wie sich das mit dem Asuro in C umsetzten lässt? Ich hatte daran gedacht die Stellen irgendwie in einem Array zu speichern, aber ich bin noch nicht besonders erfahren auf diesem Gebiet und könnte gut ein paar Denkanstöße brauchen.
Liebe Grüße
T.
Ich wir möchten mit unserem (bereits fertig gebauten) Asuro einen Irrgarten NUR mit dem Ulstraschallsensor durchqueren. Die Rechte-Hand-Regel soll dabei nicht verwendet werden. Nun habe ich mich mal nach verschiedenen Algorithmen dazu auseinander gesetzt: Abgesehen davon über einen theoretisch unendlichen Zeitraum den Asuro immer zufällig abbiegen zu lassen, erfordern alle Algorihtmen die Markierung von Einmündungen oder Kreuzungen etc.. Mein Favorit dabei war zuletzt dieser hier:
"1.Wenn du einen Gang betrittst, markiere den Eingang mit dem Wort Stopp. Betritt nie einen Gang, der mit Stopp markiert ist.
2.Betrittst du das erste Mal eine Kreuzung (daran erkennbar, dass an keinem Gang eine Markierung angebracht ist), markiere den eben verlassenen Gang mit dem Wort zuletzt.
3.Gibt es an einer Kreuzung Gänge, die keine Markierung besitzen, wähle einen beliebigen davon, um weiterzugehen. Sollte es keine unmarkierten Gänge mehr geben, betritt den mit zuletzt markierten Gang." (aus Wikipedia)
Hat jemand eine Idee wie sich das mit dem Asuro in C umsetzten lässt? Ich hatte daran gedacht die Stellen irgendwie in einem Array zu speichern, aber ich bin noch nicht besonders erfahren auf diesem Gebiet und könnte gut ein paar Denkanstöße brauchen.
Liebe Grüße
T.