ROBOWORKS-LOGO

ROBOWORKS Robofleet MULTI-AGENT ALQORITMLARI

ROBOWORKS-Robofleet-MULTI-AGENT-ALQORİTMM-MƏHSUL

Spesifikasiyalar

  • Məhsulun adı: ROBOWORKS
  • Versiya: 20240501
  • Hazırlayan: Wayne Liu & Janette Lin
  • Tarix: 1 May 2024

Məhsul haqqında məlumat

ROBOWORKS robotun koordinasiyası və ünsiyyəti üçün müxtəlif alqoritmlərin həyata keçirilməsinə imkan verən çox agentli sistemdir.

Tez-tez verilən suallar

S: Robot avtomatik olaraq Wi-Fi şəbəkəsinə qoşula bilmirsə, mən nə etməliyəm?

Cavab: Robot avtomatik qoşula bilmirsə, şəbəkə kartını ayırıb yenidən çıxarmağa və yenidən qoşulmağa cəhd edin.

XÜLASƏ

Bu sənəd əsasən wheeltec_multi adlı multi-robot formalaşması funksiyası paketinin istifadəsini izah edir.

Bu sənəd dörd hissəyə bölünür:

  • Birinci hissə, əsasən, çox robotlu formalaşdırma metodunun tətbiqi ilə bağlıdır;
  • ikinci hissə əsasən ROS çox maşınlı rabitə parametrlərini, o cümlədən ROS tikinti çox maşınlı rabitəni və ROS rabitəsi prosesində qarşılaşa biləcək problemləri təsvir edir;
  • üçüncü hissə əsasən çox maşınlı vaxt sinxronizasiyasının əməliyyat addımlarını təsvir edir;
  • Dördüncü hissə çox maşın formalaşdırma funksiyası paketinin xüsusi istifadəsini izah edir.

Bu sənədin məqsədi multi-agent robot sistemlərinə girişdir və istifadəçilərə multi-robotların formalaşması layihəsinə tez başlamağa imkan verir.

ÇOX AGENTLİ ALQORİTMLƏRƏ GİRİŞ

Çox agentli formalaşdırma alqoritmləri

Bu ROS paketi formalaşma sürücüsü zamanı birgə idarəetmədə çox agentlərin tipik problemini təqdim edir. Bu dərslik bu mövzuda gələcək inkişafın əsasını qoyur. Formaya nəzarət alqoritmi bir tapşırığı yerinə yetirmək üçün xüsusi bir formalaşma yaratmaq üçün çoxlu agentləri idarə edən alqoritmə aiddir. Əməkdaşlıq bir tapşırığı yerinə yetirmək üçün müəyyən məhdudiyyət əlaqəsindən istifadə edərək bir neçə agent arasında əməkdaşlığa aiddir. Çox robotlu formalaşma sürücüsünü keçmiş kimi götürünample, əməkdaşlıq birdən çox robotun birlikdə arzu olunan formalaşdırmanı təşkil etməsi deməkdir. Onun mahiyyəti hər bir robotun mövqeləri arasında razılaşdırılan müəyyən riyazi əlaqədir. Lay üsulları əsasən mərkəzləşdirilmiş lay nəzarəti və paylanmış lay nəzarətinə bölünür. Mərkəzləşdirilmiş formasiyaya nəzarət üsullarına əsasən virtual struktur metodu, qrafik nəzəriyyə metodu və model proqnozlaşdırma metodu daxildir. Paylanmış formalaşmaya nəzarət üsullarına əsasən lider-izləyici metodu, davranışa əsaslanan metod və virtual struktur metodu daxildir.
Bu ROS paketi multi-robot formalaşması sürücüsünü yerinə yetirmək üçün paylanmış formalaşmaya nəzarət metodunda lider-izləyici metodunu tətbiq edir. Formasiyadakı bir robot lider, digər robotlar isə lideri izləmək üçün qul kimi təyin edilir. Alqoritm müəyyən istiqamət və sürətlə aşağıdakı robotlar tərəfindən izləniləcək koordinatları təyin etmək üçün aparıcı robotun hərəkət trayektoriyasından istifadə edir. İzləmə koordinatlarından mövqe sapmalarını düzəldərək, ardıcıllar nəticədə formalaşma sürücüsünün məqsədlərinə nail olmaq üçün izləyici ilə gözlənilən izləmə koordinatları arasındakı sapmanı sıfıra endirəcəklər. Bu şəkildə, alqoritm nisbətən daha az mürəkkəbdir.

Maneələrdən qaçma alqoritmləri

Ümumi maneələrdən yayınma alqoritmi süni potensial sahə üsuludur. Robotun fiziki mühitdə hərəkəti virtual süni güc sahəsindəki hərəkət kimi qəbul edilir. Ən yaxın maneə LiDAR tərəfindən müəyyən edilir. Maneə robota itələmə yaratmaq üçün itələyici qüvvə sahəsi, hədəf nöqtəsi isə robota cazibə qüvvəsi yaratmaq üçün qravitasiya sahəsi təmin edir. Bu şəkildə, itələmə və cazibənin birləşmiş hərəkəti altında robotun hərəkətini idarə edir.
Bu ROS paketi süni potensial sahə metoduna əsaslanan təkmilləşdirmədir. Birincisi, formalaşma alqoritmi Slave izləyicisinin xətti və bucaq sürətini hesablayır. Sonra maneələrdən qaçma tələblərinə uyğun olaraq xətti və bucaq sürətini artırır və ya azaldır. Qul ardıcılı ilə maneə arasındakı məsafə yaxın olduqda, Qul ardıcılına maneənin itələmə qüvvəsi daha çox olur. Eyni zamanda, xətti sürətin dəyişməsi və bucaq sürətinin dəyişməsi daha böyükdür. Maneə Qul ardıcılının qabağına yaxınlaşdıqda, Qul ardıcılına maneənin dəf edilməsi daha çox olur (ön itələmə ən böyük, yan itələmə isə ən kiçikdir). Nəticədə xətti sürət və bucaq sürətinin dəyişmələri daha böyükdür. Süni potensial sahə metodu vasitəsilə robot maneə qarşısında cavab verməyi dayandıra bildiyi zaman həlli təkmilləşdirir. Bu, maneələrdən daha yaxşı qaçmaq məqsədinə xidmət edir.

MULTI-AGENTLİ KOMUNİKASYON QURULMASI

Multi-agent rabitəsi, çox robot formalaşmasını tamamlamaq üçün əsas addımlardan biridir. Çoxlu robotların nisbi mövqeləri naməlum olduqda, əlaqələrin qurulmasını asanlaşdırmaq üçün robotlar ünsiyyət vasitəsilə bir-birlərinin məlumatlarını paylaşmalıdırlar. ROS-da paylanmış memarlıq və şəbəkə kommunikasiyaları çox güclüdür. Bu, təkcə proseslərlərarası əlaqə üçün deyil, həm də müxtəlif cihazlar arasında əlaqə üçün əlverişlidir. Şəbəkə rabitəsi vasitəsilə bütün qovşaqlar istənilən kompüterdə işləyə bilər. Məlumatların emalı kimi əsas vəzifələr host tərəfində tamamlanır. Qul maşınlar müxtəlif sensorlar tərəfindən toplanan ətraf mühit məlumatlarının qəbuluna cavabdehdir. Buradakı ev sahibi ROS-da Master node-u idarə edən menecerdir. Cari multi-agent kommunikasiya çərçivəsi çoxlu robotlar arasında əlaqəni idarə etmək üçün qovşaq meneceri və parametr meneceri vasitəsilədir.ROBOWORKS-Robofleet-MULTI-AGENT-ALQORİTMLER-ŞƏK- (1)

Çox agentli kommunikasiyaların qurulması addımları

  • Eyni şəbəkədə ROS İdarəetmələrini qurun
    • Eyni şəbəkə altında Master/Slave ROS İdarəetmələrini qurmağın 2 yolu var.

Seçim 1:

Master Host Master node menecerini işə salmaqla yerli wifi yaradır. Ümumiyyətlə, bu wi-fi şəbəkəsini usta kimi təyin edilmiş robotlardan biri yaradır. Digər robotlar və ya virtual maşınlar bu wifi şəbəkəsinə qul kimi qoşulur.

Seçimlər 2:

Yerli Wi-Fi şəbəkəsi üçüncü tərəf yönləndiricisi tərəfindən məlumat ötürülməsi mərkəzi kimi təmin edilir. Bütün robotlar eyni marşrutlaşdırıcıya qoşulub. Router internet bağlantısı olmadan da istifadə edilə bilər. Robotlardan birini master olaraq seçin və Master node menecerini işə salın. Digər robotlar qul kimi təyin edilir və master node menecerini masterdən idarə edir.
Hansı variantı seçmək barədə qərar layihə tələblərinizdən asılıdır. Ünsiyyət qurmalı olan robotların sayı çox deyilsə, 1-ci Seçim tövsiyə olunur, çünki o, xərclərə qənaət edir və quraşdırmaq asandır. Robotların sayı çox olduqda, Variant 2 tövsiyə olunur. ROS master-nəzarətinin hesablama gücünə məhdudiyyət və məhdud bortda Wi-Fi bant genişliyi asanlıqla gecikmələrə və şəbəkənin pozulmasına səbəb ola bilər. Router bu problemləri asanlıqla həll edə bilər. Nəzərə alın ki, multi-agent rabitəsini həyata keçirərkən, virtual maşın ROS köləsi kimi istifadə olunursa, onun şəbəkə rejimi körpü rejiminə qoyulmalıdır.

Master/Slave mühit dəyişənlərini konfiqurasiya edin

Bütün ROS ustalarının hamısı eyni şəbəkədə olduqdan sonra çox agentli rabitə üçün mühit dəyişənləri təyin edilməlidir. Bu mühit dəyişəni əsas kataloqdakı .bashrc faylında konfiqurasiya edilmişdir. Onu işə salmaq üçün gedit ~/.bashrc əmrini işə salın. Nəzərə alın ki, həm masterun .bashrc faylları, həm də multi-agent rabitəsində slave konfiqurasiya edilməlidir. Dəyişdirilməli olan şey faylın sonundakı IP ünvanlarıdır. Şəkil 2-1-4-də göstərildiyi kimi iki sətir ROS_MASTER_URI və ROS_HOSTNAME-dir. ROS hostunun ROS_MASTER_URI və ROS_HOSTNAME hər ikisi yerli IP-lərdir. ROS qul .bashrc faylındakı ROS_MASTER_URI hostun IP ünvanına dəyişdirilməlidir, ROS_HOSTNAME isə yerli IP ünvanı olaraq qalır.ROBOWORKS-Robofleet-MULTI-AGENT-ALQORİTMLER-ŞƏK- (2)

ROS çox maşın rabitəsi ROS buraxılış versiyası ilə məhdudlaşdırılmır. Çox maşınlı rabitə prosesində aşağıdakılardan xəbərdar olmaq lazımdır:

  1. ROS qul proqramının işləməsi ROS master cihazının ROS master proqramından asılıdır. ROS master proqramı qul cihazda qul proqramı icra etməzdən əvvəl ilk olaraq master cihazda işə salınmalıdır.
  2. Çox maşınlı rabitədə master və slave maşınların IP ünvanları eyni şəbəkədə olmalıdır. Bu o deməkdir ki, IP ünvanı və alt şəbəkə maskası eyni şəbəkə altındadır.
  3. .bashrc mühit konfiqurasiya faylında ROS_HOSTNAME localhost-dan istifadə etmək tövsiyə edilmir. Xüsusi bir IP ünvanından istifadə etmək tövsiyə olunur.
  4. Qul IP ünvanı düzgün təyin edilmədiyi halda, kölə cihaz hələ də ROS master-a daxil ola bilər, lakin nəzarət məlumatını daxil edə bilmir.
  5. Əgər virtual maşın multi-agent rabitəsində iştirak edirsə, onun şəbəkə rejimi körpü rejiminə qoyulmalıdır. Statik IP şəbəkə bağlantısı üçün seçilə bilməz.
  6. Çox maşın rabitəsi mümkün deyil view və ya yerli olaraq mövcud olmayan mesaj tipli mövzulara abunə olun.
  7. Robotlar arasında əlaqənin uğurlu olub olmadığını yoxlamaq üçün Little Turtle simulyasiya demosundan istifadə edə bilərsiniz:
    • a. Ustadan qaç
      • ROS xidmətlərini bərpa edin
      • rostrum turtles turtlesim_node #launch tısbağalar interfeysi
    • b. Quldan qaç
      • tısbağaları təkrar işə salın turtle_teleop_key #tısbağalar üçün klaviatura idarəetmə qovşağını işə salın

Əgər tısbağanın hərəkətlərini qulda klaviaturadan idarə edə bilsəniz, bu, master/slave əlaqəsinin uğurla qurulduğunu bildirir.

ROS-da avtomatik Wi-Fi bağlantısı

Aşağıdakı prosedurlar robotun host şəbəkəsinə və ya marşrutlaşdırıcı şəbəkəsinə avtomatik qoşulması üçün necə konfiqurasiya olunacağını izah edir.

Jetson Nano üçün avtomatik Wi-Fi bağlantısı qurulması

  1. Jetson Nano-nu VNC uzaq aləti vasitəsilə və ya birbaşa kompüter ekranına qoşun. Yuxarı sağ küncdəki Wi-Fi işarəsinə klikləyin və sonra "Əlaqələri redaktə et.." düyməsini basın.ROBOWORKS-Robofleet-MULTI-AGENT-ALQORİTMLER-ŞƏK- (3)
  2. Şəbəkə Bağlantılarında + düyməsini basın:ROBOWORKS-Robofleet-MULTI-AGENT-ALQORİTMLER-ŞƏK- (4)
  3. "Bağlantı tipini seçin" pəncərəsində, açılan menyunu vurun və "Yarat..." düyməsini basın:ROBOWORKS-Robofleet-MULTI-AGENT-ALQORİTMLER-ŞƏK- (5)
  4. İdarəetmə Panelində Wi-Fi seçiminə klikləyin. "Bağlantı Adı" və SSID sahələrinə qoşulmaq üçün Wi-Fi adını daxil edin. "Rejim" açılır menyusunda "Müştəri" seçin və "Cihaz" açılan menyusunda "wlan0" seçin.ROBOWORKS-Robofleet-MULTI-AGENT-ALQORİTMLER-ŞƏK- (6)
  5. İdarəetmə panelində "Ümumi" seçiminə klikləyin və "Bu şəbəkəyə avtomatik qoşulun..." seçin. “Avtomatik aktivləşdirmə üçün əlaqə prioriteti” seçimində əlaqə prioritetini 1-ə təyin edin. "Bütün istifadəçilər bu şəbəkəyə qoşula bilər" seçimini yoxlayın. Digər Wi-Fi üçün “Avtomatik aktivləşdirmə üçün əlaqə prioriteti”ndə seçim 0-a təyin edildikdə, bu, keçmişdə üstünlük verilən wi-fi şəbəkəsi deməkdir.ROBOWORKS-Robofleet-MULTI-AGENT-ALQORİTMLER-ŞƏK- (7)
  6. İdarəetmə Panelində "Wi-Fi Təhlükəsizliyi" seçiminə klikləyin. "Təhlükəsizlik" sahəsində "WPA & WPA2 Personal" seçin. Sonra "Parol" sahəsinə Wi-Fi parolunu daxil edin.ROBOWORKS-Robofleet-MULTI-AGENT-ALQORİTMLER-ŞƏK- (8)

Qeyd: Wi-Fi prioriteti 0-a təyin edildikdə robot yükləndikdən sonra avtomatik olaraq wi-fi şəbəkəsinə qoşula bilmirsə, bu, zəif wi-fi siqnalı problemi ilə bağlı ola bilər. Bu problemin qarşısını almaq üçün siz keçmişdə qoşulmuş bütün wi-fi seçimlərini silməyi seçə bilərsiniz. Yalnız host və ya marşrutlaşdırıcı tərəfindən yaradılmış Wi-Fi şəbəkəsini saxlayın. Şəbəkə parametrləri idarəetmə panelində "IPv4 Parametrləri" seçiminə klikləyin. "Metod" sahəsində "Manual" seçimini seçin. Sonra "Əlavə et" düyməsini klikləyin, "Ünvan" sahəsində kölə maşının IP ünvanını daxil edin. “Şəbəkə maskası” sahəsində “24” yazın. “Gateway”də IP şəbəkə seqmentini doldurun. IP şəbəkə seqmentinin son üç rəqəmini “1”-ə dəyişin. Bu addımın əsas məqsədi IP ünvanını düzəltməkdir. Bu, ilk dəfə tamamlandıqdan sonra, eyni WIFI-yə sonradan qoşulduqda IP ünvanı dəyişməz qalacaq.ROBOWORKS-Robofleet-MULTI-AGENT-ALQORİTMLER-ŞƏK- (9)

Bütün parametrlər konfiqurasiya edildikdən sonra parametrləri saxlamaq üçün "saxla" düyməsini basın. Saxlama uğurlu olduqdan sonra robot işə salındıqda avtomatik olaraq host və ya marşrutlaşdırıcının şəbəkəsinə qoşulacaq.

Qeyd:

  1. Burada təyin edilmiş IP ünvanı Bölmə 2.1-dəki .bashrc faylında təyin edilmiş IP ünvanı ilə eyni olmalıdır.
  2. Master və hər bir qulun IP ünvanı unikal olmalıdır.
  3. Master və slave IP ünvanları eyni şəbəkə seqmentində olmalıdır.
  4. Qul robotun işə salınması və avtomatik olaraq WiFi şəbəkəsinə qoşulması üçün host və ya marşrutlaşdırıcının WiFi siqnalı göndərməsini gözləməlisiniz.
  5. Parametrlər konfiqurasiya edildikdən sonra, robot işə salındıqda avtomatik olaraq WiFi-yə qoşula bilmirsə, lütfən, şəbəkə kartını qoşun və ayırın və yenidən qoşulmağa cəhd edin.

Raspberry Pi üçün avtomatik Wi-Fi bağlantısı qurulması

Raspberry Pi üçün prosedur Jetson Nano ilə eynidir.

Jetson TX1 üçün avtomatik Wi-Fi bağlantısı qurulması

Jetson TX1-də quraşdırma Jetson Nano-da olduğu kimi demək olar ki, eynidir, bir istisna olmaqla, Jetson TX1 şəbəkə parametrlərinin idarəetmə panelində “Cihaz”da “wlan1” cihazını seçməlidir.ROBOWORKS-Robofleet-MULTI-AGENT-ALQORİTMLER-ŞƏK- (10)

ÇOX AGENTLİ SİNXRONİZASYON QURULMASI

Multi-agent formalaşması layihəsində, multi-agent vaxt sinxronizasiya ayarı həlledici addımdır. Formalaşma prosesində hər bir robotun asinxron sistem vaxtı səbəbindən bir çox problemlər yaranacaq. Çox agentli vaxt sinxronizasiyası iki vəziyyətə bölünür, yəni həm master, həm də qul robotlarının şəbəkəyə qoşulduğu vəziyyət və hər ikisinin şəbəkədən ayrıldığı vəziyyət.

Uğurlu master/slave şəbəkə bağlantısı

Multi-agent rabitəsi konfiqurasiya edildikdən sonra master və slave maşınlar şəbəkəyə uğurla qoşula bilsələr, onlar avtomatik olaraq şəbəkə vaxtını sinxronlaşdıracaqlar. Bu halda, vaxt sinxronizasiyasına nail olmaq üçün əlavə tədbirlər tələb olunmur.

Şəbəkə bağlantılarının kəsilməsi ilə bağlı problemlərin aradan qaldırılması

Multi-agent rabitəsi konfiqurasiya edildikdən sonra master və slave qurğular şəbəkəyə uğurla qoşula bilmirsə, vaxtı əl ilə sinxronlaşdırmaq lazımdır. Vaxt təyinini tamamlamaq üçün tarix əmrindən istifadə edəcəyik.

Əvvəlcə terminator alətini quraşdırın. Terminator alətindən, master və slave-in idarəetmə terminallarını eyni terminal pəncərəsinə yerləşdirmək üçün pəncərə bölmə alətindən istifadə edin (parçalanmış pəncərə qurmaq üçün sağ klikləyin və müxtəlif pəncərələrdə ssh vasitəsilə master və slave maşınlarına daxil olun) .

  • sudo apt-get install terminator # Terminator pəncərəsini bölmək üçün terminatoru yükləyin

Sol yuxarıdakı düyməni klikləyin, [Hamısına yayım]/[Hamısını yayımla] seçimini seçin və aşağıdakı əmri daxil edin. Sonra master və slave üçün eyni vaxt təyin etmək üçün terminator alətindən istifadə edin.ROBOWORKS-Robofleet-MULTI-AGENT-ALQORİTMLER-ŞƏK- (11)

  • sudo date -s “2022-01-30 15:15:00” # Vaxtın əl ilə qurulması

MULTI-AGENT ROS PAKET

ROS paketinin təqdimatı

Qul adını təyin edin

wheeltec_multi funksiya paketində səhvlərin qarşısını almaq üçün hər bir kölə robot üçün unikal ad təyin etmək lazımdır. məsələnample, slave1 üçün №1 və slave2 üçün No. məsələnample, slave 1-in radar mövzusu/slave1/scan, slave 1-in LiDAR node isə/slave1/laser-dir.

Qul koordinatlarını qurun

wheeltec_multi paketi xüsusi formasiyalar həyata keçirə bilər. Fərqli birləşmələr tələb olunduqda, sadəcə qul robotlarının istədiyiniz koordinatlarını dəyişdirin. Slave_x və slave_y orijinal istinad nöqtəsi kimi master ilə qulun x və y koordinatlarıdır. Ustanın ön tərəfi x koordinatının müsbət istiqaməti, sol tərəfi isə y koordinatının müsbət istiqamətidir. Tənzimləmə tamamlandıqdan sonra TF koordinat köləsi qulun gözlənilən koordinatı kimi veriləcək. Bir master və iki qul varsa, aşağıdakı formalaşma təyin edilə bilər:

  1. Üfüqi formalaşma: Siz soldakı qulun koordinatlarını slave_x:0, slave_y: 0.8, sağdakı qulin koordinatlarını isə slave_x:0, slave_y:-0.8 olaraq təyin edə bilərsiniz.
  2. Sütun formalaşması: Bir qulun koordinatları aşağıdakı kimi təyin edilə bilər: slave_x:-0.8, slave_y:0, digər qulun koordinatları isə təyin edilə bilər: slave_x:-1.8, slave_y:0.
  3. Üçbucaqlı formalaşma: Bir qulun koordinatları aşağıdakı kimi təyin edilə bilər: slave_x:-0.8, slave_y: 0.8, digər qulun koordinatları isə təyin edilə bilər: slave_x:-0.8, slave_y:-0.8.

Digər formasiyalar lazım olduqda fərdiləşdirilə bilər.

Qeyd:

  • İki robot arasında tövsiyə olunan məsafə 0.8 olaraq təyin edilib və 0.6-dan aşağı olmamaq tövsiyə olunur. Qullarla master arasındakı məsafənin 2.0-dən aşağı təyin edilməsi tövsiyə olunur. Ustadan nə qədər uzaq olarsa, usta dönərkən qulun xətti sürəti bir o qədər çox olar. Maksimum sürətin məhdudlaşdırılması səbəbindən qulun sürəti tələblərə cavab vermədikdə kənara çıxacaq. Robot formalaşması xaotik olacaq.

Qul mövqeyinin başlanğıcı

  1. Qulun ilkin mövqeyi standart olaraq gözlənilən koordinatlardadır. Proqramı işə salmazdan əvvəl, işə salmağı başa çatdırmaq üçün kölə robotu gözlənilən koordinatlarına yaxın yerləşdirin. Bu funksiya Şəkil 4-1-3-də göstərildiyi kimi, wheeltec_multi paketində turn_on_wheeltec_robot.launch adlı fayldakı pose_setter node tərəfindən həyata keçirilir.ROBOWORKS-Robofleet-MULTI-AGENT-ALQORİTMLER-ŞƏK- (12)

Əgər istifadəçi qulun ilkin mövqeyini fərdiləşdirmək istəyirsə, o, yalnız wheeltec_slave.launch-da Şəkil 4-1-4-də göstərildiyi kimi slave_x və slave_y dəyərlərini təyin etməlidir. slave_x və slave_y dəyərləri turn_on_wheeltec_robot.launch-a ötürüləcək və poza_ayarlayıcı qovşağına təyin ediləcək. Proqramı işə salmazdan əvvəl robotu xüsusi bir mövqeyə qoyun.ROBOWORKS-Robofleet-MULTI-AGENT-ALQORİTMLER-ŞƏK- (13)

Mövqe Konfiqurasiyası

Çox agentli formalaşmada həll edilməli olan ilk problem ağa və qulun yerləşməsidir. Usta əvvəlcə 2D xəritə quracaq. Xəritəni yaradıb saxladıqdan sonra 2D naviqasiya paketini işə salın və masterin yerləşdirilməsini konfiqurasiya etmək üçün 2D naviqasiya paketində adaptiv Monte Karlo yerləşdirmə alqoritmindən (amcl yerləşdirmə) istifadə edin. Master və qullar eyni şəbəkədə olduqları və eyni qovşaq menecerini paylaşdıqları üçün master xəritəni 2D naviqasiya paketindən işə salıb, bütün kölələr eyni qovşaq meneceri altında eyni xəritədən istifadə edə bilər. Buna görə də qulun xəritə yaratmasına ehtiyac yoxdur. wheeltec_slave.launch-da Monte Carlo yerləşdirməni (amcl yerləşdirmə) işlədin, qullar master tərəfindən yaradılmış xəritədən istifadə edərək öz mövqelərini konfiqurasiya edə bilərlər.ROBOWORKS-Robofleet-MULTI-AGENT-ALQORİTMLER-ŞƏK- (14)

Formasiyanı necə yaratmaq və formalaşmanı saxlamaq olar

Forma hərəkəti prosesində usta hərəkəti Rviz, klaviatura, pult və digər üsullarla idarə etmək olar. Slave, hərəkətinə nəzarət etmək və formalaşma məqsədinə çatmaq üçün slave_tf_listener qovşağı vasitəsilə sürətini hesablayır. Slave_tf_listener qovşağı, bir sıra təsirlərə səbəb olacaq node hesablanması ilə həddindən artıq sürətdən qaçmaq üçün qul sürətini məhdudlaşdırır. Xüsusi dəyər wheeltec_slave.launch saytında dəyişdirilə bilər.ROBOWORKS-Robofleet-MULTI-AGENT-ALQORİTMLER-ŞƏK- (15)

Yaratma alqoritminin müvafiq parametrləri aşağıdakılardır: ROBOWORKS-Robofleet-MULTI-AGENT-ALQORİTMLER-ŞƏK- (16)

Maneələrdən yayınma məlumatı

Çox agentli formalaşmada master maneələrdən qaçmağı başa çatdırmaq üçün move_base qovşağından istifadə edə bilər. Bununla belə, kölənin işə salınması move_base qovşağından istifadə etmir. Bu nöqtədə, multi_avoidance node qul proqramında çağırılmalıdır. Maneələrdən yayınma qovşağı paketdə defolt olaraq aktivdir. Lazım gələrsə, maneədən yayınma qovşağını söndürmək üçün qaçınma “yanlış” olaraq təyin edilə bilər. ROBOWORKS-Robofleet-MULTI-AGENT-ALQORİTMLER-ŞƏK- (17)

Maneədən yayınma qovşağının bəzi müvafiq parametrləri aşağıdakı şəkildə göstərilmişdir, burada təhlükəsiz_məsafə maneənin təhlükəsiz məsafə həddi, təhlükə_məsafəsi isə maneənin təhlükəli məsafə həddidir. Maneə təhlükəsiz məsafədə və təhlükə məsafəsində olduqda, qul maneədən qaçmaq üçün mövqeyini tənzimləyir. Maneə təhlükə daxilində olduqda, qul maneədən uzaqlaşacaq.ROBOWORKS-Robofleet-MULTI-AGENT-ALQORİTMLER-ŞƏK- (18)

Əməliyyat Proseduru

İcra əmrini daxil edin

Multi-agent formalaşmasına başlamazdan əvvəl hazırlıqlar:

  • Master və slave eyni şəbəkəyə qoşulur və multi-agent rabitəsini düzgün qurur
  • Usta əvvəlcədən 2D xəritə qurur və onu saxlayır
  • Usta xəritənin başlanğıc nöqtəsində, qul isə başlanğıc vəziyyətinə yaxın yerləşdirilir (standart qul formalaşması mövqeyi)
  • Uzaqdan Jetson Nano/Raspberry Pi-yə daxil olduqdan sonra vaxt sinxronizasiyasını həyata keçirin.

sudo tarixi -s “2022-04-01 15:15:00”

  • Addım 1: Masterdən 2D xəritəsi açın.

roslaunch turn_on_wheeltec_robot navigation.launch

  • Addım 2: Bütün qullardan formalaşma proqramını işə salın.

roslaunch wheeltec_multi wheeltec_slave.launch

  • Addım 3: Ustadan klaviatura idarəetmə qovşağını açın və ya master hərəkətini uzaqdan idarə etmək üçün joystikdən istifadə edin.

wheeltec_robot_rc keyboard_teleop.launch-u yenidən işə salın

  • Addım 4: (İstəyə görə) Rviz-dən robot hərəkətlərini müşahidə edin.

rviz

Qeyd: 

  1. Proqramı icra etməzdən əvvəl vaxt sinxronizasiya əməliyyatını tamamladığınızdan əmin olun.
  2. Çox agentli formalaşmanın ustasına nəzarət edərkən, açısal sürət çox sürətli olmamalıdır. Tövsiyə olunan xətti sürət 0.2 m/s, bucaq sürət dərəcəsi 0.3 rad/s-dən aşağıdır. Usta dönüş etdikdə, qul ustadan nə qədər uzaq olarsa, bir o qədər çox xətti sürət tələb olunur. Paketdəki xətti sürət və bucaq sürətinə məhdudiyyət qoyulduğundan, kölə avtomobil lazımi sürətə çata bilmədikdə, formalaşma xaotik olacaq. Ümumiyyətlə, həddindən artıq xətti sürət robotu asanlıqla zədələyə bilər.
  3. Qulların sayı birdən çox olduqda, ROS hostunun məhdud bortda Wi-Fi ötürmə qabiliyyətinə görə, əhəmiyyətli gecikmələrə və multi-agent rabitəsinin kəsilməsinə səbəb olmaq asandır. Routerdən istifadə bu problemi yaxşı həll edə bilər.
  4. Çox robot quruluşunun TF ağacı (2 qul) belədir: rqt_tf_tree
  5. Çox robotlu formalaşmanın (2 qul) qovşaq əlaqələri diaqramı belədir: rqt_graph

Sənədlər / Resurslar

ROBOWORKS Robofleet MULTI-AGENT ALQORITMLARI [pdf] İstifadəçi Təlimatı
Robofleet Çox Agent Alqoritmləri, Robofleet, Çox Agent Alqoritmləri, Agent Alqoritmləri, Alqoritmlər

İstinadlar

Şərh buraxın

E-poçt ünvanınız dərc olunmayacaq. Tələb olunan sahələr qeyd olunub *