Contenido principal

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la última versión en inglés.

derivative

Derivada temporal del modelo de vehículo bicicleta.

Desde R2021b

Descripción

stateDot = derivative(kinematicModel,state,cmds) devuelve la derivada del estado actual, stateDot, como un vector de tres elementos [xDot yDot thetaDot] para un modelo de movimiento del vehículo cinemático de bicicleta, kinematicModel. xDot y yDot se refieren a la velocidad del vehículo, especificada en metros por segundo. thetaDot es la velocidad angular del rumbo del vehículo, especificada en radianes por segundo.

ejemplo

Ejemplos

contraer todo

Cree un robot y establezca su posición inicial y orientación.

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

Establezca la escala de tiempo de la simulación en 1 s con unidades de tiempo de 0,05 s, los comandos de entrada en 2 m/s para la velocidad del vehículo y pi/4 radianes para el ángulo de giro para crear un giro a la izquierda. Simule el movimiento del robot utilizando el solucionador ode45 en la función derivative.

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

Traza la ruta.

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

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

Argumentos de entrada

contraer todo

Modelo de movimiento cinemático de bicicleta, especificado como un objeto bicycleKinematics.

Estado actual del vehículo devuelto como un vector de tres elementos con la forma [x y theta].

x y y se refieren a la posición del vehículo, especificada en metros por segundo. theta es el rumbo del vehículo, especificado en radianes por segundo.

Ingrese comandos al modelo de movimiento, especificado como un vector de dos elementos. El valor de la propiedad VehicleInputs de motionModel determina el formato de este vector de comando. Estos son los valores VehicleInputs válidos para un objeto bicycleKinematics:

  • "VehicleSpeedSteeringAngle" –– [v psiDot]

  • "VehicleSpeedHeadingRate" –– [v omegaDot]

v es la velocidad del vehículo en la dirección del movimiento en metros por segundo. psiDot es la velocidad del ángulo de dirección en radianes por segundo. omegaDot es la velocidad angular en el eje trasero.

Argumentos de salida

contraer todo

Derivada del estado actual, devuelta como un vector de tres elementos con la forma [xDot yDot thetaDot]. xDot y yDot se refieren a la velocidad del vehículo, devuelta en metros por segundo. thetaDot es la velocidad angular del rumbo del vehículo, devuelta en radianes por segundo.

Referencias

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

Capacidades ampliadas

expandir todo

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Historial de versiones

Introducido en R2021b

Consulte también