ROBWORKS Robofleet Orin Nano x3 ROS Robot 

ROBWORKS Robofleet Orin Nano x3 ROS Robot

SOMMARJU

Dan id-dokument prinċipalment jispjega l-użu tal-pakkett tal-funzjoni ta 'formazzjoni ta' multi-robot jismu wheeltec_multi.

Dan id-dokument huwa maqsum f'erba' partijiet:

  • L-ewwel parti hija prinċipalment dwar l-introduzzjoni tal-metodu ta 'formazzjoni multi-robot;
  • it-tieni parti tiddeskrivi prinċipalment is-settings ta 'komunikazzjoni b'ħafna magni ROS, inkluża l-kostruzzjoni ROS ta' komunikazzjoni b'ħafna magni u l-problemi li jistgħu jiltaqgħu magħhom fil-proċess ta 'komunikazzjoni ROS;
  • it-tielet parti prinċipalment tiddeskrivi l-passi tal-operat tas-sinkronizzazzjoni tal-ħin b'ħafna magni;
  • ir-raba 'parti tesponi l-użu speċifiku tal-pakkett tal-funzjoni ta' formazzjoni b'ħafna magni.

L-għan ta 'dan id-dokument huwa introduzzjoni għal sistema robotika b'ħafna aġent u jippermetti lill-utent biex jibda l-proġett ta' formazzjoni ta 'boti robots malajr.

INTRODUZZJONI GĦAL ALGORITMI MULTI-AĠENTI

Algoritmi ta' formazzjoni ta' multi-aġenti

Dan il-pakkett ROS jippreżenta problema tipika ta 'multi-aġenti fil-kontroll kollaborattiv waqt drive ta' formazzjoni. Dan it-tutorja jistabbilixxi pedament għal żvilupp futur dwar dan is-suġġett. L-algoritmu tal-kontroll tal-formazzjoni jirreferi għal algoritmu li jikkontrolla aġenti multipli biex jiffurmaw formazzjoni speċifika biex iwettqu kompitu. Il-kollaborazzjoni tirreferi għall-kooperazzjoni bejn aġenti multipli li jużaw ċerta relazzjoni ta 'restrizzjoni biex jitlesta kompitu. Ħu d-drajv tal-formazzjoni multi-robot bħala example, kollaborazzjoni tfisser li robots multipli jiffurmaw formazzjoni mixtieqa flimkien. L-essenza tagħha hija ċerta relazzjoni matematika hija sodisfatta bejn il-pożizzjonijiet ta 'kull robot. Il-metodi ta 'formazzjoni huma prinċipalment maqsuma f'kontroll ċentralizzat tal-formazzjoni u kontroll tal-formazzjoni distribwit. Metodi ċentralizzati ta 'kontroll tal-formazzjoni jinkludu prinċipalment metodu ta' struttura virtwali, metodu ta 'teorija grafika u metodu ta' tbassir tal-mudell. Metodi ta 'kontroll tal-formazzjoni mqassma jinkludu prinċipalment metodu ta' mexxej-follower, metodu bbażat fuq l-imġieba u metodu ta 'struttura virtwali.

Dan il-pakkett ROS japplika l-metodu mexxej-follower fil-metodu ta 'kontroll tal-formazzjoni mqassma biex tesegwixxi l-ispinta ta' formazzjoni multi-robot. Robot wieħed fil-formazzjoni huwa nominat bħala l-mexxej, u robots oħra huma nominati bħala skjavi biex isegwu l-mexxej. L-algoritmu juża t-trajettorja tal-moviment tar-robot ewlieni biex jistabbilixxi l-koordinati li għandhom jiġu ssorveljati mir-robots li ġejjin b'ċerta direzzjoni u veloċità. Billi tikkoreġi d-devjazzjonijiet tal-pożizzjoni mill-koordinati tat-traċċar, is-segwaċi eventwalment se jnaqqsu d-devjazzjoni bejn is-segwaċi u l-koordinati tat-traċċar mistennija għal żero sabiex jinkisbu l-għanijiet ta 'sewqan tal-formazzjoni. B'dan il-mod, l-algoritmu huwa relattivament inqas ikkumplikat.

Algoritmi għall-evitar ta' ostakli

Algoritmu komuni għall-evitar tal-ostakli huwa l-metodu tal-kamp potenzjali artifiċjali. Il-moviment tar-robot f'ambjent fiżiku huwa meqjus bħala moviment f'kamp ta 'forza artifiċjali virtwali. L-eqreb ostaklu huwa identifikat mill-LiDAR. L-ostaklu jipprovdi kamp ta 'forza repulsive biex jiġġenera repulsjoni għar-robot u l-punt fil-mira jipprovdi kamp gravitazzjonali biex jiġġenera forza gravitazzjonali lir-robot. B'dan il-mod, tikkontrolla l-moviment tar-robot taħt l-azzjoni magħquda ta 'ripulsjoni u attrazzjoni.

Dan il-pakkett ROS huwa titjib ibbażat fuq il-metodu tal-kamp potenzjali artifiċjali. L-ewwelnett, l-algoritmu tal-formazzjoni jikkalkula l-veloċità lineari u angolari tas-segwaċi Slave. Imbagħad iżid jew inaqqas il-veloċità lineari u angolari skont ir-rekwiżiti tal-evitar tal-ostakli. Meta d-distanza bejn is-segwaċi tal-Islave u l-ostaklu tkun eqreb, il-forza ta 'ripulsjoni tal-ostaklu għas-segwaċi tal-Islave hija akbar. Sadanittant il-bidla tal-veloċità lineari u l-varjazzjonijiet tal-veloċità angolari huma akbar. Meta l-ostaklu jkun eqreb lejn in-naħa ta 'quddiem tas-segwaċi ta' Slave, ir-repulsjoni ta 'l-ostaklu għas-segwaċi ta' Slave ssir akbar (ir-repulsjoni ta 'quddiem hija l-akbar u r-repulsjoni tal-ġenb hija l-iżgħar). Bħala riżultat, il-varjazzjonijiet tal-veloċità lineari u l-veloċità angolari huma akbar. Permezz tal-metodu tal-kamp potenzjali artifiċjali, ittejjeb soluzzjoni

meta robot jista’ jieqaf jirrispondi quddiem ostaklu. Dan iservi għan ta' evitar aħjar tal-ostakli.

SETUP TAL-KOMUNIKAZZJONI MULTI-AĠENT

Il-komunikazzjoni multi-aġent hija waħda mill-passi ewlenin biex titlesta formazzjoni multi-robot. Meta l-pożizzjonijiet relattivi ta 'robots multipli mhumiex magħrufa, ir-robots jeħtieġ li jaqsmu l-informazzjoni ta' xulxin permezz ta 'komunikazzjoni biex jiffaċilitaw l-istabbiliment ta' konnessjonijiet. L-arkitettura distribwita ROS u l-komunikazzjonijiet tan-netwerk huma qawwija ħafna. Huwa mhux biss konvenjenti għall-komunikazzjoni bejn il-proċessi, iżda wkoll għall-komunikazzjoni bejn apparati differenti. Permezz ta 'komunikazzjoni tan-netwerk, in-nodi kollha jistgħu jaħdmu fuq kwalunkwe kompjuter. Il-kompiti ewlenin bħall-ipproċessar tad-dejta jitlestew min-naħa ospitanti. Il-magni slave huma responsabbli biex jirċievu data ambjentali miġbura minn diversi sensuri. L-ospitant hawnhekk huwa l-maniġer li jmexxi n-node Master f'ROS. Il-qafas attwali ta 'komunikazzjoni multi-aġent huwa permezz ta' maniġer ta 'nodi u maniġer tal-parametri biex jimmaniġġjaw komunikazzjonijiet fost robots multipli.

Setup ta' Komunikazzjoni b'ħafna aġent

Il-passi biex twaqqaf komunikazzjonijiet multi-aġenti

Stabbilixxi ROS Controls fl-istess netwerk

Hemm 2 modi kif jiġu stabbiliti Kontrolli ROS Master/Slave taħt l-istess netwerk.

Għażla 1:

Il-Master Host joħloq wifi lokali billi jmexxi l-maniġer tal-Master node. Ġeneralment, wieħed mir-robots li huwa nnominat bħala l-kaptan joħloq dan in-netwerk wifi. Robots jew magni virtwali oħra jingħaqdu ma' dan in-netwerk wifi bħala skjavi.

Għażliet 2:

In-netwerk wifi lokali huwa pprovdut minn router ta 'parti terza bħala ċentru ta' relay ta 'informazzjoni. Ir-robots kollha huma konnessi mal-istess router. Ir-router jista 'jintuża wkoll mingħajr konnessjoni tal-internet. Agħżel wieħed mir-robots bħala l-kaptan u mexxi l-maniġer tan-node Master. Ir-robots l-oħra huma nominati bħala skjavi u jmexxu l-maniġer tan-node master mill-kaptan.

Id-deċiżjoni dwar liema għażla tagħżel tiddependi fuq ir-rekwiżiti tal-proġett tiegħek. Jekk in-numru ta 'robots li jeħtieġ li jikkomunikaw mhuwiex f'ammont kbir, Għażla 1 hija rakkomandata peress li tiffranka l-ispiża u hija faċli biex titwaqqaf. Meta n-numru ta 'robots ikun fi kwantità kbira, Għażla 2 hija rakkomandata. Ir-restrizzjoni fuq il-qawwa tal-kompjuters tal-kontroll kaptan ROS u bandwidth tal-wifi abbord limitat jistgħu faċilment jikkawżaw dewmien u tfixkil tan-netwerk. Router jista 'faċilment jiffissa dawn il-kwistjonijiet.

Jekk jogħġbok innota li meta twettaq komunikazzjoni multi-aġent, jekk il-magna virtwali tintuża bħala skjav ROS, il-mod tan-netwerk tiegħu jeħtieġ li jiġi ssettjat għall-modalità pont.

Ikkonfigura l-varjabbli tal-ambjent Master/Slave 

Wara li l-kaptani kollha ROS huma kollha fl-istess netwerk, jeħtieġ li jiġu stabbiliti l-varjabbli ambjentali għal komunikazzjoni b'ħafna aġent. Din il-varjabbli tal-ambjent hija kkonfigurata fil-.bashrc file fid-direttorju prinċipali. Mexxi l-kmand gedit ~/.bashrc biex tniedih. Jekk jogħġbok innota li kemm il-.bashrc files tal-kaptan u l-iskjav fil-komunikazzjoni multi-aġent jeħtieġ li jiġu kkonfigurati. Dak li jeħtieġ li jinbidel huma l-indirizzi IP fl-aħħar tal- file. Iż-żewġ linji ta' huma ROS_MASTER_URI u ROS_HOSTNAME, kif muri fil-Figura 2-1-4. Ir-ROS_MASTER_URI u ROS_HOSTNAME tal-host ROS huma t-tnejn IPs lokali. Il-ROS_MASTER_URI fl-iskjav ROS .bashrc file jeħtieġ li jinbidel għall-indirizz IP tal-host filwaqt li ROS_HOSTNAME jibqa' bħala indirizz IP lokali.

Setup ta' Komunikazzjoni b'ħafna aġent

Il-komunikazzjoni b'ħafna magni ROS mhix ristretta mill-verżjoni tar-rilaxx ROS. Fil-proċess ta 'komunikazzjoni b'ħafna magni, wieħed għandu jkun konxju ta' dan li ġej:

  1. It-tħaddim tal-programm ROS slave jiddependi fuq il-programm kaptan ROS tal-apparat kaptan ROS.
    Il-programm kaptan ROS għandu jniedi l-ewwel fuq l-apparat prinċipali qabel ma jesegwixxi l-programm slave fuq l-apparat slave.
  2. L-indirizzi IP tal-magni master u slave f'komunikazzjoni b'ħafna magni jeħtieġ li jkunu fl-istess netwerk. Dan ifisser li l-indirizz IP u l-maskra tas-subnet huma taħt l-istess netwerk.
  3. ROS_HOSTNAME fil-konfigurazzjoni tal-ambjent file .bashrc mhux rakkomandat li tuża localhost. Huwa rakkomandat li tuża indirizz IP speċifiku.
  4. Fil-każ li l-indirizz IP tal-iskjav ma jkunx issettjat b'mod korrett, l-apparat tal-iskjav xorta jista 'jaċċessa l-kaptan ROS iżda ma jistax jidħol informazzjoni ta' kontroll.
  5.  Jekk il-magna virtwali tipparteċipa fil-komunikazzjoni multi-aġent, il-mod tan-netwerk tagħha jeħtieġ li jiġi ssettjat għall-modalità pont. L-IP statiku ma jistax jintgħażel għall-konnessjoni tan-netwerk.
  6. Il-komunikazzjoni b'ħafna magni ma tistax view jew tabbona għal suġġetti tat-tip tad-dejta tal-messaġġ li ma jeżistux lokalment.
  7. Tista' tuża d-demo ta' simulazzjoni ta' Little Turtle biex tivverifika jekk il-komunikazzjoni bejn ir-robots tkunx ta' suċċess:
    a. Mexxi mill-kaptan
    roscore #tnedija servizzi ROS
    rosrun turtlesim turtlesim_node #tnedija ta' l-interface turtlesim
    b.
    Run mill-iskjavi
    rosrun turtlesim turtle_teleop_key #tnedija node ta' kontroll tat-tastiera għal turtlesim

Jekk tista 'timmanipula l-movimenti tal-fekruna mit-tastiera fuq l-iskjav, dan ifisser li l-komunikazzjoni kaptan/skjav ġiet stabbilita b'suċċess.

Konnessjoni awtomatika Wifi f'ROS

Il-proċeduri t'hawn taħt jispjegaw kif tikkonfigura r-robot biex awtomatikament jikkonnettja man-netwerk ospitanti jew man-netwerk tar-router.

Setup awtomatiku tal-konnessjoni Wifi għal Jetson Nano

  1. Qabbad Jetson Nano permezz ta 'għodda remota VNC jew direttament mal-iskrin tal-kompjuter. Ikklikkja fuq l-ikona tal-wifi fuq ir-rokna ta' fuq tal-lemin imbagħad ikklikkja "Editja Konnessjonijiet.."
    Setup ta' Komunikazzjoni b'ħafna aġent
  2. Ikklikkja l-buttuna + f'Konnessjonijiet tan-Netwerk:
    Setup ta' Komunikazzjoni b'ħafna aġent
  3. Taħt it-tieqa "Agħżel Tip ta' Konnessjoni", ikklikkja l-menu drop-down u kklikkja "Oħloq..." buttuna:
    Setup ta' Komunikazzjoni b'ħafna aġent
  4. Fil-Panew tal-Kontroll, ikklikkja l-għażla Wifi. Daħħal l-isem Wifi biex tikkonnettja fl-oqsma "Isem tal-Konnessjoni" u SSID. Agħżel "Klijent" fil-menu dropdown "Modalità" u agħżel "wlan0" fil-menu dropdown "Apparat".
    Setup ta' Komunikazzjoni b'ħafna aġent
  5. Fil-Panel tal-Kontroll, ikklikkja l-għażla "Ġenerali" u ċċekkja "Konnettja awtomatikament ma 'dan in-netwerk...". Issettja l-prijorità tal-konnessjoni għal 1 fl-għażla "Prijorità tal-konnessjoni għall-awto-attivazzjoni". Iċċekkja l-għażla "L-utenti kollha jistgħu jgħaqqdu ma' dan in-netwerk". Meta l-għażla hija ssettjata għal 0 fi "Prijorità ta 'konnessjoni għal awto-attivazzjoni" għal wifi ieħor, dan ifisser li dan huwa n-netwerk wifi preferut fil-passat.
    Setup ta' Komunikazzjoni b'ħafna aġent
  6. Ikklikkja l-għażla "Sigurtà Wi-Fi" fil-Panew tal-Kontroll. Agħżel "WPA & WPA2 Personali" fil-qasam "Sigurtà". Imbagħad daħħal il-password tal-Wifi ġewwa
    Setup ta' Komunikazzjoni b'ħafna aġent

Nota:

Jekk ir-robot ma jistax awtomatikament jikkonnettja man-netwerk wifi wara l-ibbutjar meta l-prijorità wifi hija ssettjata għal 0, jista 'jkun ikkawżat minn problema ta' sinjal wifi dgħajjef. Sabiex tevita din il-problema, tista 'tagħżel li tħassar l-għażliet kollha tal-wifi li ġew konnessi fil-passat. Żomm biss in-netwerk wifi maħluqa mill-host jew ir-router.

Ikklikkja l-għażla "Settings IPv4" fil-pannell tal-kontroll tas-settings tan-netwerk. Agħżel l-għażla "Manwal" fil-qasam "Metodu". Imbagħad ikklikkja "Żid", imla l-indirizz IP tal-magna slave fil-qasam "Indirizz". Imla "24" fil-qasam "Netmask". Imla s-segment tan-netwerk IP f'"Gateway". Ibdel l-aħħar tliet ċifri tas-segment tan-netwerk IP għal "1". L-għan ewlieni ta 'dan il-pass huwa li jiffissa l-indirizz IP. Wara li dan jitlesta għall-ewwel darba, l-indirizz IP jibqa' mhux mibdul meta jkun ikkonnettjat mal-istess WIFI sussegwentement.

Setup ta' Komunikazzjoni b'ħafna aġent

Wara li s-settings kollha jkunu kkonfigurati, ikklikkja "issejvja" biex issalva s-settings. Wara li l-iffrankar ikun ta 'suċċess, ir-robot awtomatikament se jgħaqqad man-netwerk tal-host jew router meta jkun mixgħul.

Nota:

  1. L-indirizz IP stabbilit hawn jeħtieġ li jkun l-istess bħall-indirizz IP stabbilit fil-.bashrc file fit-Taqsima 2.1.
  2. L-indirizz IP tal-kaptan u kull slave għandu jkun uniku.
  3. L-indirizzi IP master u slave jeħtieġ li jkunu fl-istess segment tan-netwerk.
  4. Trid tistenna li l-host jew ir-router jibgħat sinjal WiFi qabel ma r-robot slave ikun jista' jinxtegħel u jaqbad awtomatikament man-netwerk WiFi.
  5. Wara li l-issettjar jiġi kkonfigurat, jekk ir-robot ma jistax awtomatikament jikkonnettja mal-WiFi meta jinxtegħel, jekk jogħġbok ipplaggja u aqla 'l-karta tan-netwerk u erġa' pprova ikkonnettja.

Setup awtomatiku tal-konnessjoni Wifi għal Raspberry Pi 

Il-proċedura għal Raspberry Pi hija l-istess bħal Jetson Nano.

Setup awtomatiku tal-konnessjoni Wifi għal Jetson TX1 

Is-setup f'Jetson TX1 huwa kważi l-istess bħal f'Jetson Nano b'eċċezzjoni waħda li Jetson TX1 għandu jagħżel l-apparat ta '"wlan1" f'"Apparat" fil-pannell tal-kontroll tas-settings tan-netwerk.

Setup ta' Komunikazzjoni b'ħafna aġent

SETUP TA' SINKRONIZAZZJONI MULTI-AĠENT

Fil-proġett ta 'formazzjoni b'ħafna aġent, l-issettjar tas-sinkronizzazzjoni tal-ħin b'ħafna aġent huwa pass kruċjali. Fil-proċess tal-formazzjoni, ħafna problemi se jiġu kkawżati minħabba l-ħin tas-sistema asinkronika ta 'kull robot. Is-sinkronizzazzjoni tal-ħin multi-aġent hija maqsuma f'żewġ sitwazzjonijiet, jiġifieri, is-sitwazzjoni li kemm ir-robots kaptan kif ukoll iskjavi huma konnessi man-netwerk u s-sitwazzjoni li t-tnejn huma skonnettjati min-netwerk.

Konnessjoni tan-netwerk master/slave b'suċċess

Wara li l-komunikazzjoni multi-aġent tkun konfigurata, jekk il-magni kaptan u skjavi jistgħu jgħaqqdu b'suċċess man-netwerk, huma awtomatikament jissinkronizzaw il-ħin tan-netwerk. F'dan il-każ, ma huma meħtieġa l-ebda azzjonijiet oħra biex tinkiseb is-sinkronizzazzjoni tal-ħin.

Issolvi problemi ta' skonnessjonijiet tan-netwerk 

Wara li l-komunikazzjoni multi-aġent tiġi kkonfigurata, jekk l-apparat kaptan u skjav ma jistax jikkonnettja b'suċċess man-netwerk, huwa meħtieġ li l-ħin jiġi sinkronizzat manwalment. Aħna se nużaw il-kmand tad-data biex tlesti l-issettjar tal-ħin.

L-ewwel, installa l-għodda tat-terminatur. Mill-għodda tat-terminatur, uża l-għodda tal-qsim tat-tieqa biex tpoġġi t-terminals tal-kontroll tal-kaptan u l-iskjav fl-istess tieqa tat-terminal (ikklikkja bil-lemin biex tissettja tieqa maqsuma, u illoggja mal-magni kaptan u skjavi b'ssh fi twieqi differenti) .

sudo apt-get install terminator # Niżżel it-terminatur biex taqsam it-tieqa tat-terminal 

Ikklikkja l-buttuna fuq ix-xellug ta 'fuq, agħżel l-għażla [Xandir lil kulħadd]/[Xandir kollha], daħħal il-kmand li ġej. Imbagħad uża l-għodda tat-terminazzjoni biex tissettja l-istess ħin għall-kaptan u l-iskjav.

Setup ta' Sinkronizzazzjoni ta' Multi-aġent

sudo date -s "2022-01-30 15:15:00" # Setup manwali tal-ħin 

PAKKETT ROS MULTI-AĠENT

Introduzzjoni tal-Pakkett ROS 

Issettja l-isem tal-iskjav

n il-pakkett tal-funzjoni wheeltec_multi, huwa meħtieġ li jiġi stabbilit isem uniku għal kull robot slave sabiex jiġu evitati żbalji. Per example, Nru 1 għal slave1 u Nru 2 għal slave2 eċċ.

L-iskop tal-issettjar ta 'ismijiet differenti huwa li jiġbru grupp ta' nodi u jiddistingwuhom minn spazji tal-isem differenti. Per example, is-suġġett tar-radar ta 'slave 1 huwa: /slave1/scan, u n-node LiDAR ta' slave 1 huwa: / slave1/laser.

Stabbilixxi l-koordinati tal-iskjavi

Il-pakkett wheeltec_multi jista 'jimplimenta formazzjonijiet tad-dwana. Meta jkunu meħtieġa formazzjonijiet differenti, immodifika biss il-koordinati mixtieqa tar-robots tal-iskjavi. Slave_x u slave_y huma l-koordinati x u y ta 'l-iskjav bil-kaptan bħala l-punt ta' referenza oriġinali. In-naħa ta 'quddiem tal-kaptan hija d-direzzjoni pożittiva tal-koordinata x, u n-naħa tax-xellug hija d-direzzjoni pożittiva tal-koordinata y. Wara li jitlesta l-issettjar, jinħareġ skjav tal-koordinati TF1 bħala l-koordinat mistenni tal-iskjav.

Jekk hemm kaptan wieħed u żewġ skjavi, il-formazzjoni li ġejja tista 'tiġi stabbilita:

  1. Formazzjoni orizzontali: Tista 'tissettja l-koordinati ta' l-iskjav fuq ix-xellug għal: slave_x:0, slave_y: 0.8, u l-koordinati ta 'l-iskjav fuq il-lemin għal: slave_x:0, slave_y:-0.8.
  2. Formazzjoni tal-kolonna: Il-koordinati ta 'slave wieħed jistgħu jiġu ssettjati għal: slave_x:-0.8, slave_y:0, u l-koordinati tal-iskjav l-ieħor jistgħu jiġu ssettjati għal: slave_x:-1.8, slave_y:0.
  3. Formazzjoni trijangolari: Il-koordinati ta 'slave wieħed jistgħu jiġu ssettjati għal: slave_x:-0.8, slave_y: 0.8, u l-koordinati ta' l-iskjav l-ieħor jistgħu jiġu ssettjati għal: slave_x:-0.8, slave_y:-0.8.

Formazzjonijiet oħra jistgħu jiġu personalizzati kif meħtieġ.

Nota

Id-distanza rakkomandata bejn iż-żewġ robots hija ssettjata għal 0.8, u huwa rakkomandat li ma tkunx inqas minn 0.6. Id-distanza bejn l-iskjavi u l-kaptan hija rakkomandata li tiġi ssettjata taħt 2.0. Iktar ma jkun 'il bogħod mill-kaptan, akbar tkun il-veloċità lineari tal-iskjav meta l-kaptan ikun qed idur. Minħabba l-limitazzjoni tal-veloċità massima, il-veloċità tal-iskjav se tiddevja jekk ma tissodisfax ir-rekwiżiti. Il-formazzjoni tar-robot se ssir kaotika.

Inizjalizzazzjoni tal-pożizzjoni slave

Il-pożizzjoni inizjali tal-iskjav hija fil-koordinati mistennija b'mod awtomatiku. Qabel ma tħaddem il-programm, poġġi r-robot slave qrib il-koordinati mistennija tiegħu biex tlesti l-inizjalizzazzjoni.

Din il-funzjoni hija implimentata min-node pose_setter fil- file jismu turn_on_wheeltec_robot.launch fil-pakkett wheeltec_multi, kif muri fil-Figura 4-1-3.

Pakkett Ros b'ħafna aġent

Jekk l-utent irid jippersonalizza l-pożizzjoni inizjali tal-iskjav, hu jew hi jeħtieġ biss li jissettja l-valuri slave_x u slave_y kif muri fil-Figura 4-1-4 f'wheeltec_slave.launch. Il-valuri slave_x u slave_y se jiġu mgħoddija lil turn_on_wheeltec_robot.launch u assenjati lin-node pose_setter. Poġġi r-robot f'pożizzjoni apposta qabel ma tmexxi l-programm.

Pakkett Ros b'ħafna aġent

Konfigurazzjoni tal-Pożizzjoni 

F'formazzjoni multi-aġent, l-ewwel problema li għandha tiġi solvuta hija l-ippożizzjonar tal-kaptan u l-iskjav. Il-kaptan se jibni mappa 2D l-ewwel. Wara li toħloq u ssalva l-mappa, ħaddem il-pakkett tan-navigazzjoni 2D u uża l-algoritmu adattiv ta 'pożizzjonament Monte Carlo (pożizzjonament amcl) fil-pakkett tan-navigazzjoni 2D biex tikkonfigura l-ippożizzjonar tal-kaptan.

Peress li l-kaptan u l-iskjavi huma fl-istess netwerk u jaqsmu l-istess maniġer tan-node, il-kaptan nieda l-mappa mill-pakkett ta 'navigazzjoni 2D, l-iskjavi kollha jistgħu jużaw l-istess mappa taħt l-istess maniġer tan-nodi. Għalhekk, l-iskjav m'għandux għalfejn joħloq mappa. F'wheeltec_slave.launch, mexxi Monte Carlo pożizzjonament (amcl positioning), l-iskjavi jistgħu kkonfiguraw il-pożizzjonijiet tagħhom billi jużaw il-mappa maħluqa mill-kaptan.

Pakkett Ros b'ħafna aġent

Kif toħloq formazzjoni u żżomm il-formazzjoni 

Fil-proċess tal-moviment tal-formazzjoni, il-moviment tal-kaptan jista 'jiġi kkontrollat ​​minn Rviz, tastiera, kontroll mill-bogħod u metodi oħra. L-iskjav jikkalkula l-veloċità tiegħu permezz tan-node slave_tf_listener sabiex jikkontrolla l-moviment tiegħu u jikseb l-għan tal-formazzjoni.

In-node slave_tf_listener jillimita l-veloċità tal-iskjavi biex tiġi evitata l-veloċità eċċessiva mill-kalkolu tan-node, li tikkawża serje ta 'impatti. Il-valur speċifiku jista 'jiġi modifikat f'wheeltec_slave.launch.

Pakkett Ros b'ħafna aġent

Il-parametri rilevanti tal-algoritmu tal-formazzjoni huma kif ġej:

Pakkett Ros b'ħafna aġent

Evitar ta' ostakli fil-formazzjoni

F'formazzjoni multi-aġent, il-kaptan jista 'juża n-node move_base biex itemm l-evitar tal-ostakli. Madankollu, l-inizjalizzazzjoni tal-iskjav ma tużax move_base node. F'dan il-punt, in-node multi_avoidance jeħtieġ li jissejjaħ fil-programm slave. In-nodu tal-evitar tal-ostakli huwa attivat awtomatikament fil-pakkett. Jekk ikun meħtieġ, l-evitar jista 'jiġi ssettjat għal "falza" biex in-nodu ta' evitar ta 'ostakli jiskonnettja.

Pakkett Ros b'ħafna aġent

Xi parametri rilevanti tan-node ta 'evitar ta' l-ostakli huma murija fil-figura hawn taħt, fejn safe_distance huwa l-limitu ta 'distanza sigura ta' l-ostaklu, u danger_distance huwa l-limitu ta 'distanza perikoluża ta' l-ostaklu. Meta l-ostaklu jkun f'safe_distance u danger_distance, l-iskjav jaġġusta l-pożizzjoni tiegħu biex jevita l-ostaklu. Meta l-ostaklu jkun fi ħdan danger_distance, l-iskjav se jsuq 'il bogħod mill-ostaklu.

Pakkett Ros b'ħafna aġent

Proċedura ta' Operazzjoni 

Daħħal kmand ta 'eżekuzzjoni 

Preparazzjonijiet qabel tibda l-formazzjoni ta' multi-aġenti:

  • Il-kaptan u l-iskjav jikkonnettjaw mal-istess netwerk u jistabbilixxu komunikazzjoni b'ħafna aġent b'mod korrett
  • Il-kaptan jibni mappa 2D minn qabel u jsalvaha
  • Il-kaptan jitqiegħed fil-punt tal-bidu tal-mappa, u l-iskjav jitqiegħed ħdejn il-pożizzjoni tal-inizjalizzazzjoni (il-pożizzjoni default tal-formazzjoni tal-iskjavi)
  • Wara li tidħol f'Jetson Nano/Raspberry Pi mill-bogħod, wettaq sinkronizzazzjoni tal-ħin.

sudo date -s "2022-04-01 15:15:00" 

Pass 1: Iftaħ il-mappa 2D mill-kaptan.
roslaunch turn_on_wheeltec_robot navigation.launch

Pass 2: Mexxi programm ta 'formazzjoni mill-iskjavi kollha.
roslaunch wheeltec_multi wheeltec_slave.tnedija

Pass 3: Iftaħ in-nodu tal-kontroll tat-tastiera mill-kaptan jew uża joystick biex tikkontrolla mill-bogħod il-moviment tal-kaptan.
roslaunch wheeltec_robot_rc keyboard_teleop.launch

Pass 4: (Mhux obbligatorju) Osserva l-movimenti tar-robot minn Rviz.
rviz

Nota

  1. Kun żgur li tlesti l-operazzjoni tas-sinkronizzazzjoni tal-ħin qabel ma tesegwixxi l-programm.
  2. Meta tikkontrolla l-kaptan ta 'formazzjoni multi-aġent, il-veloċità angolari m'għandhiex tkun veloċi wisq. Veloċità lineari rakkomandata hija 0.2m/s, grad ta 'veloċità angolari taħt 0.3rad/s. Meta l-kaptan ikun qed jagħmel dawra, iktar ma l-iskjav ikun 'il bogħod mill-kaptan, iktar tkun meħtieġa l-veloċità lineari. Minħabba l-limitu fuq il-veloċità lineari u l-veloċità angolari fil-pakkett, meta l-karozza slave ma tistax tilħaq il-veloċità meħtieġa, il-formazzjoni tkun kaotika. B'mod ġenerali, il-veloċità lineari eċċessiva tista 'faċilment tagħmel ħsara lir-robot.
  3. Meta n-numru ta 'skjavi huwa aktar minn wieħed, minħabba l-wisa' tal-wifi limitata abbord tal-host ROS, huwa faċli li tikkawża dewmien sinifikanti u skonnessjoni tal-komunikazzjoni multi-aġent. L-użu ta 'router jista' jsolvi din il-problema tajjeb.
  4. Is-siġra TF tal-formazzjoni multi-robot (2 skjavi) hija: rqt_tf_tree
  5. Id-dijagramma tar-relazzjoni tan-nodi tal-formazzjoni multi-robot (2 skjavi) hija: rqt_graph

Dokumenti / Riżorsi

ROBWORKS Robofleet Orin Nano x3 ROS Robot [pdfManwal tal-Utent
Orin Nano x3, Robofleet ROS Robot, Robofleet ROS, Robot, Robofleet Orin Nano x3 ROS Robot, Robofleet Orin Nano x3, Orin Nano x3 ROS Robot, Orin Nano x3

Referenzi

Ħalli kumment

L-indirizz elettroniku tiegħek mhux se jiġi ppubblikat. L-oqsma meħtieġa huma mmarkati *