- PVSM.RU - https://www.pvsm.ru -

Интерфейс пользователя системы управления мобильным роботом

Автоматизированные системы управления робототехническими средствами предполагают наличие оператора и, соответственно, интерфейса пользователя. В данной статье отражен результат разработки интерфейса пользователя мобильного робота. Приложение разрабатывалось в платформе Microsoft robotics developer studio 4 [1] c использованием скриптового языка SPL [2]. В идею создания приложения легли подходы, описанные в учебнике «Основы робототехники» Е. И. Юревича. Тестирование приложения проводилось в симуляторе VSE и на реальных моделях мобильных роботов (Mindstorms NXT 2.0 и Parallax Basic Stamp 2).

Различают следующие типы автоматизированного управления робототехническими средствами (по Юревичу Е.И. «Основы робототехники»):

  • командное управление;
  • управление с помощью задающей рукоятки (джойстика);
  • интерактивное управление.

В данной системе реализованы все три типа управления.

Командное управление

Основное окно интерфейса пользователя представлено на рис. 1 и написано на языке SPL. В данном окне осуществляется командный тип управления мобильным роботом и установка соединения с микроконтроллером.

image
Рисунок 1 — Основное окно интерфейса

Управление с помощью задающей рукоятки

Управление с помощью задающей рукоятки является сегодня основным способом дистанционного управления мобильными роботами (по Юревичу Е.И. «Основы робототехники»). Данный тип управления реализуется посредством смещения рукоятки (джойстика), которое в зависимости от направления смещения преобразуется соответствующие команды приводам. Для организации управления с помощью задающей рукоятки используется сервис среды VPL, реализующий на дисплее монитора окно (рис. 2) с виртуальным джойстиком (трекболом).

image
Рисунок 2 — Окно виртуального джойстика

Интерактивное управление

Интерактивный режим управления имеет особенно большое значение при функционировании мобильных роботов в неизвестной среде. В этом случае диалоговый режим необходим при планировании маршрута, а так же при возникновении сложных и непредвиденных препятствий (по Юревичу Е.И. «Основы робототехники»).
Интерактивный режим реализован в виде двух составляющих:

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

Часть программы реализующая интерактивный режим управления изображена на рис. 4.

image
Рисунок 3 — Консольное окно

image
Рисунок 4 — Фрагмент программы

В данном фрагменте видно, что блок Calculate в верхней части формирует текстовую строку из значения даты (value.Now), значения переменной мощности (state.PWR) и текстовых символов. Далее сформированная текстовая строка отправляется в сервис консольного окна (HelloAppsConsole), и соответственно выводиться в окно консоли. Блок Calculate в нижней части формирует текстовую строку из значения переменной мощности (state.PWR) и текстовых символов. Далее сформированная текстовая строка отправляется в сервис конвентора текста в речь (TexttoSpeechTTS), чем и реализуется голосовое оповещение, параметры голоса можно изменять.

Тестирование приложения проводилось в симуляторе VSE (рис. 5)

image
Рисунок 5 — Виртуальный симулятор VSE

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

Автор: alfatapok

Источник [3]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/programmirovanie/27860

Ссылки в тексте:

[1] Microsoft robotics developer studio 4: http://www.microsoft.com/robotics/

[2] скриптового языка SPL: http://helloapps.com

[3] Источник: http://habrahabr.ru/post/170395/