ROBOWORKS-LOGO

ROBOWORKS Robofleet MULTI-AGENT ALGORITMUSOK

ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-PRODUCT

Műszaki adatok

  • Termék neve: ROBOWORKS
  • Verzió: 20240501
  • Felkészítők: Wayne Liu & Janette Lin
  • Dátum: 1 május 2024

Termékinformáció

A ROBOWORKS egy többügynökből álló rendszer, amely lehetővé teszi különféle algoritmusok megvalósítását a robotok koordinációjához és kommunikációjához.

GYIK

K: Mit tegyek, ha a robot nem tud automatikusan csatlakozni a Wifi-hez?

V: Ha a robot nem tud automatikusan csatlakozni, próbálja meg kihúzni, majd visszadugni a hálózati kártyát, majd próbálja meg újra csatlakozni.

ÖSSZEFOGLALÁS

Ez a dokumentum főként a wheeltec_multi nevű többrobot-képző függvénycsomag használatát magyarázza.

Ez a dokumentum négy részre oszlik:

  • Az első rész főként a többrobot-formálási módszer bevezetéséről szól;
  • a második rész elsősorban a ROS többgépes kommunikációs beállításait írja le, beleértve a ROS konstrukciós többgépes kommunikációt és a ROS kommunikáció során felmerülő problémákat;
  • a harmadik rész elsősorban a többgépes időszinkronizálás műveleti lépéseit írja le;
  • a negyedik rész a többgépes formálási funkciócsomag konkrét használatát ismerteti.

Ennek a dokumentumnak a célja egy bevezetés a többügynökből álló robotrendszerekbe, és lehetővé teszi a felhasználók számára, hogy gyorsan elindítsák a több robotot tartalmazó projektet.

BEVEZETÉS A TÖBBSZERES ALGORITMUSOKBA

Többügynök-képző algoritmusok

Ez a ROS-csomag a többügynök tipikus problémáját mutatja be az együttműködési vezérlés során egy formációs folyamat során. Ez az oktatóanyag megalapozza a téma jövőbeli fejlesztését. A formációvezérlő algoritmus olyan algoritmusra utal, amely több ügynököt vezérel, hogy egy adott formációt hozzon létre egy feladat végrehajtásához. Az együttműködés több ügynök közötti együttműködésre utal, amely egy bizonyos kényszerkapcsolatot használ egy feladat végrehajtásához. Vegyük példának a több robotból álló meghajtótampAz együttműködés azt jelenti, hogy több robot együtt alkot egy kívánt formációt. Lényege egy bizonyos matematikai kapcsolat, amely az egyes robotok pozíciói között teljesül. A formálási módszerek főként központosított formációszabályozásra és elosztott formációvezérlésre oszlanak. A központosított formációvezérlési módszerek főként a virtuális struktúra módszert, a grafikus elméleti módszert és a modell prediktív módszert tartalmazzák. Az elosztott formációvezérlési módszerek főként a vezető-követő módszert, a viselkedés alapú módszert és a virtuális struktúra módszert tartalmazzák.
Ez a ROS-csomag a vezető-követő módszert alkalmazza az elosztott formáció-vezérlési módszerben a több robotból álló meghajtó végrehajtásához. Az alakulat egyik robotját vezetőnek, a többi robotot pedig rabszolgának jelölik ki, hogy kövessék a vezetőt. Az algoritmus a vezető robot mozgási pályáját használja, hogy beállítsa azokat a koordinátákat, amelyeket a következő robotok bizonyos irányban és sebességgel követnek. A követési koordinátáktól való pozícióeltérések korrigálásával a követők végül nullára csökkentik a követő és a várt követési koordináták közötti eltérést, hogy elérjék a formációs hajtás céljait. Ily módon az algoritmus viszonylag kevésbé bonyolult.

Akadálykerülő algoritmusok

Egy általános akadálykerülő algoritmus a mesterséges potenciálmező módszer. A robot fizikai környezetben való mozgását virtuális mesterséges erőtérben való mozgásnak tekintjük. A legközelebbi akadályt a LiDAR azonosítja. Az akadály taszító erőteret biztosít, hogy taszítást generáljon a robotnak, a célpont pedig gravitációs teret biztosít gravitációs erő létrehozásához a robot számára. Ily módon a taszítás és a vonzás együttes hatására irányítja a robot mozgását.
Ez a ROS csomag a mesterséges potenciál mező módszerén alapuló továbbfejlesztés. Először is, a formációs algoritmus kiszámítja a Slave követő lineáris és szögsebességét. Ezután az akadályelkerülési követelményeknek megfelelően növeli vagy csökkenti a lineáris és szögsebességet. Ha a távolság a Slave követő és az akadály között kisebb, az akadály taszító ereje a Slave követőre nagyobb. Eközben a lineáris sebesség változása és a szögsebesség változása nagyobb. Ha az akadály közelebb van a Slave követő elejéhez, az akadály taszítása a Slave követő felé nagyobb lesz (az elülső taszítás a legnagyobb, az oldalsó taszítás a legkisebb). Ennek eredményeként a lineáris sebesség és a szögsebesség eltérései nagyobbak. A mesterséges potenciálmező módszerrel javítja a megoldást arra az esetre, ha a robot egy akadály előtt nem reagál. Ez a jobb akadálykerülés célját szolgálja.

MULTI-AGENT KOMMUNIKÁCIÓ BEÁLLÍTÁSA

A többügynökös kommunikáció az egyik kulcsfontosságú lépés a több robotból álló formáció megvalósításához. Ha több robot egymáshoz viszonyított helyzete ismeretlen, a robotoknak kommunikáción keresztül meg kell osztaniuk egymás információit, hogy megkönnyítsék a kapcsolatok kialakítását. A ROS-elosztott architektúra és a hálózati kommunikáció nagyon erős. Nemcsak a folyamatok közötti kommunikációhoz kényelmes, hanem a különböző eszközök közötti kommunikációhoz is. A hálózati kommunikáción keresztül minden csomópont bármely számítógépen futhat. A fő feladatok, mint például az adatfeldolgozás, a gazdagép oldalon valósulnak meg. A szolgagépek felelősek a különféle érzékelők által gyűjtött környezeti adatok fogadásáért. A gazdagép itt az a menedzser, amely a fő csomópontot futtatja a ROS-ban. A jelenlegi többügynökös kommunikációs keretrendszer egy csomópontkezelőn és egy paraméterkezelőn keresztül zajlik a több robot közötti kommunikáció kezelésére.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (1)

A többügynökös kommunikáció beállításának lépései

  • Állítsa be a ROS-vezérlőket ugyanabban a hálózatban
    • Kétféleképpen állíthatja be a Master/Slave ROS-vezérlőket ugyanazon a hálózaton.

1. lehetőség:

A Master Host helyi wifit hoz létre a Főcsomópont-kezelő futtatásával. Általában a főként kijelölt robotok egyike hozza létre ezt a wifi hálózatot. Más robotok vagy virtuális gépek szolgaként csatlakoznak ehhez a wifi-hálózathoz.

2. lehetőség:

A helyi wifi hálózatot egy harmadik féltől származó útválasztó biztosítja információközvetítő központként. Minden robot ugyanahhoz a routerhez csatlakozik. A router internetkapcsolat nélkül is használható. Válassza ki az egyik robotot főként, és futtassa a főcsomópont-kezelőt. A többi robot szolgaként van kijelölve, és a fő csomópont-kezelőt a mestertől futtatják.
A választási lehetőség kiválasztása a projekt követelményeitől függ. Ha a kommunikálni szükséges robotok száma nem túl magas, az 1. opciót javasoljuk, mivel költségmegtakarítást és egyszerű beállítást tesz lehetővé. Ha a robotok száma nagy, a 2. lehetőség javasolt. A ROS fővezérlő számítási teljesítményének korlátai és a korlátozott beépített Wifi sávszélesség könnyen késéseket és hálózati zavarokat okozhat. Az útválasztó könnyen meg tudja oldani ezeket a problémákat. Vegye figyelembe, hogy többügynökös kommunikáció végrehajtásakor, ha a virtuális gépet ROS-szolgaként használják, a hálózati módot áthidaló módra kell állítani.

Konfigurálja a Master/Slave környezeti változókat

Miután az összes ROS-mester ugyanabban a hálózatban van, be kell állítani a többügynökös kommunikáció környezeti változóit. Ez a környezeti változó a főkönyvtár .bashrc fájljában van beállítva. Futtassa a gedit ~/.bashrc parancsot az elindításához. Vegye figyelembe, hogy a többügynökös kommunikációban a master és a slave .bashrc fájljait is konfigurálni kell. Amit meg kell változtatni, az a fájl végén található IP-cím. A két sor a ROS_MASTER_URI és a ROS_HOSTNAME, amint az a 2-1-4 ábrán látható. A ROS gazdagép ROS_MASTER_URI és ROS_HOSTNAME értéke egyaránt helyi IP-cím. A ROS slave .bashrc fájl ROS_MASTER_URI-ját a gazdagép IP-címére kell módosítani, míg a ROS_HOSTNAME helyi IP-cím marad.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (2)

A ROS többgépes kommunikációt nem korlátozza a ROS kiadás verziója. A többgépes kommunikáció során a következőkre kell ügyelni:

  1. A ROS slave program működése a ROS master eszköz ROS főprogramjától függ. A ROS főprogramnak először a mestereszközön kell elindulnia, mielőtt a szolga programot végrehajtaná a szolga eszközön.
  2. A többgépes kommunikációban a master és a slave gépek IP-címének ugyanabban a hálózatban kell lennie. Ez azt jelenti, hogy az IP-cím és az alhálózati maszk ugyanabban a hálózatban található.
  3. A ROS_HOSTNAME a .bashrc környezeti konfigurációs fájlban nem ajánlott localhost használata. Javasoljuk, hogy egy adott IP-címet használjon.
  4. Abban az esetben, ha a slave IP-cím nincs megfelelően beállítva, a slave eszköz továbbra is hozzáférhet a ROS masterhez, de nem tud vezérlési információkat bevinni.
  5. Ha a virtuális gép részt vesz a többügynökös kommunikációban, a hálózati módot áthidaló módra kell állítani. A statikus IP-cím nem választható ki a hálózati kapcsolathoz.
  6. A többgépes kommunikáció nem lehetséges view vagy iratkozzon fel olyan üzenetadat-típusú témákra, amelyek helyileg nem léteznek.
  7. A Little Turtle szimulációs demó segítségével ellenőrizheti, hogy a robotok közötti kommunikáció sikeres-e:
    • a. Fuss a mester elől
      • rescore #launch ROS szolgáltatások
      • rostrum turtles turtlesim_node #launch turtles interface
    • b. Fuss a rabszolga elől
      • turtles újrafuttatása turtle_teleop_key #launch billentyűzetvezérlő csomópont teknősök számára

Ha manipulálni tudja a teknősök mozgását a billentyűzetről a slave-en, az azt jelenti, hogy a mester/szolga kommunikáció sikeresen létrejött.

Automatikus Wi-Fi kapcsolat ROS-ban

Az alábbi eljárások elmagyarázzák, hogyan kell beállítani a robotot, hogy automatikusan csatlakozzon a gazdagép hálózathoz vagy az útválasztó hálózathoz.

Automatikus Wi-Fi kapcsolat beállítása a Jetson Nano számára

  1. Csatlakoztassa a Jetson Nano-t a VNC távoli eszközzel vagy közvetlenül a számítógép képernyőjéhez. Kattintson a jobb felső sarokban található wifi ikonra, majd kattintson a „Kapcsolatok szerkesztése” gombra.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (3)
  2. Kattintson a + gombra a Hálózati kapcsolatokban:ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (4)
  3. A „Choose a Connection Type” ablakban kattintson a legördülő menüre, majd kattintson a „Létrehozás…” gombra:ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (5)
  4. A Vezérlőpulton kattintson a Wifi lehetőségre. Adja meg a csatlakozáshoz szükséges Wi-Fi nevet a „Connection Name” és az SSID mezőkben. A „Mód” legördülő menüben válassza az „Ügyfél” lehetőséget, az „Eszköz” legördülő menüben pedig a „wlan0” lehetőséget.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (6)
  5. A Vezérlőpulton kattintson az „Általános” lehetőségre, és jelölje be az „Automatikus csatlakozás ehhez a hálózathoz…” lehetőséget. Állítsa a csatlakozási prioritást 1-re a „Kapcsolat prioritása automatikus aktiváláshoz” opcióban. Jelölje be a „Minden felhasználó csatlakozhat ehhez a hálózathoz” opciót. Ha az opció 0-ra van állítva a „Kapcsolat prioritása az automatikus aktiváláshoz” más wifi esetén, ez azt jelenti, hogy a múltban ez volt az előnyben részesített Wi-Fi hálózat.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (7)
  6. Kattintson a „Wi-Fi biztonság” lehetőségre a Vezérlőpulton. Válassza a „WPA és WPA2 Personal” lehetőséget a „Security” mezőben. Ezután írja be a Wi-Fi jelszót a „Password” mezőbe.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (8)

Jegyzet: Ha a robot nem tud automatikusan csatlakozni a Wifi hálózathoz az indítás után, amikor a Wifi prioritás 0-ra van állítva, akkor azt a gyenge wifi jel okozhatja. A probléma elkerülése érdekében dönthet úgy, hogy töröl minden korábban csatlakoztatott Wi-Fi lehetőséget. Csak a gazdagép vagy az útválasztó által létrehozott wifi hálózatot tartsa meg. Kattintson az „IPv4 beállítások” lehetőségre a hálózati beállítások vezérlőpultján. A „Módszer” mezőben válassza a „Kézi” opciót. Ezután kattintson a „Hozzáadás” gombra, és írja be a szolgagép IP-címét a „Cím” mezőbe. Töltse ki a „24”-et a „Netmask” mezőben. Töltse ki az IP-hálózat szegmenst az „Átjáró”-ban. Módosítsa az IP hálózati szegmens utolsó három számjegyét „1”-re. Ennek a lépésnek a fő célja az IP-cím rögzítése. Miután ez az első alkalommal megtörtént, az IP-cím változatlan marad, amikor később csatlakozik ugyanahhoz a WIFI-hez.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (9)

Az összes beállítás konfigurálása után kattintson a „Save” gombra a beállítások mentéséhez. A sikeres mentés után a robot automatikusan csatlakozik a gazdagép vagy útválasztó hálózatához, amikor be van kapcsolva.

Jegyzet:

  1. Az itt beállított IP-címnek meg kell egyeznie a 2.1. szakaszban található .bashrc fájlban beállított IP-címmel.
  2. A master és minden slave IP-címének egyedinek kell lennie.
  3. A master és a slave IP-címeknek ugyanabban a hálózati szegmensben kell lenniük.
  4. Meg kell várnia, amíg a gazdagép vagy az útválasztó kiküldi a WiFi jelet, mielőtt a szolga robot bekapcsolható, és automatikusan csatlakozhatna a WiFi hálózathoz.
  5. Ha a beállítás konfigurálása után a robot nem tud automatikusan csatlakozni a WiFi-hez, amikor be van kapcsolva, csatlakoztassa, majd húzza ki a hálózati kártyát, majd próbálja meg újra csatlakozni.

Automatikus Wi-Fi kapcsolat beállítása Raspberry Pi számára

A Raspberry Pi eljárása ugyanaz, mint a Jetson Nano.

Automatikus Wi-Fi kapcsolat beállítása Jetson TX1-hez

A Jetson TX1 beállítása majdnem megegyezik a Jetson Nanoéval, egy kivétellel, a Jetson TX1-nek ki kell választania a „wlan1” eszközt az „Eszköz” menüben a hálózati beállítások vezérlőpultján.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (10)

MULTI-AGENT SZINKRONIZÁLÁS BEÁLLÍTÁSA

A többügynök-alakítási projektben a többügynökös időszinkronizálási beállítás kulcsfontosságú lépés. A megalakulás során sok probléma fog okozni az egyes robotok aszinkron rendszerideje miatt. A többügynökes időszinkronizálás két helyzetre oszlik, nevezetesen arra a helyzetre, amikor a mester és a szolga robot is csatlakozik a hálózathoz, és arra a helyzetre, amikor mindkettő le van választva a hálózatról.

Sikeres master/slave hálózati kapcsolat

A többügynökös kommunikáció konfigurálása után, ha a mester és a slave gépek sikeresen tudnak csatlakozni a hálózathoz, automatikusan szinkronizálják a hálózati időt. Ebben az esetben nincs szükség további teendőkre az időszinkronizálás eléréséhez.

A hálózati kapcsolatok megszakadásának hibaelhárítása

A többügynökös kommunikáció konfigurálása után, ha a master és a slave eszközök nem tudnak sikeresen csatlakozni a hálózathoz, manuálisan kell szinkronizálni az időt. Az idő beállításához a dátum parancsot fogjuk használni.

Először telepítse a lezáró eszközt. A terminátor eszközből az ablakfelosztó eszközzel helyezze el a master és a slave vezérlőterminálját ugyanabba a terminálablakban (jobb gombbal kattintson az osztott ablak beállításához, és jelentkezzen be a mester és a szolga gépekre az ssh segítségével különböző ablakokban) .

  • sudo apt-get install terminator # Töltse le a terminátort a terminálablak felosztásához

Kattintson a bal felső sarokban található gombra, válassza ki a [Broadcast to all]/[Broadcast all] opciót, és írja be a következő parancsot. Ezután a terminátor eszközzel állítsa be ugyanazt az időt a master és a slave számára.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (11)

  • sudo date -s “2022-01-30 15:15:00” # Manuális időbeállítás

MULTI-AGENT ROS CSOMAG

A ROS csomag bemutatása

Állítsa be a slave nevet

A wheeltec_multi függvénycsomagban minden szolgarobotnak egyedi nevet kell beállítani a hibák elkerülése érdekében. Plample, No. 1 a slave1 és No. 2 a slave2, stb. A különböző nevek beállításának célja a futó csomópontok csoportosítása és különböző névterek szerinti megkülönböztetése. Plample, a slave 1 radar témája a/slave1/scan, a slave 1 LiDAR csomópontja pedig/szolga1/lézer.

Állítsa be a szolga koordinátákat

A wheeltec_multi csomag egyéni formációkat valósíthat meg. Ha különböző formációkra van szükség, csak módosítsa a szolga robotok kívánt koordinátáit. Slave_x és slave_y a slave x és y koordinátái, amelyeknél a master az eredeti referenciapont. A master eleje az x koordináta pozitív iránya, a bal oldala pedig az y koordináta pozitív iránya. A beállítás befejezése után egy TF koordináta slave1 lesz kiadva a slave várható koordinátájaként. Ha egy master és két slave van, a következő formáció állítható be:

  1. Vízszintes kialakítás: A bal oldali slave koordinátáit slave_x:0, slave_y: 0.8-ra, a jobb oldali slave koordinátáit pedig slave_x:0, slave_y:-0.8-ra állíthatjuk.
  2. Oszlopképzés: Az egyik slave koordinátái a következőkre állíthatók: slave_x:-0.8, slave_y:0, a másik slave koordinátái pedig: slave_x:-1.8, slave_y:0.
  3. Háromszögképzés: Az egyik slave koordinátái a következőkre állíthatók: slave_x:-0.8, slave_y: 0.8, a másik slave koordinátái pedig: slave_x:-0.8, slave_y:-0.8.

Más formációk igény szerint testreszabhatók.

Jegyzet:

  • A két robot közötti ajánlott távolság 0.8, és nem ajánlott 0.6-nál kisebbnek. A slave és a master közötti távolságot ajánlatos 2.0 alá állítani. Minél távolabb van a mestertől, annál nagyobb a slave lineáris sebessége, amikor a mester fordul. A maximális sebesség korlátozása miatt a slave sebessége eltér, ha nem felel meg a követelményeknek. A robotformáció kaotikussá válik.

A slave pozíció inicializálása

  1. A slave kezdeti pozíciója alapértelmezés szerint a várt koordinátákon van. A program futtatása előtt helyezze a slave robotot a várt koordináták közelébe az inicializálás befejezéséhez. Ezt a funkciót a wheeltec_multi csomag turn_on_wheeltec_robot.launch nevű fájljának pose_setter csomópontja valósítja meg, amint az a 4-1-3 ábrán látható.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (12)

Ha a felhasználó testre szeretné szabni a slave kezdeti pozícióját, akkor csak a slave_x és slave_y értékeket kell beállítania, ahogy az a 4-1-4 ábrán látható a wheeltec_slave.launch fájlban. A slave_x és slave_y értékeket a rendszer átadja a turn_on_wheeltec_robot.launch fájlnak, és hozzárendeli a pose_setter csomóponthoz. Csak helyezze a robotot egy egyéni pozícióba a program futtatása előtt.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (13)

Pozíció konfigurálása

A többügynökből álló formációban az első megoldandó probléma a master és a slave pozicionálása. A mester először 2D térképet készít. A térkép létrehozása és mentése után futtassa a 2D navigációs csomagot, és használja a 2D navigációs csomagban található adaptív Monte Carlo helymeghatározó algoritmust (amcl pozicionálás) a mester pozicionálásának konfigurálásához. Mivel a mester és a slave ugyanabban a hálózatban vannak, és ugyanazon a csomópontkezelőn osztoznak, a mester elindította a térképet a 2D navigációs csomagból, így az összes slave ugyanazt a térképet használhatja ugyanazon a csomópontkezelő alatt. Ezért a slave-nek nem kell térképet készítenie. A wheeltec_slave.launch fájlban futtassa a Monte Carlo pozicionálást (amcl pozicionálás), a slave-ek a mester által létrehozott térkép segítségével konfigurálhatják pozíciójukat.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (14)

Hogyan lehet formációt létrehozni és fenntartani

A formáció mozgása során a mestermozgás Rvizzel, billentyűzettel, távirányítóval és egyéb módszerekkel vezérelhető. A slave a slave_tf_listener csomóponton keresztül számítja ki a sebességét, hogy szabályozza mozgását és elérje a formáció célját. A slave_tf_listener csomópont korlátozza a slave sebességet, hogy elkerülje a csomópontszámítás során a túlzott sebességet, ami egy sor hatást okoz. A megadott érték a wheeltec_slave.launch fájlban módosítható.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (15)

A formációs algoritmus releváns paraméterei a következők: ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (16)

Akadálykerülési információk

Egy többügynökből álló formációban a mester használhatja a move_base csomópontot az akadálykerülés befejezéséhez. A slave inicializálása azonban nem használja a move_base csomópontot. Ezen a ponton a multi_avoidance csomópontot meg kell hívni a slave programban. Az akadálykerülő csomópont alapértelmezés szerint engedélyezve van a csomagban. Ha szükséges, az elkerülés „hamis” értékre állítható az akadályelkerülési csomópont letiltásához. ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (17)

Az akadályelkerülési csomópont néhány releváns paramétere az alábbi ábrán látható, ahol a safe_distance az akadály biztonságos távolságának határértéke, a veszély_távolság pedig az akadály veszélyes távolságának határértéke. Ha az akadály biztonságos és veszélyes távolságon belül van, a slave úgy állítja be helyzetét, hogy elkerülje az akadályt. Ha az akadály veszélyben van, a rabszolga elhajt az akadálytól.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (18)

Működési eljárás

Írja be a végrehajtási parancsot

Előkészületek a többszeres kialakítás megkezdése előtt:

  • A master és a slave ugyanahhoz a hálózathoz csatlakozik, és megfelelően állítja be a többügynökös kommunikációt
  • A mester előre elkészít egy 2D-s térképet és elmenti
  • A mester a térkép kiindulási pontjára kerül, a slave pedig az inicializálási pozíció (az alapértelmezett slave formációs pozíció) közelébe kerül.
  • A Jetson Nano/Raspberry Pi-be való távoli bejelentkezés után hajtsa végre az időszinkronizálást.

sudo dátum -s “2022-04-01 15:15:00”

  • 1. lépés: Nyissa meg a 2D-s térképet a mesterből.

roslaunch turn_on_wheeltec_robot navigation.launch

  • 2. lépés: Futtassa a formációs programot az összes slave-ről.

roslaunch wheeltec_multi wheeltec_slave.launch

  • 3. lépés: Nyissa meg a billentyűzet vezérlő csomópontját a mesterről, vagy használja a joystickot a fő mozgás távvezérléséhez.

indítsa újra a wheeltec_robot_rc keyboard_teleop.launch

  • 4. lépés: (Opcionális) Figyelje meg a robot mozgását Rvizről.

rviz

Jegyzet: 

  1. A program végrehajtása előtt feltétlenül fejezze be az időszinkronizálási műveletet.
  2. Egy többágens formáció mesterének irányításakor a szögsebesség nem lehet túl gyors. Az ajánlott lineáris sebesség 0.2 m/s, a szögsebesség mértéke 0.3 rad/s alatti. Amikor a master kanyarodik, minél távolabb van a slave a mastertől, annál nagyobb lineáris sebességre van szükség. A csomagban lévő lineáris sebesség és szögsebesség korlátja miatt, amikor a szolgaautó nem tudja elérni a kívánt sebességet, a formáció kaotikus lesz. Összességében a túlzott lineáris sebesség könnyen károsíthatja a robotot.
  3. Ha a szolgák száma egynél több, a ROS gazdagép korlátozott beépített sávszélessége miatt könnyű jelentős késéseket és megszakadásokat okozni a többügynökös kommunikációban. A router használatával jól megoldható ez a probléma.
  4. A több robotból álló formáció (2 slave) TF fája: rqt_tf_tree
  5. A több robotból álló formáció (2 slave) csomóponti kapcsolat diagramja: rqt_graph

Dokumentumok / Források

ROBOWORKS Robofleet MULTI-AGENT ALGORITMUSOK [pdf] Felhasználói kézikönyv
Robofleet többügynök-algoritmusok, Robofleet, többügynök-algoritmusok, ügynök-algoritmusok, algoritmusok

Hivatkozások

Hagyj megjegyzést

E-mail címét nem tesszük közzé. A kötelező mezők meg vannak jelölve *