p_mork
01.10.2008, 20:57
Hallo Leute,
also ich habe folgendes Problem: Ein ca. 32cm breiter Roboter soll in einem Raum herumfahren, ohne an irgendetwas anzustoßen. Dazu hat er an den Seiten zwei IR-Distanzsensoren montiert, die nach vorne "sehen". An sich eigentlich ein einfache Sache, doch der Teufel steckt im Detail: wenn der Roboter in eine Ecke fährt, kann unter Umständen passieren, dass er sich dort ständig hin- und herdreht, denn wenn beide Sensoren einen geringen Abstand anzeigen, dreht der Roboter in die Richtung wo er scheinbar am meisten Platz hat. Aufgrund der Umgebung wird jedoch bei der Rotation der Abstand an der Seite kleiner, wo er eigentlich hätte größer werden sollen und umgekehrt. Hier noch ein passendes Bild:
http://www.arips.roboterbastler.de/deadlock.png
Wie kommt man jetzt aus dieser Lage heraus? Eine Möglichkeit, wäre z.B. ihn immer in eine bestimmte Richtung rotieren zu lassen, egal welcher Sensor den geringeren Abstand anzeigt, dies hätte aber zur Folge, dass der Roboter dazu "neigen" würde, in diese Richtung zu fahren. Habt ihr Vorschläge für eine Verhaltensweise, die beide Richtungen gleichermaßen nutzt?
MfG Mark
also ich habe folgendes Problem: Ein ca. 32cm breiter Roboter soll in einem Raum herumfahren, ohne an irgendetwas anzustoßen. Dazu hat er an den Seiten zwei IR-Distanzsensoren montiert, die nach vorne "sehen". An sich eigentlich ein einfache Sache, doch der Teufel steckt im Detail: wenn der Roboter in eine Ecke fährt, kann unter Umständen passieren, dass er sich dort ständig hin- und herdreht, denn wenn beide Sensoren einen geringen Abstand anzeigen, dreht der Roboter in die Richtung wo er scheinbar am meisten Platz hat. Aufgrund der Umgebung wird jedoch bei der Rotation der Abstand an der Seite kleiner, wo er eigentlich hätte größer werden sollen und umgekehrt. Hier noch ein passendes Bild:
http://www.arips.roboterbastler.de/deadlock.png
Wie kommt man jetzt aus dieser Lage heraus? Eine Möglichkeit, wäre z.B. ihn immer in eine bestimmte Richtung rotieren zu lassen, egal welcher Sensor den geringeren Abstand anzeigt, dies hätte aber zur Folge, dass der Roboter dazu "neigen" würde, in diese Richtung zu fahren. Habt ihr Vorschläge für eine Verhaltensweise, die beide Richtungen gleichermaßen nutzt?
MfG Mark