Найти тему

Программный пакет для проектирования систем имитационного моделирования мобильных роботов. Часть 1

Введение

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

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

В результате исследователями подготавливается имитационная модель — компьютерная программа, описывающая структуру системы и воспроизводящая её поведение в реальном времени.

Системы моделирования дают возможность быстро оценить работоспособность алгоритмов, апробировать основные параметры модели, диагностировать проблемы еще до создания прототипа. однако работа с симуляцией не всегда предоставляет точную и комплексную модель реального окружения, и нельзя ожидать достоверности и переносимости параметров, а также поведения модели в реальный мир,

1. Обзор технологий имитационного моделирования в робототехнике

1.1. Определение требований к среде моделирования

Сложность сопоставления инструментов для моделирования физических моделей в реальном времени определяется широким спектром параметров, по которым оценивается инструмент. Во-первых, встает выбор между использованием физического движка (PhysX, ODE) или многофункциональной системы моделирования (Gazebo, Unity). Во-вторых, требуется определить тип ПО: ориентированное на моделирование работы многотельных систем или симулирующее разнообразные системы со сложным окружением. В-третьих, в движки используют различные способы решения задач по просчету физики твердых тел. Например, в движках ODE и Bullet, а также системах, построенных с использованием этих движков – Gazebo, MORSE, сцепление между телами представлены как жесткие соединения. В XDE и OpenHRP применяется параметризованная модель системы твердых тел, где соединения являются частью робототехнической структуры. В зависимости от выбранного класса различается реализация просчета прямой и инверсной кинематики, а также реализация вычисления сил при контакте объектов.

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

Несмотря на быстрое развитие области моделирования в последние десятилетия, мобильные роботы все еще представляют сложность для моделирования из-за сложности ориентации в пространстве, навигации и преодоления препятствий. Основными сложностями при разработке сред моделирования являются:

1. Стабильность вычислений. Большая часть физических движков используется для реалистичной анимации персонажей в компьютерных играх, где точность результатов не является самоцелью, в связи с чем ей пренебрегают в пользу производительности и визуальных эффектов. Физический движок PhysX показывает хорошие результаты при просчете коллизий, однако в целях оптимизации пытается «усыпить» объект;

2. Возможность использования в качестве предиктивного движка в реальных системах контроля, что требует от движка высокой скорости вычислений;

3. Симуляция взаимодействия между твердыми и мягкими телами. Неточность в вычислениях приводит к некорректному результату.

4. Возможность симуляции различных типов сенсоров, а также добавление и настройка собственных.

Наиболее важными факторами при выборе инструмента моделирования является:

● реалистичность результатов, близость симуляции к реальности;

● открытый исходный код;

● возможность использовать один и тот же код как для симуляции, так и для управления роботом;

● производительность системы.

1.2. Анализ и выбор игрового движка

Факторами, влияющими на реалистичность симуляции передвижения мобильного робота, являются:

1. Физика твердых тел;

2. Учет сцепления с землей.

3. Симуляция работы электрического мотора.

4. Стабильность моделируемой системы многих тел.

Исследование физических движков происходит с использованием тестов, называемых бенчмарками.

Для исследования точности сухой силы трения, отскока, момента силы, прочности соединений и учета коллизий механизмов в 2006 году были разработаны специализированные тесты, описанные в работе Адриана Боинга. Автор описал 9 наиболее популярных на тот момент физических движков и оценил их по трем параметрам: возможности, документация и удобство использования. По результатам оценки были выбраны 3 физических движка: PhysX (Novodex), ODE и Newton. Novodex показал лучшие результаты по сравнению с остальными, однако все три оказались неподходящими для расчета сил трения и стабильности соединений. Бенчмарк сил трения состоял из 2-х тестов с использованием куба, скользящего по наклонной поверхности. В первом тесте проверялось соответствие поведения тела закону Амонтона-Кулона. Этот тест был пройден успешно всеми тремя движками, но во втором все три показали девиацию от ожидаемого поведения. Во втором тесте вычислялся угол, при котором тело начинало скользить. Результаты теста выявили, что при скольжении по диагонали, коэффициент трения тел увеличивается, что не соответствует поведению тел в реальности. В данной работе физический движок NovodeX показал наилучший результат почти по всем исследуемым параметрам.

Похожая работа была выполнена в 2007. В ней были исследованы 7 физических движков (Bullet, AGEIA, NovodeX, Newton Game Dynamics, ODE Tokamak, True Axis, и JigLib). Бенчмарки тестировали имитацию свойств материалов, стабильности соединений и обработки коллизий. Стабильность соединений и обработка коллизий проверялись на модели цепи, составленной из кольцеобразных примитивов и на модели колонны, построенной из примитивов-кубов.

В 2012 году группой специалистов из нескольких университетов Германии была опубликована работа, посвященная исследованию различных физических движков с открытым исходным кодом. Исследовалось 5 движков (Newton, Havok, ODE, Bullet, PhysX). Тестирование проходило на персональном компьютере (ПК) с центральным процессором (ЦП) Intel i7-870 CPU 2.93GHz, 8GB оперативной памяти, видеокартой Nvidia GeForce GTX 460, операционной системой (ОС) Windows 7 Enterprise 64 Bit (Service Pack 1). Исследование состояло из 6 различных бенчмарков. Для исследования скорости просчета коллизий замерялось среднее время расчета для обработки коллизий при наличии менее 1000 примитивов. Для проверки точности обработки коллизий имитировано падение и отскок теннисного мяча. Проверка стабильности жестких соединений проверялась с использованием цепи закрепленных друг с другом примитивов-сфер различной массы (1-1000 кг). Для проверки стабильности соединения с одной степенью свободы замерялся градус отклонения и отскока от конечного угла при повороте объекта вокруг оси z. Для проверки взаимопроникаемости объектов на примитив-куб воздействовали силой от 25 до 500 Н и замеряли отклонение и поворот по осям. По результатам исследования движок PhysX показал наилучшие результаты по стабильности соединений и слабую проницаемость объектов, однако плохо справился с обработкой отскоков, и стабильности соединений с 1 степенью свободы.

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

Наиболее продвинутыми физическими движками являются: ODE, MuJoCo, PhysX, Havok, Bullet. Они используются в подавляющем большинстве робототехнических симуляторов (таблица 1.2.1). Хотя PhysX и Havok разрабатываются для игр, они могут использоваться с поправкой на оптимизацию и доступны для разработки в системе разработки игр (Unity), а также как подключаемая библиотека.

MuJoCo и ODE являются открытыми проектами, а также активно дополняются коммьюнити. Они показывают в бенчмарках хорошие результаты по заявленным выше параметрам [4].

Рассмотрим современные платформы для моделирования более детально:

Gazebo – кроссплатформенный робототехнический симулятор, имитирующий работу нескольких моделей, сенсоров, а также снимающий с них показания. Имеет возможно моделировать работу камеры, контактного сенсора, лазерного дальномера, устройство для чтения RFID-меток и бампера. Для создания моделей используется список доступных заготовок: Atlas, PR2, Pioneer2 DX, iRobot Create, TurtleBot – или разрабатывается новая с использованием внутреннего редактора. К симулятору для создания качественной графики можно подключить графический движок с открытым исходным кодом (OGRE). Имеется возможность использовать один из физических движков на выбор – ODE, Bullet, Simbody или DART, что увеличивает вариативность.

V-REP – это среда, предназначенная для моделирования различных видов роботов. V-REP распространяется под бесплатной лицензией для некоммерческого использования, с ориентацией на небольшие лабораторий или любителей.

Программное обеспечение имеет ряд преимуществ:

● поддержка четырех физических движков: Bullet, ODE, Vortex и Newton;

● внешний API интерпретирован на языках C/C++, Python, Octave, Java, Lua;

● имеет возможность масштабирования с использованием кастомных плагинов и аддонов;

● поддержка фреймворкаRobot Operation System (ROS);

● вычисление прямой и обратной кинематики;

● кроссплатформенность;

● наличие встроенных инструментов сбора и визуализации данных.

● более 20 моделей роботов, таких как Pioneer p3dx, Kuka LBR4, ABB IRB 140.

V-REP ориентирован на:

● быстрое прототипирование;

● верификацую;

● разработку и апробацию алгоритмов;

● исследование, образовательные цели;

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

Webots предоставляет широкий спектр сенсоров и приводов для моделирования: датчики расстояния, света, камеры, гироскопы, акселерометры и многие другие. В качестве физического движка используется ODE.

Цикл моделирования с использованием Webots:

1. Разработка модели в среде Webots;

2. Реализация управляющей программы;

3. Симуляция работы робота;

4. Загрузка данных в реального робота.

В целом, Webots можно назвать наилучшей и наиболее многофункциональной средой для моделирования. Единственным минусом является платность системы и отсутствие возможности использования различных физических движков.

OpenRave предоставляет возможности для разработки, тестирования и выполнения алгоритмов в робототехнике. Основной отличительной чертой среды моделирования является расширяемая плагинами модульная архитектура. Использование такой архитектуры позволяет разработчикам писать свои плагины и модули по мере необходимости, таким образом, любой алгоритм, система контроля или датчиков может быть смоделирована в реальном времени. Разработчики, использующие OpenRAVE, могут сосредоточиться на разработке поведенческих алгоритмов робота, без необходимости вникать в детали кинематики, динамики и коллизий.

Основными языками разработки являются C++ и Python. Практически любой желаемый физический движок может быть подключен в виде плагина.

Проекты, использующие OpenRAVE: Personal Robotics (Intel Research Pittsburg), OpenGRASP, OpenMR, Constrained Manipulation Planning Suite. В настоящее продолжается работа над улучшением движка, исходный код проекта доступен на Github: https://github.com/rdiankov/openrave.

Основной идеологией USARsim стала попытка идти наперерез системам моделирования роботов того времени. Системы, разработанные до 2000-ых, использовали внутренние алгоритмы расчёта физики, обладали малой точностью и давали довольно приблизительные результаты поведения в среде. В то же время, новые на тот момент системы моделирования, такие как Gazeebo и Webots, начали использовать открытые физические движки, такие как ODE. Использование физ. движков сильно повысило точность расчётов, однако не интегрированность ODE с графическими библиотеками, вызывала необходимость работы с низкоуровневым OpenGL и сильно сказывалось на возможностях и быстродействии рендеринга.

Одной из первых задачу совмещения достаточно точного физического моделирования и качественного рендеринга графики удалось решить USARsim. И элегантным способом этого решения стало использование игрового движка UnrealEngine.

По сути, USARsim (Urban Search And Rescue) является глобальной надстройкой редактора UnrealEngine, в которой сам робот и его среда фактически реализуются как готовая игровая карта для любой из игр на UnrealEngine. За обработку физики внутри сцены отвечает игровой физический движок Karma.

Одной из основных возможностей USARsim является перенос кода, контролирующего поведения робота в сцене, на реальную машину практически без доработок. За подобный перенос отвечают подключаемые к USARsim и полностью поддерживаемые плагины, такие как Player, MOAST и ROS.

Именно простота построения моделей, пришедшая из мира компьютерных игр, и легкость переноса кода на реальные РТК стали ключевыми для его успеха, особенно в ранние годы. USARsim до сих пор очень популярен в любительском сообществе из-за своей простоты, легкости освоения и, при этом, достаточной точности результатов.

Создатели среды моделирования MuJoCo постарались привнести в вопрос моделирования РТК своё виденье, попытавшись объединить достоинства двух разных подходов моделирования, сформировавшихся к тому времени. В MuJoCo при моделировании используется обобщенная система координат, а не декартова, как принято в игровых движках. Это позволяет среде использовать быстрые и точные алгоритмы расчёта движений модели, присущие математическим системам моделирования, типа Matlab Robotics toolbox. Однако, в отличие от последних, MuJoCo перенимает идеи игровых движков по обработке трения и столкновений и использует optimization-based contact dynamics.

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

В итоге такого подхода из MuJoCo получается среда с отличными показателями быстродействия и точности, хорошо подходящей для симуляции «на лету» в самом работающем РТК даже при небольших вычислительных мощностях.

Однако из подхода MuJoCo с общими координатами вытекают и очевидные минусы: даже сами разработчики говорят, что при первых попытках построить модель пользователей может находить принципы построения модели в MuJoCo «контринтуитивными». Построение целостной окружающей среды вокруг РТК в MuJoCo, в силу использования также выглядит весьма кропотливым, а во многом и не продуктивным процессом, и зачастую используется только обобщенная обрисовка свойств среды, способная повлиять на модель.

Использование OpenGL для отрисовки также не способствует наглядности и быстродействию рендеринга, и визуально модели, построенные в MuJoCo, сделаны очень обобщенно.

Unity – кроссплатформенный игровой движок для разработки 2D и 3D игр, но существует возможность использования его в качестве инструмента для моделирования роботов [1]. С помощью Unity были разработаны такие проекты, как: симулятор марсохода Curiosity от NASA, система 3D-планировки Олимпийских Игр 2014 года, US Navy Virtual Training8 и другие.

Одним из преимуществ Unity является использование физического движка PhysX, который показывает отличные результаты даже в сравнении с движками, разрабатываемыми специально для исследования и моделирования [4, 5].

Matlab robotics toolbox – это набор алгоритмов и инструментов для программы Matlab, созданный специально для моделирования роботов. В программе есть возможность составления карты во время работы робота и следование по ней с заложенным в среде алгоритмом [12-13]. Платформа также позволяет тестировать и проверять приложения на роботах с ROS- (Robot Operating System) и роботизированных симуляторах.

Среди проблем использования этого инструмента следует выделить:

1. Покупка и установка Matlab;

2. Дополнительная установка среды визуализации, например, Gazebo, для которого, также необходимо установить операционную систему Ubuntu

Microsoft Robotics Developer Studio имеет встроенное средство визуализации, а также недостатки схожие с Matlab robotics toolbox [14].

Учитывая проведенный обзор, была составлена сводная таблица характеристик сред моделирования (табл. 1.2.1), а также их технические характеристики (табл. 1.2.2). Игровые движки имеют достаточные возможности и простую визуализацию с широкими возможностями настройки, в связи с этим решено использовать один из общедоступных Unreal Engine 4 (UE4) или Unity. Обе среды разработки базируются на физическом движке PhysX, в UE4 используется версия 3.3, а в Unity 4.1.2. Исходя из этих данных решено использовать для решения задач игровой движок Unity.

Таблица 1.2.1. Общие характеристики сред моделирования
Таблица 1.2.1. Общие характеристики сред моделирования
Таблица 1.2.2. Технические параметры
Таблица 1.2.2. Технические параметры

1.3. Применение игрового движка Unity в робототехнике

Рассмотрим использование игровой движок Unity, как инструмента для моделирования функционирования роботов.

Существуют разработки в сфере моделирования работы робота-комбайна. Он состоит из сцены и виртуальной модели робота-комбайна с двумя камерами, разнесенными на 100 мм, которыми можно управлять через систему команд. Изображение с камер робота-комбайна в активном режиме показано на рис. 1.3.1.

Рис. 1.3.1. Изображение с камер робота-комбайна
Рис. 1.3.1. Изображение с камер робота-комбайна

Система сбора данных содержит телеметрию робота, которая снимает данные с датчиков и камер, конвертирует в формат обмена с протоколом, отправляет по сети в центр обработки и ждет ответной команды управления с системы формирования команд. Система предобработки данных принимает данные из сети и подготавливает данные для визуализации в нужном формате. Результат предобработки изображен на рисунке 1.3.2.

Рис. 1.3.2. Конвертация данных от датчиков в карту местности для составления алгоритма движения робота
Рис. 1.3.2. Конвертация данных от датчиков в карту местности для составления алгоритма движения робота
Рис. 1.3.3. Трехмерная  модель шестистепенного манипулятора
Рис. 1.3.3. Трехмерная модель шестистепенного манипулятора

Также существуют решения в области иммитационного моделирования для мобильного робота, используемого совместно с манипулятором. Графика и анимации в проекте реализованы в программном обеспечение Autodesk 3Ds Max, а для создания виртуального пространства и реализации движения робота используется игровой движок Unity 3D [5]. Чтобы приблизить имитационную модель к реальной, добавлены законы взаимодействия тел и среды с использованием физического движка NVIDIA PhysX.

Упрощённая трехмерная модель манипулятора с учетом габаритов приведена на рисунке 1.3.3., а модель мобильной платформы на рисунке 1.3.4.

Разработанная программа позволяет оценить поведение реальной системы в окружающей среде на компьютерной модели робота. Также происходит фиксация траектории движения мобильной платформы и обобщенных координат манипулятора. Итоговый вид имитационной модели представлен на рисунке 1.3.5.

Рис. 1.3.4. Трехмерная модель мобильной платформы
Рис. 1.3.4. Трехмерная модель мобильной платформы

Доработкой программы может служить создание новой сцены в Unity 3D с изменением динамических характеристик робота и транспортируемых объектов, изменение габаритных размеров робота, а также характеристик окружающей среды, что позволит оценить поведение схожих реальных систем.

Рис. 1.3.5. Компьютерная модель робота в Unity 3D
Рис. 1.3.5. Компьютерная модель робота в Unity 3D

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

Рис. 1.3.6. Схема взаимодействия в приложение Formant
Рис. 1.3.6. Схема взаимодействия в приложение Formant

Учитывая стоимость, сложность и нестандартность роботизированного оборудования, разработчики решили использовать «цифровой двойник» — виртуальный прокси-робот запускающийся через виртуальный сигнал от пользователя (рис. 1.3.6).

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

На рисунке 1.3.7 показан интерфейс управления парком роботов Formant. Пользователь наблюдает за симуляцией работы хранилища, которая в реальном времени публикует данные в облачном сервере. Масштаб развертывания симуляции и её надежность находятся под контролем разработчиков.

Основным преимуществом сервиса является метод представление анализируемых и визуальных данных (видео, облака точек, позиции робота с 6 степенями свободы и т. д.) оператору. В приложение возможно перевернуть, расфокусировать, масштабировать, добавить задержку, добавить шум. Например, с использованием пакета эффектов камеры (Colorful FX), можно применять видеоэффекты для имитации особенностей объектива, таких как хроматическая аберрация или бочкообразная дисторсия.

Рис. 1.3.7. Интерфейс управления в среде Formant
Рис. 1.3.7. Интерфейс управления в среде Formant

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

Рис. 1.3.8. Пример интерфейса постобработки изображения
Рис. 1.3.8. Пример интерфейса постобработки изображения

Также необходимо добавить дополнительные камеры для ситуационной осведомленности и обработку данных от телеметрии на виртуальном роботе для потоковой передачи его данных в режиме реального времени в облако (рис. 1.3.9).

Среда разработки Unity в 2021 году объявила об официальной поддержке ROS 2. Робототехническая операционная система в сочетании с игровой симуляцией расширяет область применения технологий.

Команда разработчиков на своем сайте предлагает демонстрационный пример Robotics-Nav2-SLAM, демонстрирующий, как приступить к моделированию одновременной локализации и картографирования (SLAM) и навигации для автономной мобильной робототехники (AMR) с Unity и ROS 2.

Разработанный пакет для Unity позволяет настроить интерфейс взаимодействия со средой ROS 2. В нем есть функция импорта существующих конфигурации роботов из файлов URDF с использованием модуля импорта URDF. Полученную модель можно тренировать с использованием высококачественного и высокоэффективного конвейера рендеринга Unity (URP), а также производительного и точного физического моделирования.

Перенести проект Unity на ROS 2 можно с использованием пакета ROS-TCP-Connector в раскрывающемся меню, также возможно переключать пакет между интеграцией с ROS или ROS 2 (рис. 1.3.10). После изменения протокола Unity автоматически перекомпилирует пакет с учетом выбора.

Рис. 1.3.10. Настройка Unity для взаимодействия с ROS 2
Рис. 1.3.10. Настройка Unity для взаимодействия с ROS 2

Представленный проект демонстрирует, как использовать Unity для имитации навигационной системы с применением ROS 2 (рис. 1.3.11а). Алгоритмы навигации к конечной точки пути используют SLAM — одновременную локализацию и сопоставление. SLAM отслеживает текущую позицию робота и предыдущий промежуток времени. Для автономных роботов выполнение точного SLAM является трудоемкой задаче. Unity упрощает задачу и позволяет опробовать разные способов определения координат (рис. 1.3.11б). (сенсоры, алгоритмы).

Рис. 1.3.11. Инструменты визуализации карты  и маршрута следования мобильного робота, где а – пакет RViz в ROS 2;
б – TurtleBot 3 выполняет SLAM и автономную навигацию в Unity
Рис. 1.3.11. Инструменты визуализации карты и маршрута следования мобильного робота, где а – пакет RViz в ROS 2; б – TurtleBot 3 выполняет SLAM и автономную навигацию в Unity

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

Список основных причин для использования Unity:

● физический движок PhysX;

● возможность использования движка Havok;

● поддержка платформ Windows и Linux;

● доступны два языка программирования C# и JavaScript;

● доступная документация;

● поддержка широкого спектра файловых форматов;

● интуитивно понятный графический интерфейс пользователя с гибкими настройками;

● поддержка плагинов и API, расширяющих возможности среды разработки.

1.4. Постановка цели и задач исследования

В связи с проведенным анализом была поставлена теоретическая цель минимизировать издержки при исследование новых конфигураций мобильных роботов с использованием имитационного моделирования в игровом движке Unity. Практической целью проекта является разработка конкурентоспособного прикладного программного обеспечения для симуляции работы робототехнических мехатронных платформ.

Имитационное моделирование позволит с высокой точностью описать поведение реальной робототехнической системы, используя виртуальную модель.

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

В связи с чем были определены следующие объект и предмет исследования:

Объект: процесс имитации поведения мобильной робототехнической платформы с использованием движка Unity.

Предмет: методы и алгоритмы воссоздания физического поведения мобильной робототехнической системы с использованием игрового движка Unity.

Задачи:

● создать интуитивно-понятный UI и оформление;

● воссоздать приближенное к реалистичному поведение механики и электроники;

● реализовать интерфейс программирования микроконтроллеров;

● реализовать гибкую систему настроек элементов моделируемой платформы;

● обеспечить широкую базу заготовленных элементов;

● реализовать протоколы передачи данных (I2C, SPI, WIFI);

● реализовать одометрию, измерения с помощью датчиков;

1.5. Предлагаемое решение

Для достижения поставленной цели и реализации приложения выбран формат представления данных в виде пакета инструментов (Asset). Создание в формате Assets позволяет после окончания разработки добавить в базу данных 3D модели, скрипты, материалы и изображения для дальнейшего использования при создании собственного прикладного программного обеспечения.

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

Для симуляции используется физика Unity – Rigidbody, Joint и т.д. Соединение узлов робота выполняется с использованием специального скрипта – ModuleBaseSkript. Скрипт добавляет RigidBody если он отсутствует у тела, а также добавляет Fixed joint обеспечивая соединение объектов с использованием физики.

Заключение по разделу 1.

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

С учетом этих аспектов для имитационного моделирования мобильных роботов была выбрана среда разработки Unity. Программное обеспечение позволяет создать свой собственный пакет с набором инструментов для решения конкретной задачи.

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