ROBOWORKS-LOGO

ALGORÎTMÊN ROBOWORKS Robofleet MULTI-AGENT

ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-PRODUCT

Specifications

  • Navê hilberê: ROBOWORKS
  • Versiyon: 20240501
  • Amadekar: Wayne Liu & Janette Lin
  • Dîrok: 1 Gulan 2024

Agahiya hilberê

ROBOWORKS pergalek pir-agent e ku destûrê dide pêkanîna algorîtmayên cihêreng ji bo hevrêzî û ragihandina robotan.

FAQs

Pirs: Ger robot nekare bixweber bi Wifi-yê ve girêdayî be divê ez çi bikim?

A: Ger robot bixweber têkeve hev, biceribînin ku qerta torê ji pêvekê veqetînin û ji nû ve vekin û dîsa biceribînin.

BERHEVKIRINÎ

Ev belge bi piranî karanîna pakêta fonksiyona damezrandina pir-robot a bi navê wheeltec_multi rave dike.

Ev belge li çar beşan hatiye dabeşkirin:

  • Beşa yekem bi giranî li ser danasîna rêbaza avakirina pir-robot e;
  • beşa duyemîn bi giranî mîhengên pêwendiya pir-makîneya ROS-ê vedibêje, di nav de ragihandina pir-makîneya avakirina ROS-ê û pirsgirêkên ku di pêvajoya ragihandina ROS-ê de rû didin;
  • beşa sêyem bi giranî gavên operasyonê yên hevdengkirina dema pir-makîneyê vedibêje;
  • beşa çaremîn karanîna taybetî ya pakêta fonksiyona damezrandina pir-makîneyê vedibêje.

Armanca vê belgeyê danasîna pergalên robotîkî yên pir-ajan e û destûrê dide bikarhêneran ku projeya avakirina pir-robot zû dest pê bikin.

DESTPÊK ALGORÎTMÊN MULTI-AGENT

Algorîtmayên avakirina pir-agent

Vê pakêta ROS-ê di dema ajokerek damezrandinê de di kontrola hevkariyê de pirsgirêkek tîpîk a pir-ajanan pêşkêşî dike. Ev tutorial bingehek ji bo pêşkeftina pêşerojê li ser vê mijarê datîne. Algorîtmaya kontrolkirina damezrandinê ji algorîtmayek ku gelek ajanan kontrol dike vedibêje da ku avabûnek taybetî pêk bîne da ku karekî bike. Hevkarî tê wateya hevkariya di navbera gelek nûneran de ku têkiliyek sînorkirî bikar tîne da ku karekî biqedîne. Dê ajokera damezrandina pir-robot wekî berê bigirinampLe, hevkarî tê vê wateyê ku gelek robot bi hev re avabûnek xwestinê pêk tînin. Esasê wê têkiliyek matematîkî ye ku di navbera pozîsyonên her robotan de têr e. Rêbazên damezrandinê bi piranî li ser kontrola damezrandina navendî û kontrolkirina damezrandina belavkirî têne dabeş kirin. Rêbazên kontrolkirina damezrandina navendî bi piranî rêbaza avahiya virtual, rêbaza teoriya grafîkî, û rêbaza pêşbîniya modelê vedihewîne. Rêbazên kontrolkirina damezrandina belavkirî bi gelemperî rêbazek rêber-şopdar, rêbazek tevger-bingeh, û rêbazek avahiyek virtual pêk tîne.
Vê pakêta ROS-ê di rêbaza kontrolkirina damezrandina dabeşkirî de rêbaza rêber-şopandinê bicîh tîne da ku ajokera damezrandina pir-robotan pêk bîne. Robotek di avabûnê de wekî rêber, û robotên din jî wekî kole têne destnîşan kirin ku rêberiyê bişopînin. Algorîtm rêgeza tevgerê ya robotê pêşeng bikar tîne da ku koordînatên ku ji hêla robotên jêrîn ve bi rêgez û bilezek diyar têne şopandin destnîşan dike. Bi rastkirina guheztinên pozîsyonê ji koordînatên şopandinê, şagirt dê di dawiyê de ji bo ku bigihîjin armancên ajokera damezrandinê veqetîna di navbera şopînerê û koordînatên şopandinê yên bendewar de sifir kêm bikin. Bi vî awayî, algorithm bi nisbeten kêmtir tevlihev e.

Algorîtmayên dûrketina astengan

Algorîtmayek dûrketina astengiya hevpar rêbaza qada potansiyela hunerî ye. Tevgera robotê di hawîrdorek laşî de wekî tevgerek di qada hêza hunerî ya virtual de tê hesibandin. Astengiya herî nêzîk ji hêla LiDAR ve tê nas kirin. Astengî qadeke hêzê ya vegerandinê peyda dike da ku ji robotê re vegerê çêbike û xala armanc jî qadek gravîtasyonê peyda dike da ku hêza gravîtasyonê ji robotê re çêbike. Bi vî rengî, ew tevgera robot di bin çalakiya hevgirtî ya paşveçûn û kişandinê de kontrol dike.
Ev pakêta ROS-ê li ser bingeha rêbaza qada potansiyela hunerî çêtirbûnek e. Pêşîn, algorîtmaya damezrandinê leza xêz û goşeyî ya şopînerê Slave hesab dike. Dûv re li gorî hewcedariyên dûrketina ji astengan leza xêz û goşeyî zêde an kêm dike. Dema ku mesafeya di navbera peyrewê Slave û astengê de nêzîktir be, hêza paşvekişîna astengê ji peykerê Slave re mezintir dibe. Di vê navberê de, guherîna leza xêzik û guherbarên leza goşeyî mezintir in. Dema ku asteng nêzikî pêşiya peyrewê Slave be, paşvekişandina astengê ji peyrewê Slave re mezintir dibe (vegera pêşiyê ya herî mezin û paşvekêşana alî ya herî piçûk e). Di encamê de, guherbarên leza xêzik û leza goşeyê mezintir in. Bi riya rêbaza qada potansiyela hunerî, gava ku robotek dikare li ber astengiyek bersivê bide sekinandin, çareseriyek çêtir dike. Ev yek ji armanca çêtir dûrketina astengan re xizmet dike.

SETUP TÊKILIYA MULTI-AGENT

Têkiliya pir-agent yek ji gavên bingehîn e ku ji bo pêkhatina pir-robotan temam bike. Gava ku pozîsyonên têkildar ên pir robotan nenas in, pêdivî ye ku robot bi riya ragihandinê agahdariya hevdu parve bikin da ku sazkirina têkiliyan hêsan bikin. Têkiliyên mîmarî û torê yên belavkirî yên ROS pir bi hêz in. Ew ne tenê ji bo pêwendiya nav-pêvajoyê lê di heman demê de ji bo ragihandina di navbera cîhazên cihêreng de jî hêsan e. Bi riya ragihandina torê, hemî girêk dikarin li ser her komputerê bixebitin. Karên sereke yên wekî pêvajoya daneyê li ser milê mêvandar têne qedandin. Makîneyên xulam ji wergirtina daneyên jîngehê yên ku ji hêla senzorên cihêreng ve têne berhev kirin berpirsiyar in. Mêvan li vir rêveberê ku girêka Master di ROS-ê de dimeşîne ye. Çarçoveya pêwendiya pir-ajan a heyî bi rêvebirek girêk û rêveberek parametreyê ve ye ku danûstandinên di nav pir robotan de birêve bibe.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (1)

Gavên ji bo sazkirina danûstendinên pir-agent

  • Di heman torê de Kontrolên ROS-ê saz bikin
    • Di bin heman torê de 2 awayên sazkirina Kontrolên Master / Slave ROS hene.

Vebijêrk 1:

Mêvandarê Master bi xebitandina rêveberê girêka Master wifiya herêmî diafirîne. Bi gelemperî, yek ji robotên ku wekî master tê destnîşan kirin vê torê wifi diafirîne. Robotên din an makîneyên virtual wekî kole beşdarî vê tora wifi dibin.

Vebijarkên 2:

Tora wifi ya herêmî ji hêla routerek sêyemîn ve wekî navendek veguhestina agahdariyê tê peyda kirin. Hemî robot bi heman routerê ve girêdayî ne. Router bêyî girêdana înternetê jî dikare were bikar anîn. Yek ji robotan wekî serwer hilbijêrin û rêveberê girêka Master bimeşînin. Robotên din wekî xulam têne destnîşan kirin û rêveberê girêka masterê ji serwerê dimeşînin.
Biryara li ser kîjan vebijarkê hilbijêrin bi hewcedariyên projeya we ve girêdayî ye. Ger hejmara robotên ku hewce ne bi danûstendinê ne pir zêde be, Vebijarka 1 tê pêşniyar kirin ji ber ku ew lêçûn xilas dike û sazkirina wê hêsan e. Dema ku hejmara robotan pir zêde ye, Vebijêrk 2 tê pêşniyar kirin. Astengiya li ser hêza hesabkirinê ya kontrola masterê ya ROS-ê û pêlava band-a wifi-ya sînorkirî dikare bi hêsanî bibe sedema dereng û qutbûna torê. Routerek dikare van pirsgirêkan bi hêsanî rast bike. Ji kerema xwe not bikin ku dema ku pêwendiya pir-agentê pêk tînin, ger makîneya virtual wekî xulamek ROS were bikar anîn, pêdivî ye ku moda torê ya wê li ser moda pirê were danîn.

Guherbarên jîngeha Master/Slave mîheng bikin

Piştî ku hemî axayên ROS-ê hemî di heman torê de ne, pêdivî ye ku guhêrbarên hawirdorê yên ji bo ragihandina pir-agent bêne danîn. Ev guherbara hawirdorê di pelrêça .bashrc de di pelrêça sereke de tê mîheng kirin. Fermana gedit ~/.bashrc bixebitîne da ku wê bide destpêkirin. Ji kerema xwe bala xwe bidin ku hem pelên .bashrc yên master û xulamê di pêwendiya pir-agent de pêdivî ye ku bêne mîheng kirin. Ya ku divê were guheztin navnîşanên IP-yê yên li dawiya pelê ne. Du rêzikên ROS_MASTER_URI û ROS_HOSTNAME ne, wek ku di jimar 2-1-4 de tê nîşandan. ROS_MASTER_URI û ROS_HOSTNAME ya mêvandarê ROS-ê hem IP-yên herêmî ne. ROS_MASTER_URI di pelê .bashrc xulamê ROS de pêdivî ye ku bi navnîşana IP-ya mêvandar were guheztin dema ku ROS_HOSTNAME wekî navnîşana IP-ya herêmî bimîne.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (2)

Ragihandina pir-makîneya ROS ji hêla guhertoya berdana ROS ve nayê asteng kirin. Di pêvajoya danûstendina pir-makîneyê de, divê meriv ji van jêrîn haydar be:

  1. Xebata bernameya xulamê ROS bi bernameya masterê ROS-ê ya cîhaza masterê ROS ve girêdayî ye. Bernameya sereke ya ROS-ê divê pêşî li ser cîhaza masterê bide destpêkirin berî ku bernameya xulamê li ser cîhaza xulamê bicîh bike.
  2. Navnîşanên IP-ê yên makîneyên master û xulamê di pêwendiya pir-makîneyê de hewce ne ku di heman torê de bin. Ev tê vê wateyê ku navnîşana IP-yê û maskeya subnetê di binê heman torê de ne.
  3. ROS_HOSTNAME di pelê veavakirina jîngehê de .bashrc ji bo bikaranîna localhost nayê pêşniyar kirin. Tê pêşniyar kirin ku navnîşek IP-ya taybetî bikar bînin.
  4. Di rewşê de ku navnîşana IP-ya xulam rast nehatiye danîn, cîhaza xulam hîn jî dikare xwe bigihîne mastera ROS-ê lê nikare agahdariya kontrolê bike.
  5. Ger makîneya virtual beşdarî danûstendina pir-agentê dibe, pêdivî ye ku moda torê ya wê li ser moda pirê were danîn. IP-ya statîk ji bo girêdana torê nayê hilbijartin.
  6. Ragihandina pir-makîne nikare view an jî bibin aboneyê mijarên cureya daneya peyamê ku li herêmê tune ne.
  7. Hûn dikarin demo simulasyona Little Turtle bikar bînin da ku verast bikin ka pêwendiya di navbera robotan de serketî ye:
    • a. Ji axayê bireve
      • karûbarên ROS-ê vegerînin #destpêk bikin
      • rotrum turtles turtlesim_node #destpêkirina turtles interface
    • b. Ji xulam bireve
      • turtles dubare bike turtle_teleop_key #destpêkirina girêka kontrolê ya klavyeyê ji bo turtles

Ger hûn dikarin tevgerên kurikê ji klavyeya li ser xulamê manîpule bikin, ev tê vê wateyê ku pêwendiya master/xulam bi serfirazî hatiye damezrandin.

Têkiliya Wi-Fi ya otomatîkî di ROS de

Pêvajoyên jêrîn rave dikin ka meriv çawa robotê mîheng dike ku bixweber bi tora mêvandar an tora routerê ve were girêdan.

Sazkirina pêwendiya Wifi-ya otomatîkî ji bo Jetson Nano

  1. Jetson Nano bi amûra dûr a VNC an rasterast bi ekrana komputerê ve girêdin. Li ser îkona wifi ya li quncika jorîn a rastê bikirtînin û paşê bikirtînin "Girêdan biguherînin.."ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (3)
  2. Di Têkiliyên Torê de bişkoja + bikirtînin:ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (4)
  3. Di binê pencereya "Cûreyek Têkiliyê Hilbijêre" de, li pêşeka daketî bikirtînin û bişkoja "Create…" bikirtînin:ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (5)
  4. Di Panela Kontrolê de, vebijarka Wifi bikirtînin. Navê Wifi-ê binivîse ku di "Navê Girêdanê" û qadên SSID de girêbide. Di pêşeka daketinê ya "Mode" de "Client" hilbijêrin û di pêşeka dakêşana "Cîhaz" de "wlan0" hilbijêrin.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (6)
  5. Di Panela Kontrolê de, vebijarka "Giştî" bikirtînin û "Bixweber bi vê torê ve girêdin ..." bikirtînin. Di vebijarka "Pêşiya girêdanê ya ji bo aktîvkirina otomatîkî" de pêşîniya girêdanê bi 1-ê bicîh bikin. Vebijarka "Hemû bikarhêner dikarin bi vê torê ve girêdayî bin" kontrol bikin. Dema ku vebijark di "Pêşiya girêdanê ji bo çalakkirina otomatîk" de ji bo wifi-ya din 0 tête danîn, ev tê vê wateyê ku ev tora wifi ya berê ye.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (7)
  6. Vebijarka "Ewlehiya Wi-Fi" di Panela Kontrolê de bikirtînin. Di qada "Ewlekariyê" de "WPA & WPA2 Personal" hilbijêrin. Dûv re şîfreya Wifi li qada "Şîfre" binivîse.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (8)

Not: Ger robot piştî bootkirinê nekare bixweber bi tora wifi ve were girêdan dema ku pêşîniya wifi li 0 were danîn, dibe ku ew ji ber pirsgirêkek îşaretek wifi qels be. Ji bo ku hûn ji vê pirsgirêkê dûr nekevin, hûn dikarin hilbijêrin ku hemî vebijarkên wifi yên ku berê hatine girêdan jêbirin. Tenê tora wifi ya ku ji hêla mêvandar an routerê ve hatî afirandin biparêzin. Di panela kontrolê ya mîhengên torê de vebijarka "Mîhengên IPv4" bikirtînin. Di qada "Rêbaz" de vebijarka "Manual" hilbijêrin. Dûv re "Add" bikirtînin, navnîşana IP-ya makîneya xulamê di qada "Navnîşan" de dagirin. Di qada "Netmask" de "24" dagirin. Di "Gateway" de beşa tora IP-yê dagirin. Sê reqemên paşîn ên beşa tora IP-yê biguherînin "1". Armanca sereke ya vê gavê rastkirina navnîşana IP-ê ye. Piştî ku ev ji bo cara yekem qediya, dema ku paşê bi heman WIFI-ê ve girêdide navnîşana IP-ê nayê guhertin.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (9)

Piştî ku hemî mîheng hatin mîheng kirin, ji bo tomarkirina mîhengan "tomar bike" bikirtînin. Piştî ku hilanînê serketî bû, dema ku robot were çalak kirin dê bixweber bi tora mêvandar an routerê ve were girêdan.

Not:

  1. Pêdivî ye ku navnîşana IP-ya ku li vir hatî destnîşan kirin wekî navnîşana IP-ya ku di pelê .bashrc di beşa 2.1-ê de hatî destnîşan kirin be.
  2. Navnîşana IP ya master û her xulam divê yekta be.
  3. Pêdivî ye ku navnîşanên IP-ya master û xulam di heman beşa torê de bin.
  4. Pêdivî ye ku hûn li bendê bin ku mêvandar an router sînyala WiFi bişîne berî ku robotê xulam were pêve kirin û bixweber bi tora WiFi ve were girêdan.
  5. Piştî ku mîheng hate mîheng kirin, ger robot nekare bixweber bi WiFi-yê ve were girêdan, ji kerema xwe qerta torê vekin û jêkin û dîsa biceribînin.

Sazkirina pêwendiya Wifi-ya otomatîkî ji bo Raspberry Pi

Pêvajoya Raspberry Pi wekî Jetson Nano ye.

Sazkirina pêwendiya Wifi-ya otomatîkî ji bo Jetson TX1

Sazkirina li Jetson TX1 hema hema wekî Jetson Nano ye, bi yek îstîsnayê Jetson TX1 divê di panela kontrolê ya mîhengên torê de cîhaza "wlan1" di "Cîhaz" de hilbijêrin.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (10)

MULTI-AGENT SETUP SYNCHRONIZATION

Di projeya damezrandina pir-agent de, mîhenga hevdengkirina demê ya pir-agent gavek girîng e. Di pêvajoya avakirinê de, ji ber dema pergala asynchronous ya her robotê dê gelek pirsgirêk derkevin holê. Hevdemkirina demê ya pir-agent di du rewşan de tê dabeş kirin, ango, rewşa ku tê de hem robotên master û hem jî xulam bi torê ve girêdayî ne û rewşa ku tê de her du jî ji torê veqetandî ne.

Girêdana torê ya serketî / xulam

Piştî ku pêwendiya pir-agent hate mîheng kirin, ger makîneyên master û xulam bi serfirazî bi torê ve girêdayî bin, ew ê bixweber dema torê hevdeng bikin. Di vê rewşê de, ji bo bidestxistina hevdengkirina demê ti kiryarên din ne hewce ne.

Pirsgirêkên veqetandina torê

Piştî ku danûstendina pir-ajansê hate mîheng kirin, heke cîhazên master û xulam bi serfirazî nekarin bi torê ve girêbidin, pêdivî ye ku dem bi destan hevdeng bikin. Em ê fermana tarîxê bikar bînin da ku mîhengê demê temam bikin.

Pêşîn, amûra termînatorê saz bikin. Ji amûra termînatorê, amûra dabeşkirina pencereyê bikar bînin da ku termînalên kontrolê yên master û xulamê di heman pencereya termînalê de bikirtînin (rast-klîk bikin da ku pencereyek dabeşkirî saz bikin, û bi ssh-ê di pencereyên cûda de têkevin makîneyên master û xulamê) .

  • sudo apt-get terminatorê saz bike # Terminatorê dakêşin da ku pencereya termînalê parçe bikin

Bişkojka li milê çepê yê jorîn bikirtînin, vebijarka [Broadcast to all]/[Broadcast all] hilbijêrin, û emrê jêrîn têkevin. Dûv re amûra termînatorê bikar bînin da ku heman demê ji bo serdest û xulam destnîşan bikin.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (11)

  • tarîxa sudo -s "2022-01-30 15:15:00" # Sazkirina dema destan

MULTI-AGENT ROS PACKAGE

Destpêka pakêta ROS

Navê xulam saz bikin

Di pakêta fonksiyonê ya wheeltec_multi de, pêdivî ye ku ji bo her robotek xulam navek bêhempa were danîn da ku ji xeletiyan dûr nekevin. Ji bo example, ji bo slave1 jimara 1 û ji bo slave2 jimara 2, hwd. Armanca danîna navên cihê ew e ku girêkên xebitandinê kom bikin û wan bi navên cihê cuda cuda bikin. Ji bo example, mijara radarê ya xulam 1/xulam1/scan e, û girêka LiDAR ya xulam 1/xulam1/laser e.

Koordînatên xulamê saz bikin

Pakêta wheeltec_multi dikare formasyonên xwerû bicîh bîne. Dema ku formasyonên cihêreng hewce ne, tenê koordînatên xwestî yên robotên xulamê biguhezînin. Slave_x û slave_y koordînatên x û y yên xulamê bi master wekî xala referansê ya orîjînal in. Pêşiya masterê arasteka erênî ya koordînata x e, û aliyê çepê arasteka erênî ya kordînata y ye. Piştî ku mîheng qediya, dê xulamek koordînasyona TF1 wekî hevrêziya bendewar a xulamê were derxistin. Ger yek serdest û du xulam hebin, damezrandina jêrîn dikare were saz kirin:

  1. Çêkirina asoyî: Hûn dikarin koordînatên xulamê li milê çepê bidin slave_x:0, slave_y: 0.8, û koordînatên xulamê li rastê bikin slave_x:0, slave_y: -0.8.
  2. Çêkirina stûnê: Koordînatên xulamek dikare were danîn: slave_x:-0.8, slave_y:0, û koordînatên xulamê din dikare were danîn: slave_x:-1.8, slave_y:0.
  3. Çêbûna sêgoşeyî: Koordînatên xulamek dikare were danîn: slave_x:-0.8, slave_y: 0.8, û koordînatên xulamê din dikare were danîn: slave_x:-0.8, slave_y: -0.8.

Li gorî hewcedariyên formasyonên din dikarin bêne xweş kirin.

Not:

  • Dûrahiya pêşniyarkirî ya di navbera her du robotan de 0.8 tête danîn, û tê pêşniyar kirin ku ji 0.6 kêmtir nebe. Dûrahiya di navbera xulam û axayê de tê pêşniyar kirin ku li jêr 2.0 were danîn. Çiqas ji axayê dûrtir be, dema ku axa dizivire leza xêzikê ya xulam ewqas mezintir e. Ji ber sînorkirina leza herî zêde, ger ku ew hewcedariyên xwe pêk neyne, leza xulamê dê ji hev derkeve. Çêbûna robotan dê kaotîk bibe.

Destpêkkirina pozîsyona xulamê

  1. Helwesta destpêkê ya xulamê ji hêla xwerû ve li koordînatên çaverêkirî ye. Berî ku bernameyê bimeşînin, tenê robotê xulamê li nêzikî hevrêzên wê yên bendewar bicîh bikin da ku destpêkirinê temam bikin. Ev fonksiyon ji hêla girêka pose_setter ve di pela bi navê turn_on_wheeltec_robot.launch ve di pakêta wheeltec_multi de, wekî ku di Figure 4-1-3 de tê xuyang kirin, tête bicîh kirin.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (12)

Ger bikarhêner bixwaze pozîsyona destpêkê ya xulamê xweş bike, ew tenê hewce dike ku nirxên slave_x û slave_y wekî ku di Figure 4-1-4 de di wheeltec_slave.launch de tê xuyang kirin destnîşan bike. Nirxên slave_x û slave_y dê ji turn_on_wheeltec_robot.launch re werin derbas kirin û ji girêka pose_setter re were veqetandin. Berî ku bernameyê bimeşînin, tenê robotê li cîhek xwerû bixin.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (13)

Veavakirina Position

Di avabûnek pir-agent de, pirsgirêka yekem a ku were çareser kirin pozîsyona axa û kole ye. Mamoste dê pêşî nexşeyek 2D ava bike. Piştî çêkirin û tomarkirina nexşeyê, pakêta navîgasyon 2D bimeşînin û di pakêta navîgasyonê ya 2D de algorîtmaya pozîsyona Monte Carlo ya adaptîf (pozîsyona amcl) bikar bînin da ku pozîsyona masterê mîheng bikin. Ji ber ku axa û xulam di heman torê de ne û heman gerînendeyê girêkê parve dikin, axayê nexşeyê ji pakêta navîgasyonê ya 2D vekiriye, hemî xulam dikarin heman nexşeyê di binê heman rêveberê girêkê de bikar bînin. Ji ber vê yekê, xulam ne hewce ye ku nexşeyek çêbikin. Di wheeltec_slave.launch de, pozîsyona Monte Carlo (pozîsyona amcl) bimeşînin, xulam dikarin bi karanîna nexşeya ku ji hêla master ve hatî çêkirin ve pozîsyonên xwe mîheng bikin.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (14)

Meriv çawa avabûnê diafirîne û avabûnê diparêze

Di pêvajoya tevgera damezrandinê de, tevgera master dikare bi Rviz, klavyeyê, kontrola dûr, û rêbazên din ve were kontrol kirin. Xulam leza xwe bi girêka slave_tf_listener hesab dike da ku tevgera xwe kontrol bike û bigihîje armanca damezrandinê. Hêza slave_tf_listener leza xulamê sînordar dike da ku ji hêla hesabkirina girêk ve ji leza zêde dûr bisekine, ku dê bibe sedema rêzek bandoran. Nirxa taybetî dikare di wheeltec_slave.launch de were guheztin.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (15)

Parametreyên têkildar ên algorîtmaya damezrandinê wiha ne: ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (16)

Agahdariya rêgirtina astengiyan

Di avabûnek pir-agent de, master dikare girêka move_base bikar bîne da ku dûrketina astengan temam bike. Lêbelê, destpêkirina xulamê girêka move_base bikar nayîne. Di vê nuqteyê de, pêdivî ye ku girêka pir_dûrketinê di bernameya xulamê de were gazî kirin. Di pakêtê de girêka rêgirtina astengiyê ji hêla xwerû ve tê çalak kirin. Ger hewce be, dûrketin dikare wekî "derew" were danîn da ku girêka rêgirtina astengiyê neçalak bike. ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (17)

Hin parametreyên têkildar ên girêka dûrketina astengan di jimareya jêrîn de têne xuyang kirin, ku ewle_distance sînorê dûrbûna ewle ya astengiyê ye, û xeter_dûr sînorê dûrbûna xeternak a astengan e. Gava ku astengî di nav dûrahiya ewle û xeternak de be, xulam pozîsyona xwe sererast dike da ku ji astengiyê dûr bixe. Dema ku astengî di nav xetereyê de be, xulam dê ji astengiyê dûr bike.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (18)

Pêvajoya Operasyonê

Fermana darvekirinê binivîse

Amadekariyên beriya destpêkirina avakirina pir-agent:

  • Mamoste û xulam bi heman torê ve girêdidin û pêwendiya pir-agent rast saz dikin
  • Mamoste di pêş de nexşeyek 2D ava dike û wê xilas dike
  • Serwer li xala destpêkê ya nexşeyê tê danîn, û xulam li nêzê pozîsyona destpêkêkirinê tê danîn (pozîsyona damezrandina xulamê xwerû)
  • Piştî ku ji dûr ve têketin Jetson Nano / Raspberry Pi, hevdemkirina demê pêk bînin.

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

  • Asta 1ê: Ji masterê nexşeyek 2D vekin.

roslaunch turn_on_wheeltec_robot navîgasyon.launch

  • Asta 2ê: Bernameya damezrandinê ji hemî koleyan bimeşînin.

roslaunch wheeltec_multi wheeltec_slave.launch

  • Asta 3ê: Girêka kontrolê ya klavyeyê ji masterê vekin an joystickê bikar bînin da ku tevgera sereke ji dûr ve kontrol bikin.

ji nû ve destpêkirin wheeltec_robot_rc keyboard_teleop.launch

  • Gav 4: (Bijarte) Tevgerên robotan ji Rviz bişopînin.

rviz

Not: 

  1. Berî ku hûn bernameyê bicîh bikin, pê ewle bin ku operasyona hevdengkirina demê temam bikin.
  2. Dema ku masterê damezrandina pir-agentê kontrol dikin, divê leza goşeyê pir zû nebe. Leza xêzikî ya pêşniyarkirî 0.2 m / s e, pileya leza goşeyî li jêr 0.3 rad / s e. Dema ku serwer zivirînek çêdike, xulam çiqas ji axayê dûrtir be, leza xêzikî jî ew qas mezintir hewce dike. Ji ber sînorê leza xêz û leza goşeyî ya di pakêtê de, dema ku gerîdeya xulam nikaribe bigihîje leza hewce, çêbûn dê kaotîk be. Bi tevayî, leza xêzikî ya zêde dikare bi hêsanî zirarê bide robot.
  3. Gava ku jimara xulaman ji yekê zêdetir be, ji ber berbelaviya pêlavê ya serhêl a mêvandarê ROS-ê, hêsan e ku meriv bibe sedema derengiyên girîng û qutkirina pêwendiya pir-agent. Bikaranîna router dikare vê pirsgirêkê baş çareser bike.
  4. Dara TF ya damezrandina pir-robot (2 xulam) ev e: rqt_tf_tree
  5. Diyagrama pêwendiya nodê ya damezrandina pir-robot (2 xulam) ev e: rqt_graph

Belge / Çavkanî

ALGORÎTMÊN ROBOWORKS Robofleet MULTI-AGENT [pdf] Rêbernameya Bikarhêner
Robofleet Algorîtmayên Pir Agent, Robofleet, Algorîtmayên Pir Agent, Algorîtmayên Agent, Algorîtmayên

Çavkanî

Bihêle şîroveyek

Navnîşana e-nameya we nayê weşandin. Zeviyên pêwîst têne nîşankirin *