Contenu principal

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

derivative

Dérivée temporelle du modèle de véhicule vélo

Depuis R2021b

Description

stateDot = derivative(kinematicModel,state,cmds) renvoie la dérivée de l'état actuel, stateDot, en tant que vecteur à trois éléments [xDot yDot thetaDot] pour un modèle de mouvement de véhicule cinématique de vélo, kinematicModel. xDot et yDot font référence à la vitesse du véhicule, spécifiée en mètres par seconde. thetaDot est la vitesse angulaire du cap du véhicule, spécifiée en radians par seconde.

exemple

Exemples

réduire tout

Créez un robot et définissez sa position de départ et son orientation initiales.

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

Réglez la durée de la simulation sur 1 s avec des pas de temps de 0,05 s et les commandes d'entrée sur 2 m/s pour la vitesse du véhicule et pi/4 rad pour l'angle de braquage afin de créer un virage à gauche. Simulez le mouvement du robot en utilisant le solveur ode45 sur la fonction derivative .

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

Tracez le chemin.

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

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

Arguments d'entrée

réduire tout

Modèle de mouvement cinématique de vélo, spécifié comme objet bicycleKinematics .

L'état actuel du véhicule est renvoyé sous la forme d'un vecteur à trois éléments de la forme [x y theta].

x et y font référence à la position du véhicule, spécifiée en mètres par seconde. theta est le cap du véhicule, spécifié en radians par seconde.

Commandes d'entrée dans le modèle de mouvement, spécifiées sous forme de vecteur à deux éléments. La valeur de la propriété VehicleInputs de motionModel détermine le format de ce vecteur de commande. Voici les valeurs VehicleInputs valides pour un objet bicycleKinematics :

  • "VehicleSpeedSteeringAngle" –– [v psiDot]

  • "VehicleSpeedHeadingRate" –– [v omegaDot]

v est la vitesse du véhicule dans la direction du mouvement en mètres par seconde. psiDot est le taux d'angle de braquage en radians par seconde. omegaDot est la vitesse angulaire au niveau de l'essieu arrière.

Arguments de sortie

réduire tout

Dérivé de l'état actuel, renvoyé sous la forme d'un vecteur à trois éléments de la forme [xDot yDot thetaDot]. xDot et yDot font référence à la vitesse du véhicule, renvoyée en mètres par seconde. thetaDot est la vitesse angulaire du cap du véhicule, renvoyée en radians par seconde.

Références

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

Capacités étendues

développer tout

Génération de code C/C++
Générez du code C et C++ avec MATLAB® Coder™.

Historique des versions

Introduit dans R2021b