Разработка виртуального прибора симулятора робототехнической платформы на основе Unity Engine
Рыжих Виктор Максимович
Проект направлен на создание универсального симулятора для моделирования и тестирования робототехнических платформ на базе микроконтроллеров STM32 и других. Симулятор, разработанный на базе Unity, позволяет программировать на языке C, визуализировать и отлаживать алгоритмы в реальном времени, обеспечивая точную физическую модель. Уникальной особенностью является его универсальность и адаптивность, что делает его полезным для образовательных и профессиональных целей.
Симуляторы позволяют частично или полностью воспроизвести процесс программирования и работы робототехнической платформы, в том числе удалённо, что снижает риски повреждения аппаратных компонентов и сокращает затраты на оборудование.
Одним из эффективных методов обучения и разработки является использование симуляторов.
Разрабатываемый симулятор имеет следующие функции:
- Интерпретатор кода с языка C на C#;
- Выполнение высокоуровневых функций управления робототехнической платформы;
- Встроенный отладчик;
- Достоверная физическая симуляция робототехнической платформы.
- Unity Engine
- Visual Studio
- Aseprite
Разработанная среда является основой для создания симуляторов любых платформ на основе любых микроконтроллеров.
Для создания симуляторов других платформ будет достаточно создать визуальную модель и задать её физические свойства по отработанной схеме.
На данном этапе разработки достигнуты следующие цели проекта:
1. Создана базовая версия симулятора на базе Unity, обеспечивающая корректную работу физической модели робототехнических платформ.
2. Разработан и интегрирован интерпретатор, позволяющий переводить код с языка C на C# и выполнять его в симуляторе.
3. Реализованы основные функции визуализации и отладки алгоритмов в реальном времени, что позволяет пользователям тестировать и корректировать свои программы в виртуальной среде без использования физических роботов.
4. Приложение-симулятор было протестировано в ходе проведения отборочного тура международной олимпиады по программированию микроконтроллеров в мае 2024 года.Разработанная среда поможет с сохранением материальных и денежных средств на обучение программированию и работе с робототехническими платформами.
Появляется всё больше направлений и специальностей, связанных с робототехникой, в том числе с программированием робототехнических платформ. Разрабатываемая среда позволит с лёгкостью обучать пользователей, не знакомых с программированием микроконтроллеров, основам.
Кроме того, симулятор обеспечивает безопасное и экономически выгодное тестирование алгоритмов без необходимости использования реальных физических платформ, что особенно важно для образовательных учреждений и исследовательских лабораторий.
Симулятор разработан с учетом принципа модульности, что обеспечивает высокую адаптивность системы. Каждый функциональный блок легко интегрируется в общую среду и может быть изменен или заменен без нарушения работы остальных компонентов.
Это позволяет гибко адаптировать систему под конкретные задачи и требования, а также расширять её функционал по мере необходимости.
Симулятор спроектирован с учетом масштабируемости, что позволит расширить его функциональные возможности за счет добавления новых модулей и интеграции с внешними системами, например, внешний редактор кода или экспортирование кода в другие системы.
Симулятор масштабируется для симуляции других платформ, для чего необходима только визуальная модель и описание её физических свойств.
Это открывает возможности для создания комплексных учебных и исследовательских комплексов, где несколько систем могут работать совместно, обеспечивая интегрированный подход к обучению и тестированию робототехнических решений.
Разрабатываемый симулятор отличается от аналогов своей универсальностью и гибкостью. В отличие от продуктов разных компаний, которые ограничены симуляцией только для одного конкретного робота своего собственного производства, и использует визуальное блочное программирование, наш симулятор поддерживает программирование на чистом C, что позволяет разработчикам напрямую тестировать и отлаживать код, предназначенный для микроконтроллеров. Это делает нашу платформу значительно более универсальной и подходящей для широкого спектра робототехнических платформ, а не только для одного конкретного устройства. Кроме того, симулятор открыт для адаптации под различные робототехнические платформы, что делает его уникальным инструментом для образовательных и исследовательских целей.
Дизайн симулятора выполнен в минималистичном светлом стиле, что обеспечивает простоту и удобство использования. Пиксельный стиль оформления придает интерфейсу современный и одновременно универсальный вид, который не перегружает внимание пользователя. Данный дизайн ориентирован на образовательную и профессиональную аудиторию, для которой важны функциональность и возможность сосредоточиться на выполнении задач. Кроме того, интерфейс легко настраивается под стиль симулируемой платформы, что делает его подходящим для различных робототехнических систем и удовлетворяет требования различных групп пользователей.
Симулятор обладает высокой степенью юзабилити благодаря интуитивно понятному интерфейсу и минималистичному дизайну, что позволяет быстро освоить работу с программой даже новичкам. Встроенные инструменты, такие как интерпретатор кода и отладчик, делают процесс тестирования и разработки максимально удобным и эффективным. Полезность симулятора заключается в его универсальности и способности адаптироваться под различные робототехнические платформы, что позволяет использовать его в образовательных и профессиональных целях, значительно экономя время и ресурсы на создание и отладку алгоритмов.