ROBWORKS ALGORITMI MULTI-AĠENTI Robofleet
Speċifikazzjonijiet
- Isem tal-Prodott: ROBWORKS
- Verżjoni: 20240501
- Ippreparat minn: Wayne Liu & Janette Lin
- Data: 1 ta ’Mejju 2024
Informazzjoni dwar il-Prodott
ROBOWORKS hija sistema multi-aġenti li tippermetti l-implimentazzjoni ta 'algoritmi varji għall-koordinazzjoni u l-komunikazzjoni tar-robot.
FAQs
Q: X'għandi nagħmel jekk ir-robot ma jistax jikkonnettja awtomatikament mal-Wifi?
A: Jekk ir-robot jonqos milli jikkonnettja awtomatikament, ipprova spluggja u erġa' waħħal il-kard tan-netwerk u erġa' pprova tikkonnettja.
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 tal-komunikazzjoni b'ħafna magni ROS, inkluża l-komunikazzjoni b'ħafna magni tal-kostruzzjoni ROS u l-problemi li jistgħu jiltaqgħu magħhom fil-proċess tal-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-iskop ta 'dan id-dokument huwa introduzzjoni għal sistemi robotiċi b'ħafna aġent u jippermetti lill-utenti biex jibdew il-proġett ta' formazzjoni ta 'ħafna 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 twettaq biċċa xogħol. Il-kollaborazzjoni tirreferi għall-kooperazzjoni bejn aġenti multipli li jużaw ċertu 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 li 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 il-metodu tal-istruttura virtwali, il-metodu tat-teorija grafika u l-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 jintlaħqu l-għanijiet tal-ispinta tal-formazzjoni. B'dan il-mod, l-algoritmu huwa relattivament inqas ikkumplikat.
Algoritmi għall-evitar ta' ostakli
Algoritmu komuni għall-evitar ta' ostakli huwa l-metodu ta' 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 mil-LiDAR. L-ostaklu jipprovdi kamp ta 'forza ta' repulsjoni biex jiġġenera repulsjoni lir-robot u l-punt fil-mira jipprovdi qasam ta 'forza 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-qasam tal-potenzjal 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 Slave u l-ostaklu tkun eqreb, il-forza ta 'repulsjoni ta' l-ostaklu għas-segwaċi Slave 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 l-iskop 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 mqassma mir-ROS u l-komunikazzjonijiet tan-netwerk huma qawwija ħafna. Huwa mhux biss konvenjenti għall-komunikazzjoni bejn il-proċess 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.
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-Master node manager. Ġeneralment, wieħed mir-robots li jiġi nnominat bħala l-kaptan joħloq dan in-netwerk tal-wifi. Robots jew magni virtwali oħra jingħaqdu ma' dan in-netwerk tal-wifi bħala skjavi.
Għażliet 2:
In-netwerk tal-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 fil-kwantità kbira, Għażla 2 hija rakkomandata. Ir-restrizzjoni fuq il-qawwa tal-kompjuters tal-kontroll prinċipali ROS u l-wifi bandwidth limitat abbord 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 ambjentali hija kkonfigurata fil-fajl .bashrc fid-direttorju prinċipali. Mexxi l-kmand gedit ~/.bashrc biex tniedih. Jekk jogħġbok innota li kemm il-fajls .bashrc tal-kaptan kif ukoll l-iskjav f'komunikazzjoni multi-aġent jeħtieġ li jiġu kkonfigurati. Dak li jeħtieġ li jinbidel huma l-indirizzi IP fl-aħħar tal-fajl. 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 fil-fajl ROS slave .bashrc jeħtieġ li jinbidel għall-indirizz IP tal-host filwaqt li ROS_HOSTNAME jibqa' bħala indirizz IP lokali.
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:
- It-tħaddim tal-programm ROS slave jiddependi fuq il-programm kaptan ROS tal-apparat kaptan ROS. Il-programm prinċipali ROS għandu jibda l-ewwel fuq l-apparat prinċipali qabel ma jesegwixxi l-programm slave fuq l-apparat slave.
- 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.
- ROS_HOSTNAME fil-fajl tal-konfigurazzjoni ta' l-ambjent .bashrc mhux rakkomandat li tuża localhost. Huwa rakkomandat li tuża indirizz IP speċifiku.
- 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.
- 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.
- 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.
- 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
- rescore #tnedija servizzi ROS
- rostrum turtles turtlesim_node #tnedija tal-fkieren interface
- b. Run mill-iskjavi
- rerun turtles turtle_teleop_key #launch keyboard control node għall-fkieren
- a. Mexxi mill-kaptan
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
- Qabbad Jetson Nano permezz tal-għodda remota VNC jew direttament mal-iskrin tal-kompjuter. Ikklikkja fuq l-ikona tal-wifi fin-naħa ta' fuq tal-lemin imbagħad ikklikkja "Editja Konnessjonijiet.."
- Ikklikkja l-buttuna + f'Konnessjonijiet tan-Netwerk:
- Taħt it-tieqa "Agħżel Tip ta' Konnessjoni", ikklikkja l-menu drop-down u kklikkja "Oħloq..." buttuna:
- Fil-Panew tal-Kontroll, ikklikkja l-għażla Wifi. Daħħal l-isem tal-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".
- 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ħal 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à tal-konnessjoni għall-awto-attivazzjoni" għal wifi ieħor, dan ifisser li dan huwa n-netwerk tal-wifi preferut fil-passat.
- 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 fil-qasam “Password”.
Nota: Jekk ir-robot ma jistax awtomatikament jikkonnettja man-netwerk tal-wifi wara l-ibbutjar meta l-prijorità tal-wifi tkun issettjata 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 tal-wifi maħluq mill-host jew mir-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 hemm konnessjoni mal-istess WIFI sussegwentement.
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:
- L-indirizz IP stabbilit hawnhekk jeħtieġ li jkun l-istess bħall-indirizz IP stabbilit fil-fajl .bashrc fit-Taqsima 2.1.
- L-indirizz IP tal-kaptan u kull slave għandu jkun uniku.
- L-indirizzi IP master u slave jeħtieġ li jkunu fl-istess segment tan-netwerk.
- 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.
- 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 Jetson TX1 għandu jagħżel l-apparat ta '"wlan1" f'"Apparat" fil-pannell tal-kontroll tas-settings tan-netwerk.
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 fiha kemm ir-robots kaptan kif ukoll iskjavi huma konnessi man-netwerk u s-sitwazzjoni li fiha t-tnejn huma skonnettjati min-netwerk.
Konnessjoni tan-netwerk master/slave b'suċċess
Wara li l-komunikazzjoni multi-aġent tiġi kkonfigurata, 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 tiġi kkonfigurata l-komunikazzjoni b'ħafna aġent, jekk l-apparat kaptan u skjavi ma jistgħux jikkonnettjaw 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 terminator 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], u 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.
- 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
Fil-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 nodi li jmexxu 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, tista' tiġi ssettjata l-formazzjoni li ġejja:
- 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.
- 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.
- 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-fajl bl-isem turn_on_wheeltec_robot.launch fil-pakkett wheeltec_multi, kif muri fil-Figura 4-1-3.
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.
Konfigurazzjoni tal-Pożizzjoni
F'formazzjoni multi-aġent, l-ewwel problema li għandha tiġi solvuta hija l-pożizzjonament 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-pożizzjonament 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 positioning (amcl positioning), l-iskjavi jistgħu jikkonfiguraw il-pożizzjonijiet tagħhom billi jużaw il-mappa maħluqa mill-kaptan.
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 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.
Il-parametri rilevanti tal-algoritmu tal-formazzjoni huma kif ġej:
Informazzjoni dwar l-evitar ta' ostakli
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 in-node move_base. 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.
Xi parametri rilevanti tan-node ta 'evitar ta' ostaklu huma murija fil-figura hawn taħt, fejn safe_distance huwa l-limitu ta 'distanza sigura ta' ostaklu, u danger_distance huwa l-limitu ta 'distanza perikoluża ta' ostaklu. Meta l-ostaklu jkun f'distanza sigura u f'distanza ta 'periklu, l-iskjav jaġġusta l-pożizzjoni tiegħu biex jevita l-ostaklu. Meta l-ostaklu jkun fil-periklu, l-iskjav se jsuq 'il bogħod mill-ostaklu.
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ħ mappa 2D mill-kaptan.
roslaunch turn_on_wheeltec_robot navigation.launch
- Pass 2: Mexxi l-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 l-joystick biex tikkontrolla mill-bogħod il-moviment tal-kaptan.
tniedi mill-ġdid wheeltec_robot_rc keyboard_teleop.launch
- Pass 4: (Mhux obbligatorju) Osserva l-movimenti tar-robot minn Rviz.
rviz
Nota:
- Kun żgur li tlesti l-operazzjoni tas-sinkronizzazzjoni tal-ħin qabel ma tesegwixxi l-programm.
- Meta tikkontrolla l-kaptan ta 'formazzjoni multi-aġent, il-veloċità angolari m'għandhiex tkun veloċi wisq. Il-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.
- Meta n-numru ta 'skjavi huwa aktar minn wieħed, minħabba l-wifi bandwidth limitat abbord tal-host ROS, huwa faċli li tikkawża dewmien sinifikanti u skonnessjoni tal-komunikazzjoni b'ħafna aġent. L-użu ta 'router jista' jsolvi din il-problema tajjeb.
- Is-siġra TF tal-formazzjoni multi-robot (2 skjavi) hija: rqt_tf_tree
- Id-dijagramma tar-relazzjoni tan-nodi tal-formazzjoni multi-robot (2 skjavi) hija: rqt_graph
Dokumenti / Riżorsi
![]() |
ROBWORKS ALGORITMI MULTI-AĠENTI Robofleet [pdfManwal tal-Utent Robofleet Algoritmi ta' Aġenti Multipli, Robofleet, Algoritmi ta' Multi Aġenti, Algoritmi ta' Aġenti, Algoritmi |