Pull to refresh
104.16
Skillfactory
Онлайн-школа IT-профессий

Как моделировать траекторию полёта снаряда при помощи глубокого обучения

Reading time11 min
Views4.9K
Original author: Ayaan Haque, Sajiv Shah

Эта статья, переводом которой мы делимся к старту курса о машинном и глубоком обучении, представляет собой обзор недавней работы "Генерация моделируемых данных посредством алгоритмической оценки коэффициентов силы для моделирования запуска роботизированных снарядов на основе ИИ", написанной Садживом Шахом, Айаном Хаке и Фей Лю. Авторы рассказывают о FCE-NN, новом методе моделирования роботизированного запуска ("выстреливания") нежёстких объектов с помощью нейронных сетей, обучаемых на дополнительных моделируемых данных, полученных в результате алгоритмической оценки коэффициентов силы. Данная работа была представлена на Азиатско-Тихоокеанской конференции по интеллектуальным роботизированным системам ACIRS в 2021 году. С содержанием статьи можно ознакомиться здесь: ArXiv. Информация о проекте представлена на веб-сайте проекта. Вначале авторы рассказывают о том, чего они хотели добиться, описывают проблему, затем рассматривают метод и, наконец, представляют краткие результаты и выводы.


Исходная информация

Какая задача перед нами стояла

Роботы день ото дня становятся всё более совершенными, и от них уже требуется имитировать поведение, сходное с человеческим. В идеале они должны получить набор человеческих навыков, большая часть которых будет заключаться в способности взаимодействовать с различными объектами, в том числе осуществлять с ними манипуляции, в том числе запуск ("выстреливание"). К сожалению, моделирование реальных объектов представляет собой сложную задачу. Это связано с наличием внешних факторов и динамических условий, сопровождающих движение объекта. Такие факторы и условия не учитываются в моделях элементарной физики. Со временем релаксация напряжения объектов возрастает. Кроме того, при воздействии большого количества постоянных меняющихся условий, например температуры или влажности, может меняться жёсткость объектов. Соответственно, значительно повышается неопределённость, так как на каждый объект определённой модели будут действовать различные условия.

При запуске объекта аэродинамические силы и низкая точность механизма в совокупности формируют неудовлетворительную динамику. Чтобы точно определить коэффициенты подъёмной силы и силы сопротивления, необходимо провести ряд экспериментов с использованием дорогостоящих инструментов и датчиков, таких как аэродинамические трубы. Для проведения таких испытаний требуются прототипы или модели в уменьшенном масштабе, другими словами, общая форма и материал объекта должны быть заранее определены. Это обстоятельство затрудняет разработку механизмов, взаимодействующих с объектами неизвестной или меняющейся формы. Без высокоскоростных и безошибочных каналов обратной связи от точных датчиков и контроллеров роботы не смогут удовлетворительно имитировать модели. В пусковых установках трение деталей механизма и вибрации при срабатывании вследствие неравномерного распределения массы, а также недостаточно тщательно проработанные контуры регулирования приводят к отклонению целевых параметров от фактических. Сочетание методов моделирования, не учитывающих индивидуальные особенности объекта, и несовершенной механической системы приводит к большому разбросу между экспериментальными и теоретическими результатами.

Существующие решения

Для решения таких проблем в робототехнике применяются различные методы, использующие элементы искусственного интеллекта. В технологии обучения с подкреплением сигналами только от среды взаимодействия (Reinforcement Learning, RL) роботы обучаются новому поведению методом проб и ошибок, что устраняет необходимость во вмешательстве человека-оператора. Однако технология RL считается довольно рискованной, к тому же создание архитектуры на базе такой технологии обойдётся весьма недёшево, поэтому в общей робототехнике она применяется довольно редко.

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

Для того чтобы заложить в модели глубокого обучения больше данных, экспериментальные данные часто используются в паре с моделируемыми/генерируемыми данными. Тем не менее для точного обучения мощных порождающих моделей и воспроизведения представлений данных требуется доступ к большим наборам данных. Для генерации данных для глубокого обучения мы предлагаем использовать простое физическое моделирующее устройство с известной динамикой траектории снаряда. Для этого мы составили набор уравнений, спроектировали моделирующее устройство, с помощью итерационного алгоритма оценили коэффициенты силы, сгенерировали данные, а затем настроили нейронную сеть, чтобы она формировала прогнозы.

Методы

Схема действия метода FCE-NN
Схема действия метода FCE-NN

Наш метод базируется на трёх компонентах: собственно моделирующем устройстве, включающем в себя алгоритм оценки коэффициентов, генераторе данных и нейронной сети.

Моделирующее устройство на основе физики

План мишени, использованный в нашем исследовании
План мишени, использованный в нашем исследовании

В принципе, наш метод может применяться к различным объектам, но для исследования мы взяли 7-дюймовый (около 17,7 сантиметров) пенопластовый шар, запускаемый из роботизированного выстреливающего механизма с двойным маховиком. Цель, поставленная на соревнованиях робототехники FIRST Robotics Challenge и показанная на рисунке выше, заключается в том, чтобы попасть пенопластовым шариком диаметром 7 дюймов как можно больше раз в область мишени, за что начисляется 3 очка, из различных зон запуска, находящихся на расстоянии от 3 до 30 футов (91 см и 9 м 10 см) до мишени. Центр мишени находится на высоте примерно 8 футов (примерно 2,5 метра).

На шарик действуют известные силы, например сила тяжести, сила сопротивления и подъёмная сила. В зависимости от места шарика на траектории эти силы действуют на шарик с разными величинами и в разных направлениях. Физические уравнения и схема моделирующего устройства изложены в этой статье.

Предполагается, что у нас имеется доступ к измеренным конфигурациям пусковых установок Xr и результатам запуска Yr, а также к смоделированным данным с конфигурациями пусковой установки Xs и метками Ys. Xr и Yr совокупно используются для формирования экспериментального набора данных Dr. Xs и Ys совокупно используются для формирования моделируемого набора данных Ds.

Мы пытаемся обучить нашу нейронную сеть прогнозировать результат на основе определённого набора конфигураций запуска Xr, каждая из которых имеет три характеристики: расстояние до цели (в метрах), передаточное отношение двигателя в диапазоне от 0 до 1 и угол пусковой установки относительно горизонтали (в градусах). В более научных терминах: X — это входные данные для нейронной сети, которые в данном случае являются конфигурациями пусковой установки, а Y — это метка входных данных, в данном случае — результат запуска. Зная, что цель находится на расстоянии (d) и что центр области, за попадание в которую начисляются очки, находится на высоте (h_target), мы определяем результат следующим образом:

Распределение результатов запуска
Распределение результатов запуска

Оценка коэффициентов силы

Мы хотим использовать данный симулятор траектории для оценки коэффициентов Cl и Cd посредством сравнения выходных данных сгенерированных траекторий из конфигураций Xr с выходными данными Yr. Для оценки коэффициентов, лучше всего соответствующих набору данных, мы моделируем траекторию для каждой конфигурации Xr, используя несколько пар коэффициентов. Мы просматриваем 1000 комбинаций, при этом каждый коэффициент находится в диапазоне от 0,000 до 5,000 включительно с шагом 0,005.

Для заданного начального угла запуска, скорости запуска и пары коэффициентов моделирующее устройство способно сгенерировать траекторию объекта и определить, попал ли объект в цель. Для того чтобы определить, какая из пар коэффициентов лучше всего моделирует траектории Dr, можно просто перебрать несколько пар коэффициентов. Поскольку выходной набор данных (Yr) Dr представляет собой диапазон точек, через которые, возможно, проходил объект, большое количество пар коэффициентов будет моделировать траекторию одной конфигурации из Xr.

Пример генерации траектории с помощью алгоритмического симулятора. Вертикальная синяя линия представляет собой диапазон набранных очков в двухочковой зоне, а вертикальная красная линия — диапазон набранных очков в трёхочковой зоне. Чёрные звёздочки отражают местоположение/расстояние от робота до мишени в момент запуска объекта (рис. авт.)
Пример генерации траектории с помощью алгоритмического симулятора. Вертикальная синяя линия представляет собой диапазон набранных очков в двухочковой зоне, а вертикальная красная линия — диапазон набранных очков в трёхочковой зоне. Чёрные звёздочки отражают местоположение/расстояние от робота до мишени в момент запуска объекта (рис. авт.)

С помощью моделирующего устройства вычисляем расстояние объекта от центра мишени и обозначаем это значение как отклонение. Чтобы выбрать одну пару коэффициентов при генерации данных, мы оцениваем точность в трёхочковой и двухочковой областях, а также среднее и медианное отклонения. Наш алгоритмический метод оценки коэффициента силы можно генерализовать на другие объекты, взаимодействующие с аэродинамическими силами. На рисунке выше показано влияние различных коэффициентов аэродинамической силы на траектории объектов, поскольку для заданного подмножества конфигураций результаты меняются в зависимости от принятых пар коэффициентов.

Тренировка нейронной сети

Схема нейронной сети
Схема нейронной сети

После формирования дополнительных данных с помощью нашего алгоритма оценки коэффициента силы мы объединяем их с нашим экспериментальным набором данных Dr для тренировки нейронной сети, чтобы спрогнозировать, попадёт или не попадёт снаряд в указанную цель. Схема нейронной сети, о которой идёт речь в настоящей статье, приведена выше. Мы намеренно спроектировали элементарную трёхслойную сеть.

Входной слой имеет 3 узла для каждой конфигурации пусковой установки, скрытый слой с 8 узлами и выходной слой с 2 узлами, каждый из которых представляет собой двумерный вектор с бинарными прогнозами о поражении двух- или трёхочковых зон. Данная сеть представляет собой простую сеть прямого распространения, её можно заменить на более продвинутую сеть. Использование нейронной сети позволяет учесть неточности нашего механизма и модели. К таким неточностям относятся свойство нежёсткости нашего снаряда, невозможность точного моделирования процесса преобразования энергии и многое другое. Нейронная сеть призвана учесть неточности физических моделей. Скрытые слои позволяют сети моделировать нелинейные системы и учитывать нелинейность. Собранные данные берутся из области, в которой мы развёртываем нашу ИИ-систему. Если данные собирать из целевой области, такие данные будут учитывать отклонения, которые не могут учесть физические модели.

Наша сеть обучается на взвешенной функции потерь, выражаемой следующим уравнением:

Уравнение функции потерь
Уравнение функции потерь

где Xr и Yr — экспериментальные наборы признаков и меток, Xs и Ys — смоделированные наборы признаков и меток, Fθ — модель, LR — истинная часть потери, LS — смоделированная часть потери, а — множитель Лагранжа для смоделированной потери. И LR, и LS используют обычные потери перекрёстной энтропии и рассчитываются одинаково. Существенную роль в выражении играет член, использующий экспериментальные и смоделированные данные. Поскольку Ds значительно больше, чем Dr, необходимо соответствующим образом настроить функцию потерь, чтобы оптимизировать модель для эффективной работы в целевом домене.

Результаты

CAD-модель нашего выстреливающего механизма
CAD-модель нашего выстреливающего механизма

Для проверки точности метода мы используем выстреливающий механизм с двумя маховиками (схема CAD приведена выше).

Dr имеет ровно 100 конфигураций с равномерным распределением данных, представляющих три возможных исхода. Из-за недостатков механизма вручную были отбракованы только 2 экземпляра данных. Для оценки эффективности модели мы использовали 20 % набора данных в качестве внешнего тестового набора для тренировочной и тестовой групп. Этот тестовый набор не содержит моделируемых данных. Как уже было сказано, набор моделируемых данных состоит из 900 равномерно сбалансированных образцов. В качестве дополнительной метрики оценки мы отобрали 50 сгенерированных Xs и использовали их конфигурации на роботе для определения результатов эксперимента в наших условиях. Так мы сформировали дополнительный тестовый набор. Получив экспериментальные метки для моделируемых входов Xs, мы смогли получить не только прогнозы моделирующего устройства, базирующиеся на оценке коэффициентов, но и прогнозы нейронной сети.

Оценка коэффициентов силы

Таблица эффективности алгоритма оценки коэффициента силы
Таблица эффективности алгоритма оценки коэффициента силы

Из приведённой выше таблицы эффективности моделирующего устройства на тренировочном и тестовом наборах данных видно, что моделирующее устройство способно весьма точно прогнозировать коэффициенты силы, чтобы они соответствовали тренировочному набору данных (что является оптимальным обстоятельством для нейронной сети), но плохо работает с тестовым набором данных (что является мотивацией для использования нейронной сети). Как уже было сказано, моделирующее устройство предназначено для того, чтобы воссоздать распределение тренировочного набора в целях генерации новых данных, неотличимых от тренировочного набора, что позволит повысить эффективность нейронной сети. Таким образом, поскольку моделирующее устройство весьма эффективно генерирует и моделирует тренировочные данные, оно может стать подходящим дополнением при тренировке нейронной сети.

Модели визуализированных траекторий
Модели визуализированных траекторий

На рисунке выше показано сравнение экспериментально измеренных траекторий и траекторий, сгенерированных моделирующим устройством, использующим оценочные коэффициенты силы (слева). На рисунке также показана неточность траекторий, сгенерированных с использованием оценённых коэффициентов силы, в сравнении с экспериментальными траекториями на тестовом наборе (справа). Это ещё раз доказывает, что генератор работает в точном соответствии с распределением тренировочного набора, но неточно моделирует тестовый набор.

Эффективность нейронной сети

Эффективность нейронной сети
Эффективность нейронной сети

Приведённая выше таблица отражает эффективность нейронной сети при прогнозировании того, как скажется конфигурация пусковой установки на результатах попадания в мишень. Результаты показывают, что при любом количестве моделируемых данных сеть показывает более высокую эффективность, чем при тренировке сети без моделируемых данных. Однако после 900 образцов эффективность сети начинает падать, что указывает на переобучение. Это обстоятельство снижает эффективность нейронной сети на экспериментальном тестовом наборе. Результаты подтверждают важность использования моделируемых данных и отражают статистически значимое увеличение производительности (p-value 0,05). Более того, точность нейронной сети оказывается намного выше, чем простая оценка коэффициента силы.

Заключение

В этой статье мы рассказали о FCE-NN, методе моделирования траектории нежёстких объектов, запускаемых роботизированными системами, с использованием оценки коэффициента силы и принципов глубоких нейронных сетей. Мы представили алгоритмический процесс оценки коэффициентов силы с использованием экспериментальных данных пусковой установки и физического симулятора. Это алгоритмическое моделирующее устройство можно использовать для генерирования дополнительных данных для тренировки нейронной сети, испытывающей недостаток в данных. Мы используем глубокие нейронные сети, тренируемые одновременно на моделируемых и экспериментальных данных, для прогнозирования и моделирования выходных результатов пусковой установки на основе входных конфигураций, что позволяет моделировать запуск нежёстких объектов в реальном мире и учитывать внешние факторы полёта объекта.

Мы предполагаем, что такая система будет развёрнута на дистанционно управляемом мобильном роботе с автоматическими пусковыми установками с переменными параметрами, и тогда измеренные в реальном времени конфигурации пусковых установок можно будет передавать в модель для прогнозирования результатов запуска. Конфигурации могут быть отправлены на приборную панель оператора, которая через сеть может эффективно выдавать прогнозы о том, следует ли запускать пусковую установку. Кроме того, такая система может быть использована не просто для того, чтобы сообщить, стоит или не стоит делать выстрел, но и для выдачи предложений о том, какие конфигурации следует изменить, чтобы выстрел был более эффективным. В перспективе мы намереваемся изучить новые архитектуры нейронных сетей, а также выполнить инженерный анализ нейронных сетей для получения коэффициентов силы.

Из этой статьи становится ясно, что даже относительно простые нейронные сети глубокого обучения при правильном подходе способны выполнять достаточно точное прогнозирование, вместе с тем они не лишены недостатков, поэтому так или иначе для их проработки (особенно в случае применения, например, в баллистике) по-прежнему нужны люди. С учётом необходимости в прогнозировании востребованность специалистов по глубокому и машинному обучению на рынке будет только расти; и если вы не хотите оставаться в стороне, то вы можете присмотреться к нашему курсу «Machine Learning и Deep Learning», партнёром которого является компания NVIDIA — лидер в области вычислений для ИИ, а если вы хотите быть более самостоятельным специалистом, прежде всего опираться на собственное умение мыслить, то вы можете обратить внимание на наш флагманский курс по Data Science.

Узнайте, как прокачаться и в других специальностях или освоить их с нуля:

Другие профессии и курсы
Tags:
Hubs:
Total votes 4: ↑2 and ↓20
Comments4

Articles

Information

Website
www.skillfactory.ru
Registered
Founded
Employees
501–1,000 employees
Location
Россия
Representative
Skillfactory School