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.

dubinsConnection

Tipo de conexión de ruta Dubins

Desde R2019b

Descripción

El objeto dubinsConnection contiene información para calcular un segmento de ruta dubinsPathSegment para conectar entre poses. Un segmento de la ruta de Dubins conecta dos poses como una secuencia de tres movimientos. Las opciones de movimiento son:

  • Derecho

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

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

Un segmento de ruta de Dubins solo permite el movimiento en dirección de avance.

Utilice este objeto de conexión para definir parámetros para un modelo de movimiento de robot, incluido el radio de giro mínimo y las opciones para los tipos de ruta. Para generar un segmento de ruta entre poses usando este tipo de conexión, llame a la función connect .

Creación

Descripción

ejemplo

dubConnObj = dubinsConnection crea un objeto usando valores de propiedad predeterminados.

dubConnObj = dubinsConnection(Name,Value) especifica valores de propiedad utilizando pares nombre-valor. Para establecer varias propiedades, especifique varios pares de nombre-valor.

Propiedades

expandir todo

Radio mínimo de giro del vehículo, especificado como escalar positivo en metros. El radio de giro mínimo es para el círculo más pequeño que el vehículo puede hacer con la dirección máxima en una sola dirección.

Tipos de datos: double

Tipos de ruta de Dubins para deshabilitar, especificados como un arreglo de celdas de vectores de caracteres de tres elementos o un vector de escalares de cadena. La arreglo de celdas define tres secuencias de movimientos que están prohibidos por el modelo de movimiento del vehículo.

Tipo de movimientoDescripción
"S"Derecho
"L"

Giro a la izquierda con el ángulo máximo de dirección del vehículo.

"R"

Giro a la derecha con el ángulo máximo de dirección del vehículo.

Para ver todos los tipos de rutas disponibles, consulte la propiedad AllPathTypes .

Para conexiones Dubins, los tipos de ruta disponibles son: {"LSL"} {"LSR"} {"RSL"} {"RSR"} {"RLR"} {"LRL"}.

Ejemplo: ["LSL","LSR"]

Tipos de datos: string | cell

Esta propiedad o parámetro es de solo lectura.

Todos los tipos de ruta posibles, devueltos como un arreglo de celdas de vectores de caracteres. Esta propiedad enumera todos los tipos. Para deshabilitar ciertos tipos, especifique los tipos de esta lista en DisabledPathTypes.

Para conexiones Dubins, los tipos de ruta disponibles son: {'LSL'} {'LSR'} {'RSL'} {'RSR'} {'RLR'} {'LRL'}.

Tipos de datos: cell

Funciones del objeto

connectConectar poses para un tipo de conexión determinado

Ejemplos

contraer todo

Cree un objeto dubinsConnection .

dubConnObj = dubinsConnection;

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(dubConnObj,startPose,goalPose);

Muestra la ruta generada.

show(pathSegObj{1})

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

Cree un objeto dubinsConnection .

dubConnObj = dubinsConnection;

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 = connect(dubConnObj,startPose,goalPose);

Muestra la ruta generada. Observe la dirección de los giros.

show(pathSegObj{1})

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

pathSegObj{1}.MotionTypes
ans = 1x3 cell
    {'R'}    {'L'}    {'R'}

Deshabilite esta secuencia de movimiento específica en un nuevo objeto de conexión. Reducir el MinTurningRadius si el robot es más maniobrable. Conecta las poses nuevamente para obtener una ruta diferente.

dubConnObj = dubinsConnection('DisabledPathTypes',{'RLR'});
dubConnObj.MinTurningRadius = 0.5;

[pathSegObj, pathCosts] = connect(dubConnObj,startPose,goalPose);
pathSegObj{1}.MotionTypes
ans = 1x3 cell
    {'L'}    {'S'}    {'L'}

show(pathSegObj{1})

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

Referencias

[1] Shkel, Andrei M., and Vladimir Lumelsky. "Classification of the Dubins set." Robotics and Autonomous Systems. Vol. 34, No. 4, 2001, pp. 179–202.

Capacidades ampliadas

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

Historial de versiones

Introducido en R2019b