ROBOWORKS Robofleet ALGORITHMS MULTI-AGENT
Specifikimet
- Emri i produktit: ROBOWORKS
- Versioni: 20240501
- Përgatiti: Wayne Liu & Janette Lin
- Data: 1 maj 2024
Informacioni i produktit
ROBOWORKS është një sistem me shumë agjentë që lejon zbatimin e algoritmeve të ndryshme për koordinimin dhe komunikimin e robotëve.
Pyetjet e shpeshta
Pyetje: Çfarë duhet të bëj nëse roboti nuk mund të lidhet automatikisht me Wi-Fi?
Përgjigje: Nëse roboti dështon të lidhet automatikisht, provoni të shkëputni dhe rilidhni kartën e rrjetit dhe përpiquni të lidheni përsëri.
PËRMBLEDHJE
Ky dokument shpjegon kryesisht përdorimin e paketës së funksionit të formimit të shumë robotëve të quajtur wheeltec_multi.
Ky dokument është i ndarë në katër pjesë:
- Pjesa e parë ka të bëjë kryesisht me prezantimin e metodës së formimit me shumë robotë;
- pjesa e dytë përshkruan kryesisht cilësimet e komunikimit me shumë makina ROS, duke përfshirë komunikimin me shumë makina të ndërtimit të ROS dhe problemet që mund të ndeshen në procesin e komunikimit ROS;
- pjesa e tretë përshkruan kryesisht hapat e funksionimit të sinkronizimit të kohës me shumë makina;
- pjesa e katërt shpjegon përdorimin specifik të paketës së funksionit të formimit me shumë makineri.
Qëllimi i këtij dokumenti është një hyrje në sistemet robotike me shumë agjentë dhe i lejon përdoruesit të fillojnë shpejt projektin e formimit me shumë robotë.
HYRJE NË ALGORITME SHUMË AGJENTE
Algoritmet e formimit me shumë agjentë
Kjo paketë ROS paraqet një problem tipik të shumë agjentëve në kontrollin bashkëpunues gjatë një drejtimi formimi. Ky tutorial hedh një bazë për zhvillimin e ardhshëm mbi këtë temë. Algoritmi i kontrollit të formimit i referohet një algoritmi që kontrollon agjentë të shumtë për të formuar një formacion specifik për të kryer një detyrë. Bashkëpunimi i referohet bashkëpunimit ndërmjet agjentëve të shumtë duke përdorur një marrëdhënie të caktuar kufizimesh për të përfunduar një detyrë. Merrni makinën e formimit me shumë robotë si një ishampLe, bashkëpunimi do të thotë që robotë të shumtë formojnë një formacion të dëshiruar së bashku. Thelbi i saj është një marrëdhënie e caktuar matematikore që është e kënaqur midis pozicioneve të secilit robot. Metodat e formimit ndahen kryesisht në kontrollin e formimit të centralizuar dhe në kontrollin e formimit të shpërndarë. Metodat e kontrollit të formimit të centralizuar përfshijnë kryesisht metodën e strukturës virtuale, metodën e teorisë grafike dhe metodën parashikuese të modelit. Metodat e kontrollit të formimit të shpërndarë kryesisht përfshijnë një metodë udhëheqës-ndjekës, një metodë të bazuar në sjellje dhe një metodë të strukturës virtuale.
Kjo paketë ROS zbaton metodën udhëheqës-ndjekës në metodën e kontrollit të formimit të shpërndarë për të ekzekutuar diskun e formimit me shumë robotë. Një robot në formacion është caktuar si udhëheqës dhe robotë të tjerë janë caktuar si skllevër për të ndjekur liderin. Algoritmi përdor trajektoren e lëvizjes së robotit drejtues për të vendosur koordinatat që do të gjurmohen nga robotët e mëposhtëm me një drejtim dhe shpejtësi të caktuar. Duke korrigjuar devijimet e pozicionit nga koordinatat e gjurmimit, ndjekësit përfundimisht do të zvogëlojnë devijimin midis ndjekësit dhe koordinatave të pritshme të gjurmimit në zero për të arritur objektivat e drejtimit të formimit. Në këtë mënyrë, algoritmi është relativisht më pak i komplikuar.
Algoritmet e shmangies së pengesave
Një algoritëm i zakonshëm i shmangies së pengesave është metoda e fushës së potencialit artificial. Lëvizja e robotit në një mjedis fizik konsiderohet si një lëvizje në një fushë të forcës artificiale virtuale. Pengesa më e afërt është identifikuar nga LiDAR. Pengesa siguron një fushë të forcës refuzuese për të gjeneruar zmbrapsje ndaj robotit dhe pika e synuar siguron një fushë gravitacionale për të gjeneruar forcë gravitacionale për robotin. Në këtë mënyrë, ai kontrollon lëvizjen e robotit nën veprimin e kombinuar të zmbrapsjes dhe tërheqjes.
Kjo paketë ROS është një përmirësim i bazuar në metodën e fushës së potencialit artificial. Së pari, algoritmi i formimit llogarit shpejtësinë lineare dhe këndore të ndjekësit Slave. Pastaj rrit ose zvogëlon shpejtësinë lineare dhe këndore sipas kërkesave për shmangien e pengesave. Kur distanca ndërmjet ndjekësit Slave dhe pengesës është më e afërt, forca zmbrapsëse e pengesës ndaj ndjekësit të Slave është më e madhe. Ndërkaq ndryshimi i shpejtësisë lineare dhe variacionet e shpejtësisë këndore janë më të mëdha. Kur pengesa është më afër pjesës së përparme të ndjekësit të Slave, zmbrapsja e pengesës ndaj ndjekësit të Slave bëhet më e madhe (pranimi i përparmë është më i madhi dhe ai anësor është më i vogli). Si rezultat, variacionet e shpejtësisë lineare dhe shpejtësisë këndore janë më të mëdha. Nëpërmjet metodës së fushës së potencialit artificial, ajo përmirëson një zgjidhje kur një robot mund të ndalojë së përgjigjuri përpara një pengese. Kjo i shërben qëllimit të shmangies më të mirë të pengesave.
KONFIGIMI I KOMUNIKIMIT ME SHUMË AGJENTË
Komunikimi me shumë agjentë është një nga hapat kyç për të përfunduar një formim me shumë robotë. Kur pozicionet relative të shumë robotëve janë të panjohura, robotët duhet të ndajnë informacionin e njëri-tjetrit përmes komunikimit për të lehtësuar krijimin e lidhjeve. Arkitektura e shpërndarë në ROS dhe komunikimet në rrjet janë shumë të fuqishme. Nuk është i përshtatshëm vetëm për komunikim ndër-procesor, por edhe për komunikim ndërmjet pajisjeve të ndryshme. Nëpërmjet komunikimit në rrjet, të gjitha nyjet mund të funksionojnë në çdo kompjuter. Detyrat kryesore si përpunimi i të dhënave kryhen në anën e hostit. Makinat skllav janë përgjegjëse për marrjen e të dhënave mjedisore të mbledhura nga sensorë të ndryshëm. Pritësi këtu është menaxheri që drejton nyjen Master në ROS. Korniza aktuale e komunikimit me shumë agjentë është përmes një menaxheri të nyjeve dhe një menaxheri parametrash për të trajtuar komunikimet midis robotëve të shumtë.
Hapat për vendosjen e komunikimeve me shumë agjentë
- Vendosni ROS Controls në të njëjtin rrjet
- Ekzistojnë 2 mënyra për të konfiguruar kontrollet Master/Slave ROS nën të njëjtin rrjet.
Opsioni 1:
Master Host krijon një wifi lokale duke ekzekutuar menaxherin e nyjeve Master. Në përgjithësi, një nga robotët që caktohet si master krijon këtë rrjet wifi. Robotët ose makineritë e tjera virtuale i bashkohen këtij rrjeti wifi si skllevër.
Opsionet 2:
Rrjeti lokal wifi ofrohet nga një ruter i palës së tretë si një qendër transmetimi informacioni. Të gjithë robotët janë të lidhur me të njëjtin ruter. Ruteri mund të përdoret gjithashtu pa lidhje interneti. Zgjidhni një nga robotët si master dhe drejtoni menaxherin e nyjeve Master. Robotët e tjerë janë caktuar si skllevër dhe drejtojnë menaxherin e nyjeve kryesore nga masteri.
Vendimi se cilin opsion të zgjidhni varet nga kërkesat e projektit tuaj. Nëse numri i robotëve që duhet të komunikojnë nuk është i madh, rekomandohet Opsioni 1 pasi kursen kosto dhe është i lehtë për t'u konfiguruar. Kur numri i robotëve është në sasi të madhe, rekomandohet opsioni 2. Kufizimi në fuqinë llogaritëse të kontrollit kryesor të ROS dhe gjerësia e kufizuar e brezit të wifi në bord mund të shkaktojnë lehtësisht vonesa dhe ndërprerje të rrjetit. Një ruter mund t'i rregullojë lehtësisht këto probleme. Ju lutemi vini re se kur kryeni komunikim me shumë agjentë, nëse makina virtuale përdoret si një skllav ROS, modaliteti i saj i rrjetit duhet të vendoset në modalitetin e urës.
Konfiguro variablat e mjedisit Master/Slave
Pasi të gjithë masterat e ROS janë të gjithë në të njëjtin rrjet, duhet të vendosen variablat e mjedisit për komunikimin me shumë agjentë. Kjo variabël mjedisore është konfiguruar në skedarin .bashrc në direktorinë kryesore. Ekzekutoni komandën gedit ~/.bashrc për ta nisur atë. Ju lutemi vini re se të dy skedarët .bashrc të masterit dhe slave në komunikimin me shumë agjentë duhet të konfigurohen. Ajo që duhet ndryshuar janë adresat IP në fund të skedarit. Dy linjat e janë ROS_MASTER_URI dhe ROS_HOSTNAME, siç tregohet në figurën 2-1-4. ROS_MASTER_URI dhe ROS_HOSTNAME i hostit ROS janë të dyja IP lokale. ROS_MASTER_URI në skedarin skllave ROS .bashrc duhet të ndryshohet në adresën IP të hostit ndërsa ROS_HOSTNAME mbetet si një adresë IP lokale.
Komunikimi me shumë makina ROS nuk është i kufizuar nga versioni i lëshimit të ROS. Në procesin e komunikimit me shumë makina, duhet pasur parasysh sa vijon:
- Funksionimi i programit skllav ROS varet nga programi kryesor ROS i pajisjes kryesore ROS. Programi kryesor ROS duhet të nisë së pari në pajisjen kryesore përpara se të ekzekutojë programin slave në pajisjen slave.
- Adresat IP të makinerive master dhe slave në komunikimin me shumë makineri duhet të jenë në të njëjtin rrjet. Kjo do të thotë se adresa IP dhe maska e nënrrjetit janë nën të njëjtin rrjet.
- ROS_HOSTNAME në skedarin e konfigurimit të mjedisit .bashrc nuk rekomandohet të përdoret localhost. Rekomandohet përdorimi i një adrese IP specifike.
- Në rast se adresa IP skllav nuk është vendosur saktë, pajisja skllave mund të hyjë ende në masterin ROS, por nuk mund të futë informacionin e kontrollit.
- Nëse makina virtuale merr pjesë në komunikimin me shumë agjentë, mënyra e saj e rrjetit duhet të vendoset në modalitetin urë. IP statike nuk mund të zgjidhet për lidhjen e rrjetit.
- Komunikimi me shumë makina nuk mundet view ose abonohuni në tema të llojit të të dhënave të mesazhit që nuk ekzistojnë në nivel lokal.
- Ju mund të përdorni demonstrimin e simulimit të Breshkës së Vogël për të verifikuar nëse komunikimi midis robotëve është i suksesshëm:
- a. Ik nga mjeshtri
- rescore #launch shërbimet ROS
- turtles tribunë turtlesim_node #launch breshka ndërfaqe
- b. Ik nga skllavi
- ripunoni breshkat turtle_teleop_key #launch nyja e kontrollit të tastierës për breshkat
- a. Ik nga mjeshtri
Nëse mund të manipuloni lëvizjet e breshkës nga tastiera në skllav, kjo do të thotë se komunikimi master/skllav është vendosur me sukses.
Lidhje automatike Wifi në ROS
Procedurat e mëposhtme shpjegojnë se si të konfiguroni robotin që të lidhet automatikisht me rrjetin pritës ose rrjetin e ruterit.
Konfigurimi automatik i lidhjes Wi-Fi për Jetson Nano
- Lidheni Jetson Nano nëpërmjet mjetit të telekomandës VNC ose direkt me ekranin e kompjuterit. Klikoni në ikonën wifi në këndin e sipërm djathtas dhe më pas klikoni "Ndrysho lidhjet.."
- Klikoni butonin + në lidhjet e rrjetit:
- Në dritaren "Zgjidhni një lloj lidhjeje", klikoni në menunë rënëse dhe klikoni butonin "Krijo...":
- Në Panelin e Kontrollit, klikoni opsionin Wi. Futni emrin Wi-Fi për t'u lidhur në fushat "Connection Name" dhe SSID. Zgjidhni "Client" në menunë rënëse "Mode" dhe zgjidhni "wlan0" në menunë rënëse "Device".
- Në Panelin e Kontrollit, klikoni opsionin "Përgjithshme" dhe kontrolloni "Lidhu automatikisht me këtë rrjet ...". Vendosni përparësinë e lidhjes në 1 në opsionin "Përparësia e lidhjes për aktivizimin automatik". Kontrolloni opsionin "Të gjithë përdoruesit mund të lidhen me këtë rrjet". Kur opsioni është vendosur në 0 në "Përparësia e lidhjes për aktivizimin automatik" për wifi të tjera, kjo do të thotë se ky është rrjeti wifi i preferuar në të kaluarën.
- Klikoni në opsionin "Siguria Wi-Fi" në Panelin e Kontrollit. Zgjidhni "WPA & WPA2 Personal" në fushën "Security". Më pas futni fjalëkalimin e Wi-Fi në fushën "Password".
Shënim: Nëse roboti nuk mund të lidhet automatikisht me rrjetin wifi pas nisjes kur prioriteti wifi është vendosur në 0, mund të shkaktohet nga një problem i një sinjali të dobët wifi. Për të shmangur këtë problem, mund të zgjidhni të fshini të gjitha opsionet wi që janë lidhur në të kaluarën. Mbani vetëm rrjetin wifi të krijuar nga hosti ose ruteri. Klikoni opsionin "Cilësimet IPv4" në panelin e kontrollit të cilësimeve të rrjetit. Zgjidhni opsionin "Manual" në fushën "Method". Pastaj klikoni "Shto", plotësoni adresën IP të makinës skllav në fushën "Adresa". Plotësoni "24" në fushën "Netmask". Plotësoni segmentin e rrjetit IP në "Gateway". Ndryshoni tre shifrat e fundit të segmentit të rrjetit IP në "1". Qëllimi kryesor i këtij hapi është të rregullojë adresën IP. Pasi kjo të kryhet për herë të parë, adresa IP do të mbetet e pandryshuar kur të lidheni më pas me të njëjtin WIFI.
Pasi të jenë konfiguruar të gjitha cilësimet, klikoni "ruaj" për të ruajtur cilësimet. Pasi ruajtja të jetë e suksesshme, roboti do të lidhet automatikisht me rrjetin e hostit ose ruterit kur të ndizet.
Shënim:
- Adresa IP e vendosur këtu duhet të jetë e njëjtë me adresën IP të vendosur në skedarin .bashrc në seksionin 2.1.
- Adresa IP e masterit dhe çdo slave duhet të jetë unike.
- Adresat IP master dhe skllav duhet të jenë në të njëjtin segment të rrjetit.
- Duhet të prisni që hosti ose ruteri të dërgojë sinjalin WiFi përpara se roboti skllav të mund të ndizet dhe të lidhet automatikisht me rrjetin WiFi.
- Pasi të konfigurohet cilësimi, nëse roboti nuk mund të lidhet automatikisht me WiFi kur është i ndezur, ju lutemi lidhni dhe shkëputni kartën e rrjetit dhe provoni të lidheni përsëri.
Konfigurimi automatik i lidhjes Wifi për Raspberry Pi
Procedura për Raspberry Pi është e njëjtë me Jetson Nano.
Konfigurimi automatik i lidhjes Wi-Fi për Jetson TX1
Konfigurimi në Jetson TX1 është pothuajse i njëjtë si në Jetson Nano me një përjashtim Jetson TX1 duhet të zgjedhë pajisjen "wlan1" në "Device" në panelin e kontrollit të cilësimeve të rrjetit.
KONFIGURIMI I SINKRONIZIMIT ME SHUMË AGJENT
Në projektin e formimit me shumë agjentë, vendosja e sinkronizimit të kohës me shumë agjentë është një hap vendimtar. Në procesin e formimit do të shkaktohen shumë probleme për shkak të kohës së sistemit asinkron të secilit robot. Sinkronizimi i kohës me shumë agjentë ndahet në dy situata, përkatësisht, situata në të cilën robotët master dhe skllav janë të lidhur në rrjet dhe situata në të cilën të dy janë shkëputur nga rrjeti.
Lidhje e suksesshme e rrjetit master/skllav
Pasi të konfigurohet komunikimi me shumë agjentë, nëse makinat master dhe slave mund të lidhen me sukses me rrjetin, ato do të sinkronizojnë automatikisht kohën e rrjetit. Në këtë rast, nuk kërkohen veprime të mëtejshme për të arritur sinkronizimin e kohës.
Zgjidhja e problemeve të shkëputjeve të rrjetit
Pasi të konfigurohet komunikimi me shumë agjentë, nëse pajisjet kryesore dhe slave nuk mund të lidhen me sukses me rrjetin, është e nevojshme të sinkronizoni manualisht kohën. Ne do të përdorim komandën data për të përfunduar cilësimin e kohës.
Së pari, instaloni mjetin terminator. Nga mjeti terminator, përdorni mjetin e ndarjes së dritares për të vendosur terminalet e kontrollit të masterit dhe slave në të njëjtën dritare terminali (kliko me të djathtën për të vendosur një dritare të ndarë dhe hyni në makineritë kryesore dhe skllav me ssh në dritare të ndryshme) .
- sudo apt-get install terminator # Shkarko terminatorin për të ndarë dritaren e terminalit
Klikoni butonin lart majtas, zgjidhni opsionin [Transmetim për të gjithë]/[Transmetoni të gjitha] dhe futni komandën e mëposhtme. Pastaj përdorni mjetin terminator për të vendosur të njëjtën kohë për master dhe skllave.
- sudo data -s "2022-01-30 15:15:00" # Konfigurimi manual i orës
PAKETA ROS me MULTI AGJENT
Paraqitja e Paketës ROS
Vendosni emrin skllav
Në paketën e funksioneve wheeltec_multi, është e nevojshme të vendosni një emër unik për çdo robot skllav në mënyrë që të shmangen gabimet. Për shembullample, nr. 1 për slave1 dhe nr. 2 për slave2, etj. Qëllimi i vendosjes së emrave të ndryshëm është të grupohen nyjet e ekzekutimit dhe t'i dallojmë ato sipas hapësirave të ndryshme të emrave. Për shembullample, tema e radarit të skllav 1 është/slave1/scan, dhe nyja LiDAR e skllav 1 është/slave1/laseri.
Vendos koordinatat e skllevërve
Paketa wheeltec_multi mund të zbatojë formacione të personalizuara. Kur kërkohen formacione të ndryshme, thjesht modifikoni koordinatat e dëshiruara të robotëve skllevër. Slave_x dhe slave_y janë koordinatat x dhe y të slave me master si pikë referimi origjinale. Pjesa e përparme e masterit është drejtimi pozitiv i koordinatës x, dhe ana e majtë është drejtimi pozitiv i koordinatës y. Pas përfundimit të cilësimit, një skllavë e koordinatave TF1 do të lëshohet si koordinata e pritshme e skllavit. Nëse ka një master dhe dy skllevër, mund të vendoset formacioni i mëposhtëm:
- Formimi horizontal: Ju mund t'i vendosni koordinatat e skllavit në të majtë në slave_x:0, slave_y: 0.8 dhe koordinatat e slave në të djathtë në slave_x:0, slave_y:-0.8.
- Formimi i kolonës: Koordinatat e një slave mund të vendosen në: slave_x:-0.8, slave_y:0, dhe koordinatat e skllavit tjetër mund të vendosen në: slave_x:-1.8, slave_y:0.
- Formimi trekëndor: Koordinatat e njërit skllave mund të vendosen në: slave_x:-0.8, slave_y: 0.8, dhe koordinatat e skllavit tjetër mund të vendosen në: slave_x:-0.8, slave_y:-0.8.
Formacionet e tjera mund të personalizohen sipas nevojës.
Shënim:
- Distanca e rekomanduar midis dy robotëve është vendosur në 0.8 dhe rekomandohet të mos jetë më e ulët se 0.6. Distanca midis skllevërve dhe masterit rekomandohet të vendoset nën 2.0. Sa më larg të jetë nga mjeshtri, aq më e madhe është shpejtësia lineare e skllavit kur mjeshtri po kthehet. Për shkak të kufizimit të shpejtësisë maksimale, shpejtësia e skllav do të devijojë nëse nuk i plotëson kërkesat. Formimi i robotit do të bëhet kaotik.
Inicializimi i pozicionit skllav
- Si parazgjedhje, pozicioni fillestar i skllav është në koordinatat e pritura. Përpara se të ekzekutoni programin, thjesht vendosni robotin skllav afër koordinatave të tij të pritura për të përfunduar inicializimin. Ky funksion zbatohet nga nyja pose_setter në skedarin e quajtur turn_on_wheeltec_robot.launch në paketën wheeltec_multi, siç tregohet në figurën 4-1-3.
Nëse përdoruesi dëshiron të personalizojë pozicionin fillestar të slave, ai ose ajo duhet vetëm të vendosë vlerat slave_x dhe slave_y siç tregohet në figurën 4-1-4 në wheeltec_slave.launch. Vlerat slave_x dhe slave_y do të kalohen te turn_on_wheeltec_robot.launch dhe do t'i caktohen nyjes pose_setter. Thjesht vendoseni robotin në një pozicion të personalizuar përpara se të ekzekutoni programin.
Konfigurimi i pozicionit
Në një formacion me shumë agjentë, problemi i parë që duhet zgjidhur është pozicionimi i zotëruesit dhe skllavit. Masteri do të ndërtojë së pari një hartë 2D. Pas krijimit dhe ruajtjes së hartës, ekzekutoni paketën e navigimit 2D dhe përdorni algoritmin përshtatës të pozicionimit Monte Carlo (pozicionimi amcl) në paketën e navigimit 2D për të konfiguruar pozicionimin e masterit. Meqenëse master dhe skllevërit janë në të njëjtin rrjet dhe ndajnë të njëjtin menaxher të nyjeve, master ka nisur hartën nga paketa e navigimit 2D, të gjithë skllevërit mund të përdorin të njëjtën hartë nën të njëjtin menaxher nyjesh. Prandaj, skllavi nuk ka nevojë të krijojë një hartë. Në wheeltec_slave.launch, ekzekutoni pozicionimin e Monte Carlo (pozicionimi amcl), skllevërit mund të konfigurojnë pozicionet e tyre duke përdorur hartën e krijuar nga master.
Si të krijoni formacion dhe të ruani formimin
Në procesin e lëvizjes së formimit, lëvizja kryesore mund të kontrollohet me Rviz, tastierë, telekomandë dhe metoda të tjera. Skllavi llogarit shpejtësinë e tij përmes nyjes slave_tf_listener në mënyrë që të kontrollojë lëvizjen e tij dhe të arrijë qëllimin e formimit. Nyja slave_tf_listener kufizon shpejtësinë skllav për të shmangur shpejtësinë e tepërt nga llogaritja e nyjeve, e cila do të shkaktojë një sërë ndikimesh. Vlera specifike mund të modifikohet në wheeltec_slave.launch.
Parametrat përkatës të algoritmit të formimit janë si më poshtë:
Informacion për shmangien e pengesave
Në një formacion me shumë agjentë, master mund të përdorë nyjen move_base për të kompletuar shmangien e pengesave. Megjithatë, inicializimi i skllav nuk përdor nyjen move_base. Në këtë pikë, nyja multi_avoidance duhet të thirret në programin slave. Nyja e shmangies së pengesave është aktivizuar si parazgjedhje në paketë. Nëse është e nevojshme, shmangia mund të vendoset në "false" për të çaktivizuar nyjen e shmangies së pengesave.
Disa parametra përkatës të nyjës së shmangies së pengesave janë paraqitur në figurën më poshtë, ku distanca e sigurt është kufiri i distancës së sigurt të pengesave dhe distanca e rrezikut është kufiri i distancës së rrezikshme të pengesave. Kur pengesa është brenda distancës së sigurt dhe distancës së rrezikut, skllavi rregullon pozicionin e tij për të shmangur pengesën. Kur pengesa është brenda rrezikut, skllavi do të largohet nga pengesa.
Procedura e operimit
Fut komandën e ekzekutimit
Përgatitjet para fillimit të formimit të shumë agjentëve:
- Master dhe slave lidhen me të njëjtin rrjet dhe konfigurojnë saktë komunikimin me shumë agjentë
- Mjeshtri ndërton paraprakisht një hartë 2D dhe e ruan atë
- Masteri vendoset në pikën fillestare të hartës dhe slave vendoset pranë pozicionit të inicializimit (pozicioni i parazgjedhur i formimit të skllevërve)
- Pasi të keni hyrë në Jetson Nano/Raspberry Pi nga distanca, kryeni sinkronizimin e kohës.
sudo date -s “2022-04-01 15:15:00”
- Hapi 1: Hapni një hartë 2D nga masteri.
roslaunch turn_on_wheeltec_robot navigacion.launch
- Hapi 2: Ekzekutoni programin e formimit nga të gjithë skllevërit.
roslaunch wheeltec_multi wheeltec_slave.nis
- Hapi 3: Hapni nyjen e kontrollit të tastierës nga masteri ose përdorni levë për të kontrolluar në distancë lëvizjen kryesore.
rinis wheeltec_robot_rc keyboard_teleop.launch
- Hapi 4: (Opsionale) Vëzhgoni lëvizjet e robotit nga Rviz.
rviz
Shënim:
- Sigurohuni që të përfundoni operacionin e sinkronizimit të kohës përpara se të ekzekutoni programin.
- Kur kontrolloni masterin e një formacioni me shumë agjentë, shpejtësia këndore nuk duhet të jetë shumë e shpejtë. Shpejtësia lineare e rekomanduar është 0.2 m/s, shkalla e shpejtësisë këndore nën 0.3 rad/s. Kur master është duke bërë një kthesë, sa më larg të jetë skllav nga master, aq më e madhe kërkohet shpejtësia lineare. Për shkak të kufirit të shpejtësisë lineare dhe shpejtësisë këndore në paketë, kur makina skllav nuk mund të arrijë shpejtësinë e kërkuar, formimi do të jetë kaotik. Në përgjithësi, shpejtësia e tepërt lineare mund të dëmtojë lehtësisht robotin.
- Kur numri i skllevërve është më shumë se një, për shkak të gjerësisë së brezit të kufizuar në bord të hostit ROS, është e lehtë të shkaktohen vonesa të konsiderueshme dhe shkëputje të komunikimit me shumë agjentë. Përdorimi i një ruteri mund ta zgjidhë mirë këtë problem.
- Pema TF e formacionit me shumë robotë (2 skllevër) është: rqt_tf_tree
- Diagrami i marrëdhënies së nyjeve të formacionit me shumë robotë (2 skllevër) është: rqt_graph
Dokumentet / Burimet
![]() |
ROBOWORKS Robofleet ALGORITHMS MULTI-AGENT [pdf] Manuali i Përdoruesit Robofleet algoritme me shumë agjentë, Robofleet, algoritme me shumë agjentë, algoritme agjentësh, algoritme |