заполнить лишь одну версию, а потом скопировать форматирование и заменить язык.
Многоязычность с точки зрения разработки приложения достигается использованием языковых файлов, в которых хранятся все тексты сайта, которые не доступны для редактирования администраторами, на трех языках. Эти файлы позволяют использовать один и тот же базовый сайт, который, исходя из текущего выбранного языка пользователя, выбирает и выводит нужные тексты. Те же данные, которые редактируются администраторами, хранятся в базе данных (MySQL).
4. Выводы
Разработанный сайт кафедры Инженерной и компьютерной графики Харьковского национального университета радиоэлектроники соответствует международным требованиям. Он реализован на трех языках, имеет современный дизайн, все страницы содержат элементы фирменного стиля, сохраняя единство и узнаваемость. Разработана удобная система управления содержимым, позволяющая распределить обязанности по обновлению разделов сайта между сотрудниками кафедры.
УДК 658.512.011.56
Рассмотрены вопросы, связанные с построением логической модели формирования голосовых команд управления промышленным роботом.
-□ о-
ГОЛОСОВОЕ ФОРМИРОВАНИЕ УПРАВЛЯЮЩИХ КОМАНД РОБОТА В САПР ТЕХНОЛОГИЧЕСКИХ ПРОЦЕССОВ
И.Ш. Невлюдов
Доктор технических наук, профессор, заведующий кафедрой*
А.М. Цымбал
Кандидат технических наук, доцент кафедры*
С.С. Милютина
Аспирант кафедры*
*Кафедра технологии автоматизации проектирования РЭС и ЭВС Харьковский национальный университет радиоэлектроники
пр. Ленина, 14, г.Харьков, Украина Контактный телефон: (057) 70-21-486
1. Введение
При разработке САПР различного назначения необходимым этапом является выбор математических моделей, который зависит от структуры моделируемого объекта, его свойств, применения объектом различных средств обработки данных.
Проектирование технологических процессов роботизированного производства чаще всего производится в off-лайновом режиме. На начальных этапах проектирования происходит запоминание наборов рабочих точек траекторий робота. Далее, каждой траектории ставится в соответствие набор команд перемещения. Между командами перемещения обычно размещают выполнение операций манипуляции с рабочими объектами.
Введение голосового управления позволяет сократить время, требуемое для задания и ввода рабочих точек перемещений робота, кроме того увеличивается оперативность коррекции и внесения изменений в готовую программу. В силу сказанного, проведение исследований в области голосового формирования управляющих команд является актуальным особенно с точки зрения САПР технологических процессов.
В ответ на введение голосом управляющей команды, система управления роботом должна обеспечить адекватное исполнение реальных команд управления сочленениями манипулятора. Однако, вводимые опе-
ратором команды могут содержать неточности, ошибки, наконец, могут вводиться в неверном порядке, и в дальнейшем не смогут обрабатываться системой управления роботом. Таким образом, вводимая голосом информация должна быть не только принята и распознана, но и проверена на соответствие определенной логической структуре.
Цель данной статьи заключается в разработке логической модели САПР технологических процессов, обеспечивающей контроль структуры и характера команд голосового управления роботом.
2. Разработка логической модели
Построим логическую модель процесса формирования голосовых команд управления роботом. Ее разработка позволит обобщить практические подходы к описанию и реализации реальных команд управления роботом при помощи голосового ввода информации.
Предполагается, что ввод голосовых команд обеспечивается стандартными средствами, например, при помощи стандартной аудиосистемы персональной ЭВМ со штатным микрофоном.
После получения и первичной обработки поступившей аудиоинформации формирование голосовых команд можно разбить на следующие этапы:
1. Разбиение последовательности голосовых команд (командной фразы) на отдельные слова. Фраза разделяется на слова на основании признаков изменения энергии речи.
2. Распознавание отдельных слов командной фразы. На данном этапе отдельные слова сопоставляются с имеющимися в библиотеке команд.
3. Определение принадлежности распознанных слов к классам (подразделам библиотеки).
4. Проверка соответствия командной фразы и ее частей формату команд. Определяется, соответствует ли порядок слов фразы какой-либо предусмотренной команде.
5. Проверка смысла фразы. На этапе определяется наличие смысла в дани фразы, например, осуществляется проверка имеет ли робот требуемую (заданную в командной фразе) степень подвижности (колонна, плечо, локоть и т.п.) для выполнения заданной команды.
6. Проверка возможности выполнения команды. Здесь производится проверка возможности робота в данный момент из текущего положения на данном рабочем месте выполнить требуемую команду.
7. Проверка возможности упрощение команды и поиск возможного варианта упрощения выполнения команды.
8. Формирование управляющей команды, которое включает непосредственное составление команды управления роботом.
Библиотека слов рабочего языка системы голосового формирования управляющих команд может содержать в себе такие подразделы (понятия):
команда - экземпляр из списка команд, которые робот способен выполнять;
звено - экземпляр из списка звеньев робота; имяточки - список точек, координаты которых запомнил робот;
имяобъекта - экземпляр из списка объектов, с характеристиками (например, размерами), хранящимися в памяти робота;
угол - градусная мера угла поворота; расстояние - значение расстояния перемещения звеньев робота;
координаты - координаты в мировой системе координат;
ось - одна из координатных осей в мировой системе координат;
предлог - список предлогов.
В свою очередь каждое из понятий может быть рассмотрено более детально.
Так команда может принимать следующие значения: «повернуть», «переместиться», «переместить», «запомнить», «открыть», «закрыть», «взять».
Подраздел библиотеки звено состоит из следующих слов: «колонна», «плечо», «локоть», «схват».
Классы угол, расстояние и координаты содержат в себе числа, которые в качестве угла представляют собой градусную меру угла поворота заданного звена робота, в качестве расстояния - расстояние перемещения звеньев робота, в качестве координат - координаты перемещения.
Класс ось представляет собой список осей, по которым возможно перемещение: «х», «у», «^».
Класс Предлог содержит следующие слова: «на», «в», «к».
Используя слова, содержащиеся в библиотеке, можно составить следующие типы форматов команд, в которых правая часть представляет собой непосредственно команды управления на робот-ориентированном языке.
1. повернуть <звено> <на> <угол> 3a(3b3c3d(a eNC л Ь еВ л с еС л d еБ)) ^ ^ Зs(s е S)(s = MOVE_ JOINT(b,d))
где NC - множество команд подсистемы голосового управления, В - множество звеньев робота, С - множество предлогов, D - множество углов поворота, S - множество команд управления роботом.
Таким образом, данная команда означает, что существует а, принадлежащее множеству команд голосового управления NC такое, что для него существует Ь из множества звеньев робота В и с из множества предлогов С, а также d из множества углов D, что будет выполняться команда MOVE_JOINT, которая принадлежит к множеству команд управления роботом S, с аргументами имени звена робота (Ь) и градусной меры угла поворота
2. переместиться <на> <расстояние> <ось>
3a(3b3c3d(a eNC л Ь еВ л с еС л d еБ)) ^ ^^^ е S)(s = GOS(x,y,z))
где NC - множество команд подсистемы голосового управления, В - множество предлогов, С - множество расстояний перемещений, D - множество координатных осей, S - множество команд управления роботом.
Эта команда заключается в следующем: существует а, принадлежащее множеству команд голосового управления NC такое, что для него существует Ь из множества предлогов В и с из множества расстояний перемещений С, также d из множества координатных осей D, что будет выполняться команда GOS, которая принадлежит к множеству команд управления роботом S, аргументами которой будут расстояния перемещений по каждой оси (х,у^).
3. переместиться <в> <х, у, z>
За(ЗЬЗс(а eNC л Ь еВ л с еС)) ^ ^^^ е S)(s = GOS(x,y,z))
где NC - множество команд подсистемы голосового управления, В - множество предлогов, С - множество координат, S - множество команд управления роботом.
Смысл данной команды заключается в следующем: существует а, принадлежащее множеству команд голосового управления NC такое, что для него существует Ь из множества предлогов В и с из множества координат С, что будет выполняться команда GOS, которая принадлежит к множеству команд управления роботом S, аргументами которой будут расстояния перемещений по каждой оси (х,у^).
4. переместиться <в> <точка с>
За(ЗЬЗс(а eNC л Ь еВ л с еС)) ^ ^^^ е S)(s = GOS(c))
где NC - множество команд подсистемы голосового управления, В - множество предлогов, С - множество имён точек, S - множество команд управления роботом.
Данная команда может быть описана следующим образом: существует а, принадлежащее множеству команд голосового управления NC такое, что для него существует Ь из множества предлогов В и с из множества имён точек С, что будет выполняться команда GOS,
которая принадлежит к множеству команд управления роботом S, с аргументом - именем точки (с).
5. запомнить <точка b>
3a(3b(a е NC л b е B)) ^ 3s(s е S)(s = LTEACH(b))
где NC - множество команд подсистемы голосового управления, B - множество имён точек, S - множество команд управления роботом.
Команда может быть пояснена следующим образом: существует а, принадлежащее множеству команд голосового управления NC такое, что для него существует b из множества имён точек B, что будет выполняться команда LTEACH, которая принадлежит к множеству команд управления роботом S, аргументом которой будет имя точки (b).
6. переместиться <к> <объект>
3a(3b3c(a eNC л b eB л c eC)) ^ ^3s(s eS)(s = GOS(c))
где NC - множество команд подсистемы голосового управления, B - множество предлогов, C - множество объектов, S - множество команд управления роботом.
Данная команда означает, что существует а, принадлежащее множеству команд голосового управления NC такое, что для него существует b из множества предлогов B и с из множества объектов С, что будет выполняться команда GOS, которая принадлежит к множеству команд управления роботом S, аргументом которой будет имя объекта (с).
7. запомнить < объект>
3a(3b(a е NC л b е B)) ^ 3s(s е S)(s = STORE(b))
где NC - множество команд подсистемы голосового управления, B - множество объектов, S - множество команд управления роботом.
Команда поясняется так: существует а, принадлежащее множеству команд голосового управления NC такое, что для него существует b из множества объектов B, что будет выполняться команда STORE, которая принадлежит к множеству команд управления роботом S с аргументом - именем объекта (b).
8. открыть <схват>
3a(3b(a eNC л b е B)) ^ 3s(s е S)(s = OPEN / CLOSE
где NC - множество команд подсистемы голосового управления, B - множество звеньев робота, S - множество команд управления роботом.
Команда означает, что существует а, принадлежащее множеству команд голосового управления NC такое, что для него существует b из множества звеньев робота B, что будет выполняться команда OPEN/CLOS], которая принадлежит к множеству команд управления роботом S. Команда «закрыть описывается» аналогичным образом.
9. взять <объект> <в> <точка d>
3a(3b3c3d(a е NC л b е В л
лс е С л d е D)) —» (3cs(cs е CS) —» выполним^))
где NC - множество команд подсистемы голосового управления, В - множество объектов, C - множество предлогов. D - множество имён точек, CS - множество последовательностей команд управления роботом.
Данная команда описывается так: существует а, принадлежащее множеству команд голосового управ-
ления NC такое, что для него существует Ь из множества объектов В и с из множества предлогов С, а также d из множества имён точек D, что будет выполняться последовательность команд cs, которая принадлежит к множеству команд управления роботом CS при условии выполнимости данной команды.
10. взять <объект> <в> <х,у^> За(ЗЬЗсЗа(а е N0 л Ь е В л
лс е С л d е Б)) —> (Зс8(св е СБ) —> выполнимте)),
где NC - множество команд подсистемы голосового управления, В - множество объектов, С - множество предлогов. D - множество координат, CS - множество последовательностей команд управления роботом.
Эту команду можно представить в следующем виде: существует а, принадлежащее множеству команд голосового управления NC такое, что для него существует Ь из множества объектов В и с из множества предлогов С, а также d из множества координат D, что будет выполняться последовательность команд cs, которая принадлежит к множеству команд управления роботом CS при условии выполнимости данной команды.
11. переместить <объект> <из> <точка d> <в> <точка 1>
Зa(ЗbЗcЭdЗeЭf(aeNCлbEBлceCлdeDлeeCлfED))-> (Зсз(сз е СБ) —> выполним(сз))
где NC - множество команд подсистемы голосового управления, В - множество объектов, С - множество предлогов, D - множество имён точек, CS - множество последовательностей команд управления роботом.
Команда описывается следующим образом: существует а, принадлежащее множеству команд голосового управления NC такое, что для него существует Ь из множества объектов В и с и е из множества предлогов С, а также d и f из множества имён точек D, что будет выполняться последовательность команд cs, которая принадлежит к множеству команд управления роботом CS при условии выполнимости данной команды.
Представленный набор описаний команд, собственно, и составляет логическую модель, характеризующую основные правила голосового формирования команд управления роботом. На ее основе возможно разрабатывать конкретное программное обеспечение, способное формировать команды управления промышленным роботом, например в процессе технологической подготовки производства.
Выводы
Таким образом, в данной статье разработана логическая модель формирования голосовых команд управления роботом. Исходной информацией для неё являются команды, произнесенные инженером-технологом при формировании технологических переходов и операций. Введенная командная фраза подвергается ряду проверок на соответствие ее составляющих (отдельных слов) классам рабочих слов и выражений, на порядок применения фраз, возможность сочетаний рабочих слов в командной фразе. Практическая ценность результатов работы состоит в возможности проектирования транслятора голосовых команд управления робота.