CS Поле Сесія

CG_GUI_19

Передумови

Під час літа 2020 року я проходив курс CSCI370 або «Розширене програмне забезпечення» у рамках моєї бакалаврської програми з інформатики в Colorado School of Mines. CSCI370 — це курс, який змушує студентів проектувати, впроваджувати та документувати рішення, пов’язані з програмним забезпеченням, для компанії. Він дозволяє студентам застосовувати знання, отримані під час навчання, до реальних проблем інформатики. Ви можете дізнатися більше про курс тут.

У курсі ви можете обрати, над яким проєктом/компанією будете працювати. Курс надавав PDF‑файли, що детально описували кожен проєкт і компанію. Зрештою я вирішив працювати над проєктом, розміщеним компанією Lunar Outpost під назвою Real Time Wheel Slip Detection and Error Corrections for Enhanced Lunar Navigation. Оскільки назва довга, давайте називатимемо проєкт «Виявлення ковзання коліс».

Проблема

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

Члени команди

Цей проєкт не був простим, тому його довелося виконувати в команді. У команді було п’ять студентів Colorado School of Mines:

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

Проєкт вимагав знань ROS, C++, Python, Linux, Raspberry Pi та Arduino. Більшість з нас мали досвід у одній або декількох з цих технологій, але я був єдиним, хто мав досвід роботи з ROS, оскільки використовував ROS у курсі Human Centered Robotics (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, щоб дозволити нам працювати над цим проєктом. Я також вдячний за чудових товаришів по команді, які доклали багато зусиль до цього проєкту.