Ако градите аутономно возило (било да је у питању земаљско Rover, дрон или морски робот), избор праве платформе је кључан за убрзање пројекта. Овај водич ће вам помоћи да упоредите и одлучите између 3 популарне платформе: Arduino, ArduPilot и ROS 2.
Пре него што почнемо: неки фактори које треба узети у обзир
Избор праве платформе за робота заснованог на ГПС-у није само питање budget и технички specificationsВерујемо да је потребно узети у обзир и друге факторе попут времена потребног за пласман на тржиште и скалабилности.
Буџет за хардвер
- Системи базирани на Ардуину су најјефтинији и широко доступни.
- Хардвер компатибилан са ArduPilot-ом (нпр. Pixhawk, CubePilot) нуди солидну средњу цену у погледу цене хардвера, посебно за летелице и бродове са уграђеним GPS-ом, IMUи подршку за компас.
- ROS 2 пројекти често захтевају снажније уграђено рачунарство (нпр. Jetson Xavier, Intel NUC) и додатне сензоре (LIDAR, камере), што повећава почетну инвестицију, али омогућава већу аутономију и флексибилност.
Техничке вештине
- Ардуино је најлакша почетна тачка ако је програмирање опција за вас.
- АрдуПилот уклања програмирање из захтева и пружа вам конфигурабилни аутопилот који укључује алате за планирање мисије као што су QGroundControl или Mission PlannerПотребно је извесно подешавање и разумевање система управљања.
- ROS 2 је најпогоднији за кориснике са искуством у Linux-у, ROS middleware-у, интеграцији сензора и развоју алгоритама (нпр. фузија сензора, SLAM, AI). Максимална аутономија и флексибилност.
Људски буџет
Посебно за компаније, време је такође новац.
- Ако је програмирање опција за вас, Ардуино ће вам омогућити да развијете робота за релативно кратко време, са мноштвом примера на мрежи. Изазов ће настати ако желите да додате додатне сензоре. Доста касно у пројекту схватићете: немате више меморије за све ствари које сте желели да уклопите.
- Ардупилот, са својим окружењем без програмирања, које само подешава параметре, помоћи ће вам да на најбржи могући начин пређете од идеје до стварности.
- ROS2 је најмоћнија и најфлексибилнија платформа која долази са својом ценом: може потрајати неко време да стигнете тамо где желите.
Тип возила
- Копнена возила (UGV):
Све три платформе могу се користити у зависности од сложености пројекта.- Ардуино је веома погодан за једноставне роботе на точковима (нпр. платформе са диференцијалним погоном које се користе у образовним или пољопривредним апликацијама за праћење) где робот прати ГПС тачке или логове
позицију без потребе за напредном аутономијом. - АрдуПилот нуди робусну подршку за диференцијални погон, Акерманов управљач и добро се интегрише са алатима за планирање мисије.
- ROS 2 је идеалан за сложена понашања попут аутономне навигације у динамичким окружењима, планирања путање или фузије сензора са
ЛИДАР и вид.
- Ардуино је веома погодан за једноставне роботе на точковима (нпр. платформе са диференцијалним погоном које се користе у образовним или пољопривредним апликацијама за праћење) где робот прати ГПС тачке или логове
- Летелице (БПЛО):
АрдуПилот се истиче захваљујући свом зрелом фирмверу за контролу лета, уграђеном ГПС-у и IMU интеграција и безбедносни механизми (нпр. безбедносни механизми, геоограде). ROS 2 се користи у напредним апликацијама као што су координисани лет, рачунарски вид или обрада помоћу вештачке интелигенције на броду. - Морска возила (USV):
ArduPilot подржава режиме рада површинских возила са компензацијом ветра и праћењем тачака пута. ROS 2 може помоћи роботу да обавља напредне задатке попут праћења плана патроле и аутоматског избегавања препрека. Arduino се такође може користити за основне роботе за праћење бова или плутајуће платформе које треба да бележе GPS податке и крећу се дуж унапред дефинисаних путања помоћу једноставних актуатора.
Поређење карактеристика: Arduino, ArduPilot, ROS 2
Хајде да погледамо детаљније техничко поређење ове 3 платформе.
|
одлика
|
Ардуино
|
Ардупилот
|
РОС2
|
|---|---|---|---|
|
Једноставност коришћења
|
Потребно је програмирање, али је погодно за почетнике
|
Није потребно програмирање, са опсежним туторијалима
|
Напредно, захтева познавање Линукса
|
|
ГПС интеграција
|
Пример кода доступан онлајн
|
Пуна GPS и RTK подршка
|
Подржава GPS путем фузије драјвера/сензора
|
|
Подршка за фузију сензора
|
Ограничена, ручна имплементација
|
Уграђени проширени Калманови филтери (EKF)
|
Напредне опције, али је потребно програмирање (нпр. NavSat, robot_localization)
|
|
Подршка за аутономију
|
Нема контролне станице, потребно је ручно програмирање
|
Планирање мисије помоћу графичког корисничког интерфејса, аутономни режими
|
Потпуно прилагодљива аутономија, али је потребно програмирање
|
|
скалабилност
|
низак
|
Средњи
|
висок
|
|
Могућност рада у реалном времену
|
Ограничен
|
Аутопилот у реалном времену
|
Подржава рад у реалном времену путем DDS-а (Data Distribution Service), потребно је подешавање
|
|
Заједница
|
Велики, фокусиран на хобисте
|
Велики, фокусиран на дронове/возила
|
Раст, посебно у роботици/индустрији
|
Практично поређење: Arduino, ArduPilot, ROS 2
Али колико је то заправо сложено? Хајде да покушамо да сумирамо кораке на високом нивоу потребне за интеграцију сваке од платформи. Покушајте да замислите да ли је то нешто што бисте могли да урадите.
- Ардуино:
Повежите GPS модул са Arduino плочом тако што ћете га сложити или ожичити UART порт. Додајте TinyGPS-Plus библиотеку у вашу скицу. У loop(), читајте долазне податке, анализирајте их. НМЕА реченице и позовите gps.location.lat() / gps.location.lng(). Одштампајте координате на серијски монитор или прикључени ЛЦД. Почните са програмирањем логике вожње на основу ГПС позиције. - АрдуПилот:
Укључите ГПС модул у Pixhawk (или Cube) GPS порт помоћу JST каблова. Флешовати ArduPilot фирмвер за ваш тип возила. Провести неко време подешавајући параметре аутопилота. Покренути Mission Planner или QGroundControl: фирмвер аутоматски декодира NMEA, шаље га вашој земаљској контролној станици, а графички кориснички интерфејс приказује географску ширину/дужину уживо на мапи, није потребно додатно програмирање, а логови се могу сачувати за каснији преглед. - РОС 2:
Причврстите ArduSimple пријемник на ваш рачунар или једноплочни рачунар и покрените драјверски чвор (нпр. gpsd_client). Овај чвор објављује sensor_msgs/NavSatFix поруке на теми /fix. Било који ROS 2 чвор може се претплатити на /fix за задатке као што су евидентирање сирових података или додавање алгоритама за локализацију. У терминалу можете посматрати објављене податке помоћу ros2 topic echo /fix и користити ros2 bag record /fix да бисте их снимили за репродукцију или офлајн анализу.
Избор праве платформе: неколико примера
Сваки пројекат има различите GPS потребе у зависности од примене, окружења и потребног нивоа аутономије. У наставку је приказ типичних GPS-оријентисаних случајева употребе и најприкладнија платформа за сваки од њих.
|
Тип пројекта
|
Препоручена платформа
|
Зашто?
|
|---|---|---|
|
Једноставан ГПС логер,
Демо навигације |
Ардуино
|
Једноставно за подешавање, исплативо, одлично за основни ГПС и израду прототипова.
|
|
Аутономни дрон,
Морско возило (путне тачке) |
АрдуПилот
|
Интегрисани ГПС + IMU + компас, алати за планирање мисије, RTK и подршка за курс.
|
|
Мултисензорско истраживање,
Комерцијални робот |
РОС 2
|
Напредна фузија сензора (GPS, IMU, ЛИДАР), висок ниво аутономије и прилагођавања.
|
|
Прецизна пољопривреда са RTK-ом
|
Ардупилот + РОС 2
|
АрдуПилот је довољан за прецизну контролу путање, РОС 2 се може додати за вештачку интелигенцију или напредну фузију сензора
|
|
GPS навигација роја или вишеробота
|
РОС 2
|
Подржава дистрибуиране системе, комуникацију између робота, дељене мапе и координацију.
|
|
Плутајућа бова,
GPS праћени сензорски чвор |
Ардуино
|
Ардуино за једноставност
|
Комбиновање платформи
Зашто бирати само један од њих ако их можете комбиновати за бржи успех? Можда би било добро користити:
- Ардупилот на контролеру лета за аутономно планирање лета и мисије.
- Пратећи рачунар са ROS 2 (на Raspberry Pi или Jetson) за руковање обрадом вида, мапирањем или аутономним одлукама. Овај рачунар може преузети улогу Ardupilot-а када завршите развој.
- Ардуино за додавање функционалности које нису укључене у Ардупилот или ваш SBC, као што су контрола ЛЕД сигнала или очитавање додатних сензора.
Завршне препоруке и туторијали
- За почетнике и образовну употребу, Ардуино је одлична почетна тачкаОмогућава брзо истраживање GPS концепата уз минималне трошкове, што га чини идеалним за учење и израду прототипова.
- За поуздану и проверену аутономну навигацију, посебно у дроновима, чамцима или возилима спремним за употребу, ArduPilot пружа солидну основу. Његове уграђене GPS функције, алати за планирање мисија и широка хардверска подршка чине га решењем за многе примене у стварном свету. Ардупилот је дефинитивно најбржи пут до функционалног решења.
- За напредне, модуларне и скалабилне системе — посебно оне који захтевају фузију више сензора, висок ниво аутономије или флексибилност развоја — ROS 2 је најмоћнија и најприлагодљивија опција. Посебно за роботе на копну или мултиагентне системе. ROS2 је прави пут ако развијате професионалног робота од нуле.
