Hauptinhalt

Diese Seite wurde mithilfe maschineller Übersetzung übersetzt. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

derivative

Zeitableitung des Fahrradfahrzeugmodells

Seit R2021b

Beschreibung

stateDot = derivative(kinematicModel,state,cmds) gibt die aktuelle Zustandsableitung stateDot als dreielementigen Vektor [xDot yDot thetaDot] für ein Fahrradkinematik-Fahrzeugbewegungsmodell kinematicModel zurück. xDot und yDot beziehen sich auf die Fahrzeuggeschwindigkeit, angegeben in Metern pro Sekunde. thetaDot ist die Winkelgeschwindigkeit der Fahrzeugrichtung, angegeben in Radiant pro Sekunde.

Beispiel

Beispiele

alle reduzieren

Erstellen Sie einen Roboter und legen Sie seine anfängliche Startposition und Ausrichtung fest.

kinematicModel = bicycleKinematics;
initialState = [0 0 0];

Stellen Sie die Zeitspanne der Simulation auf 1 s mit Zeitschritten von 0,05 s und die Eingabebefehle auf 2 m/s für die Fahrzeuggeschwindigkeit und pi/4 rad für den Lenkwinkel ein, um eine Linkskurve zu erzeugen. Simulieren Sie die Bewegung des Roboters, indem Sie den ode45-Solver auf die derivative-Funktion anwenden.

tspan = 0:0.05:1;
inputs = [2 pi/4]; %Turn left
[t,y] = ode45(@(t,y)derivative(kinematicModel,y,inputs),tspan,initialState);

Planen Sie den Pfad.

figure
plot(y(:,1),y(:,2))

Figure contains an axes object. The axes object contains an object of type line.

Eingabeargumente

alle reduzieren

Kinematisches Bewegungsmodell eines Fahrrads, angegeben als bicycleKinematics-Objekt.

Aktueller Fahrzeugzustand, zurückgegeben als dreielementiger Vektor der Form [x y theta].

x und y beziehen sich auf die Fahrzeugposition, angegeben in Metern pro Sekunde. theta ist die Fahrzeugrichtung, angegeben in Radiant pro Sekunde.

Eingabebefehle für das Bewegungsmodell, angegeben als Vektor mit zwei Elementen. Der VehicleInputs-Eigenschaftswert von motionModel bestimmt das Format dieses Befehlsvektors. Dies sind die gültigen VehicleInputs-Werte für ein bicycleKinematics-Objekt:

  • "VehicleSpeedSteeringAngle" –– [v psiDot]

  • "VehicleSpeedHeadingRate" –– [v omegaDot]

v ist die Fahrzeuggeschwindigkeit in Bewegungsrichtung in Metern pro Sekunde. psiDot ist die Lenkwinkelrate in Radiant pro Sekunde. omegaDot ist die Winkelgeschwindigkeit an der Hinterachse.

Ausgabeargumente

alle reduzieren

Ableitung des aktuellen Zustands, zurückgegeben als Vektor mit drei Elementen in der Form [xDot yDot thetaDot]. xDot und yDot beziehen sich auf die Fahrzeuggeschwindigkeit, zurückgegeben in Metern pro Sekunde. thetaDot ist die Winkelgeschwindigkeit der Fahrzeugrichtung, zurückgegeben in Radiant pro Sekunde.

Referenzen

[1] Lynch, Kevin M., and Frank C. Park. Modern Robotics: Mechanics, Planning, and Control. 1st ed. Cambridge, MA: Cambridge University Press, 2017.

Erweiterte Fähigkeiten

alle erweitern

C/C++ Codegenerierung
Generieren Sie C und C++ Code mit MATLAB® Coder™.

Versionsverlauf

Eingeführt in R2021b