Симулятор робо-платформы GearsBot

инструментарий
робототехника
программирование
Дата публикации

28 июля 2022 г.

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

Один из таким симуляторов - GearsBot.

Основные возможности

Одно из главных преимуществ симулятора - работает из браузера без установки. Но, естественно, требуется подключение к интернету.

Робот программируется с помощью визуального языка, но есть возможность написать код на Python. Программа из визуального языка конвертируется в Python-код, который затем можно загрузить в настоящего робота. Но для этого необходимо разобраться с использованием ev3dev. На рисунке пример программы следования по линии с двумя датчиками цвета.

Пример программы движения по линии

Пример программы движения по линии

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

Поле для симуляции соревновательной дисциплины

Поле для симуляции соревновательной дисциплины

Конфигуратор роботов

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

Интерфейс настройки робота

Интерфейс настройки робота

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

Редактор окружения

Для робота можно создать новую обстановку с помощью редактора.

Интерфейс настройки окружения

Интерфейс настройки окружения

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

Режим арены

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

Таким образом можно провести соревнования по робо-сумо:

Сумо-арена

Сумо-арена

футболу:

Футбольная арена

Футбольная арена

или ориентированию по лабиринту:

Арена-лабиринт

Арена-лабиринт

Заключение

Возможностей у данного симулятора довольно много. Особенно полезной может быть возможность устроить онлайн-соревнования по робототехнике (в режиме арены или без него).

Пока писал эту статью, нашёл ещё два симулятора, которые работают из браузера:

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