Ich versuche ein Quadcopter-Modell auf Simulink zu simulieren. Ich möchte einen PID-Regler für jeden der Winkel X, Y, Z und Phi, Theta, Psi implementieren. PID erhält den Fehler als Eingabe, der minimiert werden soll. Für X, Y und Z werden die gewünschten Werte vom Benutzer eingegeben und die tatsächlichen Werte werden aus den Beschleunigungsmesserdaten berechnet, daher ist der Fehler der gewünschte eingestellte Wert - der tatsächliche Wert.
Für Phi, Theta und Psi können die tatsächlichen Werte vom Gyroskop und Beschleunigungsmesser (Sensorfusion) erhalten werden, aber ich weiß nicht, wie die gewünschten Werte für jeden von ihnen berechnet werden sollen, da der Benutzer normalerweise daran interessiert ist, die Position anzugeben Werte X, Y und Z wie gewünscht, nicht die Winkelwerte! Das Fehlen der gewünschten Werte hindert mich daran, den für den PID-Regler erforderlichen Winkelfehler zu berechnen.
quelle
Definieren des Status des Quadcopters als wobei , , und die Position, Geschwindigkeit, Winkelposition bzw. Winkelgeschwindigkeit des Quadcopters sind. Ein vereinfachtes Übergangsmodell für einen Quadcopter mit PD-Steuerung ist:x=[pvrw]T p v r w
Mit diesem Modell können Sie unter Berücksichtigung des aktuellen Status berechnen, wie sich der Status ändern wird. Dies gibt Ihnen natürlich nicht die gewünschten Winkelpositionen, nach denen Sie gefragt haben. Angenommen, der Benutzer erwartet, dass der Quadcopter schwebt, sobald er die angegebene gewünschte Position erreicht hat dann benötigen wir für den Endzustand.x p=[X,Y,Z]T v=r=w=[000]T
Dies gibt Ihnen jedoch immer noch nicht die gewünschten Winkel für den Übergang zwischen dem Anfangszustand und dem Endzustand . Um dies zu erreichen, benötigen Sie einen Controller höherer Ebene, um eine Trajektorie mit zu berechnen , für den Zustandsraum und den Kontrollraum und einige Reisezeit . Diese Flugbahn gibt Ihnen zu jedem Zeitpunkt die gewünschten Winkel.xi xf=[pvrw]T π=(x[],u[],τ) x:[0,τ]→X u:[0,τ]→U X U τ
Leider gibt es viele Möglichkeiten, diese Flugbahn zu berechnen. Eine Möglichkeit besteht darin, meine eigene Arbeit in diesem Bereich zu betrachten. Speziell mein Artikel mit dem Titel Kinodynamic RRT *: Asymptotisch optimale Bewegungsplanung für Roboter mit linearer Dynamik .
quelle