ROBOWORKS Robofleet КӨП АГЕНТТҮҮ АЛГОРИТМДЕР
Техникалык шарттар
- Продукт аты: ROBOWORKS
- Версия: 20240501
- Даярдаган: Wayne Liu & Janette Lin
- Дата: 1-жылдын 2024-майы
Продукт маалыматы
ROBOWORKS – роботту координациялоо жана байланыш үчүн ар кандай алгоритмдерди ишке ашырууга мүмкүндүк берген көп агенттик система.
Көп берилүүчү суроолор
С: Робот Wifiга автоматтык түрдө туташа албаса, мен эмне кылышым керек?
A: Эгер робот автоматтык түрдө туташа албаса, тармак картасын сууруп, кайра туташтырыңыз жана кайра туташууга аракет кылыңыз.
КЫСКАЧА
Бул документ негизинен wheeltec_multi деп аталган көп роботту түзүү функциясы пакетинин колдонулушун түшүндүрөт.
Бул документ төрт бөлүккө бөлүнөт:
- Биринчи бөлүк негизинен көп роботторду түзүү ыкмасын киргизүү жөнүндө;
- экинчи бөлүк негизинен ROS көп машина байланыш орнотууларын, анын ичинде ROS курулуш көп машина байланышын жана ROS байланыш жараянында туш болушу мүмкүн болгон көйгөйлөрдү сүрөттөйт;
- үчүнчү бөлүк негизинен көп машина убакыт синхрондоштуруу иш кадамдарын сүрөттөйт;
- төртүнчү бөлүктө көп машина түзүүчү функциялар пакетинин өзгөчө колдонулушу баяндалат.
Бул документтин максаты – көп агенттик робот системаларына киришүү жана колдонуучуларга көп роботту түзүү долбоорун тез баштоого мүмкүндүк берет.
КӨП АГЕНТТҮҮ АЛГОРИТМДЕРГЕ КИРИШҮҮ
Көп агент түзүү алгоритмдери
Бул ROS пакети түзүүчү диск учурунда биргелешкен башкаруудагы көп агенттердин типтүү көйгөйүн көрсөтөт. Бул окуу куралы бул тема боюнча келечектеги өнүгүү үчүн негиз түзөт. Түзүүнү башкаруу алгоритми тапшырманы аткаруу үчүн атайын форманы түзүү үчүн бир нече агенттерди башкарган алгоритмди билдирет. Кызматташуу тапшырманы аткаруу үчүн белгилүү бир чектөө мамилелерин колдонуу менен бир нече агенттердин ортосундагы кызматташтыкты билдирет. Мурунку катары көп роботторду түзүү дискин алыңызampле, кызматташуу бир нече роботтун чогуу каалаган форманы түзүшүн билдирет. Анын маңызы ар бир роботтун позицияларынын ортосунда канааттандырылган белгилүү бир математикалык байланыш болуп саналат. Формациялык ыкмалар негизинен борборлоштурулган катмарды башкаруу жана бөлүштүрүлгөн катмарды башкаруу болуп бөлүнөт. Борборлоштурулган түзүлүштү башкаруу методдору негизинен виртуалдык структура ыкмасын, графикалык теория ыкмасын жана моделдин болжолдоо ыкмасын камтыйт. Бөлүштүрүлгөн форманы башкаруу ыкмалары негизинен лидер-жолдоочу ыкмасын, жүрүм-турумга негизделген методун жана виртуалдык структура ыкмасын камтыйт.
Бул ROS топтому көп роботту түзүүчү дискти аткаруу үчүн бөлүштүрүлгөн форманы башкаруу методунда лидер-издөө ыкмасын колдонот. Формадагы бир робот лидер, ал эми башка роботтор лидерди ээрчий турган кулдар катары дайындалат. Алгоритм жетектөөчү роботтун кыймыл траекториясын колдонуп, белгилүү бир багыт жана ылдамдык менен төмөнкү роботтор көзөмөлдөй турган координаттарды орнотот. Көз салуу координаттарынан позициянын четтөөлөрүн оңдоо менен, жолдоочулар калыптануу дискинин максаттарына жетүү үчүн акырында жолдоочу менен күтүлгөн байкоо координаттарынын ортосундагы четтөөнү нөлгө чейин азайтат. Ошентип, алгоритм салыштырмалуу азыраак татаал.
Тоскоолдуктарды болтурбоо алгоритмдери
Тоскоолдуктарды болтурбоонун кеңири таралган алгоритми – бул жасалма потенциалдуу талаа ыкмасы. Физикалык чөйрөдө роботтун кыймылы виртуалдык жасалма күч талаасындагы кыймыл катары каралат. Жакынкы тоскоолдук LiDAR тарабынан аныкталат. Тоскоолдук роботко түртүүнү пайда кылуу үчүн түртүүчү күч талаасын, ал эми максаттуу чекит роботко тартылуу күчүн жаратуу үчүн тартылуу талаасын камсыз кылат. Ошентип, ал роботтун кыймылын түртүү жана тартуунун биргелешкен аракети астында башкарат.
Бул ROS пакети жасалма потенциалдуу талаа ыкмасына негизделген жакшыртуу болуп саналат. Биринчиден, калыптандыруу алгоритми Slave жолдоочусунун сызыктуу жана бурчтук ылдамдыгын эсептейт. Андан кийин тоскоолдуктардан качуу талаптарына ылайык сызыктуу жана бурчтук ылдамдыкты көбөйтөт же азайтат. Кулдун жолдоочусу менен тоскоолдуктун ортосундагы аралык жакыныраак болгондо, Кулдун жолдоочусуна болгон тоскоолдуктун түртүү күчү чоңураак болот. Ошол эле учурда сызыктуу ылдамдыктын өзгөрүшү жана бурчтук ылдамдыктын өзгөрүшү көбүрөөк. Тоскоолдук Кулдун ээрчигенинин алдына жакыныраак болгондо, кул жолдоочуга болгон тоскоолдуктун түртүүсү чоң болот (алдыңкы түртүүсү эң чоң, каптал түртүүсү эң кичине). Натыйжада сызыктуу ылдамдык менен бурчтук ылдамдыктын вариациялары көбүрөөк болот. Жасалма потенциалдуу талаа ыкмасы аркылуу робот тоскоолдуктун алдында жооп бербей калганда чечимди жакшыртат. Бул жакшыраак тоскоолдуктарды болтурбоо максатында кызмат кылат.
КӨП АГЕНТТҮҮ БАЙЛАНЫШТЫ ОРНОТУ
Мульти-агенттик байланыш - бул көп роботту түзүүнүн негизги кадамдарынын бири. Бир нече роботтордун салыштырмалуу позициялары белгисиз болгондо, роботтор байланыштарды түзүүнү жеңилдетүү үчүн бири-биринин маалыматын байланыш аркылуу бөлүшүшү керек. ROS бөлүштүрүлгөн архитектура жана тармактык байланыш абдан күчтүү. Бул процесстер аралык байланыш үчүн гана эмес, ошондой эле ар кандай түзүлүштөрдүн ортосундагы байланыш үчүн ыңгайлуу. Тармактык байланыш аркылуу бардык түйүндөр каалаган компьютерде иштей алат. Маалыматтарды иштетүү сыяктуу негизги тапшырмалар хост тарапта аткарылат. Кул машиналар ар кандай сенсорлор тарабынан чогултулган экологиялык маалыматтарды кабыл алуу үчүн жооптуу болуп саналат. Бул жердеги хост ROSдогу Мастер түйүнүн башкарган менеджер. Учурдагы көп агенттик байланыш алкагы бир нече роботтун ортосундагы байланышты башкаруу үчүн түйүн менеджери жана параметр менеджери аркылуу.
Көп агенттик байланыштарды орнотуу үчүн кадамдар
- Ошол эле тармакта ROS башкаруу элементтерин орнотуңуз
- Ошол эле тармактын астында Master/Slave ROS Controls орнотуунун 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 дареги бойдон калууда.
ROS көп машина байланышы ROS чыгаруу версиясы менен чектелбейт. Көп машиналуу байланыш процессинде төмөнкүлөрдү билүү керек:
- ROS кул программасынын иштеши ROS мастер аппаратынын ROS мастер программасына көз каранды. ROS мастер программасы кул түзмөгүндө кул программаны аткаруудан мурун биринчи башкы түзмөктө ишке кириши керек.
- Көп машиналуу байланыштагы башкы жана кул машиналарынын IP даректери бир тармакта болушу керек. Бул IP дареги жана ички тармак маскасы бир тармактын астында экенин билдирет.
- .bashrc чөйрө конфигурация файлындагы ROS_HOSTNAME localhost колдонуу сунушталбайт. Белгилүү бир IP даректи колдонуу сунушталат.
- Кул IP дареги туура коюлбаган учурда, кул түзмөк дагы эле ROS мастерине кире алат, бирок башкаруу маалыматын киргизе албайт.
- Эгерде виртуалдык машина көп агенттик байланышка катышса, анын тармак режимин көпүрө режимине коюу керек. Тармакка туташуу үчүн статикалык IP тандоо мүмкүн эмес.
- Көп машина байланышы мүмкүн эмес view же жергиликтүү деңгээлде жок кабар маалымат түрүндөгү темаларга жазылыңыз.
- Сиз роботтор ортосундагы байланыш ийгиликтүү же жокпу, текшерүү үчүн Little Turtle симуляция демонстрациясын колдоно аласыз:
- a. Кожоюндан кач
- ROS кызматтарын # ишке киргизиңиз
- rostrum turtles turtlesim_node #launch turtles интерфейси
- b. Кулдан кач
- ташбакаларды кайра иштетүү turtle_teleop_key #ташбакалар үчүн баскычтопту башкаруу түйүнүн ишке киргизиңиз
- a. Кожоюндан кач
Эгер сиз кулдагы клавиатурадан таш баканын кыймылдарын манипуляциялай алсаңыз, бул кожоюн/кул байланышы ийгиликтүү орнотулганын билдирет.
ROS ичинде автоматтык Wi-Fi туташуусу
Төмөнкү процедуралар роботту хост тармагына же роутер тармагына автоматтык түрдө туташуу үчүн кантип конфигурациялоону түшүндүрөт.
Jetson Nano үчүн автоматтык Wi-Fi туташуусун орнотуу
- Jetson Nanoну VNC алыскы куралы аркылуу же түздөн-түз компьютер экранына туташтырыңыз. Жогорку оң бурчтагы Wi-Fi сөлөкөтүн чыкылдатып, андан соң "Туташууларды түзөтүү.." баскычын чыкылдатыңыз.
- Тармактык туташуулардагы + баскычын чыкылдатыңыз:
- "Туташуу түрүн тандоо" терезесинин астындагы ачылуучу менюну басып, "Түзүү..." баскычын чыкылдатыңыз:
- Башкаруу панелинен Wifi опциясын басыңыз. "Байланыш аты" жана SSID талааларына туташуу үчүн Wi-Fi атын киргизиңиз. "Режим" ачылуучу менюсунан "Кардарды" тандаңыз жана "Түзмөк" ачылуучу менюсунан "wlan0" тандаңыз.
- Башкаруу панелинен "Жалпы" опциясын чыкылдатып, "Бул тармакка автоматтык түрдө туташуу ..." дегенди белгилеңиз. "Автоматтык активдештирүү үчүн туташуу артыкчылыгы" опциясында туташуу артыкчылыктарын 1ге коюңуз. "Бардык колдонуучулар бул тармакка туташа алат" опциясын белгилеңиз. Башка Wi-Fi үчүн "Автоматтык активдештирүү үчүн туташуу артыкчылыгы" параметринде параметр 0 болуп коюлганда, бул мурун тандалган Wi-Fi тармагы экенин билдирет.
- Башкаруу панелинен "Wi-Fi коопсуздугу" опциясын чыкылдатыңыз. "Коопсуздук" талаасында "WPA & WPA2 Жеке" тандаңыз. Андан кийин "Сырсөз" талаасына Wi-Fi сырсөзүн киргизиңиз.
Эскертүү: Wi-Fi приоритети 0 болуп коюлганда, робот жүктөлгөндөн кийин Wi-Fi тармагына автоматтык түрдө туташа албаса, ал Wi-Fi сигналынын начардыгынан келип чыгышы мүмкүн. Бул көйгөйдү болтурбоо үчүн, сиз буга чейин кошулган бардык Wi-Fi параметрлерин өчүрүүнү тандасаңыз болот. Хост же роутер тарабынан түзүлгөн Wi-Fi тармагын гана сактаңыз. Тармак жөндөөлөрүнүн башкаруу панелинен "IPv4 орнотуулары" опциясын чыкылдатыңыз. "Метод" талаасында "Кол" опциясын тандаңыз. Андан кийин "Кошуу" баскычын чыкылдатып, "Дарек" талаасына кул машинанын IP дарегин толтуруңуз. "Netmask" талаасына "24" толтуруңуз. "Шлюзда" IP тармак сегментин толтуруңуз. IP тармак сегментинин акыркы үч цифрасын “1ге” өзгөртүңүз. Бул кадамдын негизги максаты - IP дарегин оңдоо. Бул биринчи жолу аяктагандан кийин, ошол эле WIFIга туташкан учурда IP дареги өзгөрүүсүз калат.
Бардык орнотуулар конфигурациялангандан кийин, орнотууларды сактоо үчүн "сактоо" баскычын чыкылдатыңыз. Сактоо ийгиликтүү болгондон кийин, робот күйгүзүлгөндө хосттун же роутердин тармагына автоматтык түрдө туташат.
Эскертүү:
- Бул жерде коюлган IP дарек 2.1 бөлүмүндөгү .bashrc файлында коюлган IP дарек менен бирдей болушу керек.
- Кожоюндун жана ар бир кулдун IP дареги уникалдуу болушу керек.
- Мастер жана кул IP даректери бир тармак сегментинде болушу керек.
- Кул роботу күйгүзүлүп, WiFi тармагына автоматтык түрдө туташуудан мурун, сиз хост же роутер WiFi сигналын жөнөтүшүн күтүшүңүз керек.
- Орнотуу конфигурациялангандан кийин, робот күйгүзүлгөндө WiFi'га автоматтык түрдө туташа албаса, тармак картасын сайып, сууруп, кайра туташып көрүңүз.
Raspberry Pi үчүн автоматтык Wi-Fi туташуусун орнотуу
Raspberry Pi процедурасы Jetson Nano менен бирдей.
Jetson TX1 үчүн автоматтык Wi-Fi туташуусун орнотуу
Jetson TX1деги орнотуу Jetson Nano менен дээрлик бирдей, бир гана Jetson TX1 тармак жөндөөлөрүнүн башкаруу панелинен "Түзмөктө" "wlan1" түзмөгүн тандашы керек.
КӨП АГЕНТТҮҮ СИНХРОНДОРДУ ОРНОТУ
көп агент түзүү долбоорунда, көп агент убакыт синхрондоштуруу орнотуу абдан маанилүү кадам болуп саналат. Түзүү процессинде ар бир роботтун асинхрондук система убактысына байланыштуу көптөгөн көйгөйлөр пайда болот. Көп агенттик убакытты синхрондоштуруу эки жагдайга бөлүнөт, атап айтканда, кожоюн да, кул роботтору да тармакка туташкан кырдаал жана экөө тең тармактан ажыратылган кырдаал.
Ийгиликтүү мастер/кул тармак туташуусу
Мульти-агент байланышы конфигурациялангандан кийин, эгер мастер жана кызматтык машиналар тармакка ийгиликтүү кошула алса, алар тармак убактысын автоматтык түрдө синхрондошот. Бул учурда, убакыт синхрондоштурууга жетүү үчүн мындан аркы аракеттер талап кылынбайт.
Тармактын ажыратылышы боюнча көйгөйлөрдү чечүү
Мульти-агент байланышы конфигурациялангандан кийин, эгерде башкы жана кошумча түзмөктөр тармакка ийгиликтүү туташа албаса, убакытты кол менен синхрондоштуруу керек. Убакытты орнотууну аяктоо үчүн биз дата буйругун колдонобуз.
Биринчиден, терминатор куралын орнотуңуз. Терминатор куралынан терезени бөлүүчү куралды колдонуп, мастер менен кулдун башкаруу терминалдарын бир терминалдык терезеге жайгаштырыңыз (бөлүнгөн терезени орнотуу үчүн чычкандын оң баскычын чыкылдатыңыз жана ар кандай терезелерде ssh аркылуу мастер жана кул машиналарына кириңиз) .
- sudo apt-get install terminator # Терминатордун терезесин бөлүү үчүн жүктөө
Жогорку сол жактагы баскычты чыкылдатып, [Баарына берүү]/[Баарына берүү] опциясын тандап, төмөнкү буйрукту киргизиңиз. Андан кийин терминатор куралын колдонуп кожоюн менен кулга бирдей убакытты коюңуз.
- sudo date -s "2022-01-30 15:15:00" # Убакытты кол менен орнотуу
MULTI-AGENT ROS ПАКЕТ
ROS пакетинин киришүүсү
Кулдун атын орнотуңуз
wheeltec_multi функция пакетинде каталарды болтурбоо үчүн ар бир кул робот үчүн уникалдуу ат коюу керек. Мисалы үчүнample, slave1 үчүн №1 жана slave2 үчүн №2, ж.б.. Ар кандай аттарды коюунун максаты - иштеп жаткан түйүндөрдү топтоо жана аларды ар кандай аттар мейкиндиктери менен айырмалоо. Мисалы үчүнample, 1-кулдун радар темасы/кул1/сканер жана 1-кулдун LiDAR түйүнү/кул1/лазер.
Кул координаттарын орнотуңуз
wheeltec_multi пакети ыңгайлаштырылган түзүлүштөрдү ишке ашыра алат. Ар кандай түзүлүштөр талап кылынганда, жөн гана кул роботтордун каалаган координаттарын өзгөртүңүз. Slave_x жана slave_y - кулдун x жана y координаттары, кожоюну баштапкы шилтеме чекити катары. Мастердин алдыңкы жагы х координатанын оң багыты, ал эми сол жагы у координатасынын оң багыты. Орнотуу аяктагандан кийин, кулдун күтүлгөн координаты катары TF координата кулу1 чыгарылат. Эгерде бир кожоюн жана эки кул бар болсо, анда төмөнкү түзүлүш орнотулушу мүмкүн:
- Горизонталдык калыптандыруу: Сиз сол жактагы кулдун координаталарын slave_x:0, slave_y: 0.8, ал эми кулдун координаттарын slave_x:0, slave_y:-0.8ге орното аласыз.
- Мамычаны түзүү: Бир кулдун координаттарын төмөнкүгө коюуга болот: slave_x:-0.8, slave_y:0, ал эми экинчи кулдун координаттарын төмөнкүгө коюуга болот: slave_x:-1.8, slave_y:0.
- Үч бурчтук түзүлүшү: бир кулдун координаттарын төмөнкүгө коюуга болот: slave_x:-0.8, slave_y: 0.8, ал эми экинчи кулдун координаттарын: slave_x:-0.8, slave_y:-0.8 деп коюуга болот.
Башка түзүмдөр зарыл болгон учурда ылайыкташтырылышы мүмкүн.
Эскертүү:
- Эки роботтун ортосундагы сунушталган аралык 0.8 деп коюлган жана 0.6дан төмөн болбошу сунушталат. Кулдар менен кожоюндун ортосундагы аралыкты 2.0ден төмөн коюу сунушталат. Ал кожоюндан канчалык алыс болсо, кожоюн бурулуп жатканда кулдун сызыктуу ылдамдыгы ошончолук чоң болот. Максималдуу ылдамдыктын чектелишине байланыштуу кулдун ылдамдыгы талапка жооп бербесе четтеп кетет. Роботтун түзүлүшү башаламан болуп калат.
Кул кызматын баштоо
- Кулдун баштапкы абалы демейки боюнча күтүлгөн координаттарда болот. Программаны иштетүүдөн мурун, жөн гана инициализациялоону аяктоо үчүн кул роботту күтүлгөн координаттарына жакын жайгаштырыңыз. Бул функция 4-1-3-сүрөттө көрсөтүлгөндөй, wheeltec_multi пакетиндеги turn_on_wheeltec_robot.launch деп аталган файлдагы pose_setter түйүнү тарабынан ишке ашырылат.
Колдонуучу кулдун баштапкы абалын ыңгайлаштырууну кааласа, ал wheeltec_slave.launch ичиндеги 4-1-4-сүрөттө көрсөтүлгөндөй slave_x жана slave_y маанилерин гана коюшу керек. slave_x жана slave_y маанилери turn_on_wheeltec_robot.launch'ке өтүп, поза_жөндөөчү түйүнгө дайындалат. Программаны иштетүүдөн мурун роботту жөн гана ылайыкташтырылган абалга коюңуз.
Позиция конфигурациясы
Көп агенттик түзүлүштө биринчи чечиле турган маселе кожоюн менен кулдун жайгашуусу болуп саналат. Мастер алгач 2D картасын түзөт. Картаны түзүп жана сактагандан кийин, 2D навигация пакетин иштетиңиз жана мастердин жайгашуусун конфигурациялоо үчүн 2D навигация топтомундагы адаптацияланган Монте-Карло позициялоо алгоритмин (amcl жайгаштыруу) колдонуңуз. Кожоюн менен кулдар бир тармакта болгондуктан жана бир түйүн башкаруучусун бөлүшүшкөндүктөн, кожоюн картаны 2D навигация пакетинен ишке киргизди, бардык кулдар бир эле түйүн башкаруучусунун астында бир эле картаны колдоно алышат. Демек, кулга карта түзүүнүн кереги жок. wheeltec_slave.launch ичинде Монте-Карло позициясын (amcl позициялоо) иштетиңиз, кулдар кожоюн тарабынан түзүлгөн картаны колдонуу менен өз позицияларын конфигурациялай алышат.
Формацияны кантип түзүү жана форманы сактоо керек
калыптандыруу кыймылынын жүрүшүндө, мастер кыймылы Rviz, клавиатура, алыстан башкаруу жана башка ыкмалар менен башкарууга болот. Кул кыймылын көзөмөлдөө жана калыптануу максатына жетүү үчүн slave_tf_listener түйүнү аркылуу ылдамдыгын эсептейт. slave_tf_listener түйүнү бир катар таасирлерди жаратуучу түйүн эсептөөсү менен ашыкча ылдамдыкты болтурбоо үчүн кул ылдамдыгын чектейт. Белгилүү маанини wheeltec_slave.launch дарегинен өзгөртүүгө болот.
Түзүү алгоритминин тиешелүү параметрлери төмөнкүдөй:
Тоскоолдуктарды болтурбоо жөнүндө маалымат
Мульти-агенттүү формада мастер тоскоолдуктарды болтурбоо үчүн move_base түйүнүн колдоно алат. Бирок, кулдун инициализациясы move_base түйүнүн колдонбойт. Бул учурда, multi_avoidance түйүн кул программасында чакырылышы керек. Тоскоолдуктарды болтурбоо түйүнү пакетте демейки боюнча иштетилген. Зарыл болсо, тоскоолдуктардан качуу түйүнүн өчүрүү үчүн качууну "жалган" деп коюуга болот.
Тоскоолдуктарды болтурбоо түйүнүнүн кээ бир тиешелүү параметрлери төмөндөгү сүрөттө көрсөтүлгөн, мында коопсуз_аралык – бул тоскоолдуктун коопсуз аралык чеги, ал эми коркунучтуу_аралык – тоскоолдуктун коркунучтуу аралык чеги. Тоскоолдук коопсуз аралыкта жана коркунучтуу аралыкта болгондо, кул тоскоолдуктан качуу үчүн абалын тууралайт. Тоскоолдук коркунучта болгондо, кул тоскоолдуктан айдап кетет.
Операция процедурасы
Аткаруу буйругун киргизиңиз
Мульти-агент түзүүнү баштоодон мурун даярдыктар:
- Кожоюн менен кул бир тармакка туташып, көп агенттик байланышты туура орнотушат
- Мастер алдын ала 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
Эскертүү:
- Программаны аткаруудан мурун убакытты синхрондоштуруу операциясын бүтүрүүнү унутпаңыз.
- Көп агенттик түзүлүштүн кожоюнун башкарууда бурчтук ылдамдык өтө тез болбошу керек. Сунушталган сызыктуу ылдамдык 0.2м/с, бурчтук ылдамдыгы 0.3рад/с төмөн. Кожоюн бурулуш жасап жатканда, кул кожоюндан канчалык алыс болсо, ошончолук чоң сызыктуу ылдамдык талап кылынат. Пакеттеги сызыктуу ылдамдыкка жана бурчтук ылдамдыкка чек коюлгандыктан, машина керектүү ылдамдыкка жете албаганда, калыптануу баш аламан болот. Жалпысынан алганда, ашыкча сызыктуу ылдамдыгы роботту оңой эле зыянга учуратышы мүмкүн.
- Кулдардын саны бирден ашык болгондо, ROS хостунун борттогу Wi-Fi өткөрүү жөндөмдүүлүгү чектелүү болгондуктан, көп агенттик байланыштын үзгүлтүккө учурашы жана үзгүлтүккө учурашы оңой. Роутерди колдонуу бул көйгөйдү жакшы чече алат.
- Көп роботтуу түзүлүштүн TF дарагы (2 кул) бул: rqt_tf_tree
- Көп роботтуу түзүлүштүн түйүн мамилелеринин диаграммасы (2 кул): rqt_graph
Документтер / Ресурстар
![]() |
ROBOWORKS Robofleet КӨП АГЕНТТҮҮ АЛГОРИТМДЕР [pdf] Колдонуучунун колдонмосу Robofleet Multi Agent Algorithms, Robofleet, Multi Agent Algorithms, Agent Algorithms, Algorithms |