Ich möchte das momentane Rotationszentrum eines Differentialantriebsroboters finden.
Angenommen, ich weiß, dass der Roboter mit einer bestimmten linearen und Winkelgeschwindigkeit fährt, kann ich die Gleichungen (angegeben unter Ein Pfad, der einem Kreisbogen zu einem Punkt in einem bestimmten Bereich und einer bestimmten Peilung folgt ) verwenden, die sich als:
Ich benutze den Webots-Simulator und habe GPS-Punkte für den Roboter ausgegeben, der sich in einem Kreis bewegt (Konstante v, w (1,1)). Anstelle eines einzelnen und ich für jeden Punkt einen Mittelpunkt. Wenn ich es in Matlab plotte, sieht es nicht gut aus:
Die roten Punkte im Bild sind die wahrgenommenen Zentren, sie scheinen nur die Kurve selbst zu verfolgen.
Gibt es ein Detail, das mir fehlt? Ich bin wirklich sehr verwirrt darüber, was passiert.
Ich versuche, die Mitte herauszufinden, damit ich überprüfen kann, ob sich ein Hindernis auf diesem Kreis befindet oder nicht und ob eine Kollision auftreten wird.
quelle
Es sieht so aus, als ob die Sensorwerte etwas rauschen. Stellen Sie sicher, dass Ihr Simulator die Grundwahrheit meldet oder dass Sie eine gewisse Toleranz gegenüber Rauschen haben.
Siehe hier: http://www.cyberbotics.com/dvd/common/doc/webots/guide/section9.2.html
Bestimmtes
WENN tatsächlich Rauschen in der Zustandsschätzung das Problem ist (Bit-ZF), besteht die Möglichkeit, solche Fehler zu kompensieren, darin, eine Schätzung Ihres Zustands und Ihrer Fehlermodelle zu verwenden. Das geht leider über den Rahmen der Frage hinaus. Wenn Sie Hindernisse vermeiden möchten UND sicher sind, dass ein Sensorfehler das Problem ist, empfehle ich Ihnen:
Suchen Sie in einem breiten Band (einem fetten Kreis) nach Hindernissen, die Ihre Flugbahn mit ein wenig Fehler darstellen könnten
Führen Sie einen Filter aus, um eine Schätzung der Roboterposition zu erhalten, und ermitteln Sie dann die "wahrscheinlichen" Kollisionen
Suchen Sie nur über ein kleines Fenster in die Zukunft nach Hindernissen. Kurzfristig sollte Ihre staatliche Schätzung in Ordnung sein.
Dies sind jedoch hartnäckige Korrekturen für das, was wahrscheinlich ein kleines Problem ist.
quelle