ROBOWORKS-ЛОГО

ROBOWORKS Robofleet МУЛТИАГЕНТНИ АЛГОРИТМИ

ROBOWORKS-Robofleet-МУЛТИ-АГЕНТНИ-АЛГОРИТМИ-ПРОДУКТ

Спецификации

  • Име на продукта: ROBOWORKS
  • Версия: 20240501
  • Подготвени от: Уейн Лиу и Джанет Лин
  • Дата: 1 Май 2024

Информация за продукта

ROBOWORKS е мултиагентна система, която позволява внедряването на различни алгоритми за координация и комуникация на роботи.

Често задавани въпроси

Въпрос: Какво трябва да направя, ако роботът не може автоматично да се свърже с Wifi?

О: Ако роботът не успее да се свърже автоматично, опитайте да изключите и поставите отново мрежовата карта и опитайте да се свържете отново.

РЕЗЮМЕ

Този документ обяснява основно използването на функционалния пакет за формиране на множество роботи, наречен wheeltec_multi.

Този документ е разделен на четири части:

  • Първата част е основно за въвеждането на метода за формиране на много роботи;
  • втората част основно описва ROS многомашинните комуникационни настройки, включително ROS конструкцията на многомашинната комуникация и проблемите, които могат да възникнат в процеса на ROS комуникация;
  • третата част основно описва стъпките на работа на синхронизирането на времето за много машини;
  • четвъртата част разяснява специфичното използване на функционалния пакет за многомашинно формиране.

Целта на този документ е въведение в многоагентните роботизирани системи и позволява на потребителите бързо да стартират проекта за създаване на множество роботи.

ВЪВЕДЕНИЕ В МУЛТИ-АГЕНТНИТЕ АЛГОРИТМИ

Алгоритми за формиране на много агенти

Този ROS пакет представя типичен проблем на мулти-агенти в съвместен контрол по време на формиране. Този урок полага основа за бъдещо развитие по тази тема. Алгоритъмът за контрол на формацията се отнася до алгоритъм, който контролира множество агенти, за да формират конкретна формация за изпълнение на задача. Сътрудничеството се отнася до сътрудничеството между множество агенти, използващи определена ограничителна връзка за изпълнение на задача. Вземете задвижването на формирането с множество роботи като примерampНапример, сътрудничеството означава, че множество роботи заедно образуват желана формация. Същността му е определена математическа зависимост, която се спазва между позициите на всеки робот. Методите за формиране се разделят главно на централизиран контрол на формирането и разпределен контрол на формирането. Централизираните методи за контрол на образуването включват главно метода на виртуалната структура, метода на графичната теория и метода за прогнозиране на модела. Методите за контрол на разпределената формация включват главно метод лидер-последовател, метод, базиран на поведение, и метод на виртуална структура.
Този ROS пакет прилага метода лидер-последовател в метода за контрол на разпределената формация за изпълнение на задвижването на формация с множество роботи. Един робот във формацията е определен като лидер, а други роботи са определени като роби, които следват лидера. Алгоритъмът използва траекторията на движение на водещия робот, за да зададе координатите, които да бъдат проследявани от следващите роботи с определена посока и скорост. Чрез коригиране на отклоненията на позицията от координатите за проследяване, последователите в крайна сметка ще намалят отклонението между последователя и очакваните координати за проследяване до нула, за да постигнат целите на задвижването на формацията. По този начин алгоритъмът е относително по-малко сложен.

Алгоритми за избягване на препятствия

Общ алгоритъм за избягване на препятствия е методът на изкуственото потенциално поле. Движението на робота във физическа среда се разглежда като движение във виртуално изкуствено силово поле. Най-близкото препятствие се идентифицира от LiDAR. Препятствието осигурява отблъскващо силови поле за генериране на отблъскване към робота, а целевата точка осигурява гравитационно поле за генериране на гравитационна сила към робота. По този начин той контролира движението на робота под комбинираното действие на отблъскване и привличане.
Този ROS пакет е подобрение, базирано на метода на изкуственото потенциално поле. Първо, алгоритъмът за формиране изчислява линейната и ъгловата скорост на подчинения последовател. След това увеличава или намалява линейната и ъгловата скорост според изискванията за избягване на препятствия. Когато разстоянието между подчинения последовател и препятствието е по-близо, силата на отблъскване на препятствието към подчинения последовател е по-голяма. Междувременно промяната на линейната скорост и вариациите на ъгловата скорост са по-големи. Когато препятствието е по-близо до предната част на подчинения последовател, отблъскването на препятствието към подчинения последовател става по-голямо (предното отблъскване е най-голямо, а страничното отблъскване е най-малко). В резултат на това вариациите на линейната скорост и ъгловата скорост са по-големи. Чрез метода на изкуственото потенциално поле той подобрява решение, когато робот може да спре да реагира пред препятствие. Това служи за по-добро избягване на препятствия.

НАСТРОЙКА НА МУЛТИ-АГЕНТНА КОМУНИКАЦИЯ

Мултиагентната комуникация е една от ключовите стъпки за завършване на формация с множество роботи. Когато относителните позиции на множество роботи са неизвестни, роботите трябва да споделят информация помежду си чрез комуникация, за да улеснят установяването на връзки. ROS-разпределената архитектура и мрежовите комуникации са много мощни. Той е удобен не само за комуникация между процесите, но и за комуникация между различни устройства. Чрез мрежова комуникация всички възли могат да работят на всеки компютър. Основните задачи като обработката на данни се изпълняват от страната на хоста. Подчинените машини са отговорни за получаването на данни за околната среда, събрани от различни сензори. Хостът тук е мениджърът, който управлява главния възел в ROS. Настоящата мултиагентна комуникационна рамка е чрез мениджър на възли и мениджър на параметри за управление на комуникациите между множество роботи.ROBOWORKS-Robofleet-МУЛТИ-АГЕНТНИ-АЛГОРИТМИ-FIG- (1)

Стъпките за настройка на мултиагентни комуникации

  • Настройте ROS Controls в същата мрежа
    • Има 2 начина за настройка на главни/подчинени ROS контроли в една и съща мрежа.

Вариант 1:

Главният хост създава локален wifi чрез стартиране на главния мениджър на възли. Обикновено един от роботите, който е определен като главен, създава тази wifi мрежа. Други роботи или виртуални машини се присъединяват към тази wifi мрежа като роби.

Опции 2:

Локалната wifi мрежа се предоставя от рутер на трета страна като център за предаване на информация. Всички роботи са свързани към един и същи рутер. Рутерът може да се използва и без интернет връзка. Изберете един от роботите като главен и стартирайте главния мениджър на възли. Другите роботи са определени като подчинени и управляват мениджъра на главния възел от главния.
Решението коя опция да изберете зависи от изискванията на вашия проект. Ако броят на роботите, които трябва да комуникират, не е голям, се препоръчва Вариант 1, тъй като спестява разходи и е лесен за настройка. Когато броят на роботите е голям, се препоръчва Вариант 2. Ограничението върху изчислителната мощност на главното управление на ROS и ограничената честотна лента на борда на wifi могат лесно да причинят забавяния и смущения в мрежата. Рутер може лесно да коригира тези проблеми. Моля, имайте предвид, че когато осъществявате мулти-агентна комуникация, ако виртуалната машина се използва като ROS slave, нейният мрежов режим трябва да бъде настроен на мостов режим.

Конфигурирайте променливите на средата Master/Slave

След като всички главни ROS са в една и съща мрежа, променливите на средата за комуникация с множество агенти трябва да бъдат зададени. Тази променлива на средата е конфигурирана във файла .bashrc в главната директория. Изпълнете командата gedit ~/.bashrc, за да го стартирате. Моля, обърнете внимание, че както .bashrc файловете на главния, така и на подчинения в мултиагентна комуникация трябва да бъдат конфигурирани. Това, което трябва да се промени, са IP адресите в края на файла. Двата реда са ROS_MASTER_URI и ROS_HOSTNAME, както е показано на фигура 2-1-4. ROS_MASTER_URI и ROS_HOSTNAME на ROS хоста са локални IP адреси. ROS_MASTER_URI в ROS подчинения .bashrc файл трябва да бъде променен на IP адреса на хоста, докато ROS_HOSTNAME остава като локален IP адрес.ROBOWORKS-Robofleet-МУЛТИ-АГЕНТНИ-АЛГОРИТМИ-FIG- (2)

Многомашинната комуникация на ROS не е ограничена от версията на ROS. В процеса на многомашинна комуникация трябва да сте наясно със следното:

  1. Работата на ROS подчинената програма зависи от ROS главната програма на ROS главното устройство. ROS главната програма трябва да се стартира първо на главното устройство, преди да изпълни подчинената програма на подчиненото устройство.
  2. IP адресите на главните и подчинените машини при комуникация с няколко машини трябва да са в една и съща мрежа. Това означава, че IP адресът и подмрежовата маска са в една и съща мрежа.
  3. ROS_HOSTNAME в конфигурационния файл на средата .bashrc не се препоръчва да се използва localhost. Препоръчително е да използвате конкретен IP адрес.
  4. В случай, че подчиненият IP адрес не е зададен правилно, подчиненото устройство все още може да има достъп до ROS master, но не може да въвежда контролна информация.
  5. Ако виртуалната машина участва в комуникацията с множество агенти, нейният мрежов режим трябва да бъде настроен на мостов режим. Статичен IP не може да бъде избран за мрежова връзка.
  6. Многомашинната комуникация не може view или се абонирайте за теми от тип данни за съобщения, които не съществуват локално.
  7. Можете да използвате демонстрацията на симулацията на Little Turtle, за да проверите дали комуникацията между роботите е успешна:
    • a. Бягай от господаря
      • rescore #launch ROS услуги
      • трибуна костенурки turtlesim_node #launch костенурки интерфейс
    • b. Бягай от роба
      • повторно стартиране на костенурки turtle_teleop_key #стартиране на възел за управление на клавиатурата за костенурки

Ако можете да манипулирате движенията на костенурката от клавиатурата на подчинения, това означава, че комуникацията главен/подчинен е установена успешно.

Автоматична Wifi връзка в ROS

Процедурите по-долу обясняват как да конфигурирате робота да се свързва автоматично към хост мрежата или мрежата на рутера.

Автоматична настройка на Wifi връзка за Jetson Nano

  1. Свържете Jetson Nano чрез отдалечения инструмент VNC или директно към екрана на компютъра. Щракнете върху иконата на wifi в горния десен ъгъл, след което щракнете върху „Редактиране на връзки.“ROBOWORKS-Robofleet-МУЛТИ-АГЕНТНИ-АЛГОРИТМИ-FIG- (3)
  2. Щракнете върху бутона + в Мрежови връзки:ROBOWORKS-Robofleet-МУЛТИ-АГЕНТНИ-АЛГОРИТМИ-FIG- (4)
  3. Под прозореца „Избор на тип връзка“ щракнете върху падащото меню и щракнете върху бутона „Създаване…“:ROBOWORKS-Robofleet-МУЛТИ-АГЕНТНИ-АЛГОРИТМИ-FIG- (5)
  4. В контролния панел щракнете върху опцията Wifi. Въведете Wifi името за свързване в полетата „Име на връзката” и SSID. Изберете „Клиент“ в падащото меню „Режим“ и изберете „wlan0“ в падащото меню „Устройство“.ROBOWORKS-Robofleet-МУЛТИ-АГЕНТНИ-АЛГОРИТМИ-FIG- (6)
  5. В контролния панел щракнете върху опцията „Общи“ и отметнете „Автоматично свързване към тази мрежа…“. Задайте приоритета на връзката на 1 в опцията „Приоритет на връзката за автоматично активиране“. Поставете отметка в опцията „Всички потребители могат да се свързват с тази мрежа“. Когато опцията е зададена на 0 в „Приоритет на връзката за автоматично активиране“ за други wifi, това означава, че това е предпочитаната wifi мрежа в миналото.ROBOWORKS-Robofleet-МУЛТИ-АГЕНТНИ-АЛГОРИТМИ-FIG- (7)
  6. Щракнете върху опцията „Wi-Fi Security“ в контролния панел. Изберете „WPA & WPA2 Personal“ в полето „Security“. След това въведете паролата за Wifi в полето „Парола”.ROBOWORKS-Robofleet-МУЛТИ-АГЕНТНИ-АЛГОРИТМИ-FIG- (8)

Забележка: Ако роботът не може автоматично да се свърже с wifi мрежата след зареждане, когато приоритетът на wifi е зададен на 0, това може да е причинено от проблем със слаб wifi сигнал. За да избегнете този проблем, можете да изберете да изтриете всички Wi-Fi опции, които са били свързани в миналото. Запазете само wifi мрежата, създадена от хоста или рутера. Щракнете върху опцията „IPv4 Settings“ в контролния панел на мрежовите настройки. Изберете опцията „Ръчно“ в полето „Метод“. След това щракнете върху „Добавяне“, попълнете IP адреса на подчинената машина в полето „Адрес“. Попълнете “24” в полето “Netmask”. Попълнете сегмента на IP мрежата в „Gateway“. Променете последните три цифри на IP мрежовия сегмент на „1“. Основната цел на тази стъпка е да коригирате IP адреса. След като това приключи за първи път, IP адресът ще остане непроменен при последващо свързване към същия WIFI.ROBOWORKS-Robofleet-МУЛТИ-АГЕНТНИ-АЛГОРИТМИ-FIG- (9)

След като всички настройки са конфигурирани, щракнете върху „запазване“, за да запазите настройките. След като запазването е успешно, роботът автоматично ще се свърже към мрежата на хоста или рутера, когато е включен.

Забележка:

  1. IP адресът, зададен тук, трябва да бъде същият като IP адреса, зададен във файла .bashrc в раздел 2.1.
  2. IP адресът на главния и всеки подчинен трябва да бъде уникален.
  3. Главният и подчиненият IP адреси трябва да са в един и същи мрежов сегмент.
  4. Трябва да изчакате хостът или рутерът да изпратят WiFi сигнал, преди подчиненият робот да може да се включи и автоматично да се свърже с WiFi мрежата.
  5. След като настройката е конфигурирана, ако роботът не може автоматично да се свърже с WiFi, когато е включен, моля, включете и изключете мрежовата карта и опитайте да се свържете отново.

Автоматична настройка на Wifi връзка за Raspberry Pi

Процедурата за Raspberry Pi е същата като за Jetson Nano.

Автоматична настройка на Wifi връзка за Jetson TX1

Настройката в Jetson TX1 е почти същата като в Jetson Nano с едно изключение Jetson TX1 трябва да избере устройството на „wlan1“ в „Устройство“ в контролния панел на мрежовите настройки.ROBOWORKS-Robofleet-МУЛТИ-АГЕНТНИ-АЛГОРИТМИ-FIG- (10)

НАСТРОЙКА ЗА СИНХРОНИЗАЦИЯ НА МНОГО АГЕНТИ

В проекта за формиране на много агенти настройката за синхронизиране на времето за много агенти е решаваща стъпка. В процеса на формиране ще бъдат причинени много проблеми поради асинхронното системно време на всеки робот. Синхронизирането на времето с множество агенти е разделено на две ситуации, а именно ситуацията, в която главният и подчинените роботи са свързани към мрежата, и ситуацията, в която и двата са изключени от мрежата.

Успешна мрежова връзка главен/подчинен

След като мулти-агентната комуникация е конфигурирана, ако главните и подчинените машини могат успешно да се свържат към мрежата, те автоматично ще синхронизират мрежовото време. В този случай не са необходими допълнителни действия за постигане на времева синхронизация.

Отстраняване на неизправности при прекъсване на мрежовите връзки

След като мултиагентната комуникация е конфигурирана, ако главното и подчинените устройства не могат да се свържат успешно с мрежата, е необходимо ръчно да синхронизирате часа. Ще използваме командата date, за да завършим настройката на часа.

Първо инсталирайте инструмента за терминиране. От инструмента за терминатор използвайте инструмента за разделяне на прозорци, за да поставите контролните терминали на главния и подчинения в един и същ терминален прозорец (щракнете с десния бутон, за да зададете разделен прозорец и влезте в главните и подчинените машини чрез ssh в различни прозорци) .

  • sudo apt-get install terminator # Изтеглете терминатора, за да разделите прозореца на терминала

Щракнете върху бутона горе вляво, изберете опцията [Излъчване до всички]/[Излъчване до всички] и въведете следната команда. След това използвайте инструмента за терминатор, за да зададете едно и също време за главния и подчинения.ROBOWORKS-Robofleet-МУЛТИ-АГЕНТНИ-АЛГОРИТМИ-FIG- (11)

  • sudo date -s “2022-01-30 15:15:00” # Ръчна настройка на часа

МУЛТИАГЕНТЕН ROS ПАКЕТ

Въведение в пакета ROS

Настройте име на роб

Във функционалния пакет wheeltec_multi е необходимо да се зададе уникално име за всеки подчинен робот, за да се избегнат грешки. Напримерample, № 1 за slave1 и № 2 за slave2 и т.н. Целта на задаването на различни имена е да се групират работещи възли и да се разграничат по различни пространства от имена. Напримерample, радарната тема на подчинен 1 е/подчинен1/сканиране, а възелът LiDAR на подчинен 1 е/подчинен1/лазер.

Задайте координати на подчинени

Пакетът wheeltec_multi може да реализира персонализирани формации. Когато са необходими различни формации, просто променете желаните координати на робските роботи. Slave_x и slave_y са координатите x и y на подчинения с главния като оригинална референтна точка. Предната страна на шаблона е положителната посока на координатата x, а лявата страна е положителната посока на координатата y. След като настройката приключи, TF координата slave1 ще бъде издадена като очаквана координата на slave. Ако има един главен и два подчинени, може да се зададе следната формация:

  1. Хоризонтална формация: Можете да зададете координатите на подчинения отляво slave_x:0, slave_y: 0.8, а координатите на подчинения отдясно slave_x:0, slave_y:-0.8.
  2. Формиране на колона: Координатите на едно подчинено устройство могат да бъдат зададени на: slave_x:-0.8, slave_y:0, а координатите на другото подчинено устройство могат да бъдат зададени на: slave_x:-1.8, slave_y:0.
  3. Триъгълна формация: Координатите на единия slave могат да бъдат зададени на: slave_x:-0.8, slave_y: 0.8, а координатите на другия slave могат да бъдат зададени на: slave_x:-0.8, slave_y:-0.8.

Други формации могат да бъдат персонализирани според нуждите.

Забележка:

  • Препоръчителното разстояние между двата робота е 0.8, като се препоръчва да не е по-малко от 0.6. Разстоянието между подчинените и главния се препоръчва да бъде зададено под 2.0. Колкото по-далеч е от главния, толкова по-голяма е линейната скорост на подчинения, когато главният се върти. Поради ограничението на максималната скорост, скоростта на подчинения ще се отклони, ако не отговаря на изискванията. Формацията на робота ще стане хаотична.

Инициализация на подчинената позиция

  1. Първоначалната позиция на подчинения е на очакваните координати по подразбиране. Преди да стартирате програмата, просто поставете подчинения робот близо до очакваните му координати, за да завършите инициализацията. Тази функция се изпълнява от възела pose_setter във файла с име turn_on_wheeltec_robot.launch в пакета wheeltec_multi, както е показано на Фигура 4-1-3.ROBOWORKS-Robofleet-МУЛТИ-АГЕНТНИ-АЛГОРИТМИ-FIG- (12)

Ако потребителят иска да персонализира първоначалната позиция на подчинения, той или тя трябва само да зададе стойностите slave_x и slave_y, както е показано на фигура 4-1-4 в wheeltec_slave.launch. Стойностите slave_x и slave_y ще бъдат предадени на turn_on_wheeltec_robot.launch и присвоени на възела pose_setter. Просто поставете робота в персонализирана позиция, преди да стартирате програмата.ROBOWORKS-Robofleet-МУЛТИ-АГЕНТНИ-АЛГОРИТМИ-FIG- (13)

Конфигурация на позицията

В многоагентна формация първият проблем, който трябва да бъде решен, е позиционирането на главния и подчинения. Капитанът първо ще изгради 2D карта. След като създадете и запазите картата, стартирайте 2D навигационния пакет и използвайте адаптивния алгоритъм за позициониране Монте Карло (amcl позициониране) в 2D навигационния пакет, за да конфигурирате позиционирането на мастера. Тъй като главният и подчинените са в една и съща мрежа и споделят един и същ мениджър на възли, главният е стартирал картата от 2D навигационния пакет, всички подчинени могат да използват една и съща карта под един и същ мениджър на възли. Следователно робът не трябва да създава карта. В wheeltec_slave.launch стартирайте позициониране Монте Карло (amcl позициониране), подчинените устройства могат да конфигурират своите позиции, като използват картата, създадена от главния.ROBOWORKS-Robofleet-МУЛТИ-АГЕНТНИ-АЛГОРИТМИ-FIG- (14)

Как да създадете формация и да поддържате формация

В процеса на движение на формирането, основното движение може да се контролира от Rviz, клавиатура, дистанционно управление и други методи. Подчиненото устройство изчислява скоростта си чрез възела slave_tf_listener, за да контролира движението си и да постигне целта на формацията. Възелът slave_tf_listener ограничава подчинената скорост, за да избегне прекомерната скорост чрез изчислението на възела, което ще причини поредица от въздействия. Специфичната стойност може да бъде модифицирана в wheeltec_slave.launch.ROBOWORKS-Robofleet-МУЛТИ-АГЕНТНИ-АЛГОРИТМИ-FIG- (15)

Съответните параметри на алгоритъма за формиране са както следва: ROBOWORKS-Robofleet-МУЛТИ-АГЕНТНИ-АЛГОРИТМИ-FIG- (16)

Информация за избягване на препятствия

Във формация с множество агенти главният може да използва възела move_base, за да завърши избягването на препятствие. Инициализирането на подчинения обаче не използва възела move_base. В този момент възелът multi_avoidance трябва да бъде извикан в подчинената програма. Възелът за избягване на препятствия е активиран по подразбиране в пакета. Ако е необходимо, избягването може да бъде зададено на „false“, за да деактивирате възела за избягване на препятствия. ROBOWORKS-Robofleet-МУЛТИ-АГЕНТНИ-АЛГОРИТМИ-FIG- (17)

Някои съответни параметри на възела за избягване на препятствия са показани на фигурата по-долу, където safe_distance е ограничението на безопасното разстояние до препятствието, а danger_distance е ограничението на опасното разстояние до препятствието. Когато препятствието е на безопасно и опасно разстояние, подчиненото устройство коригира позицията си, за да избегне препятствието. Когато препятствието е в опасност, робът ще се отдалечи от препятствието.ROBOWORKS-Robofleet-МУЛТИ-АГЕНТНИ-АЛГОРИТМИ-FIG- (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 m/s, степента на ъглова скорост е под 0.3 rad/s. Когато главният прави завой, колкото по-далеч е подчиненият от главния, толкова по-голяма линейна скорост е необходима. Поради ограничението на линейната скорост и ъгловата скорост в пакета, когато подчинената кола не може да достигне необходимата скорост, образуването ще бъде хаотично. Като цяло прекомерната линейна скорост може лесно да повреди робота.
  3. Когато броят на подчинените устройства е повече от един, поради ограничената честотна лента на борда на wifi на ROS хоста, е лесно да се предизвикат значителни забавяния и прекъсване на комуникацията с множество агенти. Използването на рутер може да реши добре този проблем.
  4. TF дървото на формацията с множество роботи (2 подчинени) е: rqt_tf_tree
  5. Диаграмата на връзката на възлите на формацията с множество роботи (2 подчинени) е: rqt_graph

Документи / Ресурси

ROBOWORKS Robofleet МУЛТИАГЕНТНИ АЛГОРИТМИ [pdf] Ръководство за потребителя
Robofleet Multi Agent Алгоритми, Robofleet, Multi Agent Алгоритми, Агент Алгоритми, Алгоритми

Референции

Оставете коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са маркирани *