Contenuto principale

Questa pagina è stata tradotta con la traduzione automatica. Fai clic qui per vedere l’originale in inglese.

dubinsConnection

Tipo di connessione del percorso Dubins

Descrizione

L'oggetto dubinsConnection contiene informazioni per calcolare un segmento di percorso dubinsPathSegment per collegare le pose. Un segmento del percorso di Dubins collega due pose come una sequenza di tre movimenti. Le opzioni di movimento sono:

  • Dritto

  • Svolta a sinistra con sterzata massima

  • Svolta a destra con sterzata massima

Un segmento del percorso di Dubins consente il movimento solo in avanti.

Utilizzare questo oggetto di connessione per definire i parametri per un modello di movimento del robot, tra cui il raggio di sterzata minimo e le opzioni per i tipi di percorso. Per generare un segmento di percorso tra pose utilizzando questo tipo di connessione, chiamare la funzione connect.

Creazione

Descrizione

dubConnObj = dubinsConnection crea un oggetto utilizzando i valori delle proprietà predefiniti.

esempio

dubConnObj = dubinsConnection(Name,Value) specifica i valori delle proprietà utilizzando coppie nome-valore. Per impostare più proprietà, specificare più coppie nome-valore.

Proprietà

espandi tutto

Raggio minimo di sterzata del veicolo, specificato come valore scalare positivo in metri. Il raggio di sterzata minimo corrisponde al cerchio più piccolo che il veicolo può compiere con la massima sterzata in una sola direzione.

Tipi di dati: double

Tipi di percorso Dubins da disabilitare, specificati come cell array di vettori di caratteri a tre elementi o vettore di scalari di stringa. La cell array definisce tre sequenze di movimenti proibiti dal modello di movimento del veicolo.

Tipo di movimentoDescrizione
"S"Dritto
"L"

Svoltare a sinistra con il massimo angolo di sterzata del veicolo

"R"

Svolta a destra con il massimo angolo di sterzata del veicolo

Per visualizzare tutti i tipi di percorso disponibili, vedere la proprietà AllPathTypes.

Per le connessioni Dubins, i tipi di percorso disponibili sono: {"LSL"} {"LSR"} {"RSL"} {"RSR"} {"RLR"} {"LRL"}.

Esempio ["LSL","LSR"]

Tipi di dati: string | cell

proprietà è di sola lettura.

Tutti i possibili tipi di percorso, restituiti come cell array di vettori di caratteri. Questa proprietà elenca tutti i tipi. Per disabilitare determinati tipi, specificare i tipi da questo elenco in DisabledPathTypes.

Per le connessioni Dubins, i tipi di percorso disponibili sono: {'LSL'} {'LSR'} {'RSL'} {'RSR'} {'RLR'} {'LRL'}.

Tipi di dati: cell

Funzioni oggetto

connectConnect poses for given connection type

Esempi

comprimi tutto

Crea un oggetto dubinsConnection.

dubConnObj = dubinsConnection;

Definire le pose di inizio e fine come vettori [x y theta].

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

Calcola un segmento di percorso valido per collegare le pose.

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

Mostra il percorso generato.

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.

Crea un oggetto dubinsConnection.

dubConnObj = dubinsConnection;

Definire le pose di inizio e fine come vettori [x y theta].

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

Calcola un segmento di percorso valido per collegare le pose.

pathSegObj = connect(dubConnObj,startPose,goalPose);

Mostra il percorso generato. Nota la direzione delle curve.

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 = 1×3 cell
    {'R'}    {'L'}    {'R'}

Disabilitare questa specifica sequenza di movimento in un nuovo oggetto di connessione. Ridurre MinTurningRadius se il robot è più manovrabile. Collegare nuovamente le pose per ottenere un percorso diverso.

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

[pathSegObj, pathCosts] = connect(dubConnObj,startPose,goalPose);
pathSegObj{1}.MotionTypes
ans = 1×3 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.

Riferimenti

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

Funzionalità estese

espandi tutto

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

Cronologia versioni

Introdotto in R2019b