Ich versuche, den Rover 5-Roboter mithilfe einer Android-App mit einer berührungsbasierten Joystick-Steuerung in der App-Benutzeroberfläche zu steuern. Ich möchte die Geschwindigkeit des linken und rechten Motors im Rover berechnen, wenn der Joystick bewegt wird.
Vom Joystick erhalte ich zwei Werte: Schwenken und Neigen. Ich konvertiere sie mit und in das Polarkoordinatensystem . Wobei r von 0 bis 100 und Theta von 0 bis 360 reicht. Ich möchte eine Gleichung ableiten, die das in für Rover umwandeln kann . Die Geschwindigkeitswerte liegen ebenfalls im Bereich [0; 100].rtheta(r, theta)(left_speed, right_speed)
Hier ist, was ich bis jetzt herausgefunden habe. Für jeden Wert von r,
Wenn theta = 0dann left_speed = r, right_speed = -r(rechts vor Ort abbiegen)
Wenn theta = 90dann left_speed = r, right_speed = r(mit Geschwindigkeit r vorwärts fahren)
Wenn theta = 180dann left_speed = -r, right_speed = r(auf Punkt links abbiegen)
Wenn theta = 270dann left_speed = -r, right_speed = -r(mit Geschwindigkeit r rückwärts fahren)
Für andere Werte möchte ich, dass es sich gleichzeitig bewegt und dreht. Zum Beispiel,
Wenn theta = 45dann left_speed = alpha*r, right_speed = beta*r(vorwärts bewegen, während Sie nach rechts abbiegen)
Grundsätzlich kann (r, theta)ich für jeden folgende Geschwindigkeiten einstellen:
(left_speed, right_speed) = (alpha*r, beta*r)
Ich muss eine Gleichung formulieren, in der ich all diese Fälle verallgemeinern kann, indem ich finde alphaund betabasierend darauf theta.
Wie kann ich das machen? Gibt es eine Arbeit, auf die ich mich beziehen kann?


