distance
Sintaxis
Descripción
estima el coste de propagación de un estado a otro. La propiedad h
= distance(mobileProp
,q1
,q2
)DistanceEstimator
del propagador de estado define la métrica de distancia para aproximar el coste.
Ejemplos
Crear ruta que represente la trayectoria cinemática basada en control
Cree un propagador de estado y especifique la métrica de distancia para estimar el coste de propagación.
propagator = mobileRobotPropagator(DistanceEstimator="dubins");
Crea un espacio de estados de Dubins.
dubinsSpace = stateSpaceDubins([0 25; 0 25; -pi pi]);
Actualice el espacio de estados del propagador de estados utilizando el espacio de estados creado.
propagator.StateSpace = dubinsSpace; setup(propagator)
Cree un objeto navPath
basado en múltiples puntos de referencia en un espacio Dubins.
path = navPath(dubinsSpace); waypoints = [8 10 pi/2; 7 14 pi/4; 10 17 pi/2; 10 10 -pi]; append(path,waypoints)
Interpola esa ruta para que contenga exactamente 250 puntos.
numStates = 250; interpolate(path,numStates)
Extrae la secuencia de movimientos de la ruta.
q1 = path.States(1:end-1,:); % Initial states q2 = path.States(2:end,:); % Final states
Calcule el coste de propagación al estado objetivo.
cost = distance(propagator,q1,q2);
Generar una serie de comandos de control y número de pasos para pasar del estado actual q1
con el comando de control u
hacia el estado objetivo q2
.
u = zeros(size(q1,1),propagator.NumControlOutput); steps = zeros(size(q1,1),1); for i = 1:size(q1,1) [u(i+1,:),steps(i)] = sampleControl(propagator,q1(i,:),u(i,:),q2(i,:)); end
Cree un objeto de ruta basado en control con el propagador de estado especificado y una secuencia de estados, controles, objetivos y duraciones especificados.
states = path.States; controls = u(2:end,:); targets = q2; durations = steps*propagator.ControlStepSize; path2 = navPathControl(propagator,states,controls,targets,durations);
Visualiza los resultados.
figure grid on axis equal hold on plot(path2.States(:,1),path2.States(:,2),".b") plot(waypoints(:,1),waypoints(:,2),"*r","MarkerSize",10)
Argumentos de entrada
mobileProp
— Propagador de estado de robot móvil
mobileRobotPropagator
objeto
Propagador de estado de robot móvil, especificado como un objeto mobileRobotPropagator
.
q1
— Estados iniciales
n-por- s matriz
Estados iniciales, especificados como una matriz n-por- s . n es el número de estados y s es el tamaño del vector de estado.
q2
— Estados finales
n-por- s matriz
Estados finales, especificados como una matriz n-por- s . n es el número de estados y s es el tamaño del vector de estado.
Argumentos de salida
Historial de versiones
Introducido en R2021b
Consulte también
Objetos
Funciones
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)