ROBOWORK-LOGO

ALGORITMI MULTI-AGENTE ROBOWORKS Robofleet

ROBOWORKS-Robofleet-ALGORITMI-MULTI-AGENTE-PRODOTTO

Specifiche

  • Nome del prodotto: ROBOWORKS
  • Versione: 20240501
  • Preparato da: Wayne Liu e Janette Lin
  • Data: 1 maggio 2024

Informazioni sul prodotto

ROBOWORKS è un sistema multi-agente che consente l'implementazione di vari algoritmi per il coordinamento e la comunicazione dei robot.

Domande frequenti

D: Cosa devo fare se il robot non riesce a connettersi automaticamente al Wi-Fi?

R: Se il robot non riesce a connettersi automaticamente, prova a scollegare e ricollegare la scheda di rete e prova a connetterti nuovamente.

RIEPILOGO

Questo documento spiega principalmente l'utilizzo del pacchetto di funzioni di formazione multi-robot denominato wheeltec_multi.

Questo documento è diviso in quattro parti:

  • La prima parte riguarda principalmente l'introduzione del metodo di formazione multi-robot;
  • la seconda parte descrive principalmente le impostazioni di comunicazione multi-macchina ROS, inclusa la comunicazione multi-macchina di costruzione ROS e i problemi che possono essere riscontrati nel processo di comunicazione ROS;
  • la terza parte descrive principalmente le fasi operative della sincronizzazione temporale di più macchine;
  • la quarta parte espone l'uso specifico del pacchetto di funzioni di formazione multi-macchina.

Lo scopo di questo documento è quello di introdurre i sistemi robotici multi-agente e consentire agli utenti di avviare rapidamente il progetto di formazione multi-robot.

INTRODUZIONE AGLI ALGORITMI MULTI-AGENTE

Algoritmi di formazione multi-agente

Questo pacchetto ROS presenta un tipico problema di multi-agenti nel controllo collaborativo durante un'unità di formazione. Questo tutorial getta le basi per futuri sviluppi su questo argomento. L'algoritmo di controllo della formazione si riferisce a un algoritmo che controlla più agenti per formare una formazione specifica per eseguire un'attività. La collaborazione si riferisce alla cooperazione tra più agenti utilizzando una certa relazione di vincolo per completare un'attività. Prendi l'unità di formazione multi-robot come esempioample, collaborazione significa che più robot formano insieme una formazione desiderata. La sua essenza è una certa relazione matematica che è soddisfatta tra le posizioni di ciascun robot. I metodi di formazione sono principalmente divisi in controllo di formazione centralizzato e controllo di formazione distribuito. I metodi di controllo di formazione centralizzato includono principalmente il metodo della struttura virtuale, il metodo della teoria grafica e il metodo predittivo del modello. I metodi di controllo di formazione distribuito includono principalmente un metodo leader-follower, un metodo basato sul comportamento e un metodo della struttura virtuale.
Questo pacchetto ROS applica il metodo leader-follower nel metodo di controllo della formazione distribuita per eseguire la guida della formazione multi-robot. Un robot nella formazione è designato come leader e gli altri robot sono designati come slave per seguire il leader. L'algoritmo utilizza la traiettoria di movimento del robot leader per impostare le coordinate da tracciare dai robot seguenti con una certa direzione e velocità. Correggendo le deviazioni di posizione dalle coordinate di tracciamento, i follower alla fine ridurranno la deviazione tra il follower e le coordinate di tracciamento previste a zero per raggiungere gli obiettivi della guida della formazione. In questo modo, l'algoritmo è relativamente meno complicato.

Algoritmi di evitamento degli ostacoli

Un comune algoritmo di evitamento degli ostacoli è il metodo del campo potenziale artificiale. Il movimento del robot in un ambiente fisico è considerato come un movimento in un campo di forza artificiale virtuale. L'ostacolo più vicino è identificato da LiDAR. L'ostacolo fornisce un campo di forza repulsiva per generare repulsione al robot e il punto bersaglio fornisce un campo gravitazionale per generare forza gravitazionale al robot. In questo modo, controlla il movimento del robot sotto l'azione combinata di repulsione e attrazione.
Questo pacchetto ROS è un miglioramento basato sul metodo del campo potenziale artificiale. Innanzitutto, l'algoritmo di formazione calcola la velocità lineare e angolare dello Slave follower. Quindi aumenta o diminuisce la velocità lineare e angolare in base ai requisiti di evitamento degli ostacoli. Quando la distanza tra lo Slave follower e l'ostacolo è più vicina, la forza di repulsione dell'ostacolo allo Slave follower è maggiore. Nel frattempo, la variazione della velocità lineare e le variazioni della velocità angolare sono maggiori. Quando l'ostacolo è più vicino alla parte anteriore dello Slave follower, la repulsione dell'ostacolo allo Slave follower diventa maggiore (la repulsione anteriore è la maggiore e la repulsione laterale è la minore). Di conseguenza, le variazioni della velocità lineare e della velocità angolare sono maggiori. Attraverso il metodo del campo potenziale artificiale, migliora una soluzione quando un robot potrebbe smettere di rispondere di fronte a un ostacolo. Ciò serve allo scopo di un migliore evitamento degli ostacoli.

IMPOSTAZIONE DELLA COMUNICAZIONE MULTI-AGENTE

La comunicazione multi-agente è uno dei passaggi chiave per completare una formazione multi-robot. Quando le posizioni relative di più robot sono sconosciute, i robot devono condividere le informazioni reciproche tramite comunicazione per facilitare la creazione di connessioni. L'architettura distribuita ROS e le comunicazioni di rete sono molto potenti. Non è solo conveniente per la comunicazione tra processi, ma anche per la comunicazione tra dispositivi diversi. Tramite la comunicazione di rete, tutti i nodi possono essere eseguiti su qualsiasi computer. Le attività principali come l'elaborazione dei dati vengono completate sul lato host. Le macchine slave sono responsabili della ricezione dei dati ambientali raccolti da vari sensori. L'host qui è il gestore che esegue il nodo Master in ROS. L'attuale framework di comunicazione multi-agente è tramite un gestore di nodi e un gestore di parametri per gestire le comunicazioni tra più robot.ROBOWORKS-Robofleet-ALGORITMI-MULTI-AGENTE-FIG- (1)

I passaggi per impostare le comunicazioni multi-agente

  • Configura i controlli ROS nella stessa rete
    • Esistono 2 modi per impostare i controlli ROS Master/Slave nella stessa rete.

Opzione 1:

Il Master Host crea una rete wi-fi locale eseguendo il Master node manager. In genere, uno dei robot designato come master crea questa rete wi-fi. Altri robot o macchine virtuali si uniscono a questa rete wi-fi come slave.

Opzioni 2:

La rete Wi-Fi locale è fornita da un router di terze parti come centro di trasmissione delle informazioni. Tutti i robot sono collegati allo stesso router. Il router può essere utilizzato anche senza una connessione Internet. Seleziona uno dei robot come master ed esegui il gestore del nodo master. Gli altri robot sono designati come slave ed eseguono il gestore del nodo master dal master.
La decisione su quale opzione scegliere dipende dai requisiti del progetto. Se il numero di robot che devono comunicare non è elevato, si consiglia l'opzione 1 poiché consente di risparmiare sui costi ed è facile da configurare. Quando il numero di robot è elevato, si consiglia l'opzione 2. Il vincolo sulla potenza di calcolo del controllo master ROS e la larghezza di banda Wi-Fi di bordo limitata possono facilmente causare ritardi e interruzioni di rete. Un router può facilmente risolvere questi problemi. Si noti che quando si esegue una comunicazione multi-agente, se la macchina virtuale viene utilizzata come slave ROS, la sua modalità di rete deve essere impostata sulla modalità bridge.

Configurare le variabili di ambiente Master/Slave

Dopo che tutti i master ROS sono tutti nella stessa rete, è necessario impostare le variabili di ambiente per la comunicazione multi-agente. Questa variabile di ambiente è configurata nel file .bashrc nella directory principale. Eseguire il comando gedit ~/.bashrc per avviarlo. Si noti che entrambi i file .bashrc del master e dello slave nella comunicazione multi-agente devono essere configurati. Ciò che deve essere modificato sono gli indirizzi IP alla fine del file. Le due righe sono ROS_MASTER_URI e ROS_HOSTNAME, come mostrato nella Figura 2-1-4. ROS_MASTER_URI e ROS_HOSTNAME dell'host ROS sono entrambi IP locali. ROS_MASTER_URI nel file .bashrc dello slave ROS deve essere modificato nell'indirizzo IP dell'host mentre ROS_HOSTNAME rimane come indirizzo IP locale.ROBOWORKS-Robofleet-ALGORITMI-MULTI-AGENTE-FIG- (2)

La comunicazione multi-macchina ROS non è vincolata dalla versione di rilascio ROS. Nel processo di comunicazione multi-macchina, si dovrebbe essere consapevoli di quanto segue:

  1. Il funzionamento del programma slave ROS dipende dal programma master ROS del dispositivo master ROS. Il programma master ROS deve essere avviato prima sul dispositivo master prima di eseguire il programma slave sul dispositivo slave.
  2. Gli indirizzi IP delle macchine master e slave nella comunicazione tra più macchine devono trovarsi nella stessa rete. Ciò significa che l'indirizzo IP e la maschera di sottorete si trovano nella stessa rete.
  3. ROS_HOSTNAME nel file di configurazione dell'ambiente .bashrc non è consigliato per usare localhost. Si consiglia di usare un indirizzo IP specifico.
  4. Nel caso in cui l'indirizzo IP dello slave non sia impostato correttamente, il dispositivo slave può comunque accedere al master ROS ma non può immettere informazioni di controllo.
  5. Se la macchina virtuale partecipa alla comunicazione multi-agente, la sua modalità di rete deve essere impostata su modalità bridge. Non è possibile selezionare l'IP statico per la connessione di rete.
  6. La comunicazione tra più macchine non può view oppure iscriversi ad argomenti con tipo di dati messaggio che non esistono localmente.
  7. Puoi utilizzare la demo della simulazione Little Turtle per verificare se la comunicazione tra i robot ha successo:
    • a. Scappa dal maestro
      • rescore #launch servizi ROS
      • rostro tartarughe turtlesim_node #lancia interfaccia tartarughe
    • b. Scappa dallo schiavo
      • riesegui turtles turtle_teleop_key #avvia il nodo di controllo della tastiera per le tartarughe

Se riesci a manipolare i movimenti della tartaruga dalla tastiera dello slave, significa che la comunicazione master/slave è stata stabilita con successo.

Connessione Wi-Fi automatica in ROS

Le procedure seguenti spiegano come configurare il robot per la connessione automatica alla rete host o alla rete del router.

Configurazione automatica della connessione Wi-Fi per Jetson Nano

  1. Collega Jetson Nano tramite lo strumento remoto VNC o direttamente allo schermo del computer. Fai clic sull'icona Wi-Fi nell'angolo in alto a destra, quindi fai clic su "Modifica connessioni.."ROBOWORKS-Robofleet-ALGORITMI-MULTI-AGENTE-FIG- (3)
  2. Fare clic sul pulsante + in Connessioni di rete:ROBOWORKS-Robofleet-ALGORITMI-MULTI-AGENTE-FIG- (4)
  3. Nella finestra "Scegli un tipo di connessione", fai clic sul menu a discesa e fai clic sul pulsante "Crea...":ROBOWORKS-Robofleet-ALGORITMI-MULTI-AGENTE-FIG- (5)
  4. Nel Pannello di controllo, clicca sull'opzione Wi-Fi. Inserisci il nome Wi-Fi a cui connetterti nei campi "Nome connessione" e SSID. Seleziona "Client" nel menu a discesa "Modalità" e seleziona "wlan0" nel menu a discesa "Dispositivo".ROBOWORKS-Robofleet-ALGORITMI-MULTI-AGENTE-FIG- (6)
  5. Nel Pannello di controllo, clicca sull'opzione "Generale" e seleziona "Connetti automaticamente a questa rete...". Imposta la priorità di connessione su 1 nell'opzione "Priorità di connessione per l'attivazione automatica". Seleziona l'opzione "Tutti gli utenti possono connettersi a questa rete". Quando l'opzione è impostata su 0 in "Priorità di connessione per l'attivazione automatica" per altre reti Wi-Fi, significa che questa è la rete Wi-Fi preferita in passato.ROBOWORKS-Robofleet-ALGORITMI-MULTI-AGENTE-FIG- (7)
  6. Fare clic sull'opzione "Sicurezza Wi-Fi" nel Pannello di controllo. Selezionare "WPA e WPA2 Personal" nel campo "Sicurezza". Quindi immettere la password Wi-Fi nel campo "Password".ROBOWORKS-Robofleet-ALGORITMI-MULTI-AGENTE-FIG- (8)

Nota: Se il robot non riesce a connettersi automaticamente alla rete Wi-Fi dopo l'avvio quando la priorità Wi-Fi è impostata su 0, potrebbe essere causato da un problema di segnale Wi-Fi debole. Per evitare questo problema, puoi scegliere di eliminare tutte le opzioni Wi-Fi che sono state connesse in passato. Mantieni solo la rete Wi-Fi creata dall'host o dal router. Fai clic sull'opzione "Impostazioni IPv4" nel pannello di controllo delle impostazioni di rete. Seleziona l'opzione "Manuale" nel campo "Metodo". Quindi fai clic su "Aggiungi", inserisci l'indirizzo IP della macchina slave nel campo "Indirizzo". Inserisci "24" nel campo "Maschera di rete". Inserisci il segmento di rete IP in "Gateway". Cambia le ultime tre cifre del segmento di rete IP in "1". Lo scopo principale di questo passaggio è correggere l'indirizzo IP. Dopo aver completato questa operazione per la prima volta, l'indirizzo IP rimarrà invariato quando ci si connetterà successivamente allo stesso Wi-Fi.ROBOWORKS-Robofleet-ALGORITMI-MULTI-AGENTE-FIG- (9)

Dopo aver configurato tutte le impostazioni, fare clic su "Salva" per salvare le impostazioni. Dopo che il salvataggio è riuscito, il robot si collegherà automaticamente alla rete dell'host o del router quando viene acceso.

Nota:

  1. L'indirizzo IP impostato qui deve essere lo stesso dell'indirizzo IP impostato nel file .bashrc nella Sezione 2.1.
  2. L'indirizzo IP del master e di ogni slave deve essere univoco.
  3. Gli indirizzi IP master e slave devono trovarsi nello stesso segmento di rete.
  4. È necessario attendere che l'host o il router invii il segnale WiFi prima che il robot slave possa essere acceso e connettersi automaticamente alla rete WiFi.
  5. Dopo aver configurato le impostazioni, se il robot non riesce a connettersi automaticamente al WiFi quando è acceso, collegare e scollegare la scheda di rete e provare a connettersi nuovamente.

Configurazione automatica della connessione Wi-Fi per Raspberry Pi

La procedura per Raspberry Pi è la stessa di Jetson Nano.

Configurazione automatica della connessione Wi-Fi per Jetson TX1

La configurazione in Jetson TX1 è quasi la stessa di Jetson Nano, con una sola eccezione: Jetson TX1 deve selezionare il dispositivo "wlan1" in "Dispositivo" nel pannello di controllo delle impostazioni di rete.ROBOWORKS-Robofleet-ALGORITMI-MULTI-AGENTE-FIG- (10)

IMPOSTAZIONE DELLA SINCRONIZZAZIONE MULTI-AGENTE

Nel progetto di formazione multi-agente, l'impostazione della sincronizzazione temporale multi-agente è un passaggio cruciale. Nel processo di formazione, molti problemi saranno causati dal tempo di sistema asincrono di ciascun robot. La sincronizzazione temporale multi-agente è divisa in due situazioni, vale a dire, la situazione in cui sia il robot master che quello slave sono connessi alla rete e la situazione in cui entrambi sono disconnessi dalla rete.

Connessione di rete master/slave riuscita

Dopo aver configurato la comunicazione multi-agente, se le macchine master e slave riescono a connettersi correttamente alla rete, sincronizzeranno automaticamente l'ora di rete. In questo caso, non sono necessarie ulteriori azioni per ottenere la sincronizzazione dell'ora.

Risoluzione dei problemi di disconnessione della rete

Dopo aver configurato la comunicazione multi-agente, se i dispositivi master e slave non riescono a connettersi correttamente alla rete, è necessario sincronizzare manualmente l'ora. Utilizzeremo il comando date per completare l'impostazione dell'ora.

Innanzitutto, installa lo strumento terminatore. Dallo strumento terminatore, utilizzare lo strumento di suddivisione della finestra per posizionare i terminali di controllo del master e dello slave nella stessa finestra del terminale (fare clic con il pulsante destro del mouse per impostare una finestra divisa e accedere alle macchine master e slave tramite ssh in finestre diverse) .

  • sudo apt-get install terminator # Scarica terminator per dividere la finestra del terminale

Fare clic sul pulsante in alto a sinistra, selezionare l'opzione [Trasmetti a tutti]/[Trasmetti a tutti] e immettere il seguente comando. Quindi utilizzare lo strumento terminatore per impostare la stessa ora per il master e lo slave.ROBOWORKS-Robofleet-ALGORITMI-MULTI-AGENTE-FIG- (11)

  • sudo date -s “2022-01-30 15:15:00” # Impostazione manuale dell'ora

PACCHETTO ROS MULTI-AGENTE

Introduzione al pacchetto ROS

Imposta il nome dello schiavo

Nel pacchetto wheeltec_multi function, è necessario impostare un nome univoco per ogni robot slave per evitare errori. Ad esempioample, No. 1 per slave1 e No. 2 per slave2, ecc. Lo scopo di impostare nomi diversi è di raggruppare i nodi in esecuzione e distinguerli tramite namespace diversi. Ad esempioample, l'argomento radar dello slave 1 è/slave1/scan e il nodo LiDAR dello slave 1 è/slave1/laser.

Imposta le coordinate dello slave

Il pacchetto wheeltec_multi può implementare formazioni personalizzate. Quando sono richieste formazioni diverse, basta modificare le coordinate desiderate dei robot slave. Slave_x e slave_y sono le coordinate x e y dello slave con il master come punto di riferimento originale. La parte anteriore del master è la direzione positiva della coordinata x e il lato sinistro è la direzione positiva della coordinata y. Dopo aver completato l'impostazione, verrà emessa una coordinata TF slave1 come coordinata prevista dello slave. Se ci sono un master e due slave, è possibile impostare la seguente formazione:

  1. Formazione orizzontale: è possibile impostare le coordinate dello slave a sinistra su slave_x:0, slave_y: 0.8 e le coordinate dello slave a destra su slave_x:0, slave_y:-0.8.
  2. Formazione delle colonne: le coordinate di uno slave possono essere impostate su: slave_x:-0.8, slave_y:0 ​​e le coordinate dell'altro slave possono essere impostate su: slave_x:-1.8, slave_y:0.
  3. Formazione triangolare: le coordinate di uno slave possono essere impostate su: slave_x:-0.8, slave_y: 0.8 e le coordinate dell'altro slave possono essere impostate su: slave_x:-0.8, slave_y:-0.8.

Altre formazioni possono essere personalizzate secondo necessità.

Nota:

  • La distanza consigliata tra i due robot è impostata su 0.8 e si consiglia di non essere inferiore a 0.6. Si consiglia di impostare la distanza tra gli slave e il master al di sotto di 2.0. Più è lontano dal master, maggiore è la velocità lineare dello slave quando il master gira. A causa della limitazione della velocità massima, la velocità dello slave varierà se non soddisfa i requisiti. La formazione dei robot diventerà caotica.

Inizializzazione della posizione slave

  1. La posizione iniziale dello slave è alle coordinate previste per impostazione predefinita. Prima di eseguire il programma, basta posizionare il robot slave vicino alle coordinate previste per completare l'inizializzazione. Questa funzione è implementata dal nodo pose_setter nel file denominato turn_on_wheeltec_robot.launch nel pacchetto wheeltec_multi, come mostrato nella Figura 4-1-3.ROBOWORKS-Robofleet-ALGORITMI-MULTI-AGENTE-FIG- (12)

Se l'utente desidera personalizzare la posizione iniziale dello slave, deve solo impostare i valori slave_x e slave_y come mostrato nella Figura 4-1-4 in wheeltec_slave.launch. I valori slave_x e slave_y verranno passati a turn_on_wheeltec_robot.launch e assegnati al nodo pose_setter. Basta posizionare il robot in una posizione personalizzata prima di eseguire il programma.ROBOWORKS-Robofleet-ALGORITMI-MULTI-AGENTE-FIG- (13)

Configurazione della posizione

In una formazione multi-agente, il primo problema da risolvere è il posizionamento del master e dello slave. Il master costruirà prima una mappa 2D. Dopo aver creato e salvato la mappa, esegui il pacchetto di navigazione 2D e usa l'algoritmo di posizionamento Monte Carlo adattivo (posizionamento amcl) nel pacchetto di navigazione 2D per configurare il posizionamento del master. Poiché il master e gli slave sono nella stessa rete e condividono lo stesso gestore nodi, il master ha lanciato la mappa dal pacchetto di navigazione 2D, tutti gli slave possono usare la stessa mappa sotto lo stesso gestore nodi. Pertanto, lo slave non ha bisogno di creare una mappa. In wheeltec_slave.launch, esegui il posizionamento Monte Carlo (posizionamento amcl), gli slave possono configurare le loro posizioni usando la mappa creata dal master.ROBOWORKS-Robofleet-ALGORITMI-MULTI-AGENTE-FIG- (14)

Come creare formazione e mantenere la formazione

Nel processo di movimento di formazione, il movimento master può essere controllato da Rviz, tastiera, telecomando e altri metodi. Lo slave calcola la sua velocità tramite il nodo slave_tf_listener per controllare il suo movimento e raggiungere l'obiettivo della formazione. Il nodo slave_tf_listener limita la velocità dello slave per evitare una velocità eccessiva da parte del calcolo del nodo, che causerà una serie di impatti. Il valore specifico può essere modificato in wheeltec_slave.launch.ROBOWORKS-Robofleet-ALGORITMI-MULTI-AGENTE-FIG- (15)

I parametri rilevanti dell’algoritmo di formazione sono i seguenti: ROBOWORKS-Robofleet-ALGORITMI-MULTI-AGENTE-FIG- (16)

Informazioni per evitare gli ostacoli

In una formazione multi-agente, il master può usare il nodo move_base per completare l'evitamento degli ostacoli. Tuttavia, l'inizializzazione dello slave non usa il nodo move_base. A questo punto, il nodo multi_avoidance deve essere chiamato nel programma slave. Il nodo di evitamento degli ostacoli è abilitato di default nel pacchetto. Se necessario, l'evitamento può essere impostato su "false" per disabilitare il nodo di evitamento degli ostacoli. ROBOWORKS-Robofleet-ALGORITMI-MULTI-AGENTE-FIG- (17)

Alcuni parametri rilevanti del nodo di evitamento ostacoli sono mostrati nella figura sottostante, dove safe_distance è il limite di distanza di sicurezza dell'ostacolo e danger_distance è il limite di distanza pericolosa dell'ostacolo. Quando l'ostacolo è entro la distanza di sicurezza e la distanza di pericolo, lo slave regola la sua posizione per evitare l'ostacolo. Quando l'ostacolo è entro la distanza di pericolo, lo slave si allontanerà dall'ostacolo.ROBOWORKS-Robofleet-ALGORITMI-MULTI-AGENTE-FIG- (18)

Procedura di funzionamento

Immettere il comando di esecuzione

Preparativi prima di iniziare la formazione multi-agente:

  • Il master e lo slave si connettono alla stessa rete e configurano correttamente la comunicazione multi-agente
  • Il master crea in anticipo una mappa 2D e la salva
  • Il master è posizionato al punto iniziale della mappa e lo slave è posizionato vicino alla posizione di inizializzazione (la posizione predefinita di formazione dello slave)
  • Dopo aver effettuato l'accesso a Jetson Nano/Raspberry Pi in remoto, eseguire la sincronizzazione dell'ora.

sudo date -s “2022-04-01 15:15:00”

  • Passo 1: Apre una mappa 2D dal master.

roslaunch turn_on_wheeltec_robot Navigation.launch

  • Passo 2: Esegui il programma di formazione da tutti gli slave.

roslaunch wheeltec_multi wheeltec_slave.launch

  • Passo 3: Aprire il nodo di controllo della tastiera dal master o utilizzare il joystick per controllare a distanza il movimento del master.

rilancia wheeltec_robot_rc tastiera_teleop.launch

  • Fase 4: (Opzionale) Osserva i movimenti del robot da Rviz.

rviz

Nota: 

  1. Assicurarsi di completare l'operazione di sincronizzazione dell'ora prima di eseguire il programma.
  2. Quando si controlla il master di una formazione multi-agente, la velocità angolare non deve essere troppo elevata. La velocità lineare consigliata è 0.2 m/s, gradi di velocità angolare inferiori a 0.3 rad/s. Quando il master sta effettuando una curva, più lo slave è lontano dal master, maggiore è la velocità lineare richiesta. A causa del limite sulla velocità lineare e sulla velocità angolare nel pacchetto, quando l'auto slave non riesce a raggiungere la velocità richiesta, la formazione sarà caotica. Nel complesso, la velocità lineare eccessiva può facilmente danneggiare il robot.
  3. Quando il numero di slave è superiore a uno, a causa della limitata larghezza di banda wi-fi on-board dell'host ROS, è facile causare ritardi significativi e disconnessione della comunicazione multi-agente. L'utilizzo di un router può risolvere bene questo problema.
  4. L'albero TF della formazione multi-robot (2 slave) è: rqt_tf_tree
  5. Il diagramma delle relazioni tra i nodi della formazione multi-robot (2 slave) è: rqt_graph

Documenti / Risorse

ALGORITMI MULTI-AGENTE ROBOWORKS Robofleet [pdf] Manuale d'uso
Algoritmi multi-agente Robofleet, Robofleet, Algoritmi multi-agente, Algoritmi degli agenti, Algoritmi

Riferimenti

Lascia un commento

Il tuo indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *