CS Field Session

CG_GUI_19

Передумови

Протягом літа 2020 року я проходив курс CSCI370 або “Розширене програмне забезпечення” в рамках моєї програми бакалаврату з комп’ютерних наук у Колорадському університеті. CSCI370 - це курс, який змушує студентів проектувати, реалізовувати та документувати програмні рішення для компанії. Це дозволяє студентам застосовувати свої знання з курсу до реальних проблем комп’ютерних наук. Ви можете дізнатися більше про курс тут.

На курсі ви можете вирішити, над яким проектом/компанією ви будете працювати. Курс надав PDF-файли, що детально описують кожен проект і компанію. Врешті-решт я вирішив працювати над проектом, опублікованим компанією Lunar Outpost, під назвою Виявлення ковзання коліс у реальному часі та виправлення помилок для покращеної навігації на Місяці. Оскільки назва довга, давайте дамо проекту псевдонім “Виявлення ковзання коліс”.

Проблема

Lunar Outpost - це стартап, який намагається створити автономні місячні ровери. На Місяці є багато місячного пилу, який відомий тим, що викликає багато ковзання коліс. Це не ідеально, оскільки ковзання коліс може призвести до того, що автономні системи втрачають слід у своєму реальному місцезнаходженні. На Землі це вирішується за допомогою даних GPS для корекції будь-якого зсуву, викликаного ковзанням коліс. Але проблема з GPS полягає в тому, що він працює лише за наявності 30+ навігаційних супутників, які постійно обертаються навколо Землі в орбіті та передають унікальні сигнали, які дозволяють комп’ютерам обчислювати своє положення. Але на Місяці наразі немає нічого подібного до GPS. Знаючи це, потрібно використовувати інший метод, окрім GPS, для виявлення ковзання коліс. Більш детальний звіт про проблему проекту можна переглянути тут.

Товариші по команді

Цей проект не був простим, тому його потрібно було виконувати в команді. Команда складалася з п’яти студентів Колорадського університету:

  • Mehmet Yilmaz
  • Kane Bruce
  • Braedon O’Callaghan
  • Liam Dempsey
  • Kevin Grant

Проект вимагав від нас знань з ROS, C++, Python, Linux, Raspberry Pi та Arduino. Більшість з нас мали досвід у одній або кількох з цих технологій, але я був єдиним, хто мав досвід у ROS, оскільки я використовував ROS на своєму курсі “Людсько-центрована робототехніка” (CSC470) під час семестру весни 2020 року. Через це на початку я допоміг всім швидко освоїтися з ROS і як розробляти для нього.

Виклики

У цьому проекті було багато викликів. Але найбільшим викликом, з яким ми зіткнулися, було відсутність доступу до реального робота для тестування. Це сталося через COVID, який зробив все віддаленим і завадив нам працювати в лабораторії/будівлях Lunar Outpost. Через це нам довелося використовувати симуляції.

Також ми пройшли через деякі академічні дослідження з WVU Navigation Lab, щоб отримати уявлення про те, як проблему ковзання коліс можна вирішити для випадку використання Lunar Outpost. Що, для нас, як для студентів другого та третього курсів, було складніше, ніж ми очікували.

Ще одним викликом, з яким ми зіткнулися, була кількість часу, який у нас був для роботи над цим проектом. CSCI370 - це курс тривалістю один місяць. Але сама проблема є величезною проблемою, яку багато компаній та академіків намагалися вирішити/удосконалити протягом десятиліть. Тож одного місяця явно недостатньо, щоб вирішити цю проблему. Але, незважаючи на всі ці виклики, ми продовжували працювати і впевнилися, що виконаємо завдання.

Висновок

У цьому пості я б хотів дати більш детальне пояснення наших рішень. А також надати належний висновок, пояснюючи, що ми виявили та які були остаточні результати. Але, на жаль, я та мої товариші підписали Угоду про нерозголошення (NDA), яка забороняє нам ділитися будь-якою конфіденційною інформацією про цей проект. Вся інформація, яку я надав вище, є публічною і доступна в Інтернеті.

Під час цього проекту ми дійсно навчилися використовувати ROS і створювати симуляції за допомогою ROS і Gazebo. Ми також отримали краще розуміння в дослідницькій сфері виявлення ковзання коліс. Ми також мали честь зустрітися з деякими академіками/дослідниками з WVU Navigation Lab.

Знаючи все це, я мушу сказати, що цей проект дозволив мені зайняти лідерську позицію в команді, стати викладачем, щоб допомогти своїм колегам краще зрозуміти ROS, і надав мені більше досвіду в ROS, Gazebo та Python. Це також ознайомило мене з проблемою ковзання коліс, про яку я не знав, поки працював над цим проектом. Загалом, я вдячний, що Lunar Outpost витратили час зі свого напруженого графіка, особливо під час COVID, щоб дозволити нам працювати над цим проектом. Я також вдячний, що мав чудових товаришів по команді, які дуже старалися над цим проектом.