Contenuto principale

Questa pagina è stata tradotta con la traduzione automatica. Fai clic qui per vedere l'ultima versione in inglese.

derivative

Derivata temporale del modello del veicolo bicicletta

Da R2021b

Descrizione

stateDot = derivative(kinematicModel,state,cmds) restituisce la derivata dello stato corrente, stateDot, come vettore a tre elementi [xDot yDot thetaDot] per un modello di movimento del veicolo cinematico della bicicletta, kinematicModel. xDot e yDot fanno riferimento alla velocità del veicolo, specificata in metri al secondo. thetaDot è la velocità angolare della direzione del veicolo, specificata in radianti al secondo.

esempio

Esempi

comprimi tutto

Crea un robot e imposta la sua posizione iniziale e il suo orientamento.

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

Impostare l'intervallo di tempo della simulazione su 1 s con intervalli di tempo di 0,05 s e i comandi di input su 2 m/s per la velocità del veicolo e pi/4 rad per l'angolo di sterzata per creare una svolta a sinistra. Simula il movimento del robot utilizzando il risolutore ode45 sulla funzione derivative.

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

Traccia il percorso.

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

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

Argomenti di input

comprimi tutto

Modello del moto cinematico della bicicletta, specificato come oggetto bicycleKinematics.

Stato attuale del veicolo restituito come vettore a tre elementi nella forma [x y theta] .

x e y si riferiscono alla posizione del veicolo, specificata in metri al secondo. theta è la direzione del veicolo, specificata in radianti al secondo.

Comandi di input al modello di movimento, specificati come vettore a due elementi. Il valore della proprietà VehicleInputs di motionModel determina il formato di questo vettore di comandi. Questi sono i valori VehicleInputs validi per un oggetto bicycleKinematics:

  • "VehicleSpeedSteeringAngle" –– [v psiDot]

  • "VehicleSpeedHeadingRate" –– [v omegaDot]

v è la velocità del veicolo nella direzione del movimento in metri al secondo. psiDot è l'angolo di sterzata in radianti al secondo. omegaDot è la velocità angolare sull'asse posteriore.

Argomenti di output

comprimi tutto

Derivata dello stato attuale, restituita come vettore a tre elementi nella forma [xDot yDot thetaDot]. xDot e yDot si riferiscono alla velocità del veicolo, restituita in metri al secondo. thetaDot è la velocità angolare della direzione del veicolo, restituita in radianti al secondo.

Riferimenti

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

Funzionalità estese

espandi tutto

Generazione di codice C/C++
Genera codice C e C++ con MATLAB® Coder™.

Cronologia versioni

Introdotto in R2021b