ROBOWORKS-NEMBO

ROBOWORKS Robofleet ALGORITHMS ZA MAWAKALA MENGI

ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-PRODUCT

Vipimo

  • Jina la Bidhaa: ROBOWORKS
  • Toleo: 20240501
  • Imetayarishwa na: Wayne Liu na Janette Lin
  • Tarehe: 1 Mei 2024

Taarifa ya Bidhaa

ROBOWORKS ni mfumo wa mawakala mbalimbali unaoruhusu utekelezaji wa kanuni mbalimbali za uratibu na mawasiliano ya roboti.

Maswali Yanayoulizwa Mara kwa Mara

Swali: Je, nifanye nini ikiwa roboti haiwezi kuunganisha kiotomatiki kwenye Wifi?

J: Roboti ikishindwa kuunganisha kiotomatiki, jaribu kuchomoa na kuchomeka tena kadi ya mtandao na ujaribu kuunganisha tena.

MUHTASARI

Hati hii inaelezea haswa matumizi ya kifurushi cha kitendakazi cha uundaji wa roboti nyingi kinachoitwa wheeltec_multi.

Hati hii imegawanywa katika sehemu nne:

  • Sehemu ya kwanza ni hasa kuhusu kuanzishwa kwa mbinu ya uundaji wa roboti nyingi;
  • sehemu ya pili inaelezea hasa mipangilio ya mawasiliano ya mashine mbalimbali ya ROS, ikiwa ni pamoja na ujenzi wa ROS mawasiliano ya mashine mbalimbali na matatizo ambayo yanaweza kukutana katika mchakato wa mawasiliano ya ROS;
  • sehemu ya tatu inaelezea hasa hatua za uendeshaji wa maingiliano ya wakati wa mashine nyingi;
  • sehemu ya nne inafafanua matumizi mahususi ya kifurushi cha kazi cha uundaji wa mashine nyingi.

Madhumuni ya hati hii ni utangulizi wa mifumo ya roboti yenye mawakala wengi na inaruhusu watumiaji kuanzisha mradi wa uundaji wa roboti nyingi haraka.

UTANGULIZI WA ALGORITHMS ZA MAWAKALA MENGI

Algorithms ya uundaji wa wakala wengi

Kifurushi hiki cha ROS kinawasilisha shida ya kawaida ya mawakala anuwai katika udhibiti wa ushirikiano wakati wa kuunda gari. Mafunzo haya yanaweka msingi wa ukuzaji wa siku zijazo juu ya mada hii. Kanuni ya udhibiti wa uundaji inarejelea algoriti ambayo inadhibiti mawakala wengi kuunda muundo mahususi wa kutekeleza kazi. Ushirikiano unarejelea ushirikiano kati ya mawakala wengi wanaotumia uhusiano fulani wa kikwazo ili kukamilisha kazi. Chukua kiendeshi cha uundaji wa roboti nyingi kama example, ushirikiano unamaanisha kuwa roboti nyingi huunda muundo unaotaka pamoja. Kiini chake ni uhusiano fulani wa hisabati ambao umeridhika kati ya nafasi za kila roboti. Mbinu za uundaji zimegawanywa hasa katika udhibiti wa uundaji wa kati na udhibiti wa malezi uliosambazwa. Mbinu za udhibiti wa uundaji wa kati hasa zinajumuisha mbinu ya muundo pepe, mbinu ya nadharia ya picha, na mbinu ya kielelezo ya kubashiri. Mbinu zinazosambazwa za udhibiti wa malezi hujumuisha mbinu ya mfuasi-kiongozi, mbinu inayotegemea tabia, na mbinu ya muundo pepe.
Kifurushi hiki cha ROS kinatumia mbinu ya mfuasi wa kiongozi katika mbinu iliyosambazwa ya udhibiti wa uundaji ili kutekeleza kiendeshi cha uundaji wa roboti nyingi. Roboti moja katika uundaji imeteuliwa kama kiongozi, na roboti zingine zimeteuliwa kuwa watumwa wa kumfuata kiongozi. Algoriti hutumia mwelekeo wa mwendo wa roboti inayoongoza kuweka viwianishi vya kufuatiliwa na roboti zifuatazo zenye mwelekeo na kasi fulani. Kwa kusahihisha kupotoka kwa nafasi kutoka kwa kuratibu za ufuatiliaji, wafuasi hatimaye watapunguza ukengeushaji kati ya mfuasi na viwianishi vya ufuatiliaji vinavyotarajiwa hadi sifuri ili kufikia malengo ya gari la uundaji. Kwa njia hii, algorithm ni kiasi kidogo ngumu.

Kanuni za kuepuka vikwazo

Algorithm ya kawaida ya kuepusha vikwazo ni mbinu ya uga inayoweza kutumika. Mwendo wa roboti katika mazingira halisi unachukuliwa kuwa harakati katika uwanja wa nguvu bandia. Kizuizi cha karibu kinatambuliwa na LiDAR. Kizuizi hicho hutoa eneo la nguvu la kuchukiza ili kusababisha msukumo kwa roboti na sehemu inayolengwa hutoa uwanja wa mvuto kutoa nguvu ya uvutano kwa roboti. Kwa njia hii, inadhibiti mwendo wa roboti chini ya hatua ya pamoja ya kukataa na kuvutia.
Kifurushi hiki cha ROS ni uboreshaji kulingana na mbinu ya uga inayoweza kutumika. Kwanza, kanuni ya uundaji huhesabu kasi ya mstari na angular ya mfuasi wa Mtumwa. Kisha huongeza au kupunguza kasi ya mstari na angular kulingana na mahitaji ya kuepuka vikwazo. Wakati umbali kati ya mfuasi wa Mtumwa na kizuizi ni karibu, nguvu ya kurudisha nyuma ya kizuizi kwa mfuasi wa Mtumwa ni kubwa zaidi. Wakati huo huo, mabadiliko ya kasi ya mstari na tofauti za kasi ya angular ni kubwa zaidi. Wakati kizuizi kinapokuwa karibu na mbele ya mfuasi wa Mtumwa, kurudisha nyuma kwa kikwazo kwa mfuasi wa Mtumwa kunakuwa kubwa zaidi (kizuizi cha mbele ni kikubwa zaidi na kirudisha nyuma ni kidogo). Matokeo yake, tofauti za kasi ya mstari na kasi ya angular ni kubwa zaidi. Kupitia mbinu ya uga inayoweza kutumika, inaboresha suluhisho wakati roboti inaweza kuacha kujibu mbele ya kizuizi. Hii inatumika kwa madhumuni ya kuzuia bora zaidi.

WENGI WA MAWASILIANO YA MAWAKALA WENGI

Mawasiliano ya wakala wengi ni mojawapo ya hatua muhimu za kukamilisha uundaji wa roboti nyingi. Wakati nafasi za jamaa za roboti nyingi hazijulikani, roboti zinahitaji kushiriki habari za kila mmoja kupitia mawasiliano ili kuwezesha uanzishaji wa miunganisho. Usanifu uliosambazwa wa ROS na mawasiliano ya mtandao ni nguvu sana. Sio rahisi tu kwa mawasiliano kati ya mchakato lakini pia kwa mawasiliano kati ya vifaa tofauti. Kupitia mawasiliano ya mtandao, nodes zote zinaweza kukimbia kwenye kompyuta yoyote. Kazi kuu kama vile usindikaji wa data hukamilishwa kwa upande wa mwenyeji. Mashine za watumwa zina jukumu la kupokea data ya mazingira iliyokusanywa na vitambuzi mbalimbali. Mwenyeji hapa ndiye msimamizi anayeendesha nodi ya Mwalimu katika ROS. Mfumo wa sasa wa mawasiliano wa wakala wengi ni kupitia kidhibiti nodi na kidhibiti kigezo cha kushughulikia mawasiliano kati ya roboti nyingi.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (1)

Hatua za kusanidi mawasiliano ya mawakala wengi

  • Weka Vidhibiti vya ROS kwenye mtandao huo huo
    • Kuna njia 2 za kusanidi Vidhibiti vya ROS vya Mwalimu/Mtumwa chini ya mtandao huo huo.

Chaguo la 1:

Mwenyeji Mkuu huunda wifi ya ndani kwa kuendesha kidhibiti cha nodi Kuu. Kwa ujumla, moja ya roboti ambaye ameteuliwa kama bwana huunda mtandao huu wa wifi. Roboti zingine au mashine pepe hujiunga na mtandao huu wa wifi kama watumwa.

Chaguo 2:

Mtandao wa ndani wa wifi hutolewa na kipanga njia cha mtu wa tatu kama kituo cha upeanaji habari. Roboti zote zimeunganishwa kwenye kipanga njia sawa. Router pia inaweza kutumika bila muunganisho wa mtandao. Chagua moja ya roboti kama bwana na uendeshe kidhibiti cha nodi ya Mwalimu. Roboti zingine zimeteuliwa kama watumwa na huendesha meneja wa nodi kuu kutoka kwa bwana.
Uamuzi wa chaguo la kuchagua inategemea mahitaji ya mradi wako. Ikiwa idadi ya roboti zinazohitaji kuwasiliana si nyingi, Chaguo la 1 linapendekezwa kwa kuwa linaokoa gharama na ni rahisi kusanidi. Wakati idadi ya roboti iko kwa wingi, Chaguo la 2 linapendekezwa. Kizuizi cha nguvu ya kompyuta ya udhibiti mkuu wa ROS na kipimo data cha wifi kwenye ubao kinaweza kusababisha ucheleweshaji na kukatizwa kwa mtandao kwa urahisi. Router inaweza kutatua masuala haya kwa urahisi. Tafadhali kumbuka kuwa wakati wa kufanya mawasiliano ya mawakala wengi, ikiwa mashine pepe inatumika kama mtumwa wa ROS, hali ya mtandao wake inahitaji kuwekwa kwenye hali ya daraja.

Sanidi vigezo vya mazingira ya Mwalimu/Mtumwa

Baada ya mabwana wote wa ROS wote wako kwenye mtandao mmoja, vigezo vya mazingira kwa mawasiliano ya wakala wengi vinahitaji kuwekwa. Tofauti hii ya mazingira imesanidiwa katika faili ya .bashrc katika saraka kuu. Endesha gedit ~/.bashrc amri ili kuizindua. Tafadhali kumbuka kuwa faili zote za .bashrc za bwana na mtumwa katika mawasiliano ya mawakala wengi zinahitaji kusanidiwa. Kinachohitaji kubadilishwa ni anwani za IP mwishoni mwa faili. Laini mbili za ni ROS_MASTER_URI na ROS_HOSTNAME, kama inavyoonyeshwa kwenye Mchoro 2-1-4. ROS_MASTER_URI na ROS_HOSTNAME ya seva pangishi ya ROS zote ni IP za ndani. ROS_MASTER_URI katika faili ya ROS slave .bashrc inahitaji kubadilishwa hadi anwani ya IP ya mwenyeji huku ROS_HOSTNAME ikisalia kama anwani ya IP ya ndani.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (2)

Mawasiliano ya mashine nyingi ya ROS hayazuiliwi na toleo la toleo la ROS. Katika mchakato wa mawasiliano ya mashine nyingi, mtu anapaswa kufahamu yafuatayo:

  1. Uendeshaji wa mpango wa watumwa wa ROS unategemea mpango mkuu wa ROS wa kifaa kikuu cha ROS. Programu kuu ya ROS lazima ianzishwe kwanza kwenye kifaa kikuu kabla ya kutekeleza programu ya mtumwa kwenye kifaa cha mtumwa.
  2. Anwani za IP za mashine kuu na mtumwa katika mawasiliano ya mashine nyingi zinahitaji kuwa katika mtandao mmoja. Hii inamaanisha kuwa anwani ya IP na barakoa ndogo ya mtandao iko chini ya mtandao mmoja.
  3. ROS_HOSTNAME katika faili ya usanidi wa mazingira .bashrc haipendekezwi kutumia localhost. Inashauriwa kutumia anwani maalum ya IP.
  4. Ikiwa anwani ya IP ya mtumwa haijawekwa ipasavyo, kifaa cha mtumwa bado kinaweza kufikia bwana wa ROS lakini hakiwezi kuingiza habari ya kudhibiti.
  5. Iwapo mashine pepe itashiriki katika mawasiliano ya mawakala wengi, hali ya mtandao wake inahitaji kuwekwa kwenye hali ya daraja. IP tuli haiwezi kuchaguliwa kwa muunganisho wa mtandao.
  6. Mawasiliano ya mashine nyingi hayawezi view au ujiandikishe kwa mada za aina ya data ya ujumbe ambazo hazipo ndani ya nchi.
  7. Unaweza kutumia onyesho la kuiga Turtle ili kuthibitisha kama mawasiliano kati ya roboti yamefaulu:
    • a. Kimbia kutoka kwa bwana
      • rescore #zindua huduma za ROS
      • rostrum turtles turtlesim_node #zindua kiolesura cha turtles
    • b. Mkimbie mtumwa
      • endesha turtles turtles_teleop_key #zindua nodi ya kudhibiti kibodi kwa kasa

Ikiwa unaweza kuendesha harakati za turtle kutoka kwenye kibodi kwenye mtumwa, inamaanisha kuwa mawasiliano ya bwana / mtumwa yameanzishwa kwa ufanisi.

Uunganisho wa Wi-Fi otomatiki katika ROS

Taratibu zilizo hapa chini zinaelezea jinsi ya kusanidi roboti ili iunganishwe kiotomatiki kwenye mtandao wa seva pangishi au mtandao wa kipanga njia.

Usanidi otomatiki wa muunganisho wa Wi-Fi kwa Jetson Nano

  1. Unganisha Jetson Nano kupitia zana ya mbali ya VNC au moja kwa moja kwenye skrini ya kompyuta. Bofya kwenye ikoni ya wifi kwenye kona ya juu kulia kisha ubofye "Hariri Viunganisho."ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (3)
  2. Bonyeza kitufe cha + katika Viunganisho vya Mtandao:ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (4)
  3. Chini ya dirisha la "Chagua Aina ya Muunganisho", bofya menyu kunjuzi na ubofye kitufe cha "Unda...":ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (5)
  4. Katika Jopo la Kudhibiti, bofya chaguo la Wifi. Ingiza jina la Wifi ili kuunganisha katika "Jina la Muunganisho" na sehemu za SSID. Chagua "Mteja" kwenye menyu kunjuzi ya "Modi" na uchague "wlan0" kwenye menyu kunjuzi ya "Kifaa".ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (6)
  5. Katika Jopo la Kudhibiti, bofya chaguo la "Jumla" na uangalie "Unganisha kiotomatiki kwenye mtandao huu ...". Weka kipaumbele cha muunganisho kuwa 1 katika chaguo la "Kipaumbele cha muunganisho wa kuwezesha otomatiki". Angalia chaguo "Watumiaji wote wanaweza kuunganisha kwenye mtandao huu". Wakati chaguo limewekwa 0 katika "Kipaumbele cha muunganisho wa kuwezesha otomatiki" kwa wifi zingine, hii inamaanisha kuwa huu ndio mtandao wa wifi uliopendekezwa hapo awali.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (7)
  6. Bonyeza chaguo la "Usalama wa Wi-Fi" kwenye Jopo la Kudhibiti. Chagua "WPA & WPA2 Binafsi" katika uga wa "Usalama". Kisha ingiza nenosiri la Wi-Fi kwenye uwanja wa "Nenosiri".ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (8)

Kumbuka: Ikiwa roboti haiwezi kuunganisha kiotomatiki kwenye mtandao wa wifi baada ya kuwashwa wakati kipaumbele cha wifi kimewekwa 0, inaweza kusababishwa na tatizo la mawimbi dhaifu ya wifi. Ili kuepuka tatizo hili, unaweza kuchagua kufuta chaguo zote za wifi ambazo zimeunganishwa hapo awali. Weka mtandao wa wifi iliyoundwa na mwenyeji au kipanga njia pekee. Bofya chaguo la "Mipangilio ya IPv4" kwenye paneli ya kudhibiti mipangilio ya mtandao. Chagua chaguo la "Mwongozo" kwenye uwanja wa "Njia". Kisha bonyeza "Ongeza", jaza anwani ya IP ya mashine ya watumwa kwenye uwanja wa "Anwani". Jaza "24" kwenye uwanja wa "Netmask". Jaza sehemu ya mtandao wa IP katika "Gateway". Badilisha tarakimu tatu za mwisho za sehemu ya mtandao wa IP hadi "1". Kusudi kuu la hatua hii ni kurekebisha anwani ya IP. Baada ya hili kukamilika kwa mara ya kwanza, anwani ya IP itasalia bila kubadilika wakati wa kuunganisha kwenye WIFI hiyo hiyo baadaye.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (9)

Baada ya mipangilio yote kusanidiwa, bonyeza "Hifadhi" ili kuhifadhi mipangilio. Baada ya uhifadhi kufanikiwa, roboti itaunganisha kiotomatiki kwenye mtandao wa seva pangishi au kipanga njia inapowashwa.

Kumbuka:

  1. Anwani ya IP iliyowekwa hapa inahitaji kuwa sawa na anwani ya IP iliyowekwa katika faili ya .bashrc katika Sehemu ya 2.1.
  2. Anwani ya IP ya bwana na kila mtumwa lazima iwe ya kipekee.
  3. Anwani za IP kuu na za mtumwa zinahitaji kuwa katika sehemu moja ya mtandao.
  4. Ni lazima usubiri mpangishaji au kipanga njia kutuma mawimbi ya WiFi kabla roboti ya watumwa iweze kuwashwa na kuunganisha kiotomatiki kwenye mtandao wa WiFi.
  5. Baada ya mpangilio kusanidiwa, ikiwa roboti haiwezi kuunganisha kiotomatiki kwa WiFi wakati imewashwa, tafadhali chomeka na uchomoe kadi ya mtandao na ujaribu kuunganisha tena.

Usanidi otomatiki wa muunganisho wa Wi-Fi kwa Raspberry Pi

Utaratibu wa Raspberry Pi ni sawa na Jetson Nano.

Usanidi otomatiki wa muunganisho wa Wi-Fi kwa Jetson TX1

Usanidi katika Jetson TX1 ni karibu sawa na katika Jetson Nano isipokuwa moja Jetson TX1 inapaswa kuchagua kifaa cha "wlan1" katika "Kifaa" katika paneli ya kudhibiti mipangilio ya mtandao.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (10)

KUWEKA MSINGI WA USAWAZISHAJI WA MAWAKALA MENGI

Katika mradi wa uundaji wa mawakala wengi, mpangilio wa wakati wa wakala wengi ni hatua muhimu. Katika mchakato wa malezi, matatizo mengi yatasababishwa kutokana na wakati wa mfumo wa asynchronous wa kila robot. Usawazishaji wa wakati wa wakala mwingi umegawanywa katika hali mbili, ambayo ni, hali ambayo roboti za bwana na mtumwa zimeunganishwa kwenye mtandao na hali ambayo zote mbili zimekatwa kutoka kwa mtandao.

Muunganisho wa mtandao wa bwana/mtumwa umefaulu

Baada ya mawasiliano ya wakala wengi kusanidiwa, ikiwa mashine kuu na mtumwa zinaweza kuunganishwa kwa ufanisi kwenye mtandao, zitasawazisha kiotomatiki muda wa mtandao. Katika kesi hii, hakuna vitendo zaidi vinavyohitajika ili kufikia usawazishaji wa wakati.

Kutatua miunganisho ya mtandao

Baada ya mawasiliano ya mawakala wengi kusanidiwa, ikiwa vifaa vya bwana na mtumwa haviwezi kuunganishwa kwa ufanisi kwenye mtandao, ni muhimu kusawazisha muda kwa mikono. Tutatumia amri ya tarehe kukamilisha mpangilio wa wakati.

Kwanza, sakinisha chombo cha terminal. Kutoka kwa zana ya kusimamisha, tumia zana ya kugawanya dirisha kuweka vituo vya udhibiti vya bwana na mtumwa kwenye dirisha la terminal moja (bofya kulia ili kuweka kidirisha kilichogawanyika, na uingie kwenye mashine kuu na mtumwa kwa ssh katika madirisha tofauti) .

  • sudo apt-get install terminator # Pakua terminal ili kugawanya dirisha la wastaafu

Bofya kitufe kilicho upande wa juu kushoto, chagua chaguo [Tangaza kwa wote]/[Tangaza zote], na uweke amri ifuatayo. Kisha tumia zana ya kusimamisha kuweka wakati sawa kwa bwana na mtumwa.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (11)

  • tarehe ya sudo -s "2022-01-30 15:15:00" # Usanidi wa wakati wa mwongozo

KIFURUSHI CHA ROS-WAKALA MENGI

Utangulizi wa Kifurushi cha ROS

Weka jina la mtumwa

Katika kifurushi cha kazi cha wheeltec_multi, ni muhimu kuweka jina la kipekee kwa kila roboti ya mtumwa ili kuzuia makosa. Kwa mfanoample, Nambari 1 ya mtumwa1 na Na. 2 ya mtumwa2, n.k. Madhumuni ya kuweka majina tofauti ni kuweka nodi zinazoendesha katika vikundi na kuzitofautisha kwa nafasi tofauti za majina. Kwa mfanoample, mada ya rada ya mtumwa 1 ni/slave1/scan, na nodi ya LiDAR ya mtumwa 1 ni/slave1/laser.

Weka viwianishi vya watumwa

Kifurushi cha wheeltec_multi kinaweza kutekeleza uundaji maalum. Wakati uundaji tofauti unahitajika, rekebisha tu kuratibu zinazohitajika za roboti za watumwa. Slave_x na slave_y ni viwianishi vya x na y vya mtumwa na bwana kama sehemu ya asili ya marejeleo. Mbele ya bwana ni mwelekeo mzuri wa uratibu wa x, na upande wa kushoto ni mwelekeo mzuri wa kuratibu y. Baada ya mpangilio kukamilika, TF ya kuratibu slave1 itatolewa kama kiratibu kinachotarajiwa cha mtumwa. Ikiwa kuna bwana mmoja na watumwa wawili, malezi yafuatayo yanaweza kuwekwa:

  1. Uundaji mlalo: Unaweza kuweka viwianishi vya mtumwa upande wa kushoto kuwa slave_x:0, slave_y: 0.8, na viwianishi vya mtumwa upande wa kulia kwa slave_x:0, slave_y:-0.8.
  2. Uundaji wa safu wima: Viwianishi vya mtumwa mmoja vinaweza kuwekwa kuwa: mtumwa_x:-0.8, mtumwa_y:0, na viwianishi vya mtumwa mwingine vinaweza kuwekwa kuwa: mtumwa_x:-1.8, mtumwa_y:0.
  3. Uundaji wa pembe tatu: Viwianishi vya mtumwa mmoja vinaweza kuwekwa kuwa: mtumwa_x:-0.8, mtumwa_y: 0.8, na viwianishi vya mtumwa mwingine vinaweza kuwekwa kuwa: mtumwa_x:-0.8, mtumwa_y:-0.8.

Miundo mingine inaweza kubinafsishwa kama inahitajika.

Kumbuka:

  • Umbali uliopendekezwa kati ya roboti mbili umewekwa kuwa 0.8, na inashauriwa usiwe chini kuliko 0.6. Umbali kati ya watumwa na bwana unapendekezwa kuwekwa chini ya 2.0. Kadiri inavyokuwa mbali na bwana, ndivyo kasi ya mstari wa mstari wa mtumwa inavyokuwa wakati bwana anageuka. Kwa sababu ya ukomo wa kasi ya juu, kasi ya mtumwa itapotoka ikiwa haikidhi mahitaji. Uundaji wa roboti utakuwa wa machafuko.

Kuanzishwa kwa nafasi ya mtumwa

  1. Nafasi ya awali ya mtumwa iko kwenye viwianishi vinavyotarajiwa kwa chaguo-msingi. Kabla ya kuendesha programu, weka tu roboti ya mtumwa karibu na viwianishi vinavyotarajiwa ili kukamilisha uanzishaji. Chaguo hili la kukokotoa linatekelezwa na nodi ya pose_setter katika faili iitwayo turn_on_wheeltec_robot.launch katika kifurushi cha wheeltec_multi, kama inavyoonyeshwa kwenye Mchoro 4-1-3.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (12)

Ikiwa mtumiaji anataka kubinafsisha nafasi ya kwanza ya mtumwa, anahitaji tu kuweka thamani za slave_x na slave_y kama inavyoonyeshwa kwenye Mchoro 4-1-4 katika wheeltec_slave.launch. Thamani za slave_x na slave_y zitapitishwa kwa turn_on_wheeltec_robot.launch na kupewa nodi ya pose_setter. Weka tu roboti katika nafasi maalum kabla ya kuendesha programu.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (13)

Mpangilio wa Nafasi

Katika muundo wa wakala wengi, tatizo la kwanza kutatuliwa ni nafasi ya bwana na mtumwa. Bwana ataunda ramani ya 2D kwanza. Baada ya kuunda na kuhifadhi ramani, endesha kifurushi cha kusogeza cha 2D na utumie algoriti ya uwekaji nafasi ya Monte Carlo (amcl positioning) katika kifurushi cha kusogeza cha 2D ili kusanidi uwekaji wa bwana. Kwa kuwa bwana na watumwa wako kwenye mtandao mmoja na wanashiriki meneja wa nodi sawa, bwana amezindua ramani kutoka kwa kifurushi cha urambazaji cha 2D, watumwa wote wanaweza kutumia ramani sawa chini ya meneja wa nodi sawa. Kwa hiyo, mtumwa hana haja ya kuunda ramani. Katika wheeltec_slave.launch, endesha Monte Carlo positioning (amcl positioning), watumwa wanaweza kusanidi nafasi zao kwa kutumia ramani iliyoundwa na bwana.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (14)

Jinsi ya kuunda malezi na kudumisha malezi

Katika mchakato wa harakati ya malezi, harakati ya bwana inaweza kudhibitiwa na Rviz, keyboard, udhibiti wa kijijini, na njia nyingine. Mtumwa huhesabu kasi yake kupitia nodi ya mtumwa_tf_msikilizaji ili kudhibiti harakati zake na kufikia lengo la malezi. Nodi ya slave_tf_listener huweka kikomo kasi ya mtumwa ili kuepuka kasi kupita kiasi kwa hesabu ya nodi, ambayo itasababisha mfululizo wa athari. Thamani mahususi inaweza kurekebishwa katika wheeltec_slave.launch.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (15)

Vigezo muhimu vya algorithm ya malezi ni kama ifuatavyo. ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (16)

Taarifa za kuepuka vikwazo

Katika uundaji wa mawakala wengi, bwana anaweza kutumia nodi ya move_base kukamilisha kuepusha vizuizi. Walakini, uanzishaji wa mtumwa hautumii nodi ya move_base. Katika hatua hii, nodi ya kuepusha nyingi inahitaji kuitwa katika mpango wa mtumwa. Njia ya kuepusha vizuizi imewezeshwa na chaguo-msingi kwenye kifurushi. Ikiwa ni lazima, uepukaji unaweza kuwekwa kuwa "uongo" ili kuzima nodi ya kuepusha kikwazo. ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (17)

Baadhi ya vigezo muhimu vya nodi ya kuepusha vizuizi vinaonyeshwa kwenye mchoro ulio hapa chini, ambapo safe_distance ndio kikomo cha umbali salama, na risk_distance ndio kikomo cha umbali hatari. Wakati kizuizi kiko ndani ya umbali salama na umbali wa hatari, mtumwa hurekebisha msimamo wake ili kuepusha kizuizi. Wakati kikwazo kiko ndani ya hatari, mtumwa ataendesha mbali na kizuizi.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (18)

Utaratibu wa Uendeshaji

Ingiza amri ya utekelezaji

Maandalizi kabla ya kuanza uundaji wa mawakala wengi:

  • Bwana na mtumwa huunganisha kwenye mtandao mmoja na kuanzisha mawasiliano ya wakala wengi kwa usahihi
  • Bwana huunda ramani ya 2D mapema na kuihifadhi
  • Bwana amewekwa mahali pa kuanzia ramani, na mtumwa anawekwa karibu na nafasi ya uanzishaji (nafasi ya uundaji wa mtumwa chaguo-msingi)
  • Baada ya kuingia kwa Jetson Nano/Raspberry Pi kwa mbali, fanya usawazishaji wa wakati.

tarehe ya sudo -s "2022-04-01 15:15:00"

  • Hatua ya 1: Fungua ramani ya P2 kutoka kwa bwana.

roslaunch turn_on_wheeltec_robot navigation.launch

  • Hatua ya 2: Endesha programu ya malezi kutoka kwa watumwa wote.

roslaunch wheeltec_multi wheeltec_slave.launch

  • Hatua ya 3: Fungua nodi ya udhibiti wa kibodi kutoka kwa bwana au tumia kijiti cha kufurahisha kudhibiti mwendo mkuu.

zindua upya wheeltec_robot_rc keyboard_teleop.launch

  • Hatua ya 4: (Si lazima) Angalia mienendo ya roboti kutoka Rviz.

rviz

Kumbuka: 

  1. Hakikisha umekamilisha operesheni ya ulandanishi wa muda kabla ya kutekeleza programu.
  2. Wakati wa kudhibiti bwana wa malezi ya wakala mbalimbali, kasi ya angular haipaswi kuwa haraka sana. Kasi ya mstari inayopendekezwa ni 0.2m/s, digrii ya angular chini ya 0.3rad/s. Wakati bwana anafanya zamu, kadiri mtumwa anavyokuwa mbali na bwana wake, ndivyo kasi ya mstari inavyohitajika. Kwa sababu ya kikomo juu ya kasi ya mstari na kasi ya angular katika mfuko, wakati gari la watumwa haliwezi kufikia kasi inayohitajika, uundaji utakuwa wa machafuko. Kwa ujumla, kasi kubwa ya mstari inaweza kuharibu roboti kwa urahisi.
  3. Wakati idadi ya watumwa ni zaidi ya mmoja, kwa sababu ya kipimo kikomo cha wifi kwenye ubao cha mwenyeji wa ROS, ni rahisi kusababisha ucheleweshaji mkubwa na kukatwa kwa mawasiliano ya mawakala wengi. Kutumia router kunaweza kutatua tatizo hili vizuri.
  4. Mti wa TF wa uundaji wa roboti nyingi (watumwa 2) ni: rqt_tf_tree
  5. Mchoro wa uhusiano wa nodi wa uundaji wa roboti nyingi (watumwa 2) ni: rqt_graph

Nyaraka / Rasilimali

ROBOWORKS Robofleet ALGORITHMS ZA MAWAKALA MENGI [pdf] Mwongozo wa Mtumiaji
Algorithms za Mawakala Wengi wa Robofleet, Robofleet, Algorithms za Wakala Wengi, Algorithms za Wakala, Algorithms

Marejeleo

Acha maoni

Barua pepe yako haitachapishwa. Sehemu zinazohitajika zimetiwa alama *