Аннотация:
Для расчета оптимального управления требуется достоверная математическая модель объекта управления. В дальнейшем при реализации расчетных управлений на реальном объекте эта же модель может быть использована в навигации робота для прогнозирования его положения и корректировки показаний сенсоров, поэтому важно, чтобы модель достаточно адекватно отражала динамику объекта. Вывод модели часто требует значительного времени и иногда даже невозможен с использованием традиционных методов. Ввиду все большего разнообразия и чрезвычайно сложной природы объектов управления, включая разнообразие современных робототехнических систем, все большую актуальность приобретает задача идентификации, которая позволяет построить математическую модель объекта управления, имея входные и выходные данные о системе. Идентификация нелинейной системы представляет особый интерес, так как большинство реальных систем имеют нелинейную динамику. И если раньше идентификация модели системы заключалась в подборе оптимальных параметров для выбранной структуры, то появление современных методов машинного обучения открывает более широкие перспективы и позволяет автоматизировать сам процесс идентификации. В настоящей работе в качестве объекта управления рассматривается колесный робот с дифференциальным приводом в симуляционной среде Gazebo, которая на сегодняшний день является наиболее популярным программным пакетом при разработке и моделировании робототехнических систем. Математическая модель робота заранее неизвестна. Основная проблема заключается в том, что существующие математические модели не соответствуют реальной динамике робота в симуляторе. В работе рассматривается решение задачи идентификации математической модели объекта управления с помощью машинного обучения на основе нейронной сети. Представлен новый смешанный подход, основанный на использовании известных простых моделей объектов и идентификации неучтенных динамических свойств объекта с помощью нейронной сети на основе обучающей выборки. Для формирования обучающих данных был написан программный пакет, автоматизирующий процесс сбора с помощью двух ROS-узлов. Для обучения нейросети использовался фреймворк PyTorch и был создан программный пакет с открытым исходным кодом. Далее идентифицированная модель объекта используется для расчета оптимального управления. Результаты вычислительного эксперимента демонстрируют адекватность и работоспособность полученной модели. Представленный подход на основе комбинации известной математической модели и дополнительной идентифицированной нейросетевой модели позволяет использовать преимущества накопленного физико-математического аппарата и повысить его эффективность и точность за счет использования современных средств машинного обучения.