-□ □-
Представлено основн принципи формування граматик для керування роботом. Розроблено послидовтсть дш, яка дозволяв реалiзувати голосове керування. Визначено ключовi (предкеруюч^ слова та допустимi послiдовностi введення голосових команд. Розглянуто основт характеристики робота РМ-01. Наводяться основн методи та властивостi, реалiзованi програмою. Описано XML-файл з бiблiотекою керуючих слiв робота, його структуру та принципи створення
Ключовi слова: граматика, голос, керування, розтз-нання, мова, робот, бiблiотека, команда, матпулятор, ланка
□-□
Представлены основные принципы формирования грамматик для управления роботом. Разработана последовательность действий, которая позволяет реализовать голосовое управление. Определены ключевые (пред-управляющие) слова и допустимые последовательности ввода голосовых команд. Рассмотрены основные характеристики робота РМ-01. Приводятся основные методы и свойства, реализованные программой. Описан XML-файл, содержащий библиотеку управляющих слов робота, его структура и принципы создания
Ключевые слова: грамматика, голос, управление, распознавание, речь, робот, библиотека, команда, манипулятор, звено
-□ □-
УДК 681.3.06
РАЗРАБОТКА ГРАММАТИК ПРИ ГОЛОСОВОМ УПРАВЛЕНИИ РОБОТОМ
А. А. Андрусевич
Доктор технических наук, профессор* С. С. Милютина
Кандидат технических наук, доцент* В. В. Невлюдова
Аспирант* *Кафедра ТАПР «Технология автоматизации производства РЭС и ЭВС» Харьковский национальный университет радиоэлектроники пр. Ленина, 14, г. Харьков, Украина, 61166
1. Введение
В условиях роботизированного производства технологический процесс предусматривает применение промышленных роботов. Такой робот выполняет технологические операции и переходы, которые соответствуют целям и задачам производства. Для выполнения этих действий роботом необходимо управлять, а, следовательно, первостепенной задачей становится написание программы управления роботом. Для повышения гибкости производства целесообразно максимально упрощать процесс формирования программы управления роботом, одним из путей которого может быть голосовое управление роботом.
Однако существующие системы голосового управления роботом не решают актуальную задачу создания такого языка управления, который бы имел собственную синтаксическую структуру, внутри которой можно наращивать и модифицировать лексическую базу знаний: слов и правил, по которым слова организуются в предложения. Также целесообразным представляется создавать язык управления близким к естественному языку.
При создании голосового управления роботом необходимо определять правила, которые принято называть грамматиками, по которым будет происходить задание команд пользователем, их интерпретация и трансляция непосредственно в систему управления робота [1-4].
Таким образом, задача определения грамматик языка управления роботом является актуальной.
2. Анализ литературных данных и постановка проблемы
Голосовое управление является альтернативой известным системам ввода информации. Это следующая стадия развития управления техникой после сенсорных кнопок. Среди преимуществ следует отметить возможности удалённого и интерактивного управления, отсутствие необходимости тактильного контакта с устройством, а также снижение доли визуального контакта с оборудованием и устройством управления.
При создании голосового управления роботом следует понимать, что для повышения точности распознавания слов, а, следовательно, точности управления, его скорости и эффективности язык управления роботом должен быть формализован, должна быть строго определена его структура, то есть определены грамматики, по которым будут строиться команды управления.
Проведенный анализ литературных источников [5-9] показал, что в самом распознавании речи существует множество проблем, во многом связанных с системами передачи, различиями произношения дикторов, алгоритмами реализации распознавания речи и т.п. Однако все они отмечают, что упрощение языка, в данном случае языка управления, значительно повышает точность распознавания произнесенных слов. Данного упрощения можно достичь тремя путями, которые и предлагается рассмотреть в рассмотренном исследовании, а именно: сокращение языка управления, его структурирование и определение грамматик, по которым строятся команды управления.
Существует три способа определения грамматик: использование XML-файлов, использование бинарных файлов конфигурации (CFG) или использование методов составителя грамматик и структур данных. Использование XML-файлов является одним из наиболее простых, удобных и доступных способов для определения грамматик [10, 11].
Таким образом, в данной статье предлагается разработка грамматик и XML-файла, содержащего структурированную библиотеку управляющих слов робота.
3. Цель и задачи исследования
Целью предлагаемого исследования является разработка грамматик для управления роботом.
Для достижения цели исследования необходимо решить следующие задачи:
- определить набор управляющих слов робота;
- определить правила построения команд робота;
- структурировать библиотеку управляющих слов;
- создать XML-файл.
4. Разработка и обоснование грамматик для управления роботом
Эксперимент проводился на базе промышленного робота РМ-01, который был разработан первоначально как программируемый универсальный манипулятор для выполнения операций сборки. Его отличает высокая механическая точность изготовления, достаточно мощные приводы постоянного тока. Манипулятор выполняет основные технологические и частично транспортные операции. Его возможности расширены наличием комплекта инструментов, автоматически устанавливаемых на манипулятор. Изображение РМ-01 представлено на рис. 1. Следует отметить, что голосовое управление разрабатывалось благодаря предварительному осуществлению управления роботом от персонального компьютера.
Рис. 1. Промышленный робот РМ—01
Манипулятор является антропоморфным, имеет шесть степеней подвижности. Шесть звеньев и основание манипулятора образуют шесть пар звеньев пятого класса. Вращение звеньев осуществляется вокруг осей, проходящих через центры суставов. Звенья манипулятора могут перемещаться в строго определенном диапазоне и имеют ограничения по углам поворота.
Для реализации голосового управления предлагается использовать следующую последовательность действий:
1. Описание блока команд начинается с ключевого (предуправляющего) слова «Robot»;
2. Второе слово командной фразы определяет тип необходимого движения: поворот (rotate) или перемещение в точку (move).
3. Последующие слова составляют параметры, связанные с определенной командой, при этом координаты точек перемещения при предварительно заданной команде move разделяются разделителем «dot», а после задания вращения сначала вводится звено, которое необходимо повернуть, а затем градусная мера угла поворота.
4. Далее возможно повторное использование заданного типа действия или выполнение другого типа действия.
5. Фраза завершается словом "end", которое показывает, что задание команды завершено и теперь необходимо приступить к её проверке на правильность задания и выполнения [12, 13].
Используемая грамматика составлена по типу "TopLevelRule" с предопределенным начальным состоянием, то есть, система автоматического распознавания речи ищет предуправляющее слово «Робот» как предварительное условие к любой распознаваемой командной строке. Упомянутая последовательность слов составляет грамматики второго уровня, они используются в TopLevelRule и не являются непосредственно распознаваемыми. Грамматика определена для каждого запланированного действия. Далее представлен синтаксис команды:
Robot <тип_действия><параметры> end,
где «Robot» - предуправляющее слово; тип_дей-ствия - слово, определяющее вид перемещения; параметры - слова, представляющие параметры, связанные с командой; "end" - слово, обозначающее завершение ввода команды [14].
При составлении библиотеки слов, которые могут быть использованы в тексте программы работы робота, указаны следующие идентификаторы: «words» (ключевые слова), «switch» (переключение типа выполняемого действия), «joint» (название звена манипулятора), «NUMBERS» (числа), «SNUMBERS» (числа, произносимые одним словом), «DNUMBERS» (двухзначные числа), «HNUMBERS» (трёхзначные числа), «TNUMBERS» (четырёхзначные числа). Наличие такого количества разделов, описывающих числа, объясняется особенностями английского языка. Числа до двадцати являются однословными, то есть могут быть заданы посредством произнесения одного слова. Такие числа, как «двадцать один», «двадцать два» и так далее, в своём составе содержат два слова, первое из которых обозначает десятки, а второе -число от одного до девяти. Трёхзначные числа, например «сто двадцать пять», в английском языке произносятся как «одна сотня двадцать пять». Таким образом, это число включает в себя на первом месте число от одного до девяти, показывающее количество сотен, за ним идёт непосредственно само слово «сотня» («hundred»), далее либо однословное число (от одного до двадцати), либо двухсловное число. Аналогично можно представить числа от
тысячи до двадцати тысяч. Число «тысяча сто двадцать пять» (четыре слова в русском языке) в английском варианте будет звучать как «одна тысяча одна сотня двадцать пять». Здесь на первом месте стоит число обозначающее количество тысяч (от одного до двадцати), далее само слово «тысяча» («thousand») и затем всё аналогично представлению трёхзначного числа.
В разделе «words» указаны слова «robot» (начало команды), «end» (окончание команды), «exit» (выход из программы). В разделе «switch» представлены слова, обозначающие вид действия «rotate» (поворот), «move» (перемещение). Раздел «joint» включает названия звеньев «base» (основание), «shoulder» (плечо), «elbow» (локоть), «wristrotate» (поворот кисти), «wrist-down» (подъём/опускание кисти) и «gripper».
Раздел «NUMBERS» является структурированным, он включает в себя разделы «SNUMBERS», «DN-UMBERS», «HNUMBERS», «TNUMBERS», каждый из которых имеет свою собственную структуру. «SNUMBERS» включает в себя простые числа, «DNUMBERS» -десятки и простые числа («SNUMBERS»), «HNUMBERS» - сотни и «DNUMBERS», «TNUMBERS» - тысячи и «HNUMBERS»:
«SNUMBERS» = <однословные числа>= 0, 1,..., 20;
«DNUMBERS» = <двухсловные числа>=<десятки->+«SNUMBERS», <десятки> = 10, 20,., 90;
«HNUMBERS» = <трёхзначные числа> = = «SNUMBERS» + «hundred» + «DNUMBERS»
«TNUMBERS» = <четырёхзначные числа> = = «SNUMBERS» + «thousand» + «HNUMBERS».
Ниже приведен текст XML-файла, который является библиотекой слов языка управления роботом и содержит вышеописанные уровни грамматик.
<GRAMMAR LANGID="409"> <DEFINE>
<ID NAME="words" VAL="11"/>
<ID NAME="switch" VAL="1"/> <ID NAME="joint" VAL="253"/> <ID NAME="NUMBERS" VAL="22"/> <ID NAME="SNUMBERS" VAL="24"/> <ID NAME="DNUMBERS" VAL="23"/> <ID NAME="HNUMBERS" VAL="25"/> <ID NAME="TNUMBERS" VAL="26"/>
</DEFINE>
<RULE ID="words" TOPLEVEL="ACTIVE">
<P>
<L>
<P>robot</P> <P>end</P> <P>exit</P> </L>
</P>
</RULE>
<RULE ID="switch" TOPLEVEL="ACTIVE">
<P>
<L>
<P>rotate</P> <P>move</P> </L> </P>
<RULEREF REFID="joint"/>
</RULE>
<RULE ID="joint">
<P>
<L>
<P>base</P> <P>elbow</P>
<P>shoulder</P> <P>wrist</P>
</L> </Р> </RULE>
<RULE Ю="NUMBERS" TOPLEVEL="ACTIVE">
<Р>
<L>
<RULEREF REFID="SNUMBERS"/> <RULEREF REFГО="DNUMBERS'/> <RULEREF REFID="HNUMBERS"/> <RULEREF REFID="TNUMBERS"/>
</L> </Р> </RULE>
<RULE Ю="SNUMBERS">
<Р>
<L>
<Р^его</Р> <Р>опе</Р> <P>two</P> <P>three</P>
<P>four</P> <Р>^е</Р> <P>six</P> <P>seven</P>
<P>eight</P> <P>nine</P> <Р^еп</Р> <P>eleven</P>
<P>twelve</P> <P>thirteen</P> <Р>ош-
teen</P>
<P>fifteen</P> <P>sixteen</P> <P>seven-
teen</P>
<P>eighteen</P> <P>nineteen</P> </L> </Р> </RULE>
<RULE Ю="DNUMBERS">
<Р>
<L>
<P>twenty</P> <Р>Ш^у</Р> <Р>оЛ-
У</Р>
<P>fifty</P> <P>sixty</P> <P>sevent-
У</Р>
<P>eighty</P> <P>ninety</P> </L> </Р>
<RULEREF REFID="SNUMBERS'7> </RULE>
<RULE Ю="HNUMBERS"> <RULEREF REFID="SNUMBERS'7> <P>hundred</P>
<RULEREF REFЮ="DNUMBERSУ> </RULE> <RULE ID="TNUMBERS"> <RULEREF REFЮ="SNUMBERSУ> <P>thousand</P>
<RULEREF REFID="HNUMBERS'7> </RULE>
Рассмотрим последовательность простых действий «взять и поставить». Робот, оборудованный пневматическим схватом с двумя пальцами, может взять деталь в одной позиции (названной началом координат) и поставить её в другую позицию (названной конечной). Обе позиции размещены на одном рабочем столе робота РМ-01.
Роботу можно задать следующие команды:
- открыть/закрыть схват,
- достичь начальное/конечное положение (позиции на 100 мм выше позиции начала координат/конечного, соответственно),
- переместиться в начало координат/конечное положение, переместиться в исходное положение (безопасное положение далеко от стола) [15].
Табл. 1 содержит основные функции и их описание, реализованные программой. Здесь указаны как функции, осуществляющие непосредственно распознавание голосовой информации, так и функции, обеспечивающие выполнение технологических операций и переходов. Данный пример достаточен, чтобы демонстрировать работу голосового интерфейса.
Для задания любой из упомянутых команд, осуществляются следующие грамматики, приведенные в табл. 2.
Таблица 1
Методы и свойства реализации программного компонента
После передачи и активизации грамматики подсистема автоматического распознавания речи воспринимает голосовые команды и генерирует события распознавания речи. Далее, соответствующие сервисные программы выполняют трансляцию команд управления роботом непосредственно в систему управления роботом.
Таблица 2
Грамматики, используемые в программе
Название Значение
TopLevelRule = «Робот» Предкомандное слово
Грамматика1 = «move» Переместиться
Грамматика2 = «координаты начальной точки» Задание точки, в которой находится объект
ГрамматикаЗ = «открыть» Открыть схват
Грамматика4 = «закрыть» Закрыть схват
Грамматика5 = «move» Переместиться
Грамматикаб = «координаты конечной точки» Задание точки, в которую необходимо переместить объект
Грамматика7 = «открыть» Открыть схват
Грамматика8 = «закрыть» Закрыть схват
Позиция начала координат Возврат
7. Выводы
В ходе проведения описанного исследования был определён набор управляющих слов промышленного робота РМ-01. В соответствии с техническими характеристиками указанного робота, выбраны правила построения управляющих команд. В статье рассматривается и обосновывается структура библиотеки управляющих слов, а также реализация её в виде ХМЬ-файла.
В статье приведен принцип создания грамматик, на основании которых может быть реализовано голосовое управление роботом. Суть предлагаемого метода голосового управления состоит в составлении прикладных программ робота путём последовательной записи управляющих команд, заданных оператором робота, и формировании на их основе технологических переходов манипулятора и технологических операций при проектировании роботизированных технологических процессов сборки.
Предложенные принципы создания библиотеки управляющих слов являются роботонезависимыми и позволяют наращивать библиотеку для роботов, имеющих отличный от рассмотренного набор возможных действий.
Функция Краткое описание
port.Open Открывает порт для передачи данных роботу
InitRobot Инициализация робота
RunJoint Команда задания перемещения звена
MovePoint Команда задания перемещения в точку
SetSpeed Установка скорости
TakeObject Команда «взять объект»
PutObject Команда «положить объект»
OnTextRecognized Вызов функций после распознавания текста
RunVoiceCommand Выполнение голосовой команды
analys Анализ голосовой команды
get Трансляция голосовой команды
excuse Удаление последнего произнесенного слова из командной фразы
clear Удаление всего блока команд
Литература
1. Проценко, В. С. Техшка програмування мовою О [Текст] / В. С. Проценко, П. Й. Чаленко, А. Б. Ставровський. - К.: Либщь, 1993. - 224 с.
2. Зенкевич, С. Л. Управление роботами [Текст] / С. Л. Зенкевич, А. С. Ющенко. - М.: Издательство МГТУ им. Н. Э. Баумана, 2000. - 352 с.
3. Юревич, Е. И. Основы робототехники [Текст] / Е. И. Юревич. - СПб.: БХВ-Петербург, 2005. - 416 с.
4. Воротников, С. А. Информационные устройства робототехнических систем [Текст]: Учеб. пособие / С. А. Воротников. -М.: Издательство МГТУ им. Н.Э. Баумана, 2005. - 384 с.
5. Балакшин, П. В. Некоторые аспекты исследования систем распознавания речи в телефонных службах поддержки [Текст] / П. В. Балакшин, Г. Ю. Петров // Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики. - 2012. - № 1 (77). - С. 73-78.
6. Губочкин, И. В. Разработка алгоритмов анализа и распознавания речи на основе адаптивной кластерной модели и критерия минимального информационного рассогласования [Текст]: автореф. дис. канд. техн. наук : 05.13.17/ И. В. Губочкин; [Нижегородский государственный лингвистический университет им. Н.А. Добролюбова] . — Нижний Новгород, 2011. - 22 с.
7. Гребнов, С. В. Аналитический обзор методов распознавания речи в системах голосового управления [Текст] / С. В. Гребнов // Вестник ИГЭУ - 2009. - № 3. - С. 83-85.
Восточно-Европейский журнал передовым технологий ISSN 1729-3774
8. Скрытые Марковские модели в распознавании речи [Электронный ресурс]. - Режим доступа : \www/ URL: http://habrahabr. ru/post/134954/ - 20.12.2011 г. - Загл. с экрана.
9. Как это работает? Распознавание речи [Электронный ресурс]. - Режим доступа : \www/ URL: http://yandex.livejournal. com/288893.html/ - 23.10.2013 г. - Загл. с экрана.
10. Хабибуллин, И. Самоучитель XML [Текст] / И. Хабибуллин. - БХВ-Петербург, 2003. - 336 с.
11. Холзнер, С. XML. Энциклопедия [Текст] / С. Холзнер. - Питер, 2004. - 1101 с.
12. Невлюдов, И. Ш. Голосовое формирование управляющих команд робота в САПР технологических процессов [Текст] / И. Ш. Невлюдов, А. М. Цымбал, С. С. Милютина // Восточно-Европейский журнал передовых технологий. - 2008. - Т. 2, № 2 (32). - С. 12-14.
13. Невлюдов, И. Ш. Голосовое формирование управляющих команд при проектировании роботизированных сборочных процессов [Текст] / И. Ш. Невлюдов, А. М. Цымбал, С. С. Милютина // Восточно-Европейский журнал передовых технологий. -2008. - Т. 4, № 2 (34). - С. 65-68.
14. Цымбал, А. М. Транслятор команд голосового управления роботом [Текст] : тезисы докл./ А. М. Цымбал, С. С. Милютина // Современные проблемы радиотехники и телекоммуникаций «РТ-2008»: 4-я Международная молодежная научно-техническая конф. - Севастополь, 2008. - С. 258.
15. Невлюдов, И. Ш. Интеллектуальное проектирование технологии роботизированной сборки [Текст] / И. Ш. Невлюдов, А. М. Цымбал, С. С. Милютина. - Харьков, 2010. - 207 с.
-□ □-
В данш роботi розглядавться питання тдвищення ефективностi використання натвваготв в процеы роз-вантаження з них насипних вантажiв. Наведений аналiз сучасног технологи розвантаження насипних вантажiв з натвваготв. Виявлен шляхи тдвищення продуктив-ностi вiбрацiйних розвантажувальних машин. На базi проведених теоретичних i експериментальних до^д-жень автором запропонован змти основних параме-трiв вiбрацiйнихрозвантажувальних машин, як пгдви-щують ефективтсть процесу розвантаження насипних вантажiв з натвваготв, та забезпечують збереження рухомого складу
Ключовi слова: натввагон, насипний вантаж, вiбра-щя, розвантаження, математична модель, сктченно-
елементна модель
□-□
В данной работе рассматривается вопрос повышения эффективности использования полувагонов в процессе разгрузки из них насыпных грузов. Приведен анализ современной технологии разгрузки насыпных грузов из полувагонов. Выявлены пути повышения производительности вибрационных разгрузочных машин. На базе проведенных теоретических и экспериментальных исследований автором предложены изменения основных параметров вибрационных разгрузочных машин, которые повышают эффективность процесса разгрузки насыпных грузов из полувагонов, а также обеспечивают сохранность подвижного состава
Ключевые слова: полувагон, насыпной груз, вибрация, разгрузка, математическая модель, конечно-элементная модель
УДК 656.13.05
П1ДВИЩЕННЯ ЕФЕКТИВНОСТ1 ВИКОРИСТАННЯ ЗАЛ1ЗНИЧНИХ НАШВВАГОШВ ШЛЯХОМ УДОСКОНАЛЕННЯ В1БРАЦ1ЙНИХ РОЗВАНТАЖУВАЛЬНИХ
МАШИН
£. В. Повороженко
1нженер
ДП "^вденна залiзниця" вул. Червоноармтська, 7, м. Хармв, УкраТна, 61052 Е-mail: [email protected]
1. Вступ
Серед показниюв, яю характеризують яюсть ек-сплуатацшно! роботи парку вагошв, одним з най-
важливших е об^ вагошв, який складаеться з часу пробку вагону у завантаженому та порожньому сташ, тривалосп просто1в на станщях, тривалост виконан-ня маневрових i вантажно-розвантажувальних робгг.
© е. В. Повороженко, 2014