ROBOWORKS-LOGO

ROBOWORKS Robofleet КӨП АГЕНТТІ АЛГОРИТМДЕР

ROBOWORKS-Robofleet-МУЛЬТИ-АГЕНТ-АЛГОРИТМДЕР-ӨНІМ

Техникалық сипаттамалар

  • Өнім атауы: ROBOWORKS
  • Нұсқа: 20240501
  • Дайындаған: Уэйн Лю және Джанетт Лин
  • Күні: 1 мамыр 2024

Өнім туралы ақпарат

ROBOWORKS – роботтарды үйлестіру мен байланыстыру үшін әртүрлі алгоритмдерді жүзеге асыруға мүмкіндік беретін көп агентті жүйе.

Жиі қойылатын сұрақтар

С: Робот Wi-Fi желісіне автоматты түрде қосыла алмаса, не істеуім керек?

A: Егер робот автоматты түрде қосыла алмаса, желі картасын ажыратып, қайта қосып көріңіз және қайта қосылуға әрекеттеніңіз.

ТҮЙІН

Бұл құжат негізінен wheeltec_multi деп аталатын көп роботты қалыптастыру функциясы пакетін пайдалануды түсіндіреді.

Бұл құжат төрт бөлікке бөлінген:

  • Бірінші бөлім негізінен көп роботты қалыптастыру әдісін енгізу туралы;
  • екінші бөлім негізінен ROS көп машиналық байланыс параметрлерін, соның ішінде ROS құрылысының көп машиналық байланысын және ROS байланысы процесінде туындауы мүмкін мәселелерді сипаттайды;
  • үшінші бөлім негізінен көп машиналық уақытты синхрондау операциясының қадамдарын сипаттайды;
  • төртінші бөлімде көп машинаны қалыптастыру функциялары пакетінің арнайы қолданылуы түсіндіріледі.

Бұл құжаттың мақсаты – көп агентті робот жүйелеріне кіріспе және пайдаланушыларға көп роботты қалыптастыру жобасын жылдам бастауға мүмкіндік береді.

КӨП АГЕНТТІ АЛГОРИТМДЕРГЕ КІРІСПЕ

Көп агентті құру алгоритмдері

Бұл ROS пакеті қалыптастыру дискісі кезінде бірлескен басқарудағы көп агенттердің әдеттегі мәселесін ұсынады. Бұл оқулық осы тақырып бойынша болашақ дамудың негізін қалайды. Қалыптастыруды басқару алгоритмі тапсырманы орындау үшін арнайы құрылымды қалыптастыру үшін бірнеше агенттерді басқаратын алгоритмді білдіреді. Ынтымақтастық тапсырманы орындау үшін белгілі бір шектеу қатынасын қолданатын бірнеше агенттер арасындағы ынтымақтастықты білдіреді. Бұрынғыдай көп роботты қалыптастыру дискісін алыңызample, ынтымақтастық бірнеше роботтардың бірге қалаған формацияны құрайтынын білдіреді. Оның мәні әрбір роботтың позициялары арасында қанағаттандырылатын белгілі бір математикалық қатынас болып табылады. Қабат әдістері негізінен орталықтандырылған қабаттық бақылау және бөлінген қабаттық бақылау болып бөлінеді. Орталықтандырылған формацияны басқару әдістеріне негізінен виртуалды құрылым әдісі, графикалық теория әдісі және модельдік болжау әдісі жатады. Бөлінген қалыптастыруды бақылау әдістері негізінен көшбасшы-ізбасар әдісін, мінез-құлыққа негізделген әдісті және виртуалды құрылым әдісін қамтиды.
Бұл ROS пакеті көп роботты қалыптастыру дискісін орындау үшін бөлінген қабаттарды басқару әдісінде көшбасшы-ізбасар әдісін қолданады. Құрылымдағы бір робот көшбасшы ретінде тағайындалған, ал басқа роботтар көшбасшыға еретін құл ретінде тағайындалған. Алгоритм жетекші роботтың қозғалыс траекториясын белгілі бір бағыт пен жылдамдықпен келесі роботтар қадағалайтын координаттарды орнату үшін пайдаланады. Бақылау координаталарынан позицияның ауытқуларын түзету арқылы ізбасарлар, сайып келгенде, қалыптастыру жетекінің мақсаттарына жету үшін ізбасар мен күтілетін бақылау координаталары арасындағы ауытқуды нөлге дейін азайтады. Осылайша, алгоритм салыстырмалы түрде күрделі емес.

Кедергілерді болдырмау алгоритмдері

Кедергілерді болдырмаудың кең таралған алгоритмі жасанды әлеуетті өріс әдісі болып табылады. Роботтың физикалық ортадағы қозғалысы виртуалды жасанды күш өрісіндегі қозғалыс ретінде қарастырылады. Ең жақын кедергі LiDAR арқылы анықталады. Кедергі роботқа кері итеру жасау үшін итеруші күш өрісін қамтамасыз етеді және мақсатты нүкте роботқа тартылыс күшін тудыратын гравитациялық өрісті қамтамасыз етеді. Осылайша, ол итеру мен тартудың бірлескен әрекеті кезінде роботтың қозғалысын басқарады.
Бұл ROS пакеті жасанды әлеуетті өріс әдісіне негізделген жақсарту болып табылады. Біріншіден, қалыптастыру алгоритмі Slave ізбасарының сызықтық және бұрыштық жылдамдығын есептейді. Содан кейін ол кедергілерді болдырмау талаптарына сәйкес сызықтық және бұрыштық жылдамдықты арттырады немесе азайтады. Құлдың ізбасары мен кедергінің арақашықтығы жақынырақ болғанда, Құлдың ізбасарына кедергінің кері итеру күші үлкен болады. Сонымен қатар, сызықтық жылдамдықтың өзгеруі және бұрыштық жылдамдықтың вариациялары көбірек. Кедергі Құл ізбасарының алдыңғы жағына жақындаған кезде, Құл ізбасарына кедергінің кері итерілуі үлкен болады (алдыңғы кері итеру ең үлкен және бүйірлік кері қайтару ең аз). Нәтижесінде сызықтық жылдамдық пен бұрыштық жылдамдықтың вариациялары көбірек болады. Жасанды әлеуетті өріс әдісі арқылы ол робот кедергі алдында жауап беруді тоқтатқан кезде шешімді жақсартады. Бұл кедергілерді жақсырақ болдырмау мақсатына қызмет етеді.

КӨП АГЕНТТІ БАЙЛАНЫСТЫ ОРНАТУ

Мульти-агенттік байланыс - көп роботты қалыптастыруды аяқтаудың негізгі қадамдарының бірі. Бірнеше роботтардың салыстырмалы позициялары белгісіз болған кезде роботтар байланыстарды орнатуды жеңілдету үшін байланыс арқылы бір-бірінің ақпаратын бөлісуі керек. ROS-таратылған архитектура мен желілік байланыс өте күшті. Бұл процессаралық байланыс үшін ғана емес, сонымен қатар әртүрлі құрылғылар арасындағы байланыс үшін де ыңғайлы. Желілік байланыс арқылы барлық түйіндер кез келген компьютерде жұмыс істей алады. Деректерді өңдеу сияқты негізгі тапсырмалар хост жағында орындалады. Қосалқы машиналар әртүрлі сенсорлармен жиналған қоршаған орта деректерін қабылдауға жауапты. Мұндағы хост ROS жүйесінде негізгі түйінді іске қосатын менеджер болып табылады. Ағымдағы мульти-агенттік байланыс жүйесі бірнеше роботтар арасындағы байланысты өңдеуге арналған түйін менеджері және параметр менеджері арқылы жүзеге асырылады.ROBOWORKS-Robofleet-МУЛЬТИ-АГЕНТ-АЛГОРИТМДЕР-СУРЕТ- (1)

Көп агенттік байланыстарды орнату қадамдары

  • Бір желіде ROS басқару элементтерін орнатыңыз
    • Бір желіде Master/Slave ROS басқару элементтерін орнатудың 2 жолы бар.

1-нұсқа:

Негізгі хост негізгі түйін менеджерін іске қосу арқылы жергілікті Wi-Fi желісін жасайды. Жалпы, бұл Wi-Fi желісін шебері ретінде тағайындалған роботтардың бірі жасайды. Басқа роботтар немесе виртуалды машиналар осы Wi-Fi желісіне құл ретінде қосылады.

2-нұсқа:

Жергілікті Wi-Fi желісін ақпараттық релелік орталық ретінде үшінші тарап маршрутизаторы қамтамасыз етеді. Барлық роботтар бір маршрутизаторға қосылған. Маршрутизаторды интернет байланысынсыз да пайдалануға болады. Мастер ретінде роботтардың бірін таңдап, негізгі түйін менеджерін іске қосыңыз. Басқа роботтар құлдар ретінде тағайындалады және шеберден негізгі түйін менеджерін басқарады.
Қай опцияны таңдау туралы шешім жоба талаптарына байланысты. Егер байланысуы қажет роботтардың саны көп болмаса, 1-нұсқа ұсынылады, себебі ол шығынды үнемдейді және орнату оңай. Роботтардың саны көп болған кезде 2-нұсқа ұсынылады. ROS негізгі басқару құралының есептеу қуатының шектеуі және борттық Wi-Fi өткізу қабілеттілігінің шектелуі кідірістерді және желідегі үзілістерді оңай тудыруы мүмкін. Маршрутизатор бұл мәселелерді оңай шеше алады. Көп агентті байланысты орындау кезінде виртуалды машина ROS құл ретінде пайдаланылса, оның желілік режимін көпір режиміне орнату қажет екенін ескеріңіз.

Master/Slave ортасының айнымалы мәндерін конфигурациялаңыз

Барлық ROS шеберлері бір желіде болғаннан кейін көп агенттік байланыс үшін ортаның айнымалы мәндерін орнату қажет. Бұл орта айнымалысы негізгі каталогтағы .bashrc файлында конфигурацияланған. Оны іске қосу үшін gedit ~/.bashrc пәрменін іске қосыңыз. Көп агенттік байланыстағы негізгі және бағыныңқы .bashrc файлдарының екеуін теңшеу қажет екенін ескеріңіз. Файлдың соңындағы IP мекенжайларын өзгерту қажет. 2-1-4-суретте көрсетілгендей ROS_MASTER_URI және ROS_HOSTNAME екі жолы. ROS хостының ROS_MASTER_URI және ROS_HOSTNAME екеуі де жергілікті IP болып табылады. ROS slave .bashrc файлындағы ROS_MASTER_URI хосттың IP мекенжайына өзгертілуі керек, ал ROS_HOSTNAME жергілікті IP мекенжайы ретінде қалады.ROBOWORKS-Robofleet-МУЛЬТИ-АГЕНТ-АЛГОРИТМДЕР-СУРЕТ- (2)

ROS көп машина байланысы ROS шығарылымымен шектелмейді. Көп машиналы байланыс процесінде мыналарды білу керек:

  1. ROS тәуелді бағдарламасының жұмысы ROS негізгі құрылғысының ROS негізгі бағдарламасына байланысты. ROS негізгі бағдарламасы бағынышты құрылғыда бағынышты бағдарламаны орындамас бұрын алдымен негізгі құрылғыда іске қосылуы керек.
  2. Көп машиналы байланыстағы негізгі және қосалқы машиналарының IP мекенжайлары бір желіде болуы керек. Бұл IP мекенжайы мен ішкі желі маскасы бір желі астында екенін білдіреді.
  3. .bashrc орта конфигурация файлындағы ROS_HOSTNAME жергілікті хостты пайдалану ұсынылмайды. Арнайы IP мекенжайын пайдалану ұсынылады.
  4. Бағынышты IP мекенжайы дұрыс орнатылмаған жағдайда, бағынышты құрылғы әлі де ROS шеберіне қол жеткізе алады, бірақ басқару ақпаратын енгізе алмайды.
  5. Егер виртуалды машина көп агенттік байланысқа қатысса, оның желі режимін көпір режиміне орнату қажет. Желі қосылымы үшін статикалық IP таңдау мүмкін емес.
  6. Көп машина байланысы мүмкін емес view немесе жергілікті жерде жоқ хабар деректер түрінің тақырыптарына жазылыңыз.
  7. Роботтар арасындағы байланыстың сәтті екенін тексеру үшін Кішкентай тасбақа симуляциясының демонстрациясын пайдалануға болады:
    • a. Шеберден жүгіріңіз
      • rescore #launch ROS қызметтері
      • rostrum turtles turtlesim_node #тасбақаларды іске қосу интерфейсі
    • b. Құлдан қашу
      • қайта іске қосыңыз turtles turtle_teleop_key #тасбақалар үшін пернетақтаны басқару түйінін іске қосыңыз

Егер сіз тасбақа қозғалысын құлдағы пернетақтадан басқара алсаңыз, бұл басты/құлшылық байланысының сәтті орнатылғанын білдіреді.

ROS жүйесінде автоматты Wi-Fi қосылымы

Төмендегі процедуралар роботты хост желісіне немесе маршрутизатор желісіне автоматты түрде қосылу үшін конфигурациялау жолын түсіндіреді.

Jetson Nano үшін автоматты Wi-Fi қосылымын орнату

  1. Jetson Nano құрылғысын VNC қашықтағы құралы арқылы немесе тікелей компьютер экранына қосыңыз. Жоғарғы оң жақ бұрыштағы Wi-Fi белгішесін басып, «Қосылымдарды өңдеу..» түймесін басыңыз.ROBOWORKS-Robofleet-МУЛЬТИ-АГЕНТ-АЛГОРИТМДЕР-СУРЕТ- (3)
  2. Желі қосылымдарында + түймесін басыңыз:ROBOWORKS-Robofleet-МУЛЬТИ-АГЕНТ-АЛГОРИТМДЕР-СУРЕТ- (4)
  3. «Қосылым түрін таңдау» терезесінің астындағы ашылмалы мәзірді басып, «Жасау...» түймесін басыңыз:ROBOWORKS-Robofleet-МУЛЬТИ-АГЕНТ-АЛГОРИТМДЕР-СУРЕТ- (5)
  4. Басқару тақтасында Wi-Fi опциясын таңдаңыз. «Байланыс атауы» және SSID өрістеріне қосылу үшін Wi-Fi атауын енгізіңіз. «Режим» ашылмалы мәзірінде «Клиент» тармағын таңдаңыз және «Құрылғы» ашылмалы мәзірінде «wlan0» таңдаңыз.ROBOWORKS-Robofleet-МУЛЬТИ-АГЕНТ-АЛГОРИТМДЕР-СУРЕТ- (6)
  5. Басқару тақтасында «Жалпы» опциясын басып, «Осы желіге автоматты түрде қосылу...» құсбелгісін қойыңыз. «Автоматты белсендіру үшін қосылым басымдылығы» опциясында қосылым басымдылығын 1-ге орнатыңыз. «Барлық пайдаланушылар осы желіге қосыла алады» опциясын тексеріңіз. Басқа Wi-Fi үшін «Автоматты түрде белсендіру үшін қосылым басымдылығы» параметрінде 0 мәніне орнатылғанда, бұл бұрын таңдалған Wi-Fi желісі екенін білдіреді.ROBOWORKS-Robofleet-МУЛЬТИ-АГЕНТ-АЛГОРИТМДЕР-СУРЕТ- (7)
  6. Басқару тақтасындағы «Wi-Fi қауіпсіздігі» опциясын басыңыз. «Қауіпсіздік» өрісінде «WPA & WPA2 Personal» таңдаңыз. Содан кейін «Пароль» өрісіне Wi-Fi құпия сөзін енгізіңіз.ROBOWORKS-Robofleet-МУЛЬТИ-АГЕНТ-АЛГОРИТМДЕР-СУРЕТ- (8)

Ескерту: Wi-Fi басымдығы 0-ге орнатылған кезде робот жүктелгеннен кейін Wi-Fi желісіне автоматты түрде қосыла алмаса, бұл әлсіз wifi сигналының ақаулығынан туындауы мүмкін. Бұл мәселені болдырмау үшін бұрын қосылған барлық Wi-Fi опцияларын жоюды таңдауға болады. Хост немесе маршрутизатор жасаған Wi-Fi желісін ғана сақтаңыз. Желі параметрлерінің басқару тақтасындағы «IPv4 параметрлері» опциясын басыңыз. «Әдіс» өрісінде «Қолмен» опциясын таңдаңыз. Содан кейін «Қосу» түймесін басып, «Мекенжай» өрісіне бағынышты құрылғының IP мекенжайын толтырыңыз. «Желі маскасы» өрісінде «24» толтырыңыз. «Шлюзде» IP желісі сегментін толтырыңыз. IP желісі сегментінің соңғы үш санын «1» мәніне өзгертіңіз. Бұл қадамның негізгі мақсаты - IP мекенжайын түзету. Бұл бірінші рет аяқталғаннан кейін IP мекенжайы бір WIFI желісіне кейіннен қосылғанда өзгеріссіз қалады.ROBOWORKS-Robofleet-МУЛЬТИ-АГЕНТ-АЛГОРИТМДЕР-СУРЕТ- (9)

Барлық параметрлер конфигурацияланғаннан кейін параметрлерді сақтау үшін «сақтау» түймесін басыңыз. Сақтау сәтті болғаннан кейін робот қосылған кезде хосттың немесе маршрутизатордың желісіне автоматты түрде қосылады.

Ескерту:

  1. Мұнда орнатылған IP мекенжайы 2.1 бөліміндегі .bashrc файлында орнатылған IP мекенжайымен бірдей болуы керек.
  2. Мастер мен әрбір бағыныңқы IP мекенжайы бірегей болуы керек.
  3. Негізгі және қосалқы IP мекенжайлары бір желі сегментінде болуы керек.
  4. Бағынышты робот қосылып, WiFi желісіне автоматты түрде қосылмас бұрын, хост немесе маршрутизатор WiFi сигналын жіберуін күтуіңіз керек.
  5. Параметр конфигурацияланғаннан кейін робот қосылған кезде WiFi желісіне автоматты түрде қосыла алмаса, желі картасын қосып, ажыратып, қайта қосып көріңіз.

Raspberry Pi үшін автоматты Wi-Fi қосылымын орнату

Raspberry Pi процедурасы Jetson Nano сияқты.

Jetson TX1 үшін автоматты Wi-Fi қосылымын орнату

Jetson TX1 құрылғысындағы орнату Jetson Nano құрылғысындағымен бірдей дерлік, тек Jetson TX1 желі параметрлерінің басқару тақтасындағы «Құрылғы» ішінен «wlan1» құрылғысын таңдауы керек.ROBOWORKS-Robofleet-МУЛЬТИ-АГЕНТ-АЛГОРИТМДЕР-СУРЕТ- (10)

КӨП АГЕНТТІ СИНХРОНДАЙТУДЫ ОРНАТУ

Көп агентті қалыптастыру жобасында көп агентті уақытты синхрондау параметрі шешуші қадам болып табылады. Қалыптастыру процесінде әр роботтың асинхронды жүйе уақытына байланысты көптеген мәселелер туындайды. Көп агентті уақытты синхрондау екі жағдайға бөлінеді, атап айтқанда, басты және қосалқы роботтар желіге қосылған жағдай және екеуі де желіден ажыратылған жағдай.

Сәтті негізгі/құлалық желі қосылымы

Көп агенттік байланыс конфигурацияланғаннан кейін, егер негізгі және қосалқы машиналар желіге сәтті қосыла алса, олар желі уақытын автоматты түрде синхрондайды. Бұл жағдайда уақытты синхрондауға қол жеткізу үшін қосымша әрекеттер қажет емес.

Желінің ажыратылуының ақаулықтарын жою

Көп агенттік байланыс конфигурацияланғаннан кейін негізгі және қосалқы құрылғылар желіге сәтті қосыла алмаса, уақытты қолмен синхрондау қажет. Уақытты орнатуды аяқтау үшін күн пәрменін қолданамыз.

Алдымен терминатор құралын орнатыңыз. Терминатор құралында негізгі және бағынышты басқару терминалдарын бір терминал терезесіне орналастыру үшін терезені бөлу құралын пайдаланыңыз (бөлу терезесін орнату үшін тінтуірдің оң жақ түймешігімен басыңыз және әр түрлі терезелерде негізгі және қосалқы машиналарға ssh арқылы кіріңіз) .

  • sudo apt-get install terminator # Терминаторды терезені бөлу үшін жүктеп алыңыз

Жоғарғы сол жақтағы түймені басыңыз, [Барлығына тарату]/[Барлығын тарату] опциясын таңдап, келесі пәрменді енгізіңіз. Содан кейін негізгі және бағыныңқы уақытты орнату үшін терминатор құралын пайдаланыңыз.ROBOWORKS-Robofleet-МУЛЬТИ-АГЕНТ-АЛГОРИТМДЕР-СУРЕТ- (11)

  • sudo date -s “2022-01-30 15:15:00” # Уақытты қолмен орнату

КӨП-АГЕНТТІ ROS ПАКЕТІ

ROS пакетіне кіріспе

Құл атауын орнатыңыз

wheeltec_multi функционалды бумасында қателерді болдырмау үшін әрбір қосалқы роботқа бірегей атау орнату қажет. Мысалыample, slave1 үшін No1 және slave2 үшін No2, т.б. Әртүрлі атауларды орнатудың мақсаты - іске қосылған түйіндерді топтау және оларды әртүрлі аттар кеңістігі арқылы ажырату. Мысалыample, 1-құлымның радар тақырыбы/құл1/сканер, ал 1-құлымның LiDAR түйіні/құл1/лазер.

Бағынышты координаттарды орнатыңыз

wheeltec_multi бумасы реттелетін құрылымдарды жүзеге асыра алады. Әртүрлі құрылымдар қажет болғанда, құлдық роботтардың қажетті координаттарын өзгертіңіз. Slave_x және slave_y — басты сілтеме нүктесі ретінде бағыныңқы х және у координаталары. Шебердің алдыңғы жағы х координатының оң бағыты, ал сол жағы у координатының оң бағыты болып табылады. Орнату аяқталғаннан кейін TF координатының бағындысы1 бағыныңқы координаттың күтілетін координатасы ретінде шығарылады. Егер бір басты және екі құл болса, келесі құрылымды орнатуға болады:

  1. Көлденең қалыптасу: сол жақтағы бағыныңқы координаталарды бағынды_x:0, бағынышты_y: 0.8, ал оң жақтағы бағыныңқы координаталарын құл_x:0, бағынышты_y:-0.8 етіп орнатуға болады.
  2. Бағанды ​​құру: бір бағыныңқы координаталарды келесіге орнатуға болады: slave_x:-0.8, slave_y:0, ал басқа бағанның координаттарын: slave_x:-1.8, slave_y:0 ​​етіп орнатуға болады.
  3. Үшбұрышты қалыптастыру: бір бағыныңқы координаталарды келесіге орнатуға болады: бағынышты_x:-0.8, бағынышты_y: 0.8, ал басқа бағыныңқы координаталарды: бағынышты_x:-0.8, бағынышты_y:-0.8 етіп орнатуға болады.

Басқа құрылымдарды қажетінше реттеуге болады.

Ескерту:

  • Екі робот арасындағы ұсынылған қашықтық 0.8-ге орнатылған және 0.6-дан төмен болмау ұсынылады. Құлдар мен мастер арасындағы қашықтықты 2.0-ден төмен орнату ұсынылады. Ол шеберден неғұрлым алыс болса, шебер бұрылған кездегі құлдың сызықтық жылдамдығы соғұрлым жоғары болады. Максималды жылдамдықтың шектелуіне байланысты құлдың жылдамдығы талапқа сай болмаса ауытқиды. Роботтың қалыптасуы хаотикалық болады.

Құлдық позицияны инициализациялау

  1. Бағыттаушының бастапқы орны әдепкі бойынша күтілетін координаттарда болады. Бағдарламаны іске қоспас бұрын, баптандыруды аяқтау үшін бағынышты роботты оның күтілетін координаттарына жақын орналастырыңыз. Бұл функция 4-1-3-суретте көрсетілгендей wheeltec_multi бумасындағы turn_on_wheeltec_robot.launch деп аталатын файлдағы pose_setter түйіні арқылы жүзеге асырылады.ROBOWORKS-Robofleet-МУЛЬТИ-АГЕНТ-АЛГОРИТМДЕР-СУРЕТ- (12)

Егер пайдаланушы құлдың бастапқы орнын теңшегісі келсе, оған wheeltec_slave.launch ішіндегі 4-1-4-суретте көрсетілгендей slave_x және slave_y мәндерін орнату қажет. slave_x және slave_y мәндері turn_on_wheeltec_robot.launch файлына жіберіледі және позицияны орнатушы түйініне тағайындалады. Бағдарламаны іске қоспас бұрын роботты реттелетін орынға қойыңыз.ROBOWORKS-Robofleet-МУЛЬТИ-АГЕНТ-АЛГОРИТМДЕР-СУРЕТ- (13)

Позиция конфигурациясы

Көп агенттік құрылымда шешілетін бірінші мәселе - қожайын мен құлдың орналасуы. Шебер алдымен 2D картасын жасайды. Картаны жасап, сақтағаннан кейін 2D навигациялық бумасын іске қосыңыз және шебердің орналасуын конфигурациялау үшін 2D навигация бумасындағы бейімделген Монте-Карло орналасу алгоритмін (amcl орналасуы) пайдаланыңыз. Мастер мен бағынушылар бір желіде болғандықтан және бір түйін реттеушісін ортақ пайдаланатындықтан, шебер картаны 2D навигациялық бумасынан іске қосты, барлық бағыныңқылар бір картаны бір түйін менеджері астында пайдалана алады. Сондықтан құлға карта жасаудың қажеті жоқ. wheeltec_slave.launch ішінде Монте-Карло позициясын (amcl орналасуы) іске қосыңыз, бағынушылар шебер жасаған картаны пайдалану арқылы өз орындарын конфигурациялай алады.ROBOWORKS-Robofleet-МУЛЬТИ-АГЕНТ-АЛГОРИТМДЕР-СУРЕТ- (14)

Формацияны қалай құруға және қалыптастыруды қолдауға болады

Қабат қозғалысы процесінде шебердің қозғалысын Rviz, пернетақта, қашықтан басқару және басқа әдістермен басқаруға болады. Қозғалысты басқару және қалыптасу мақсатына жету үшін құл оның жылдамдығын slave_tf_listener түйіні арқылы есептейді. slave_tf_listener түйіні бірқатар әсерлерді тудыратын түйінді есептеу арқылы шамадан тыс жылдамдықты болдырмау үшін бағынышты жылдамдықты шектейді. Арнайы мәнді wheeltec_slave.launch ішінде өзгертуге болады.ROBOWORKS-Robofleet-МУЛЬТИ-АГЕНТ-АЛГОРИТМДЕР-СУРЕТ- (15)

Қалыптастыру алгоритмінің сәйкес параметрлері келесідей: ROBOWORKS-Robofleet-МУЛЬТИ-АГЕНТ-АЛГОРИТМДЕР-СУРЕТ- (16)

Кедергілерді болдырмау туралы ақпарат

Көп агентті қалыптастыруда шебер кедергілерді болдырмауды аяқтау үшін move_base түйінін пайдалана алады. Дегенмен, құлдың инициализациясы move_base түйінін пайдаланбайды. Осы кезде multi_avoidance түйінін құлдық бағдарламада шақыру қажет. Кедергілерді болдырмау түйіні пакетте әдепкі бойынша қосылады. Қажет болса, кедергілерді болдырмау түйінін өшіру үшін болдырмауды «жалған» күйіне орнатуға болады. ROBOWORKS-Robofleet-МУЛЬТИ-АГЕНТ-АЛГОРИТМДЕР-СУРЕТ- (17)

Кедергілерді болдырмау түйінінің кейбір сәйкес параметрлері төмендегі суретте көрсетілген, мұнда қауіпсіз_қашықтық кедергінің қауіпсіз қашықтығы шегі, ал қауіпті_қашықтық кедергінің қауіпті қашықтығы шегі болып табылады. Кедергі қауіпсіз қашықтықта және қауіпті қашықтықта болғанда, құл кедергіден аулақ болу үшін өз орнын реттейді. Кедергі қауіп төніп тұрғанда, құл кедергіден қашып кетеді.ROBOWORKS-Robofleet-МУЛЬТИ-АГЕНТ-АЛГОРИТМДЕР-СУРЕТ- (18)

Операция процедурасы

Орындау пәрменін енгізіңіз

Мультиагентті қалыптастыруды бастау алдындағы дайындықтар:

  • Негізгі және бағынышты бір желіге қосылып, көп агенттік байланысты дұрыс орнатады
  • Шебер 2D картасын алдын ала құрастырып, оны сақтайды
  • Мастер картаның бастапқы нүктесіне орналастырылады, ал бағындысы инициализация күйіне жақын орналастырылады (әдепкі бағыныңқы қалыптасу орны)
  • Jetson Nano/Raspberry Pi жүйесіне қашықтан кіргеннен кейін уақытты синхрондауды орындаңыз.

sudo date -s «2022-04-01 15:15:00»

  • 1-қадам: Мастерден 2D картасын ашыңыз.

roslaunch turn_on_wheeltec_robot navigation.launch

  • 2-қадам: Қалыптастыру бағдарламасын барлық бағыныңқылардан іске қосыңыз.

roslaunch wheeltec_multi wheeltec_slave.launch

  • 3-қадам: Негізгі қозғалысты қашықтан басқару үшін шеберден пернетақтаны басқару түйінін ашыңыз немесе джойстикті пайдаланыңыз.

wheeltec_robot_rc keyboard_teleop.launch қайта іске қосыңыз

  • 4-қадам: (Қосымша) Rviz-тен робот қозғалыстарын бақылаңыз.

rviz

Ескерту: 

  1. Бағдарламаны орындамас бұрын уақытты синхрондау операциясын аяқтауды ұмытпаңыз.
  2. Көп агентті түзіліс шеберін басқарған кезде бұрыштық жылдамдық тым жылдам болмауы керек. Ұсынылған сызықтық жылдамдық 0.2 м/с, бұрыштық жылдамдық дәрежесі 0.3 рад/с төмен. Мастер бұрылыс жасағанда, құл шеберден неғұрлым алыс болса, соғұрлым көп сызықтық жылдамдық қажет. Қаптамадағы сызықтық жылдамдық пен бұрыштық жылдамдыққа шектеу қойылғандықтан, қосалқы вагон қажетті жылдамдыққа жете алмаған кезде түзілу хаотикалық болады. Тұтастай алғанда, шамадан тыс сызықтық жылдамдық роботты оңай зақымдауы мүмкін.
  3. Құлдардың саны біреуден көп болған кезде, ROS хостының борттық Wi-Fi өткізу қабілеттілігі шектеулі болғандықтан, көп агенттік байланыстың айтарлықтай кідірістерін және ажыратылуын тудыруы оңай. Маршрутизаторды пайдалану бұл мәселені жақсы шеше алады.
  4. Көп роботты құрылымның TF ағашы (2 құл): rqt_tf_tree
  5. Көп роботты қалыптастырудың түйіндік қатынас диаграммасы (2 бағыныңқы): rqt_graph

Құжаттар / Ресурстар

ROBOWORKS Robofleet КӨП АГЕНТТІ АЛГОРИТМДЕР [pdf] Пайдаланушы нұсқаулығы
Robofleet Multi Agent Algorithms, Robofleet, Multi Agent Algorithms, Agent Algorithms, Algorithms

Анықтамалар

Пікір қалдырыңыз

Электрондық пошта мекенжайыңыз жарияланбайды. Міндетті өрістер белгіленген *