Программные продукты и системы /Software & Systems
№ 4 (112), 2015
УДК 004.522 Дата подачи статьи: 27.07.15
DOI: 10.15827/0236-235X.112.075-078
эргономичный голосовой интерфейс управления
АНТРОПОМОРФНЫМ РОБОТОМ
(Исследования выполнены при поддержке РФФИ, грант № 15-07-04544)
М.В. Михайлюк, д.ф.-м.н., профессор, зав. отделом, [email protected]; М.А. Торгашев, к.ф.-м.н., зав. сектором, [email protected];
Д.В. Омельченко, ведущий программист, [email protected] (ФНЦ НИИСИ РАН, Нахимовский просп, 36, корп. 1, г. Москва, 11 7218, Россия)
Антропоморфные роботы (роботы, по своему строению похожие на человека) находят широкое применение в различных областях научной и хозяйственной деятельности. Это объясняется не только психологическими моментами, но и тем, что многие объекты, созданные человеком, приспособлены для манипулирования именно его руками. Однако эргономичное управление такими роботами является серьезной и актуальной проблемой. Стандартные компьютерные интерфейсные устройства (клавиатура, мышь, джойстик и т.д.) не обеспечивают достаточный уровень эргономики. Использование пультов управления тоже затруднительно, так как каждый управляющий элемент пульта обычно воздействует на один шарнир робота. В качестве альтернативы для управления часто используют экзоскелеты, представляющие собой жесткие шарнирные конструкции, надеваемые оператором и соответствующие строению человеческого тела. С помощью экзоскелета можно реализовать так называемый копирующий режим управления, при котором робот будет в точности повторять движения оператора. Тем не менее, использование экзоскелета часто затруднительно в силу либо его большого веса, либо невозможности работы с ним в скафандре. В данной работе предлагается голосовой интерфейс управления роботом. Идея заключается в том, что при произнесении оператором команды производится ее распознавание и в случае успеха запускается на выполнение заранее подготовленный скрипт, в соответствии с которым робот выполняет заданное действие. Апробация предложенных методов и алгоритмов показала возможность их успешного использования в качестве эргономичного интерфейса голосового управления антропоморфными роботами.
Ключевые слова: голосовой интерфейс, антропоморфный робот, имитационно-тренажерные комплексы, виртуальное моделирование.
Широкое применение в различных областях научной и хозяйственной деятельности находят антропоморфные роботы, по своему строению похожие на человека. Это объясняется и психологическими моментами, и тем, что многие созданные человеком объекты приспособлены для манипулирования именно его руками. Однако эргономичное управление этими роботами является серьезной проблемой. Стандартные интерфейсные устройства (клавиатура, мышь, джойстик и т.д.) не могут обеспечить достаточный уровень эргономики. Затруднительно и использование пультов управления, так как каждый их элемент обычно воздействует на один шарнир робота [1]. Такое «пошар-нирное» управление не только занимает длительное время, но и является неточным и неудобным. В качестве альтернативы для управления часто используют экзоскелеты - жесткие шарнирные конструкции, надеваемые оператором и соответствующие строению человеческого тела [2]. Движение рук оператора вызывает соответствующие сгибы в шарнирах экзоскелета. Если в масштабе реального времени передавать углы поворота во всех шарнирах экзоскелета в систему управления реальным роботом, то робот будет повторять движения оператора. Мы получим так называемый копирующий режим управления. Тем не менее, использование экзоскелета часто затруднительно либо из-за его большого веса, либо из-за невозможности работы с ним в скафандре. В работах [3-6] для управления роботом предлагается использовать устройство
Кинект. Таким образом, возникает задача поиска новых видов интерфейса для эргономичного управления роботом.
В данной работе предлагается использовать устройство Кинект для голосового управления роботом в командном режиме. Идея заключается в следующем: когда оператор голосом произносит команду, устройство Кинект [7] записывает ее и передает в систему управления, которая инициирует процесс распознавания этой команды. Если команда распознана, система управления запускает на выполнение заранее подготовленный скрипт, в соответствии с которым робот выполняет заданное действие.
Система управления голосовым интерфейсом
Система управления включает функциональную схему и модуль расчета управляющего сигнала. Функциональная схема создается в специальном визуальном редакторе, включающем поле редактора и библиотеку функциональных блоков. Блоки разбиты на группы (логические, арифметические, алгебраические, дифференциальные и т.д.). Пользователь может перемещать блоки из библиотеки на поле редактора и присоединять входы одних блоков к выходам других. Многие блоки имеют индивидуальные параметры настройки, которые задаются через отдельное диалоговое окно. Например, для блока «Сумматор» через диалог
75
Программные продукты и системы /Software & Systems
№ 4 (112), 2015
настройки можно задать количество входов. Кроме этого, сами блоки, а также их входы и выходы в редакторе имеют всплывающие подсказки, что позволяет быстро получить краткую информацию о них. Все это в целом дает возможность быстро разрабатывать, анализировать и выявлять ошибки функционирования структурной схемы системы управления.
Для рассматриваемой задачи созданы два новых функциональных блока: VoiR (Voice Recognition), в котором в качестве параметра может быть записана произвольная фраза, и Script, в котором в качестве параметра записано имя скрипта. Работа блока VoiR заключается в том, что он вызывает систему распознавания речи и получает от нее фразу, распознанную системой в текущий момент времени. Далее он сравнивает эту фразу со своей фразой-параметром и в случае совпадения выдает управляющий сигнал 1. Блок Script, получая на входе 1, запускает скрипт, имя которого записано в его параметре и в соответствии с которым робот выполняет необходимые действия. На рисунке 1 показан пример функциональной схемы, включающей или выключающей лампочку по голосовой команде.
Система распознавания речи
В качестве системы распознавания речи выбрана открытая кроссплатформенная система CMU Sphinx университета Карнеги-Меллон. Она включает несколько различных словарей, в том числе русский словарь с транскрипцией, а также предоставляет возможность составить собственный сло-
варь, ориентированный на используемую семантическую область. Это и было сделано для рассматриваемой задачи. Работа системы заключается в том, что она прослушивает эфир, распознает произнесенные слова и записывает текст в буфер. Если при произнесении фразы возникает пауза, система считает, что фраза закончена, и посылает эту фразу на выход.
Система CMU Sphinx реализована несколькими компонентами [7]: Pocketsphinx - библиотека распознавания речи, написанная на языке С; Sphinxbase - базовая библиотека системы, необходимая для работы Pocketsphinx; Sphinx4 - гибкая настраиваемая библиотека распознавания речи, написанная на языке Java; Sphinxtrain - инструментарий создания собственной акустической модели. Для создания приложений с функционалом распознавания речи можно использовать как библиотеку Pocketsphinx, так и Sphinx4. В данном проекте используется библиотека Pocketsphinx, так как она написана на языке С и легко интегрируется в программы, разработанные в среде Visual Studio на языке C++.
Чтобы подключить библиотеку Pocketsphinx к приложению, необходимо добавить в проект динамические библиотеки sphinxbase.dll и pockets-phinx.dll, а также файлы акустической модели, языковой модели и словаря [8, 9]. На этапе инициализации библиотеке передаются различные параметры, главными из которых являются путь к директории, содержащей файлы акустической модели (библиотека реализует скрытую марковскую акустическую модель), путь к файлу триграммной языковой модели [10] и путь к файлу словаря. Рас-
Рис. 1. Пример функциональной схемы включения/выключения света Fig. 1. An example of a flow chart of turning on/off the light
76
Программные продукты и системы /Software & Systems
№ 4 (112), 2015
познавание звука возможно как с микрофона, так и из звукового файла. Режим распознавания также указывается в качестве параметра.
На этапе работы приложения в основном цикле программы последовательно вызываются функции записи звука с микрофона и распознавания записанных фраз. В случае успешного распознавания возвращается текстовая строка, содержащая распознанную фразу.
Система создания и выполнения скриптов
Важнейшая составляющая в идеологии управления робототехническими системами - работа со скриптовыми командами. Скриптовая команда представляет собой совокупность текстовой строки, задающей назначение и тип команды, и связанных с ней данных произвольного формата и размера. Формат команды имеет вид «Command = data, data, ...», где Command задает назначение и тип команды, а data, data, ... - набор связанных с ней данных. Такой язык дает возможность изменить практически любые параметры виртуальной сцены с помощью универсального механизма. Кроме того, эта схема позволяет организовать эффективный обмен данными произвольного типа.
Система включает большое количество поддерживаемых команд:
- системные команды - регулирование обслуживания общей очереди и поступающих блоков команд: задержка выполнения команд на заданное время, формирование отдельных блоков из команд, ожидающих наступления определенных событий, сброс и генерация событий и т.д.
- команды работы с материалами - изменение параметров материала, назначение новых текстурных карт;
- команды управления узлами сцены - изменение текущей камеры и текущего объекта для управления, управление видимостью объектов, изменение положения, ориентации и масштаба объектов;
- команды работы с анимационными треками - запуск анимации в определенном диапазоне кадров, остановка анимации, переход к некоторому кадру, создание и удаление именованных анимационных треков с привязкой к определенным узлам сцены, задание флага зацикленного воспроизведения и скорости анимации и другие;
- команды конфигурирования управления от клавиатуры, мыши и джойстика;
- команды работы со звуком;
- команды работы с выводом изображения -конфигурирование общих параметров визуализации, задание эффектов постобработки, настройка портов вывода;
- команды записи и воспроизведения лог-файлов.
В задаче голосового управления наиболее востребованными и удобными являются команды последнего типа. С их помощью можно полностью записать движение робота при выполнении операции как в случае управления с экзоскелета, так и в результате решения задачи обратной кинематики. Затем с помощью голосовой команды можно вызвать проигрывание записанной операции. Лог-файлы реализованы в подсистеме визуализации виртуальных сцен и предназначены для хранения и записи всех необходимых в симуляторе параметров - в них фиксируются положение и ориентация всех управляемых объектов, а также такие параметры, как флаги активности источников света, параметры виртуальных камер, систем частиц и других виртуальных объектов. В данной работе подготовлены лог-файлы для изменения роботом состояния интерьера космического модуля путем нажатия на соответствующие кнопки пульта управления. На рисунке 2 проиллюстрировано такое действие: включение света внутри модели модуля СО-1 осуществляется по голосовой команде оператора «Робби, включи свет».
В заключение отметим, что в статье рассмотрен разработанный в НИИСИ РАН программный пакет для реализации эргономичного интерфейса управления антропоморфным роботом с помощью голоса. Пакет включает в себя систему управления голосовым интерфейсом, систему распознавания речи и систему создания и выполнения скриптов. Для тестирования был использован имитационно -тренажерный комплекс, включающий виртуальную модель антропоморфного робота SAR-401, модель интерьера космического модуля СО-1, а также подсистемы расчета динамики и визуализации трехмерных виртуальных сцен в масштабе реального времени. Апробация предложенных методов и алгоритмов показала возможность их успешного
Рис. 2. Выполнение моделью робота голосовой команды оператора
Fig. 2. A robot model executes the operator’s voice instruction
77
Программные продукты и системы /Software & Systems
№ 4 (112), 2015
использования в качестве эргономичного интерфейса голосового управления антропоморфными роботами.
Литература
1. Михайлюк М.В. Виртуальные панели управления в космических тренажерах // Наука и технологии в промышленности. 2014. № 3-4. С. 36-39.
2. Бурдин Б.В., Михайлюк М.В., Сохин И.Г., Торга-шев М.А. Использование виртуальных 3D-моделей для экспериментальной отработки бортовых полетных операций, выполняемых с помощью антропоморфных роботов // Робототехника и техническая кибернетика. 2013. № 1. С. 42-46.
3. Михайлюк М.В., Мальцев А.В. Реализация эргономичного интерфейса управления виртуальной моделью антропоморфного робота с использованием Kinect // Программная инженерия. 2015. № 10. С. 12-18.
4. Oikonomidis I., Kyriazis N., Argyros A. Efficient model based 3D tracking of hand articulations using Kinect. Proc. 22nd British Machine Vision Conf. 2011, pp. 101.1-101.11.
5. Ma B., Xu W., Wang S. A Robot Control System Based on
Gesture Recognition Using Kinect. TELKOMNIKA Indonesian Journ. of Electrical Engineering, 2013, vol. 11, no. 5, pp. 2605-2611; URL: http://iaesj ournal. com/online/index. php/telkomnika/ article/
view/2493 (дата обращения: 10.07.2015).
6. Нагапетян В.Э., Толмачев И.Л. Бесконтактное управление роботизированной рукой посредством жестов человека // Вестн. РУДН. Сер. Математика. Информатика. Физика. 2014. № 2.С. 157-163.
7. Kinect for Windows SDK 1.8. URL: https://msdn.micro-soft.com/en-us/library/hh973074.aspx (дата обращения: 10.07.2015).
8. CMUSphinx. URL: http://cmusphinx.sourceforge.net/wiki/ (дата обращения: 10.07.2015).
9. Pocketsphinx. Распознавание речи и голосовое управление в Linux. URL: http://habrahabr.ru/post/167479/ (дата обращения: 10.07.2015).
10. Холоденко А.Б. О построении статистических языковых моделей для систем распознавания русской речи. URL: http://www.intsys.msu.ru/invest/speech/articles/rus_lm.htm (дата обращения: 9.07.2015).
DOI: 10.15827/0236-235X.112.075-078 Received 27.07.15
ERGONOMIC VOICE INTERFACE TO CONTROL AN ANTHROPOMORPHIC ROBOT
(The research has been done with support of RFBR, grant no. 15-07-04544)
Mikhaylyuk M. V., Dr.Sc. (Physics and Mathematics), Professor, Head of Department, [email protected];
Torgashev M.A., Ph.D. (Physics and Mathematics), Head of Sector, [email protected];
Omelchenko D.V., Lead Programmer, [email protected] (SRISA RAS, Nakhimovsky Ave. 36/1, Moscow, 117218, Russian Federation)
Abstract. Anthropomorphic robots (robots structurally similar to human beings) are widely used in various fields of scientific and economic activity. It is due to psychological factors, as well as to the fact, that many man-made objects are adapted to manipulate by human hands. However, ergonomic control of such robots is a serious and pressing problem. Standard computer interface devices (keyboard, mouse, joystick etc.) do not provide a sufficient level of ergonomics. Using control panels is also difficult because each control panel element usually affects one joint of the robot. Or alternatively, exoskeletons are often used for control. They are rigid articulated construction worn by an operator and match the organization of human body. An exoskeleton allows implementing the so called copying control mode when the robot will follow the operator’s exact movements. However, the exoskeleton is often difficult to use, either because of its great weight, or because it is impossible to use it in the suit. This paper proposes a voice interface to control a robot. The idea is that when the operator’s command is pronounced it is recognized and then in case of success the prepared script starts running, so the robot performs the specified action. Testing of the proposed methods and algorithms showed that it is possible to use them as an ergonomic interface of anthropomorphic robots' voice control.
Keywords: voice interface, anthropomorphic robot, simulation and training complexes, virtual modeling.
References
1. Mikhaylyuk M.V. Virtual Control Panels in Space Simulators. Nauka i tekhnologii v promyshlennosti [Science and Technology in Industry]. 2014, no. 3-4, pp. 36-39 (in Russ.).
2. Burdin B.V., Mikhaylyuk M.V., Sokhin I.G., Torgashev M.A. Using Virtual 3D Models for Testing On-board Flight Operations Performed by Anthropomorphic Robots. Robototekhnika i tekhnicheskaya kibernetika [Robotics and Technical Cybernetics]. 2013, no. 1, pp. 42-46 (in Russ.).
3. Mikhaylyuk M.V., Maltsev A.V. Ergonomic interface Implementation to control a virtual model of anthropomorphic robot using Kinect. Programmnaya inzheneriya [Software Engineering]. 2015, no. 10 (in Russ.).
4. Oikonomidis I., Kyriazis N., Argyros A. Efficient model based 3D tracking of hand articulations using Kinect. Proc. of the 22nd British Machine Vision Conf. 2011, pp. 101.1-101.11.
5. Ma B., Xu W., Wang S. A Robot Control System Based on Gesture Recognition Using Kinect. TELKOMNIKA Indonesian Journ. of Electrical Engineering. 2013, vol. 11, no. 5, pp. 2605-2611. Available at: http://iaesjournal.com/online/in-dex.php/telkomnika/article/view/2493 (accessed July 10, 2015).
6. Nagapetyan V.E., Tolmachov I.L. Contactless control of a robot arm using human gestures. Vestnik RUDN. Seriya "Matematika. Informatika. Fizika” [PFUR Bulletin. Ser. “Mathematics, informatics, physics”]. 2014, no. 2, pp. 157-163. (in Russ.).
7. Kinect for Windows SDK 1.8. Available at: https://msdn.microsoft.com/en-us/library/hh973074.aspx (accessed July 10, 2015).
8. CMUSphinx. Available at: http://cmusphinx.sourceforge.net/wiki/ (accessed July 10, 2015).
9. Pocketsphinx. Speech Recognition and Voice Control in Linux. Available at: http://habrahabr.ru/post/167479/ (accessed July 10, 2015) (in Russ.).
10. Kholodenko A.B. On the Construction Statistical Language Models for Russian Speech Recognition Systems. Available at: http://www.intsys.msu.ru/invest/speech/articles/rus_lm.htm (accessed July 10, 2015) (in Russ.).
78