Main Content

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

reedsSheppPathSegment

Segmento de la ruta de Reeds-Shepp que conecta dos poses

Desde R2019b

Descripción

El objeto reedSheppPathSegment contiene información para que un segmento de ruta de Reeds-Shepp se conecte entre poses. Un segmento de la ruta de Reeds-Shepp conecta dos poses como una secuencia de cinco tipos de movimiento. Las opciones de movimiento son:

  • Derecho

  • Giro a la izquierda con dirección máxima

  • Giro a la derecha con dirección máxima

  • Sin movimiento

Creación

Para generar un objeto reedSheppPathSegment , use la función connect con un objeto reedsSheppConnection :

reedsPathSegObj = connect(connectionObj,start,goal) conecta las poses inicial y meta utilizando el objeto de tipo de conexión especificado.

Para definir específicamente un segmento de ruta:

reedsPathSegObj = reedsSheppPathSegment(connectionObj,start,goal,motionLengths,motionTypes) especifica el tipo de conexión Reeds-Shepp, las poses inicial y final, y las longitudes y tipos de movimiento correspondientes. Estos valores se establecen en las propiedades correspondientes del objeto.

Propiedades

expandir todo

Esta propiedad o parámetro es de solo lectura.

Radio mínimo de giro del vehículo, especificado como escalar positivo en metros. Este valor corresponde al radio del círculo de giro en el ángulo máximo de dirección del vehículo.

Tipos de datos: double

Esta propiedad o parámetro es de solo lectura.

Pose inicial del vehículo al inicio del segmento de ruta, especificada como un vector [x, y, Θ]. x y y están en metros. Θ está en radianes.

Tipos de datos: double

Esta propiedad o parámetro es de solo lectura.

Pose objetivo del vehículo al final del segmento de ruta, especificada como un vector [x, y, Θ]. x y y están en metros. Θ está en radianes.

Tipos de datos: double

Esta propiedad o parámetro es de solo lectura.

Longitud de cada movimiento en el segmento de ruta, especificada como un vector numérico de cinco elementos en metros. Cada duración de movimiento corresponde a un tipo de movimiento especificado en MotionTypes.

Tipos de datos: double

Esta propiedad o parámetro es de solo lectura.

Tipo de cada movimiento en el segmento de ruta, especificado como un arreglo de celdas de cadena de cinco elementos.

Tipo de movimientoDescripción
"S"Directo (adelante, p o inverso, n)
"L"

Giro a la izquierda en el ángulo máximo de dirección del vehículo (adelante, p o marcha atrás, n)

"R"

Giro a la derecha en el ángulo máximo de dirección del vehículo (adelante, p o marcha atrás, n)

"N"Sin movimiento

Si un segmento de ruta tiene menos de cinco tipos de movimiento, los elementos restantes son "N" (sin movimiento).

Ejemplo: {"L","S","R","L","R"}

Tipos de datos: cell

Esta propiedad o parámetro es de solo lectura.

Dirección de cada movimiento en el segmento de trayectoria, especificada como un vector de cinco elementos de 1s (movimiento hacia adelante) y –1s (movimiento hacia atrás). Cada dirección de movimiento corresponde a una duración de movimiento especificada en MotionLengths y un tipo de movimiento especificado en MotionTypes.

Cuando no ocurre movimiento, es decir, cuando un valor MotionTypes es "N", entonces el elemento MotionDirections correspondiente es 1.

Ejemplo: [-1 1 -1 1 1]

Tipos de datos: double

Esta propiedad o parámetro es de solo lectura.

Longitud del segmento de ruta, especificada como escalar positivo en metros. Esta longitud es solo una suma de los elementos en MotionLengths.

Tipos de datos: double

Funciones del objeto

interpolateInterpolar poses a lo largo del segmento de ruta
showVisualizar segmento de ruta

Ejemplos

contraer todo

Cree un objeto reedsSheppConnection .

reedsConnObj = reedsSheppConnection;

Defina las poses de inicio y objetivo como vectores [x y theta] .

startPose = [0 0 0];
goalPose = [1 1 pi];

Calcula un segmento de ruta válido para conectar las poses.

[pathSegObj,pathCosts] = connect(reedsConnObj,startPose,goalPose);

Muestra la ruta generada.

show(pathSegObj{1})

Figure contains an axes object. The axes object contains 13 objects of type line, scatter. These objects represent Forward Path, Reverse Path, Heading, Start Position, Goal Position.

Referencias

[1] Reeds, J. A., and L. A. Shepp. "Optimal Paths for a Car That Goes Both Forwards and Backwards." Pacific Journal of Mathematics. Vol. 145, Number 2, 1990, pp. 367–393.

Capacidades ampliadas

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

Historial de versiones

Introducido en R2019b