Robot Path Planning with Avoiding Obstacles in Known Environment Using Free Segments and Turning Points Algorithm

Abstract

Attualmente, il problema della pianificazione del percorso è uno degli argomenti più ricercati nella robotica autonoma. Ecco perché trovare un percorso sicuro in un ambiente disordinato per un robot mobile è un requisito importante per il successo di qualsiasi progetto di robot mobile. In questo lavoro viene presentato un algoritmo sviluppato basato su segmenti liberi e una strategia di svolta per risolvere il problema della pianificazione del percorso del robot in un ambiente statico. L’obiettivo dell’approccio turning point è quello di cercare un percorso sicuro per il robot mobile, per far sì che il robot si muova da una posizione di partenza a una posizione di destinazione senza colpire ostacoli. Questo algoritmo proposto gestisce due diversi obiettivi che sono la sicurezza del percorso e la lunghezza del percorso. Inoltre, una legge di controllo robusto che si chiama sliding mode control è proposto per controllare la stabilizzazione di un robot mobile autonomo per tracciare una traiettoria desiderata. Infine, i risultati della simulazione mostrano che l’approccio sviluppato è una buona alternativa per ottenere il percorso adeguato e dimostrare l’efficienza della legge di controllo proposta per il monitoraggio robusto del robot mobile.

1. Introduzione

Oggigiorno, i robot sono considerati un elemento importante nella società. Ciò è dovuto alla sostituzione degli esseri umani con robot in attività di base e pericolose. Tuttavia, progettare una strategia di navigazione efficiente per i robot mobili e garantire i loro titoli sono le questioni più importanti nella robotica autonoma.

Pertanto, il problema della pianificazione del percorso è uno degli argomenti più interessanti e ricercati. Lo scopo della pianificazione del percorso del robot è quello di cercare un percorso sicuro per il robot mobile. Anche il percorso deve essere ottimale. In questo senso, diversi lavori di ricerca che affrontano il problema della pianificazione del percorso sono stati proposti in letteratura . Fino ad ora, molti metodi sono stati utilizzati per la pianificazione del percorso di robot mobili. Tra queste strategie, il metodo dello spazio geometrico come il campo Potenziale artificiale , l’algoritmo agorafobico e l’istogramma del campo vettoriale . Questi metodi danno l’angolo di direzione per evitare gli ostacoli. La strategia di windows dinamico è stato utilizzato in . Questo approccio è un pianificatore locale basato sulla velocità che calcola la velocità ottimale senza collisioni per un robot mobile. Un altro metodo utilizzato in è chiamato turning point algoritmo di ricerca che consiste nel trovare un punto attorno al quale il robot mobile gira senza colpire gli ostacoli.

Nell’altro lato, diversi lavori di ricerca per il monitoraggio del controllo di un robot mobile a ruote hanno guadagnato l’attenzione in letteratura . Il sistema nonholonomic soffre di non linearità e problema di incertezza. A causa di questa incertezza, l’errore di traiettoria per un robot mobile a ruote è sempre stato prodotto e non può essere eliminato. In questo senso, molti metodi di tracciamento sono proposti in letteratura come controllore proporzionale integrale (PID), ma questo controller diventa instabile quando è influenzato dalla sensibilità del sensore . Inoltre, viene utilizzato un controller logico fuzzy, ma questa legge di controllo ha un tempo di risposta lento a causa del calcolo pesante . Altri lavori utilizzati controller modalità scorrevole in varie applicazioni . Il vantaggio di obiettivo di questo sistema di controllo è la sua assicurazione per stabilità, robustezza, risposta veloce e buon transitorio .

L’obiettivo della strategia è quello di risolvere il problema quando il robot si trova tra due ostacoli come la seguente: come il robot, in grado di rilevare la distanza tra le due ostacoli è abbastanza sicuro per raggiungere il target senza rischio di collisioni e come evitare gli ostacoli e muoversi tra due ostacoli nel percorso più breve. Questo è il motivo per cui questo lavoro si basa sulla selezione di segmenti liberi sicuri in un ambiente gravato da ostacoli in primo luogo. Successivamente, viene applicato un algoritmo di ricerca del punto di svolta sviluppato per determinare l’endpoint del segmento libero sicuro che fornisce il percorso più breve. Questa strategia è ispirata dall’approccio dato da Jinpyo e Kyihwan . Infatti, la strategia presentata in gestisce due obiettivi fondamentali: la lunghezza del percorso e la sicurezza del percorso. Questo approccio è focalizzato in primo luogo sulla ricerca dell’endpoint di un segmento libero che fornisce il percorso più breve. Quindi, se la distanza del segmento libero selezionato è maggiore del diametro del robot, l’endpoint viene considerato come un punto di svolta. Se questo non è il caso, deve ripetere l’algoritmo per cercare un nuovo endpoint dei segmenti liberi. Gli svantaggi di questa strategia sono che si concentra in primo luogo sulla ricerca del percorso più breve senza prendere in considerazione la sicurezza e, dopo di che, si concentra sul garantire una navigazione sicura del percorso che porta a un calcolo esteso e pesante e ha bisogno di più tempo per pianificare il percorso adeguato per un robot mobile. Al fine di superare questi svantaggi, il nostro algoritmo sviluppato serve a garantire in un primo momento la sicurezza del percorso selezionando i segmenti liberi più sicuri. Quindi, cerca la lunghezza del percorso determinando l’endpoint dei segmenti liberi più sicuri che fornisce il percorso più breve. Utilizzando questa strategia, possiamo determinare rapidamente il percorso più sicuro e più breve. Inoltre, una volta pianificato il percorso, viene utilizzata una legge di tracciamento basata sul controller della modalità di scorrimento per consentire al robot di seguire la traiettoria progettata.

Il nostro contributo è quello di sviluppare un nuovo algoritmo per risolvere il problema della pianificazione del percorso robot con ostacoli statici. Questa pianificazione, chiamata anche piano di percorso statico, presenta il vantaggio di garantire la sicurezza e la brevità del percorso. Inoltre, l’algoritmo proposto è caratterizzato da un comportamento reattivo per trovare una traiettoria senza collisioni e un percorso fluido. Dall’altro lato, il robot mobile dovrebbe tracciare la traiettoria senza collisione con ostacoli. Viene quindi proposto un controllo della modalità scorrevole per garantire robustezza, stabilità e reattività.

Il resto di questo documento è organizzato come segue. La sezione 2 presenta il modello di robot mobile utilizzato in questo lavoro. I diversi passaggi dell’algoritmo proposto per la pianificazione del percorso sono descritti in dettaglio nella Sezione 3. Nella Sezione 4, un controller di modalità scorrevole viene utilizzato per il tracciamento della traiettoria. Infine, i risultati della simulazione e la conclusione sono presentati e analizzati rispettivamente nelle Sezioni 5 e 6.

2. Modello di robot mobile

Diversi lavori di ricerca per la navigazione autonoma sono stati applicati a diversi tipi di robot mobili . In questo lavoro, consideriamo il robot mobile Khepera IV che ha due ruote motrici indipendenti che sono responsabili dell’orientamento e del comando della piattaforma agendo sulla velocità di ciascuna ruota. Pertanto, il modello schematico del robot mobile a ruote Khepera IV è mostrato in Figura 1.

Figura 1
rappresentazione Schematica di Khepera IV.

Il modello cinematico di un nonholonomic robot mobile è determinato come segue:dove (, ) sono i robot Cartesiano di coordinate, è l’angolo tra il robot direzione e asse, e sono, rispettivamente, il robot a destra e a sinistra ruota a velocità, ed è la distanza tra le due ruote.

3. Algoritmo di pianificazione del percorso

Per risolvere il problema di pianificazione del percorso, viene proposto un algoritmo basato sulla ricerca del punto di svolta di un segmento libero.

3.1. Principio dell’algoritmo proposto

Un segmento libero è considerato come la distanza tra due endpoint di due diversi ostacoli (vedi Figura 2). Cerca l’endpoint di un segmento sicuro in cui il robot mobile gira intorno a questo punto senza colpire ostacoli.

Figura 2
Quadro di navigazione.

Quando non ci sono ostacoli, il problema di pianificazione del percorso non si pone. Infatti, il robot si sposta da una posizione iniziale a una posizione obiettivo in una linea retta che sarà considerata come il percorso più breve. Tuttavia, quando il robot mobile incontra ostacoli come mostrato in Figura 2, il robot dovrebbe girare senza collisione con ostacoli. Quindi, il problema principale è come determinare un percorso adatto da un punto di partenza a un punto di destinazione in un ambiente statico. Per risolvere questo problema il nostro algoritmo sviluppato si propone di cercare un punto di svolta di un segmento libero sicuro che dà il percorso più breve e permette al robot di evitare gli ostacoli. Una volta individuato il punto di svolta, in questo punto viene fissato un cerchio pericoloso con raggio. In questo caso, la nostra strategia proposta mira a cercare il punto di svolta del segmento libero sicuro attorno al quale il robot gira in sicurezza. Per garantire la sicurezza, selezioniamo il segmento la cui distanza () è maggiore del diametro del robot con un margine di sicurezza (). D’altra parte, il segmento la cui distanza è inferiore al diametro del robot è considerato un segmento di pericolo (vedi Figura 2). In questo lavoro, prendiamo in considerazione solo i segmenti sicuri e i segmenti di pericolo vengono ignorati. Inoltre, e per determinare il percorso più breve, abbiamo determinato il punto del segmento più sicuro che dà il percorso più breve. Poi un cerchio pericoloso è fissato a questo punto e il robot si gira e si muove verso la direzione tangenziale a questo cerchio. Anche quando c’è un problema di pericolo, il nostro algoritmo proposto sarà reattivo per consentire al robot di evitare gli ostacoli e raggiungere l’obiettivo. In questo caso, il robot riserva il punto di svolta determinato e cerca un nuovo punto di svolta per evitare la collisione con ostacoli. Per chiarire meglio la nostra strategia, le diverse nozioni dell’algoritmo sono incorporate in Figura 2 e il principio di base è riassunto in un diagramma di flusso presentato in Figura 3.

Figura 3
L’algoritmo proposto.

3.2. Fasi di pianificazione del percorso statico

Lo scopo di questa sezione è trovare un percorso sicuro il più breve possibile. In questo approccio, è definito come il percorso avente la direzione tangenziale al cerchio situato sul punto di svolta cercato.

3.2.1. Selezione del percorso sicuro

Il percorso sicuro mira a trovare un percorso libero che aiuti il robot a raggiungere il bersaglio senza colpire gli ostacoli dell’ambiente. La selezione di un segmento sicuro deve seguire i passi successivi: (i) Passo 1: Scopri tutti i segmenti liberi dell’ambiente (vedi Figura 4). Le equazioni (2) e (3) mostrano come determinare il valore della distanza che collega i punti e e la distanza che collega i punti e : dove (, ) (=2..5) corrisponde alla coordinata degli endpoint dei segmenti liberi.( ii) Fase 2: Il segmento la cui distanza (è maggiore di è considerato come un segmento sicuro. Tuttavia, il segmento la cui distanza è inferiore a è considerato un segmento di pericolo. Solo i segmenti sicuri sono presi in considerazione per il resto di questo lavoro. I segmenti di pericolo il cui numero è vengono ignorati. In questo passaggio, definiamo il numero di segmenti sicuri comeuna volta gestiti i criteri di sicurezza, nella sezione successiva siamo interessati a determinare il percorso più breve.

Figura 4
Determinazione dei segmenti liberi (pericolo sicuro).

3.2.2. Determinazione del percorso più breve

Quando il robot va a raggiungere la posizione di destinazione, è importante farlo nel percorso più breve possibile. L’obiettivo di determinare il percorso più breve può essere diviso in tre fasi: (i)Fase 1: Calcolare le distanze e tra il robot e il bersaglio tenendo conto del segmento libero sicuro (vedi Figura 5). Queste distanze dovrebbero essere calcolate come segue: (ii)Fase 2: Riguarda la determinazione del punto di svolta che è definito come il punto attorno al quale il robot mobile gira per evitare gli ostacoli; il processo si ottiene dopo aver confrontato le distanze e . L’endpoint del segmento libero sicuro che fornisce il percorso più breve corrisponde al punto di svolta cercato come mostrato nella Figura 5.(iii)Fase 3: Riguarda il posizionamento del cerchio pericoloso. Una volta determinato il punto di svolta, a questo punto viene fissato un cerchio pericoloso con raggio come mostrato in Figura 6.

Figura 5
Determinazione del percorso più breve.

Figura 6
Posizionamento pericoloso del cerchio.

3.3. Problemi Esame

Anche il percorso adeguato è determinato, alcuni problemi possono persistere i cui risultati rendono il robot danneggiato e non può evitare gli ostacoli. Alcuni casi problematici sono evidenziati in questo lavoro.

3.3.1. Problema di pericolo di collisione

Problema di pianificazione del percorso significa che il percorso dovrebbe essere abbastanza sicuro da attraversare senza collisione. Tuttavia, un problema di pericolo di collisione può persistere in alcuni casi: (i) Caso 1: Se c’è un’intersezione tra il robot e l’ostacolo. Per meglio concretizzare il problema, viene data la Figura 7: il percorso 1 presenta un esempio di un robot mobile in cui è intrappolato dall’ostacolo e non può evitarlo. Per rimuovere la collisione tra il percorso del robot e l’ostacolo, il percorso 2 viene presentato e girato attorno a un secondo cerchio pericoloso con raggio . Quindi, possiamo concludere che il percorso 2 è abbastanza sicuro per il robot per andare al punto di destinazione senza collisione.ii) Caso 2: se la distanza tra la tangente della linea del cerchio pericoloso e il punto finale di un ostacolo (vedi Figura 8) è inferiore al raggio del robot (), viene applicato un algoritmo di punto di svolta e un cerchio pericoloso viene centrato al punto di svolta adeguato (vedi Figura 9).

Figura 7
Problema di pericolo di collisione-caso 1.

Figura 8
Problema di pericolo di collisione-caso 2.

Figura 9
Posizionamento del punto di svolta.

3.3.2. Problema dei minimi locali

Un problema dei minimi locali può esistere quando tutti i segmenti sono pericolosi o il robot è intrappolato da ostacoli. Per sfuggire a tale situazione, il robot si allontana da quegli ostacoli fino a raggiungere l’obiettivo (vedi Figura 10).

Figura 10
Risoluzione dei problemi minimi locali.

4. Controllo della modalità scorrevole

Dopo aver pianificato il percorso del robot Khepera IV, viene proposto un controller della modalità scorrevole per una traiettoria di tracciamento robusta (). In questa strategia, sono necessarie due posizioni da conoscere come mostrato nella Figura 11: la posizione desiderata = () che è definita come la posizione desiderata da raggiungere e la posizione attuale del robot = che è definita come la sua posizione reale in questo momento. Inoltre, la differenza tra la posizione di riferimento e la posizione corrente è chiamata tracking error position =(, , ). L’espressione di è definita nell’equazione (7) come segue:

Figura 11
Errore di monitoraggio.

La traiettoria di tracciamento può essere introdotta come ricerca del vettore di controllo adeguato (è la velocità lineare del robot mobile a ruote ed è la sua velocità angolare). In modo che la posizione di errore converga asintoticamente a zero. Il robot mobile autonomo è controllato secondo il processo di progettazione di un regolatore di modo scorrevole è diviso in due punti:(i)Punto 1: La scelta della superficie scorrevole: è definita come la funzione di commutazione perché il controllo commuta il suo segno sui lati della commutazione . Pertanto, =0 viene scelto alla prima funzione di commutazione. Quando =0, la funzione candidata di Lyapunov è definita come . Quindi, determiniamo la derivata temporale di V: Notiamo che perché . Definiamo come una funzione di commutazione candidato. Quindi, l’espressione del vettore delle superfici di scorrimento è data come segue:(ii)Fase 2: La determinazione della legge di controllo: la progettazione di un controller di modalità di scorrimento deve innanzitutto stabilire un’espressione analitica della condizione adeguata in cui lo stato si muove verso e raggiunge un modo di scorrimento. Tuttavia, un fenomeno di chattering può essere causato dai ritardi di tempo finiti per i calcoli e le limitazioni del controllo. Ecco perché la funzione di commutazione è definita come una funzione di saturazione. La legge di controllo è definita quindi in quanto si nota che il sistema di controllo reaching non solo è in grado di stabilire la condizione di reaching ma anche in grado di specificare la dinamica della funzione di commutazione. Differenziando il vettore delle superfici di scorrimento definite nell’equazione (10), otteniamo dove

5. Risultati della simulazione

Nella navigazione mobile con robot, la costruzione dell’ambiente è considerata una questione essenziale per effettuare operazioni di motion planning. In questa sezione, per dimostrare la capacità di base dell’algoritmo proposto, presentiamo alcuni risultati di simulazione. In tutte le simulazioni, presenteremo i risultati di un ambiente compreso sette ostacoli che sono posti con un modo arbitrario (vedi Figura 12). La tabella 1 presenta le coordinate centrali iniziali degli ostacoli statici.

Ostacoli
Ostacolo 1 550 100
Ostacolo 2 640 400
Ostacolo 3 640 600
Ostacolo 4 400 500
Ostacolo 5 70 680
Ostacolo 6 100 400
Ostacolo 7 150 130
Tabella 1
le coordinate del Centro di ostacoli.

Figura 12
Mappatura dell’ambiente.

Le simulazioni vengono eseguite per i casi in cui la coordinata di destinazione (, ) è fissa mentre la posizione del robot è cambiata.

In questa sezione, presentiamo il caso in cui il robot inizia dalle posizioni iniziali (, )=(0, 0) e (, )=(400, 0) come mostrato nelle figure 13(a) e 13(b), dove tutti i segmenti liberi sono sicuri. Notiamo che il robot gira intorno a cerchi che si trovano nei punti di svolta adeguati e raggiunge il bersaglio per ogni modifica della posizione del robot.

(a) Navigazione con segmenti sicuri((, )=(0, 0)).
(a) Navigazione con segmenti sicuri((, )=(0, 0)).
(b) Navigazione con segmenti sicuri((, )=(400, 0)).
(b) Navigazione con segmenti sicuri((, )=(400, 0)).
(c) Navigazione con segmenti di sicurezza e pericolo((, )=(0, 0)).
(c) Navigazione con segmenti di sicurezza e pericolo((, )=(0, 0)).
(d) Navigazione con segmenti di sicurezza e pericolo((, )=(400, 0)).
(d) Navigazione con segmenti di sicurezza e pericolo((, )=(400, 0)).

(a) Navigazione con segmenti sicuri((, )=(0, 0)).
(a) Navigazione con segmenti sicuri((, )=(0, 0)). b) Navigazione con segmenti sicuri((, )=(400, 0)).
(b) Navigazione con segmenti sicuri((, )=(400, 0)). c) Navigazione con segmenti di sicurezza e pericolo((, )=(0, 0)).
(c) Navigazione con segmenti di sicurezza e pericolo((, )=(0, 0)). (d) Navigazione con segmenti di sicurezza e pericolo((, )=(400, 0)).
(d) Navigazione con segmenti di sicurezza e pericolo((, )=(400, 0)).

Figura 13
Pianificazione del percorso((, )=(250, 750)).

Anche i centri di ostacolo hanno cambiato la loro posizione come mostrato nella Tabella 2 e le modifiche alla navigazione del percorso sono mostrate nelle figure 13 (c) e 13 (d) a causa della comparsa di segmenti di pericolo.

Ostacoli
Ostacolo 1 550 100
Ostacolo 2 640 400
Ostacolo 3 640 600
Ostacolo 4 400 500
Ostacolo 5 200 550
Ostacolo 6 150 420
Ostacolo 7 150 300
Tabella 2
le coordinate del Centro di ostacoli ((, )=(250, 750)).

La figura 16 illustra la navigazione del robot mobile con segmenti di sicurezza e segmenti di pericolo. Quel robot parte da diverse posizioni iniziali(, )=(0, 0) (cfr. figure 14(a) e 14 (c)) e (, )=(400, 0) (cfr.figure 14(b) e 14(d)). Le coordinate del centro ostacoli sono indicate nella tabella 3.

Ostacoli
Ostacolo 1 550 100
Ostacolo 2 640 400
Ostacolo 3 640 600
Ostacolo 4 400 500
Ostacolo 5 240 550
Ostacolo 6 100 420
Ostacolo 7 150 250
Tabella 3
le coordinate del Centro di ostacoli ((, )=(500, 750)).

(a) Navigazione con segmenti sicuri((, )=(0, 0)).
a) Navigazione con segmenti sicuri((, )=(0, 0)).
(b) Navigazione con segmenti sicuri((, )=(400, 0)).
(b) Navigazione con segmenti sicuri((, )=(400, 0)).
(c) Navigazione con segmenti di sicurezza e pericolo((, )=(0, 0)).
c) Navigazione con segmenti di sicurezza e pericolo((, )=(0, 0)).
(d) Navigazione con segmenti di sicurezza e pericolo((, )=(400, 0)).
(d) Navigazione con segmenti di sicurezza e pericolo((, )=(400, 0)).

(a) Navigazione con segmenti sicuri((, )=(0, 0)).
a) Navigazione con segmenti sicuri((, )=(0, 0)). (b) Navigazione con segmenti sicuri((, )=(400, 0)).
(b) Navigazione con segmenti sicuri((, )=(400, 0)). c) Navigazione con segmenti di sicurezza e pericolo((, )=(0, 0)).
c) Navigazione con segmenti di sicurezza e pericolo((, )=(0, 0)). (d) Navigazione con segmenti di sicurezza e pericolo((, )=(400, 0)).
(d) Navigazione con segmenti di sicurezza e pericolo((, )=(400, 0)).

Figura 14
Pianificazione del percorso((, )=(500, 750)).

Altri risultati della simulazione presentano il caso in cui tutti i segmenti liberi sono sicuri (cfr.figure 15(a) e 15(b)). Il robot gira intorno ai cerchi pericolosi fino a raggiungere il bersaglio desiderato. Cambiando i centri di ostacolo come mostrato nella Tabella 4, notiamo la comparsa di segmenti pericolosi. Il robot prende in considerazione solo i segmenti liberi e si muove nel percorso sicuro(vedi Figure 15(c) e 15 (d)).

Ostacoli
Ostacolo 1 550 230
Ostacolo 2 630 450
Ostacolo 3 540 500
Ostacolo 4 400 500
Ostacolo 5 70 680
Ostacolo 6 160 400
Ostacolo 7 150 130
Tabella 4
le coordinate del Centro di ostacoli ((, )=(750, 750)).

(a) Navigazione in caso di segmenti sicuri((, )=(0, 0)).
a) Navigazione in caso di segmenti sicuri ((, )=(0, 0)).
(b) Navigazione in caso di segmenti sicuri((, )=(400, 0)).
(b) Navigazione in caso di segmenti sicuri((, )=(400, 0)).
(c) Navigazione in caso di sicurezza e pericolo segmenti ((, )=(0, 0)).
(c) Navigazione in caso di sicurezza e pericolo segmenti ((, )=(0, 0)).
(d) Navigazione in caso di sicurezza e pericolo segmenti ((, )=(400, 0)).
(d) Navigazione in caso di sicurezza e pericolo segmenti ((, )=(400, 0)).

(a) Navigazione in caso di segmenti sicuri((, )=(0, 0)).
a) Navigazione in caso di segmenti sicuri ((, )=(0, 0)). b) Navigazione in caso di segmenti sicuri((, )=(400, 0)).
(b) Navigazione in caso di segmenti sicuri((, )=(400, 0)). (c) Navigazione in caso di sicurezza e pericolo segmenti ((, )=(0, 0)).
(c) Navigazione in caso di sicurezza e pericolo segmenti ((, )=(0, 0)). (d) Navigazione in caso di sicurezza e pericolo segmenti ((, )=(400, 0)).
(d) Navigazione in caso di sicurezza e pericolo segmenti ((, )=(400, 0)).

Figura 15
Pianificazione del percorso((, )=(750, 750)).

(a) Navigazione con segmenti sicuri((, )=(0, 0)).
(a) Navigazione con segmenti sicuri((, )=(0, 0)).
(b) Navigazione con segmenti sicuri((, )=(400, 0)).
(b) Navigazione con segmenti sicuri((, )=(400, 0)).
(c) Navigazione con segmenti di pericolo((, )=(0, 0)).
c) Navigazione con segmenti di pericolo((, )=(0, 0)).
(d) Navigazione con segmenti di pericolo((, )=(400, 0)).
(d) Navigazione con segmenti di pericolo((, )=(400, 0)).

(a) Navigazione con segmenti sicuri((, )=(0, 0)).
(a) Navigazione con segmenti sicuri((, )=(0, 0)). b) Navigazione con segmenti sicuri((, )=(400, 0)).
(b) Navigazione con segmenti sicuri((, )=(400, 0)). c) Navigazione con segmenti di pericolo((, )=(0, 0)).
c) Navigazione con segmenti di pericolo((, )=(0, 0)). (d) Navigazione con segmenti di pericolo((, )=(400, 0)).
(d) Navigazione con segmenti di pericolo((, )=(400, 0)).

Figura 16
Pianificazione del percorso((, )=(800, 500)).

Le figure 16 (a) e 16 (b) mostrano che il robot mobile assicura di raggiungere la destinazione evitando diversi ostacoli. La tabella 5 mostra le posizioni degli ostacoli centrali. In questo caso, stabiliamo che esiste un problema di minimi locali. Pertanto, il robot si allontana dagli ostacoli e si sposta direttamente sul bersaglio (vedi Figure 16(c) e 16(d)).

Ostacoli
Ostacolo 1 550 240
Ostacolo 2 550 400
Ostacolo 3 540 510
Ostacolo 4 400 510
Ostacolo 5 200 560
Ostacolo 6 150 430
Ostacolo 7 150 260
Tabella 5
le coordinate del Centro di ostacoli ((, )=(800, 500)).

Da tutti i risultati della simulazione, è ovvio vedere che la strategia sviluppata è molto reattiva perché il robot raggiunge l’evitamento degli ostacoli in ogni modifica del robot e delle posizioni di destinazione e in presenza di segmenti sicuri e pericolosi.

Dopo aver pianificato il percorso più sicuro e più breve, è necessario che il robot mobile segua le traiettorie di riferimento basate sul controller della modalità scorrevole. La figura 17 mostra che il robot mobile segue sempre la traiettoria di riferimento.

(a) Tracciamento del percorso pianificato della Figura 15(a).
(a) Tracciamento del percorso pianificato della figura 15(a).
(b) Tracciamento del percorso pianificato della figura 16(b).
(b) Tracciamento del percorso pianificato della Figura 16(b).

(a) Tracciamento del percorso pianificato della Figura 15(a).
(a) Tracciamento del percorso pianificato della figura 15(a).(b) Tracciamento del percorso pianificato della figura 16(b).
(b) Tracciamento del percorso pianificato della Figura 16(b).

Figura 17
Tracciamento del percorso pianificato.

Per illustrare meglio le prestazioni del controller della modalità di scorrimento, le posizioni di errore e le due velocità (destra e sinistra) delle ruote per i casi. Le figure 15 (a) e 16 (b) sono state presentate nelle figure 18 e 19. La figura 18 mostra che gli errori di tracciamento tendono a zero, il che consente di concludere che il sistema di legge di controllo proposto fornisce una buona traiettoria di tracciamento.

(a) Caso della figura 15 (a).
(a) Caso della figura 15(a).
(b) Caso della figura 16 (b).
(b) Caso della figura 16(b).

(a) Caso della figura 15 (a).
(a) Caso della figura 15(a).(b) Caso della figura 16 (b).
(b) Caso della figura 16(b).

Figura 18
Errori di monitoraggio (, , ).

(a) Caso della figura 15 (a).
(a) Caso della figura 15(a).
(b) Caso della figura 16 (b).
(b) Caso della figura 16(b).

(a) Caso della figura 15 (a).
(a) Caso della figura 15(a).b) Caso della figura 16 b).
(b) Caso della figura 16(b).

Figura 19
Evoluzione delle due velocità (destra e sinistra).

Oltre a questo, la figura 19 presenta l’evoluzione delle due velocità (destra e sinistra) delle ruote. Ad esempio, per la figura 19(b), inizialmente il robot mobile avanza con le stesse velocità per entrambe le ruote. Non appena viene rilevato l’ostacolo 1, il sistema di controllo fornisce una maggiore velocità della ruota destra rispetto alla velocità della ruota sinistra. Dopo aver superato l’ostacolo 1, le due velocità sono uguali fino a quando il robot raggiunge il bersaglio. Non appena viene rilevato l’ostacolo 2, il sistema di controllo fornisce una maggiore velocità della ruota destra rispetto alla velocità della ruota sinistra. Dopo aver superato l’ostacolo 2, notiamo che la velocità della ruota sinistra è maggiore della ruota destra. Questo è quello di trasformare il robot mobile nella posizione di destinazione. Una volta che il robot è orientato verso il bersaglio, le due velocità sono uguali fino a quando il robot raggiunge il bersaglio.

6. Conclusione

In questo articolo viene presentato un algoritmo che cerca un punto di svolta basato su segmenti liberi. Gestisce due diversi obiettivi: il percorso sicuro e la lunghezza del percorso. Il vantaggio dell’algoritmo sviluppato è che il robot può sempre spostarsi dalla posizione iniziale alla posizione di destinazione, non solo in modo sicuro, ma anche sul percorso più breve indipendentemente dalla forma degli ostacoli e dal cambiamento della posizione dell’obiettivo nell’ambiente noto. Nell’altro lato, il controllo della modalità di scorrimento proposto è un metodo importante per affrontare il sistema. Questo controller dimostra una buona performance di tracciamento come robustezza, stabilità e risposta rapida. I risultati della simulazione vengono eseguiti su una piattaforma Khepera IV per dimostrare che il metodo proposto è una buona alternativa per risolvere i problemi di pianificazione del percorso e tracciamento della traiettoria.

Come lavoro futuro, potrebbe essere interessante determinare percorsi in ambiente dinamico.

Disponibilità dei dati

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.