ROBOWORKS Robofleet Orin Nano x3 Robot 

ROBOWORKS Robofleet Orin Nano x3 Robot

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ë ndërtimin e ROS të komunikimit me shumë makina 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ë sistemin robotik me shumë agjentë dhe lejon përdoruesin të fillojë shpejt projektin e formimit të shumë robotëve.

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ë makine 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ë se një marrëdhënie e caktuar matematikore ë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ë metodën udhëheqës-ndjekës, metodën e bazuar në sjellje dhe metodën e strukturës virtuale.

Kjo paketë ROS aplikon 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 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ë pritura 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ë force artificiale virtuale. Pengesa më e afërt identifikohet nga LiDAR. Pengesa siguron një fushë force 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 Slave është më e madhe. Ndërkohë 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. Përmes metodës së fushës së potencialit artificial, ajo përmirëson një zgjidhje

kur një robot mund të ndalojë së përgjigjuri para një pengese. Kjo i shërben një qëllimi 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ë 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ë.

Konfigurimi i komunikimit me shumë agjentë

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 lokal duke ekzekutuar menaxherin e nyjeve Master. Në përgjithësi, një nga robotët që është caktuar si master krijon këtë rrjet wifi. Robotët ose makinat 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 edhe 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 Wi-Fi në bord mund të shkaktojë 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ë .bashrc file në drejtorinë kryesore. Ekzekutoni komandën gedit ~/.bashrc për ta nisur atë. Ju lutemi vini re se të dy .bashrc files të master dhe slave në komunikimin me shumë agjentë duhet të konfigurohen. Ajo që duhet ndryshuar janë adresat IP në fund të file. 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ë skllavërinë ROS .bashrc file duhet të ndryshohet në adresën IP të hostit ndërsa ROS_HOSTNAME mbetet si një adresë IP lokale.

Konfigurimi i komunikimit me shumë agjentë

Komunikimi me shumë makina ROS nuk është i kufizuar nga versioni i lëshimit të ROS. Në procesin e komunikimit me shumë makineri, duhet pasur parasysh sa vijon:

  1. 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.
  2. 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.
  3. ROS_HOSTNAME në konfigurimin e mjedisit file .bashrc nuk rekomandohet të përdoret localhost. Rekomandohet të përdorni një adresë IP specifike.
  4. 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.
  5.  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.
  6. 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.
  7. 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
    roscore #launch shërbimet ROS
    rosrun turtlesim turtlesim_node #launch turtlesim interface
    b.
    Ik nga skllavi
    rosrun turtlesim turtle_teleop_key #launch nyja e kontrollit të tastierës për turtlesim

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 Wi-Fi 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

  1. Lidhni Jetson Nano nëpërmjet mjetit të largët 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.."
    Konfigurimi i komunikimit me shumë agjentë
  2. Klikoni butonin + në lidhjet e rrjetit:
    Konfigurimi i komunikimit me shumë agjentë
  3. Në dritaren "Zgjidhni një lloj lidhjeje", klikoni në menunë rënëse dhe klikoni butonin "Krijo...":
    Konfigurimi i komunikimit me shumë agjentë
  4. Në Panelin e Kontrollit, klikoni opsionin Wifi. Futni emrin Wifi për t'u lidhur në fushat "Emri i lidhjes" dhe SSID. Zgjidhni "Client" në menunë rënëse "Mode" dhe zgjidhni "wlan0" në menunë rënëse "Pajisja".
    Konfigurimi i komunikimit me shumë agjentë
  5. 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.
    Konfigurimi i komunikimit me shumë agjentë
  6. Klikoni në opsionin "Siguria Wi-Fi" në Panelin e Kontrollit. Zgjidhni "WPA & WPA2 Personal" në fushën "Security". Pastaj futni fjalëkalimin Wifi
    Konfigurimi i komunikimit me shumë agjentë

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 sinjalit të dobët wifi. Për të shmangur këtë problem, mund të zgjidhni të fshini të gjitha opsionet wifi 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 "Metod". 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.

Konfigurimi i komunikimit me shumë agjentë

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:

  1. Adresa IP e vendosur këtu duhet të jetë e njëjtë me adresën IP të vendosur në .bashrc file në seksionin 2.1.
  2. Adresa IP e masterit dhe çdo slave duhet të jetë unike.
  3. Adresat IP master dhe skllav duhet të jenë në të njëjtin segment të rrjetit.
  4. 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.
  5. 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 Wi-Fi 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 që Jetson TX1 duhet të zgjedhë pajisjen e "wlan1" në "Device" në panelin e kontrollit të cilësimeve të rrjetit.

Konfigurimi i komunikimit me shumë agjentë

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 në situatën kur robotët master dhe skllav janë të lidhur në rrjet dhe situata kur 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 master 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], shkruani komandën e mëposhtme. Pastaj përdorni mjetin terminator për të vendosur të njëjtën kohë për master dhe skllave.

Konfigurimi i sinkronizimit me shumë agjentë

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 robin1 dhe nr 2 për robin2 etj.

Qëllimi i vendosjes së emrave të ndryshëm është grupimi i nyjeve që funksionojnë dhe dallohen ato sipas hapësirave të ndryshme të emrave. Për shembullample, tema e radarit të skllav 1 është: /slave1/scan, dhe nyja LiDAR e skllavit 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:

  1. Formimi horizontal: Ju mund t'i vendosni koordinatat e skllavës 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.
  2. 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.
  3. 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ë file i quajtur turn_on_wheeltec_robot.launch në paketën wheeltec_multi, siç tregohet në figurën 4-1-3.

Paketa Ros me shumë agjentë

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.

Paketa Ros me shumë agjentë

Konfigurimi i pozicionit 

Në një formacion me shumë agjentë, problemi i parë që duhet zgjidhur është pozicionimi i zotit 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.

Paketa Ros me shumë agjentë

Si të krijoni formacion dhe të ruani formimin 

Në procesin e lëvizjes së formimit, lëvizja master 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.

Paketa Ros me shumë agjentë

Parametrat përkatës të algoritmit të formimit janë si më poshtë:

Paketa Ros me shumë agjentë

Shmangia e pengesave në formim

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.

Paketa Ros me shumë agjentë

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 rrezikut, skllavi rregullon pozicionin e tij për të shmangur pengesën. Kur pengesa është brenda rrezikut_distanca, skllavi do të largohet nga pengesa.

Paketa Ros me shumë agjentë

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 hartën 2D nga masteri.
roslaunch turn_on_wheeltec_robot navigacion.launch

Hapi 2: Drejtoni 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.
roslaunch wheeltec_robot_rc keyboard_teleop.launch

Hapi 4: (Opsionale) Vëzhgoni lëvizjet e robotit nga Rviz.
rviz

Shënim

  1. Sigurohuni që të përfundoni operacionin e sinkronizimit të kohës përpara se të ekzekutoni programin.
  2. 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.
  3. Kur numri i skllevërve është më shumë se një, për shkak të gjerësisë së brezit të kufizuar Wi-Fi 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.
  4. Pema TF e formacionit me shumë robotë (2 skllevër) është: rqt_tf_tree
  5. Diagrami i marrëdhënies së nyjeve të formacionit me shumë robotë (2 skllevër) është: rqt_graph

Dokumentet / Burimet

ROBOWORKS Robofleet Orin Nano x3 Robot [pdf] Manuali i Përdoruesit
Orin Nano x3, Robofleet ROS Robo, Robofleet ROS, Robot, Robofleet Orin Nano x3 ROS Robot, Robofleet Orin Nano x3, Orin Nano x3 Robot, Orin Nano x3

Referencat

Lini një koment

Adresa juaj e emailit nuk do të publikohet. Fushat e kërkuara janë shënuar *