Автоматизированные системы управления робототехническими средствами предполагают наличие оператора и, соответственно, интерфейса пользователя. В данной статье отражен результат разработки интерфейса пользователя мобильного робота. Приложение разрабатывалось в платформе Microsoft robotics developer studio 4 c использованием скриптового языка SPL. В идею создания приложения легли подходы, описанные в учебнике «Основы робототехники» Е. И. Юревича. Тестирование приложения проводилось в симуляторе VSE и на реальных моделях мобильных роботов (Mindstorms NXT 2.0 и Parallax Basic Stamp 2).
Различают следующие типы автоматизированного управления робототехническими средствами (по Юревичу Е.И. «Основы робототехники»):
- командное управление;
- управление с помощью задающей рукоятки (джойстика);
- интерактивное управление.
В данной системе реализованы все три типа управления.
Командное управление
Основное окно интерфейса пользователя представлено на рис. 1 и написано на языке SPL. В данном окне осуществляется командный тип управления мобильным роботом и установка соединения с микроконтроллером.
Рисунок 1 — Основное окно интерфейса
Управление с помощью задающей рукоятки
Управление с помощью задающей рукоятки является сегодня основным способом дистанционного управления мобильными роботами (по Юревичу Е.И. «Основы робототехники»). Данный тип управления реализуется посредством смещения рукоятки (джойстика), которое в зависимости от направления смещения преобразуется соответствующие команды приводам. Для организации управления с помощью задающей рукоятки используется сервис среды VPL, реализующий на дисплее монитора окно (рис. 2) с виртуальным джойстиком (трекболом).
Рисунок 2 — Окно виртуального джойстика
Интерактивное управление
Интерактивный режим управления имеет особенно большое значение при функционировании мобильных роботов в неизвестной среде. В этом случае диалоговый режим необходим при планировании маршрута, а так же при возникновении сложных и непредвиденных препятствий (по Юревичу Е.И. «Основы робототехники»).
Интерактивный режим реализован в виде двух составляющих:
- консольного окна представленного на рис. 3, в котором отображаются все действия выполненные в процессе управления роботом, например, установка мощности привода, перемещение на определенную дистанцию и т. д.;
- голосовое оповещение, дублирующее функции консольного окна.
Часть программы реализующая интерактивный режим управления изображена на рис. 4.
Рисунок 3 — Консольное окно
Рисунок 4 — Фрагмент программы
В данном фрагменте видно, что блок Calculate в верхней части формирует текстовую строку из значения даты (value.Now), значения переменной мощности (state.PWR) и текстовых символов. Далее сформированная текстовая строка отправляется в сервис консольного окна (HelloAppsConsole), и соответственно выводиться в окно консоли. Блок Calculate в нижней части формирует текстовую строку из значения переменной мощности (state.PWR) и текстовых символов. Далее сформированная текстовая строка отправляется в сервис конвентора текста в речь (TexttoSpeechTTS), чем и реализуется голосовое оповещение, параметры голоса можно изменять.
Тестирование приложения проводилось в симуляторе VSE (рис. 5)
Рисунок 5 — Виртуальный симулятор VSE
К сожалению, я не могу предоставить полный код программы, но для тех у кого возникнут вопросы по реализации данного приложения, я готов предоставить фрагменты кода и проконсультировать в возникших вопросах.
Автор: alfatapok
Привет. не поможешь с реализацией программного управления с коррекцией мобильного робота на гусеничном ходу? очень помощь нужна. напиши мне на мыло если не составит труда! Raffy07@mail.ru