У 17 років створив навігацію для дронів, яку не глушить РЕБ. Історія киянина, який переміг на «Олімпіаді геніїв» у США

💡 Усі статті, обговорення, новини про оборонні технології — в одному місці. Приєднуйтесь до Defence tech спільноти!

Дмитрові Лапку — 17. У 10 класі він став бронзовим призером Всеукраїнської олімпіади з інформатики, а його наукові роботи для МАН двічі перемагали у своїх номінаціях. Перша також виборола срібло на міжнародній виставці винаходів INOVA в Хорватії.

Останній же проєкт Дмитра під назвою «Система навігації літального апарата в умовах урбаністичного ландшафту» привернув увагу розробників дронів. Вони запропонували хлопцю фінансування для реальних випробувань. За словами Дмитра, якщо все вдасться, то такому безпілотнику не потрібен буде інтернет, GPS-навігація тощо, його буде неможливо заглушити засобами РЕБ. БПЛА сканує будівлі і, орієнтуючись на дані мапи, визначає свою позицію.

Ми поспілкувалися з юнаком про його розробки, перемогу на «Олімпіаді геніїв» у США, а також мотивацію навчатися саме в українському виші.

Міжнародна виставка винаходів INOVA в Хорватії, 2023 рік

«Я дійшов до того рівня, коли ігри перестали цікавити»

Я з Києва. Здається, що програмувати мені подобалося завжди, а із 7 класу це переросло в серйозніше захоплення. Було круто змусити комп’ютер щось зробити. Наприклад, репліки на ігри. Тоді найбільшим моїм досягненням було створити «Морський бій» на консолі, щоб кораблі розставлялися рандомно.

Я навчався в ліцеї «Наукова зміна», і спочатку мені вистачало самої програми — треба було напружитись, щоб її опанувати. Ми вивчали Pascal, будову комп’ютера, розв’язували задачі. А з алгоритмами мені допомагав тато, який є програмістом.

Потім спробував себе в олімпіадному програмуванні. Воно зацікавило мене не одразу, і спочатку я не мав особливих успіхів. А потім я дійшов до того рівня, коли ігри перестали цікавити, а олімпіадне програмування навпаки. Воно нагадувало спорт: треба скількись разів на тиждень писати змагання, тренуватись, розбирати задачі, алгоритми.

І в 9 класі я потрапив на Всеукраїнську юніорську олімпіаду з інформатики. А через пів року активної підготовки вдалося вибороти бронзу на Всеукраїнській олімпіаді в 10 класі. Тоді ж зрозумів, що взяти золото буде складно, і вирішив сконцентруватися на тому, що в мене гарно виходило, — робо́тах для МАНу.

«Не хотілося використовувати готові бібліотеки: я не знаю, як вони працюють усередині»

Я писав дві роботи для МАНу. Першу — в 10 класі, про посадку модуля на Марс. На це мене надихнула історія Perseverance. Тоді подумалось, що оскільки в теорії це відносно нескладний процес, то варто спробувати навчити штучний інтелект керувати ним: визначати, куди краще сісти, які нахили робити в різні боки тощо.

Тренував ШІ сідати на різноманітні поверхні, які генерував. Наприклад, модуль мав різні тактики сідання на сильно похилій поверхні. На всеукраїнському етапі МАНу я з цією роботою виграв у категорії «Системи та технології штучного інтелекту. Кібербезпека». А на Міжнародній виставці винаходів INOVA в Хорватії здобув з нею ж срібну медаль. Могло бути й золото, але під час демонстрації журі мій модуль один раз «упав». Я хотів показати найскладніші поверхні: марсохід вибрав погане місце для посадки, сів, але не зміг закріпитися, почав зісковзувати. Думаю, це трохи зіпсувало враження.

Скриншот з моєї роботи

До речі, у Хорватії я презентував дороблену систему. Для першої версії я писав власні нейронні мережі. Не хотілося використовувати готові бібліотеки: не знаю, як вони працюють усередині. І взагалі, нейронна мережа — не настільки складно, щоб застосовувати повністю готові рішення. Спочатку я використовував прості мережі: є вхідний, проміжний і вихідний шари. Було близько 500 нейронок, які вчилися сідати, йти. Для кожної видавався результат, наскільки добре вона виконала завдання. Потім пропорційно вибиралися мережі, які були основою для наступної генерації. І так ставали все кращими й кращими.

У другій версії в мене вже були еволюційні нейронні мережі, у яких є вхідний і вихідний шари, а між ними — нічого. Еволюцією самі додаються нейрони та зв’язки. Там була хитра формула, як розподіляти це все, імовірність додавання та вилучення нейронів і зв’язку між ними, зміна зміщення (bias) нейрона та ваги зв’язку між нейронами.

Я вирішив, що так максимально ефективно створюватиметься нейронна мережа: нейрони та зв’язки між ними будуть додаватися тільки там, де потрібно. Завдяки цьому навчання відбувається набагато швидше. Мережа зрозуміла базову логіку, зробила декілька нейронів і змогла виконувати задачу. Це розширює можливості. Бо з фіксованою кількістю нейронів і зв’язків можна довчитися тільки до певного рівня. За умови ж другого варіанту — з додаванням нових нейронів і зв’язків — можна вчитися нескінченно та досягати максимально хороших результатів.

«Унікальність моєї розробки в тому, що я беру перспективу не зверху, а зсередини»

Коли я захопився ШІ, побачив, наскільки штучний інтелект — широка тема. Але саме нейронні мережі не дуже складні. Я зрозумів основи з відео на YouTube, де багато схожих задач. Наприклад, перегонова машинка їде трасою, їй треба максимально швидко проїхати коло. І нейронки знаходять найкращі траєкторії, місця прискорення, гальмування тощо. Я зрозумів, що й сам можу створити щось схоже.

Почав робити подібні програми: машинка щось об’їжджає, вимірює дистанцію до стін тощо. Навесні 2023 року мені спала на думку ідея: «А якщо так само навчити робити дрон, тільки він літатиме не по трасі, а по місту?».

Довгий час це залишалося на рівні задуму, оскільки я не знав, як навчити штучний інтелект опрацьовувати стільки даних. І ось на початку 11 класу подумав: можна ж узагалі зробити це не за допомогою ШІ, а суто алгоритмічно. Тобто написати хитрий алгоритм, який буде брати виміри до будинків і знаходити, де саме в місті перебуває безпілотник. Мене надихало, що так можна створити повністю автономний БпЛА, незалежний від інтернету чи GPS-навігації. Це корисна розробка, на яку має бути попит.

По суті, це навігація, яку не можна заглушити засобами РЕБ, вона орієнтується на особливості рельєфу (до нього можна віднести й будинки). Подібні системи почали розробляти ще в 1990-х роках, їх використовували в крилатих ракетах Tomahawk, Storm Shadow тощо. Але ті орієнтувалися саме на особливості рельєфу: гори, річки, перепади висот — і за ними визначали своє місцеположення.

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

Якщо говорити про власне БпЛА, у них часто буває камера знизу, дані з якої порівнюються з інформацією Google Maps. Але сканування саме будівель мені ще не траплялося. Наявний варіант має суттєві недоліки. Супутник бачить землю з дуже великої відстані, видає вертикальну проєкцію. Тому коли дрон летить і сканує камерою зверху, то будівлі виглядають викривлено. Це треба враховувати та якось по-хитрому обробляти зображення. Оскільки моя система дозволяє пересуватися низько, це суттєво спрощує завдання. Тобто унікальність моєї розробки в тому, що я беру перспективу не зверху, а зсередини.

Чому я розроблював цю систему? Теоретично її можна ставити на дрони стратегічного ураження, які летять на дуже велику дальність, — у цьому вбачаю найбільшу користь. Наприклад, якщо треба уразити якийсь об’єкт у місті, то на підльоті до нього БпЛА буде знижуватися на рівень будівель і рухатися до цієї цілі. Міста зазвичай краще насичені засобами ППО, ніж околиці міст, тому безпілотники часто збивають уже в населених пунктах. А так дрон може долетіти до міста за іншою системою навігації, а потім перемкнутися на мою — і збити його буде майже неможливо.

Окрім того, я думав про цивільне застосування — виникла ідея дуже швидкої доставки вантажів по місту. GPS інколи може глючити. Ті ж глушилки для нього легко знайти, вони дешеві. Тому «віддавати» дрон повністю на GPS небезпечно. З моєю системою безпілотник зможе швидко та надійно долетіти з точки А в точку Б.

«Я вивчав імовірності, особливо для симуляції інерційної навігаційної системи»

Приблизно з жовтня по січень 2024-го я працював над цією роботою для МАНу. Важливо розуміти, що все було в комп’ютерній симуляції: дрон, системи акселерометра, гіроскопа тощо. Писав на C#, яку знав до того. Оскільки симуляція була графічною (там можна було бачити мапу, переміщення БпЛА), я також використовував бібліотеку Monogame. Це, по суті, трохи адаптована OpenGL. Вона нескладна, вміє швидко видавати картинки на екран, що було дуже корисно, бо на карті багато об’єктів — я промальовував усі краї будинків.

Підсумкова сесія київського етапу МАН, 2024 рік

Інколи я радився з кимось, але в основному робив усе сам. Причина в тому, що система не дуже складна, однак охоплює багато етапів, іноді специфічних. Наприклад, я почав з отримання картографічних даних про міста: як розміщуються будинки в просторі, яка їхня висота, де і як розташовані стіни — отримав цю геометрію з OpenStreetMaps. По суті, це нескладне завдання, але подібним займалося мало людей. Тому довелося читати специфічні форуми, де ділилися релевантним досвідом, й орієнтуватися на приклади.

Були деякі нюанси з математикою, я вивчав імовірності. Особливо для симуляції інерційної навігаційної системи, яка використовує дані акселерометра й гіроскопа. Мені потрібно було врахувати її можливу похибку. Наприклад, якщо дрон летить п’ять секунд, якою вона буде та де найімовірніше перебуває апарат. Це все було в 3D, а отже, розрахувати складно. Та з огляду на те, що там в основному комбінаторика, я за декілька підходів зміг розв’язати задачу.

Ще з математичної точки зору важливою була корекція даних інерційної навігаційної системи. Як вона працює? Бере початкові дані інерційної навігації з якоюсь похибкою (плюс-мінус метр), використовує навігацію по далекомірах і доволі точно визначає свою позицію, корегуючи початкові дані. Минає секунда — і вона знову повторює цей цикл.

Взагалі в багатьох системах, де базою слугують дані інерційної навігації (в якої є значна похибка на великій дистанції), ці дані весь час коригуються й адаптуються вимірами з більш точних систем навігації. Наприклад, у більшості GPS-навігацій відбувається саме так. Для мене це було складно.

Додалася векторна математика, потрібно було розраховувати похідні від швидкості й кута нахилу

Завдяки попередньому досвіду на МАНі мені вдалося одразу зробити все як треба. У 10 класі після перемоги на міському етапі я майже повністю переписував текст: десь була неправильна структура, погане формулювання чи бракувало джерел. В 11 класі я просто взяв як каркас стару структуру та почав заповнювати її новим текстом. Зрештою моя робота про БпЛА посіла перше місце в категорії «Програмна інженерія». Виходить, що як переможець я ще вдруге став лауреатом стипендії Президента України.

«Мені написали розробники дронів з пропозицією стати спонсорами»

Наприкінці того року багато медіа написали про мою розробку. Через хайповий заголовок один такий матеріал навіть потрапив до новин Google. Знайомі мені казали: «О, ми про тебе читали». У цих статтях згадували, що для старту реальних випробувань мені потрібно близько 15 тисяч гривень.

Відтак мені написали розробники дронів з пропозицією стати спонсорами, допомогти технічно. Домовленість була така: я вибираю потрібні компоненти, роблю список закупівлі, а вони дають гроші на електроніку. Отож я придбав FPV-дрон, пульт та ще дещо позичив у знайомих — і завдяки цьому зміг почати наступний етап проєкту.

Зараз уже близько місяця займаюся розробкою інерційної навігації в дроні: вчуся комунікувати з ним, щоб він передавав мені дані про акселерометри, гіроскопи тощо; розбираюся, як це все працює; під’єдную мікроконтролери до дрона, щоб вони ним керували. Так, на моєму безпілотнику, звично для дронів, встановлений Betaflight, як зазвичай на всіх дронах. Є певний EP — інтерфейс, за допомогою якого можна витягувати специфічні дані: температуру, напругу, інші характеристики. Окрім того, вже вмію поставити туди плату, мікроконтролер, який повністю контролює дрон. Виймаю модуль антени та вставляю свій модуль, що симулює роботу антени. Є багато проблем саме з хорошим командуванням дроном.

Система має багато етапів. Є під’єднана плата. Спочатку я дізнаюсь, як виводити туди базову телеметрію (дані акселерометрів і гіроскопів). Потім зрозумію, як вони працюють, як зробити їх точнішими. Це математика в 3D-геометрії: мені передаються дані акселерометра та нахил за трьома осями (pitch, roll, yaw) — за їх допомогою я маю визначити, як дрон пересувається.

Потім буде етап, коли я намагатимуся допрацьовувати цю математику, щоб та стала оптимальнішою, розібратися в особливостях гіроскопів, акселерометрів, щоб зробити це все більш точним. По суті, це стендові випробування, мені навіть не треба вмикати мотори. Я просто беру безпілотник, руками ношу його туди-сюди — і вже маю потрібні дані з акселерометрів і гіроскопів.

На наступному етапі я буду брати далекомір і випробовувати систему в реальних умовах. Тобто робити так само, як у теоретичній розробці, де я спочатку написав симуляцію з БпЛА, а потім на неї зверху «прикрутив» систему. Тепер я вчуся керувати дроном, отримувати від нього всі дані, а далі буду застосовувати свою навігацію. Сама по собі система проста, там нескладні алгоритми.

Нюанси починаються на етапі «прикручування» навігації до безпілотника: картографія, вибір системи координат тощо

Можливо, потім буде етап оновлення прошивки FPV-дрона, щоб ним було легко керувати. Без цього непросто: необхідно робити дуже різкі рухи та різні маневри. Наприклад, треба вчити безпілотник зависати на місці. У теорії це не дуже складно, але ціна помилки занадто велика. Якщо дрон перебуває в повітрі та десь трапляється помилка в коді — все, він летить у найближчу стіну.

Паралельно потрібно дописувати багато безпекових рішень. Має бути можливість моментально вимкнути дрон з пульта або перемкнути його в ручний режим керування. Зараз у мене вся телеметрія передається на мікроконтролер — той же Raspberry Pi, ЕSP32 або Arduino. Це телеметрія першого порядку, найбазовіша — прискорення і тому подібне. Але потрібна ще інша, зокрема щоб мій дрон міг розрахувати свою приблизну позицію. Ці дані бажано передавати на інший пристрій, щоб я бачив, що БпЛА летить, розумів, що у нього відбувається «в голові». Тоді можна буде фіксити баги: не коли він уже влетів у стіну, а на етапі, коли я помітив, що в нього щось не так з висотою.

Скриншот з роботи «Система навігації літального апарата в умовах урбаністичного ландшафту» (стрілочка — це дрон, зелені — далекоміри)

Сподіваюся все те, що вийшло зробити в симуляції, перенести на реальний дрон. Теоретичну частину я зміг завершити за чотири-п’ять місяців. Щодо терміну реальних випробувань я поки що не впевнений. Усе залежатиме від кількості підводних каменів, скільки разів я буду спотикатись. В ідеалі це має зайняти не дуже багато часу, тому що все вже прописано. Потім, думаю, було б корисно запатентувати розробку.

Розробники дронів, які стали спонсорами, вважають: якщо система добре працюватиме, її можна запустити в масове виробництво. Перехід між системою, яка літає по будівлі, і системою, яка літає по місту, — питання розміру. Коли я зможу навчити FPV-дрон літати, орієнтуючись по стінах, виконувати та комбінувати всі потрібні функції, то єдине, що мене відділятиме від реально великого дрона, який літає по місту, — сам по собі великий дрон і хороші далекоміри. Так, система Betaflight стоїть майже на всіх літальних апаратах — з крилами або на великих квадрокоптерах. Тому, найімовірніше, програмних модифікацій майже не буде.

«Освіта з інженерії програмного забезпечення — це точно те, що мені треба»

Я хотів одразу вступати до вишу в Україні. На мою думку, навчання за кордоном часто обходиться дорого та не приносить очікуваних результатів. Так, існують безплатні варіанти. Наприклад, чимало моїх однолітків поїхали вчитися до Словаччини. Але мене не вабить ідея бути в країні, де до українців ставляться не надто позитивно. В Україні я можу здобути хорошу освіту, отримати гарний розвиток. Мої розробки тут корисніші й актуальніші, ніж за кордоном.

Києво-Могилянську академію мені рекомендували фахівці, які там уже вчилися. Сподобалися відгуки про викладачів, систему навчання — те, що з другого курсу є велика кількість дисциплін на вибір. А ще це виш, який закінчили багато історичних постатей.

Обрав факультет інформатики, спеціальність «Інженерія програмного забезпечення» — по суті, чисте програмування. Ще я розглядав варіант піти на прикладну математику, але там чимало нових предметів — не знаю, наскільки вони були мені б корисними. А освіта з інженерії програмного забезпечення — це точно те, що мені треба і з чим я зможу в майбутньому отримати роботу.

Для вступу потрібен був високий прохідний бал. Знаю, що раніше переможцям всеукраїнських етапів МАНу чи олімпіад з якогось предмета додавали 10 балів. Але з упровадженням НМТ така схема перестала працювати.

Мені пощастило, що в 11 класі я доволі швидко закінчив роботу для МАНу, оскільки десятикласником уже здобув такий досвід. Тому із січня міг повністю сконцентруватись на НМТ: проходити пробні тести, вивчати правила, історію тощо. У результаті я зміг гарно підготуватися та вступити на бюджет.

Навчання в Могилянці мені подобається. Великий плюс у тому, що ти вивчаєш тільки дійсно потрібні предмети. Немає такого, як у школі: подобається програмувати, але мусово ходити на уроки правознавства. Зараз у мене сім предметів: англійська, дві математики, програмування, мережеві технології, українська, фізкультура — п’ять профільних дисциплін. Самих годин навчання менше, ніж у школі. Проте воно напружене, з кожного предмета дають багато завдань.

Єдина проблема — це розклад. Здається, що його створюють випадковим чином. В інших вишах студенти відвідують три пари зранку — і йдуть додому. А в мене перша пара о 8:30, потім третя, а інколи ще й п’ята. Усього три пари, але фактично я маю бути в університеті весь день. Або ось у вівторок одна пара, а в середу — чотири чи п’ять. Наша група складається із 70 людей, яких з деяких дисциплін розбивають на підгрупи. Тож є такий «стратегічний» челендж: перейти в іншу підгрупу, щоб створити кращий розклад.

«Поки що я готовий працювати суто за досвід й інші бонуси — ту ж електроніку»

Ще з минулого року я розробляю та тестую електронну пропускну систему для мого ліцею «Наукова зміна». У нас є спонсор — компанія Checkbox, яка займається віртуальними чеками. Її засновник — випускник ліцею. Фінансування відбувається так само, як із дронами: робиться список закупівлі, на який нам скидають гроші. Над проєктом працюємо вп’ятьох разом з моїми друзями. Ця система покликана замінити Smarsy, яка стоїть у більшості шкіл, але має специфічні нюанси та проблеми. Уже зараз наш аналог працює в ліцеї, нехай і з перемінним успіхом.

За свою роботу ми отримуємо невелику оплату. Але поки що я готовий працювати суто за досвід й інші бонуси — ту ж електроніку. Як так виходить? Я відразу наперед не знаю, яку мені треба зробити систему: прототип може бути на основі однієї моделі, а потім доводиться щось докупити, поміняти. У результаті в мене залишається якась кількість різних мікросхем. Тож з таких проєктів я отримую багато досвіду в хардвері та певну електроніку, яка залишається в мене.

Так, якби не було цієї прохідної системи, то зараз мені доводилось би вчити все з нуля. Утім, я вже мав досвід роботи з Arduino, ЕSP32, Rasberry Pi, знав, як «розмовляти» з мікроконтролерами тощо.

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

«Я здобув золоту медаль на Genius Olympiad у США»

Ще минулого року я здобув золоту медаль у категорії «Програмування» на Genius Olympiad, яка відбувалася у США на базі Рочестерського технологічного інституту. Цікаво, що туди я вклав найменше ресурсів порівняно з іншими проєктами, але отримав хороший результат. Це міжнародна олімпіада й доволі крута — наприклад, поїздку до США повністю оплачували. Але змагання специфічне — суто екологічного спрямування, тому його переважно розглядають як конкурс наукових проєктів. Більшість їдуть туди з розробками про забруднення планети в галузі біології, хімії тощо. Ще там є креативне письмо, поезія — відомі категорії з великою конкуренцією, чого не скажеш про програмування.

Завдяки тому, що мало людей знають про це змагання, на всеукраїнському етапі було лише близько 80 учасників. Потрібно було подати портфоліо у вигляді PDF-файлу та написати олімпіаду. Як і зазвичай, там було п’ять задач на алгоритми (хитрі операції з масивами, обчислення, графіки, «дерева» тощо). Але якщо порівнювати зі всеукраїнськими олімпіадами з інформатики, вона була значно простішою. Тобто враховуючи те, що мені вже було що розказати про себе і я мав серйозний досвід в олімпіадному програмуванні, перемога далася неважко.

На Genius Olympiad, 2024 рік

Це змагання — командне. Я брав у ньому участь з другом, який добре знає Python, для мене ж основні мови — С# і C++. Серед близько 40 учасників олімпіади в Штатах, де найвищою нагородою було гран-прі, ми здобули золото.

Можна було написати розв’язки будь-якою мовою програмування, водночас за використання Python давали додаткові бали. Багато людей писали на C++, тому що це ідеальне комбо для олімпіадного програмування. Більшість задач були простими — тільки остання мала багато нюансів та складне рішення. Тому майже всі розв’язали перші чотири задачі, але писали на інших мовах програмування. Ми ж послуговувалися Python, завдяки чому отримали найбільший додатковий бонус. Ще можна припустити, що у нашому варіанті були доволі оптимальні розв’язки. Так ми посіли призове місце.

«Хардвер-напрям схожий на LEGO: можна отримати реальний результат, зробити те, що їздить, блимає, пищить»

Щодо майбутнього, з IT-напрямів мене найбільше цікавить хардвер. Так, програмування суто на комп’ютері — доволі цікаво, але воно суто віртуальне. Мені дуже подобається LEGO, і хардвер-напрям його нагадує: можна отримати реальний результат, зробити те, що в житті їздить, крутиться, блимає, пищить тощо. До того ж, наприклад, коли ти пишеш сервер, буває багато нудної роботи. А я програмую зазвичай тільки логіку, граюсь, збираючи різні компоненти разом.

У мене є мрія заснувати власну IT-компанію, але поки що вона доволі абстрактна. Можливо, в основі лежатиме одна з моїх поточних розробок. Думаю, це перспективніше, ніж просто працювати програмістом. Гарні спеціалісти отримують високу заробітну платню, але все одно впираються у верхню межу прибутку. У керівника компанії таких границь немає.

Є й інші переваги. Якщо сьогодні в мене виникає ідея, то я мушу пройти всі етапи її реалізації. На прикладі тих же дронів: розібратися, як воно працює; налаштувати все; зрозуміти, чому щось не хоче на нього вантажитись або неможливо по якомусь протоколу спілкуватись з БпЛА. На це можна витратити весь день і не завжди отримати хороший результат. Тож у майбутньому хочеться мати можливість делегувати й тим часом займатися завданнями до вподоби — програмуванням чогось цікавого або велоспортом.

Все про українське ІТ в телеграмі — підписуйтеся на канал DOU

👍ПодобаєтьсяСподобалось51
До обраногоВ обраному12
LinkedIn



35 коментарів

Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.

Крутяк, чудова стаття! Успіху автору!!!

Якісь вже московитські наративи про шкільника вундеркінда

Хлопець — красава! Так тримати, для 17 років — супер!

Єдине — всі такі історії про хлопців до 25 років.
Хлопці з досвідом роботи у купі крутих компаній (читай призовного віку) чомусь дуже рідко десь світяться як розробники чогось нового.
Може я чогось не знаю і насправді все не так, але мені згадується минулорічний хакатон в МО — наче і гарно, тільки вже фіг доїдеш без «подорожі в бусіку».

чомусь дуже рідко десь світяться як розробники чогось нового

Бо пізніше крінж бере від перевинаходження вже існуючого і відкинутого мейнстрімом, або навпаки, відбувається прокачка в більш продуктивне інфоциганство. Знаю з власного досвіду участі в МАН.

Згоден, але для 17 років перевинайти існуюче все одно добре, це ж не в 47 років — всі на чомусь вчаться.
Мені сподобалась аргументація і подача — все не читав, але дійсно гарно, я так не писав в 17. (Мистецтво доповіді в МАН?)) )

Бо пізніше крінж бере від перевинаходження ...

Це не може бути основною причиною — достатньо повторити дешевше і вже є готове конкурентно-спроможне рішення.
Може є якась інша, додаткова, причина... не може же ж бути «я не хочу робити потрібні залізяки, бо мені невдобно копіювати».

не може же ж бути «я не хочу робити потрібні залізяки, бо мені невдобно копіювати».

Ну, це справді основна причина. Я так займався паливними елементами, уявляв, як замінити ТЕС з паром і турбінами на виплавку чавуну або цинку, завезення його розподілено споживачам і перетворення в електроенергію на місці, звозячи на повторне відновлення вугіллям чи газом відходи.
Потім вивчив тему детальніше, дізнався, що більшість подібних ідей була апробована ще на стику 19-20-го сторіччя, і в цілому сучасна електрохімія — це складно, дорого, і в боротьбі за десяті долі відсотків ефективності, ще і не в Україні.

Так само з усіма цими шкільними інноваціями, навіть якщо вони справді стають проривними, їх доведення до продакшну потребує ресурсів і скучної монотонної праці. А часто насправді проривними вони не є, але підлітковий максималізм відкидає критику від старих пердунів.

Ну і з віком виникають клопоти типу сім’ї і здоров’я, через що якщо і хочеться займатися чимось подібним, то як хоббі у вільний час.

Окремий феномен, з ростом досвіду і знань звужується коло здатних підтримувати розмову, втрачається сенс публікувати свою діяльність у різного роду блогах, тому часто такі активності щезають з поля зору.

Щось у цьому точно є... Здоров’я і інші клопоти явно зовсім не такі як у шкільні роки.
Про ТЕС цікаво розказали.
На справді, маю друзів які так само не хотіли нічого починати бо «все вже винайдено до нас» — нічого не почали, потім читали новини про штуки які обговорювали — неприємно.

Електромобілі теж стара тема, а зараз он яка трендова галузь, і горять феєрично — наука не стоїть на місці))

Конференції і інші подібні заходи як раз для того і створені щоб знаходити тих, хто може підтримувати розмову на складні теми, може там є щось нове 😉

Електромобілі гарний приклад — їх нинішня ітерація, це про про ентерпрайзний ентерпрайз, з купою складних рішень в тематиці силової електроніки, технологій збірки акумуляторних батарей і побудовою зарядної інфраструктури, а також різного роду політичною підтримкою.
Повна протилежність гаражного стартапу.

Всім хто в темі зрозуміло шо це просто хай. Журналісти написали які не в темі. Але давайте порадіємо за хлопця. Молодець.

Прочитав, здивувався.
У всьому світі вже давно існує і активно використовується Vision-Based Navigation, наприклад:
www.uavnavigation.com/...​l-based-navigation-system
www.mdpi.com/2504-446X/7/2/89
repository.gatech.edu/...​b2db-ccebd4d7f8e9/content
Цей тип навігації використовується не тільки для польотів, но і на підводних дронах для дослідження дна або прокладання кабелів.

Є окремі алгоритми, які використовуються в приміщеннях. Орієнтування на місцевості з урахуванням карти та без GPS — це те, що використовує ваш домашній робот-пилосос, найдешевший з яких можно придбати за 520 грн.
rozetka.com.ua/ua/250834091/p250834091

Але питання тут не до хлопця.
Хлопець — молодець! У свої 17 років розвивається, вчиться, бажае створити щось корисне. Зробив концепт. Зробив модель.
Більш питань до його наукових керівників.

В МАН роботах школярів не очікується ніякої наукової новизни, чи production-ready рішень — перш за все, цінується занурення в якусь проблематику, яка спонукає школяра пізнавати те, що за межами середньої освіти. Спроби винаходу свого колеса — це навіть плюс, а не мінус (тобто критерії не такі, як до наукових робіт).

Лише можна побажати не ловити зірку (не чіплятись за цю роботу і циклитись на ній), та залишитись open minded з тим, щоб в процесі навчання в «могилі» сформуватися як першокласний software engineer, де для цього є всі умови.

Орієнтування на місцевості з урахуванням карти та без GPS — це те, що використовує ваш домашній робот-пилосос, найдешевший з яких можно придбати за 520 грн.

Чудові новини! Виникла ідея атакувати Москву пилососами. ;)

Це точно треба ганяти бойовим дроном у місті? Може тоді треба ще функціонал оминання мирних мешканців?

Я хотів одразу вступати до вишу в Україні. На мою думку, навчання за кордоном часто обходиться дорого та не приносить очікуваних результатів. Так, існують безплатні варіанти. Наприклад, чимало моїх однолітків поїхали вчитися до Словаччини. Але мене не вабить ідея бути в країні, де до українців ставляться не надто позитивно. В Україні я можу здобути хорошу освіту, отримати гарний розвиток. Мої розробки тут корисніші й актуальніші, ніж за кордоном.

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

Чому вам здається, що десь погане ставлення до українців? А навіть, якщо є погане ставлення, то воно буде, скоріше за все, від людей, які так собі, а чи треба брати до уваги думку людей, які так собі? Потім, якщо погане ставлення є, воно точно буде більш поганим, чим в самій Україні?

Ну бо
Добре там, де нас нема.
Скрізь добре, а вдома найкраще.
Рідна земля і в жмені мила.
Чужа сторона — не мати рідна.
З рідної хати і дим солодкий.
Вдома і стіни допомагають.
Рідна земля — як мати: прийме, підтримає, не зрадить.
У своїй хаті й підлога зігріє.
Кожному птаху своє гніздо миле.
Щастя не шукають на чужині.
Не той щасливий, хто багато бачив, а той, хто мир у серці зберіг.
На чужій стороні й весна не весна.
і решта пропаганди в стилі «де народився там і згодився» та особливо «не жили добре нехуй і починать»

Схоже, що у пана змішались до ку́пи коні і люді. Тому на вгороді рясно вродила бузина, через що в Києві з’явився дядько.

Класно що хлопець розвивається і щось винаходить, але трохи подушню, бо концепт звучить надто добре щоб бути правдою.
Не дуже зрозуміло як вирішуватиметься проблема з об’єктами, які на карті позначені як складські приміщення, а по факту там вже 15-й поверх добудовують (примірно кожна друга будова у великих містах і чи не всі в менших містах). Та й загалом часовий лаг між змінами в реальності і нанесенням їх на карту займає місяці, а то й роки. Деякі об’єкти можуть взагалі не наноситися, інші наноситися неправильно. Microsoft Flight Simulator в 2020-му вже пробували парсити дані з ОСМ і результати місцями були дуже вражаючі. Особливо 700-метровий хмарочос в Мельбурні (в описі було написано 212 поверхів замість 2) чи канйони на місці деяких гір/пагорбів через від’ємну висоту. Весною 2022го теж була купа історій про прильоти по ЖК/ТЦ, які 20-30 років тому були на карті військовою частиною/заводом чи спроби росіян висадити десант в місці, де колись на карті був ліс, але місцевий чиновник теж «любить швидкість» і дерев там вже не було. Більшість звісно, були ІПСО, але деякі цілком ок верифіковувалися.
Також є питання щодо обчислювальних потужностей, які потрібні для прив’язки даних від далекомірів до 3д-моделі міста, бо здається що це задача на порядки складніша ніж орієнтування в замкнутому просторі з точно відомою картою. В умовах обмеженої батареї така навігація може суттєва зрізати дальність.

У Сesium на тому побудований бізнес — вони надають в користування карти в gltf з нормальним height map’ом. З практичної точки зору на висоту тяжко окрієнтуватись без бінокулярного-тринокулярного зору, бо матриця лідара не ризинова й не завжди їм вертіть доцільно. Сучасні алгоритми оптичного потоку мають донавчатись на симульованих сценах, й там давно нема проблеми карт висот. Разом з 4D Gaussian Splatting можна дуже добре відтворювати моделі й текстури усіх об’єктів на сцені.

бо здається що це задача на порядки складніша

Так й є — навігація працює на MPC/MPPI й часто або вирішує диф рівняння в реальному часі, або ж береться стохастичний розподіл можливих маршрутів, й фітнес функцією оберають найкращий. Що карта що сенсори шумлять, то там або фільтрують Калманом або Moving Horizon Estimate, або всім впідряд. Так само з картами й GPS’ом — їх теж стохастично фільтрують у випадку завад й спуфінгу. То відповідно такі штуки можна лиш трохи порахувать STM’кою — треба якохось мілких 25K LUT плісок, по 2-3 шт. на кожну з задач позиціонування, фотограметрії, та планування міссії.

Для шкільного проекту — хлопець зробив достатньо, до універу й реальних проектів звісно не дотягує, але загалом похвально. Має хвилювати лиш неможливість забезпечення належної безпеки, прав й свобод... а все інше — то другорядне ІПСО. Тут можуть й за STL’ку безкоштовно намальовану погрожувати призовом й розстрілом.

Пані Елеонора, як зв’язатись із хлопцем? Є схожа дуже важлива для ЗСУ задача, тільки дещо перегорнута.

Вітаю, Олександре. Зараз напишу вам у приватні повідомлення.

Подібні системи почали розробляти ще в 1990-х роках

ATRAN (Automatic Terrain Recognition And Navigation) 1952 рік
TERPROM (terrain profile matching) 1977
Digital Scene Matching Area Correlator (DSMAC) 1980
Terrain Contour Matching (TERCOM) ~1980

Можливо, в основі лежатиме одна з моїх поточних розробок. Думаю, це перспективніше, ніж просто працювати програмістом

рекспект малому за продуктовий майндсет

всім би дітям такі можливості.
хлопцю удачі у справі!

На жаль, скоріше за все, такі кадри залишаться в США і ніколи не повернуться в Україну. Ну хоч стаття на доу буде)

Хлопець в Україні

Потім буде етап, коли я намагатимуся допрацьовувати цю математику, щоб та стала оптимальнішою, розібратися в особливостях гіроскопів, акселерометрів, щоб зробити це все більш точним.

Так це вірно, бо оті MEMS accel/gyro то окрема кухня і просто використовувати фільтри аля Моджавік для інерційної навігації може не вистачити. Треба вникати в суть з врахуванням фізики, яка для MEMS трохи специфічна. Успіхів тобі Дмитро!

Крутий хлопець! Успіхів!

Нещодавно бачив інтерв’ю одного американського стартапу, який це вже робить 🤔

бо це все давно має окрему назву
The GNSS-Denied Navigation for GNSS-denied environments

Молодець хлопець, треба його підтримувати!

Game changer на полі бою, відкривайте банку, будемо збиратися та масштабувати

Це вже перемога!

Підписатись на коментарі