Давным-давно, еще в 1907 году, Артур Конан Дойль в эссе о природе искусства «Сквозь магическую дверь» отметил, что «Старинные мастера рисовали харчевни и святых Севастьянов, когда Колумб на их глазах открыл Новый Свет»… Но им-то, старинным мастерам, простительно – кольцевое время Традиции, когда Завтра лишь повторение Вчера, только начинало раскручиваться в линейное время Прогресса. Но эта особенность человеческого восприятия сохранилась и сегодня, когда индустриальная эпоха сменилась информационной.
Ну, вот проект DARPA Gremlins – получившие свое имя от духов неполадок из фольклора пилотов и механиков Второй мировой, беспилотники. Запускаемые за зоной действия ПВО с бомбардировщиков или транспортников C-130, оперирующие стаей над полем боя, обмениваясь между собой информацией по радио- или оптическим каналам. Потом те, что не сложат свои композитные жизни на алтарь Отечества, возвращаются на борт носителя. Рекламный ролик – в большинстве своем нарисованный на компьютере по привычке нынешних военных – приведен здесь.
Не обсуждал этот мультфильм с добавкой документальных кадров приема «гремлина» на борт транспортника, только ленивый – хотя ничего особо интересного в нем нет. Боевой дрон на деньги Армии США разрабатывал еще до Первой мировой Чарльз «Босс» Кеттеринг, создатель фреоновых кондциционеров и этилированного бензина, электрических стартеров и легких дизелей (того, чем мы пользуемся ежедневно). Истребители, правда пилотируемые И-16, запускались с борта четырехмоторного ТБ-3 еще в 1930-е, в рамках проекта «Звено», и даже воевали, разбомбив 26 июня 1941 г. нефтехранилище в Констанце.
Ну а летать стаей, обмениваясь между собой информацией, могли советские противокорабельные ракеты П-700, разработанные в конце 1970-х. Они назначают одну из ракет наводчиком, который идет на большой высоте, снабжая информацией прячущихся за кривизной земли коллег. В случае его перехвата наводчиком становится следующая ракета залпа… Так что в Gremlins ничего особо интересного нет, интересны они только тем, кто вовлечен в бизнес ВПК, единицы процентов от ВВП.
А вот крошка-дрон Crazyflie 2.0, весом всего лишь в 27 грамм, на который цюрихские инженеры-робототехники установили навигационную нейросеть для автономного полета, внимания привлек крайне мало. А жаль – именно такие работы, как описанная в Ultra Low Power Deep-Learning-powered Autonomous Nano Drones, способны изменить наше окружающее, придав способность к пространственной ориентации, а следовательно и к автономному движению, даже самым маленьким машинам с самым ограниченным ресурсом питания.
Итак, что же сделали швейцарцы? Они взяли дрон класса COTS – Commercial-Off-The-Shelf , продаваемый в магазинах для детей прямо с полки, и придали ему способность к автономному полету – ориентироваться в пространстве, огибать препятствия, реагировать на недружелюбные действия (ну, попробуйте прихлопнуть комара или поймать муху…). Большие дроны, например военные, все это умеют – за счет применения дорогостоящих, тяжелых и энергоемких систем навигации, датчиков и обрабатывающих информацию с них процессоров – вспомним, как устроен Audi AI traffic jam pilot.
Но для квадрокоптера весом в 27 граммов радары, лидары, даже GPS – это недоступная роскошь. И по массе, и по энергопотреблению. Поэтому на дрон COTS CrazyFlie 2.0 (выбранный потому, что его программное обеспечение построено на открытом коде) была установлена «система на кристалле» GreenWaves GAP8 SoC, выполненная по технологии PULP – parallel ultra-low-power, параллельных вычислений со сверхнизким энергопотреблением. Действительно, даже на пике она потребляет менее 94 мВт. Этого достаточно для работы микроконтроллера RISC-V, восьмиядерного DSP-ускорителя и интерфейсов.
Размещаемая на нанодроне печатная плата PULP-shield содержит в себе и компьютер GAP8 SoC, и видеокамеру со сверхнизким потреблением энергии. Этого достаточно для того, чтобы запустить на ней DroNet, сверточной нейронной сети, оптимизированной под распознавание необходимых для воздушной навигации образов. Суть такой нейросети, предложенной Яном Лекуном в 1988 г., состоит в том, что благодаря операции свертки, умножения элементов изображения на матрицу свертки, слои сети выполняют абстрагирование изображений.
Например, выделяют и опознают одни и те же линии, например угла комнаты или окна, вне зависимости от того, под каким углом смотрит на них видеокамера. Это абстрагирование дает возможность выделить и данные о пространственном положении дрона – нахожусь под таким-то углом от угла комнаты и под таким-то углом от перекрестия форточки с рамой окна. Вот эти пространственные данные и используются для ориентации дрона и для его навигации, выбора пути из одной точки в другую. Точно так же дрон сможет опознавать руку, желающую его хлопнуть, и уворачиваться от нее.
И тратится на все это не более 0,2 Вт. То есть – плата PULP-shield может встраиваться в любое динамическое устройство. Любое – мощность позволяет, да и вспомним о десятицентовых одномилиметровых микрокомпьютерах от IBM. Сам дрон CrazyFlie 2.0 под управлением DroNet – лишь частный случай. Очень изящный пример того, на что способны прошедшее глубокое обучение нейросетки, и сколь малыми и энергосберегающими ресурсами эти нейросетки могут обойтись для своего функционирования.
Да, возможно для дрона швейцарских инженеров найдутся и те применения, о которых они говорят – динамически перемещаемые узлы связи для Интернета Вещей, средства инспекции коммунального хозяйства (летает по подъезду, и ищет крошечным болометром мостики холода…). Но не это главное – главное демонстрация технологии. Динамичное движение (пылесоса, мойщика окон и кафеля, манипулятора кухонного робота или робота-доставщика…) будет требовать видеокамеры (лучше – нескольких), однокристального компьютера и обученной нейросетки. И все это «ест» десятые доли ватта… Вот подлинный элемент будущего, проникший в настоящее!