УДК 004.71;621.39;621.865.8-5
РАЗРАБОТКА ОТКРЫТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ МОДУЛЬНОЙ ПЛАТФОРМЫ ДЛЯ КОНСТРУИРОВАНИЯ И УПРАВЛЕНИЯ УЧЕБНО-ИССЛЕДОВАТЕЛЬСКИМИ РОБОТОТЕХНИЧЕСКИМИ АППАРАТАМИ
Аннотация
Рассмотрены вопросы создания программного обеспечения для учебно-исследовательских робототехнических аппаратов. Приведены примеры применения данных аппаратов для тестирования и отладки различных алгоритмов и программно-аппаратных решений, в числе которых система синтеза речи, алгоритмы определения формы препятствия, алгоритмы управления роботом на базе искусственной нейронной сети, алгоритмы диспетчерского управления роботом.Введение
Использование робототехники в непромышленных сферах человеческой деятельности послужило толчком для развития новых отраслей информационных технологий, к числу которых можно отнести распознавание речи и зрительных сцен, управление робототехническими устройствами через Интернет, а также удаленное хранение баз данных и баз знаний для систем управления роботами. Этим объясняется возросший в последнее время интерес среди научных учреждений и передовых инженерно-технических ВУЗов по всему миру к дисциплинам данного профиля. Развитие таких непромышленных направлений в робототехнике как экстремальные, сервисные и домашние роботы требуют не только новых подходов к их проектированию и управлению, но и создания современной научно-образовательной базы$[1]$.
Одним из решений, призванных восполнить недостаток учебно-дидактического материала, является использование в учебных и научных целях малогабаритных мобильных роботов (МР). Данный выбор был сдеалн ввиду того факта, что большинство существующих образцов непромышленной робототехники обладают функцией передвижения, полезной нагрузкой для которых являются видеокамеры, манипуляторы, различные датчики.
В данной работе описывается проект по созданию открытого программного кода для модульной программно-аппаратной платформы, предназначенной для исследований в области робототехники, использования в учебном процессе студентов инженерно-технических вузов, в школах и центрах технического творчества и т.п. Платформа предназначена для управления малогабаритными учебно-исследовательскими роботами.
Основной целью предлагаемого проекта по созданию открытого программного кода является не только объединение усилий специалистов из различных областей, но и привлечение большого числа пользоватлей, которые одновременно будут выступать не только как потребители, но и как тестировщики. Путём концентрации большого числа заинтересованных сторон с различным уровнем подготовки и собственным набором поставленных целей, но работающих над улучшением одного конкретного программно-аппаратного изделия, предполагается достижение положительного синергического эффекта. Таким образом, особое внимание в предлагаемом проекте уделяется самостоятельной практической работе конечных потребителей $($студентов, учащихся и т.д.$)$.
1. Открытая разработка программного обеспечения поддержки технологий робототехники
В разработке важны не только идея и высокие результаты на выходе, но и доступность для максимально большего количества пользователей. Для этого была выбрана модель дистрибьюции исходных управляющих кодов для модульной робототехнической платформы, исходя из MIT лицензии $[2]$. Данный подход позволяет расширить на весь мир использование разрабатываемых программных кодов без ограничений в виде обязательных выплат правообладателям, так же как и авторы данного программного обеспечения освобождены от ответственности в случае заявлений по искам компенсации ущерба. Репозиторий кода и тестовые приложения размещаются на специализированном сервере компании Google$[3]$, более подробное описание разработки содержится в $[4]$. Таким образом, появляется возможность привлечения опытных пользователей в разработку новых роботов и в совершенствование имеющихся роботов и технологий их управления, а также совместного взаимодействия в автономном режиме.
2. Проект учебно-исследовательского мобильного робота
Проект базируется на идеологии открытого программно-аппаратного обеспечения и включает три компонента: масштабируемую аппаратную платформу, программное обеспечение и Интернет-сообщество пользователей с различным уровнем начальной подготовки, а также различными целями и задачами $($рисунок 1$)$
Рисунок 1 – Рендер платы управления нижнего уровня формата PC/104 для встраиваемых систем и роботов
Используемая аппаратная платформа представляет собой набор из нескольких специализированных одноплатных микроконтроллерных модулей с системой универсальных интерфейсов. Базовый модуль, реализующий основные функции перемещения и управления ходовой платформой МР, выполнен в виде отдельной и функционально завершённой платы. Плата включает в себя микроконтроллер, порт сопряжения с другими модулями, разъём для подключения беспроводного сетевого модема и маломощный драйвер коллекторных электродвигателей. Перечисленные элементы базового модуля предоставляют пользователю минимально необходимый набор средств для управления ходовой платформой МР.
Программное обеспечение включает в себя библиотеки для микроконтроллерных модулей, и ряд программ для персонального компьютера, необходимых для программирования и управления МР.
Важную роль в процессе конструирования и отладки устройств на базе разрабатываемой платформы играет сеть Интернет, открывающая доступ к последним версиям программного обеспечения, схем и чертежей. В результате, в разработке могут принимать участие все заинтересованные пользователи Интернет.
3. Использования универсальной платформы для тестирования и отладки алгоритмов
Указанная программно-аппаратная платформа была использована для экспериментального исследования различных алгоритмов в лабораториях «Моделирование самоорганизующихся систем» и «Синтез и распознавание речи» Объединённого института проблем информатики НАН Беларуси. В частности, на её основе был разработан экспериментальный многокомпонентный комплекс для управления мобильным роботом, предназначенным для функционирования в человеческой среде в автоматическом режиме или под управлением оператора $($рисунок 2$)$
а$)$
б$)$
а – процесс определения формы препятствия, б – функционирование робота с системой синтеза речи
Рисунок 2 - Функционирование робота, оснащённого сканирующим дальномером
На борту робота был установлен инфракрасный дальномер Sharp 2Y0A21 и сервопривод, вращающий дальномер в горизонтальной плоскости в диапазоне от -39 до 39 градусов с дискретностью 1,5 градуса.
Задачей робота было распознавание формы препятствия с помощью сканирующего инфракрасного дальномера, а также озвучивание своих действий с помощью двухречевого синтезатора речи по тексту $[5]$.
Для перевода информации, полученной от робота в текстовой форме в речевую используется два компонента, основанных на синтезаторах речи по тексту на белоруской и русской речи. Данные компоненты реализованы в качестве сторонних подключаемых модулей. В результате такого подключения к системе синтезаторов речи по тексту пользователь получает озвученную информацию от робота про конкретный распознанный объект.
Наибольшей модификации для озвучивания сообщений от мобильного робота пользователю подвергся текстовый процессор. Для него были доработаны плагины, которые позволяют обрабатывать текст в следующей последовательности: очистка текста, идентификация и обработка сообщений от мобильного робота, преобразование знаков $($аббривиатур, сокращений, чисел и др.$)$, расстановка словесных ударений и грамматических признаков словоформ.
В самом простом случае плагин идентификации сообщений реагирует на начальные “*Robot ON*” и конечные “*Robot OFF*” последовательности символов. У идентифицированном фрагменте плагин-обработчик находит последовательность символов “*object_type:”. Тип объекта он переводит по встроенному словарю возможных сообщений с внутреннего машинного языка робота на натуральный язык пользователя. Например, синтезатором белоруской речи по тексту по входной строке “*object_type: circle*” будет сгенерирован орфографический текст “перада мною знаходзіцца прадмет у выглядзе акружнасці”.
Далее преобразованный текст поступает на входы просодического, а затем фонетического процессоров. В результате работы просодического подпроцессора для текста, текст разделяется на синтагмы, акцентные единицы, далее он разделяется на элементы акцентных единиц: интонационное предъядро, ядро и заядро. И, наконец, просодический подпроцессор для языкового сигнала устанавливает в соответствии с базой данных просодических "портретов" синтагм значимости амплитуды, продолжительности фонем и частоту основного тона для каждого элемента акцентных единиц.
Акустический процессор на основе информации о том, какие необходимо синтезировать аллофоны, а также какие просодические характеристики должны быть приписаны каждому аллофону, генерирует речевой сигнал путем компиляции отрезков натуральных звуковых волн соответствующих аллофонов и мультифонов. Таким образом, входной текст преобразуется в речевой сигнал.
Также на основе данной платформы ставились эксперименты по адаптивному управлению МР на основе нейроконтроллера, состоящего из двух искусственных нейронных сетей типа двунаправленная ассоциативная память, работа которых эмулируется с помощью имеющегося на плате 8-битного микроконтроллера $($рисунок 3$)$. Указанная нейросетевая система управления способна работать в трёх режимах: ручном, автоматическом и полуавтоматическом $[6]$.
a$)$
б$)$
а – один из способов размещение на борту робота сенсорных датчиков и пульта управления; б – описание назначения кнопок пульта управления
Рисунок 3 – Внешний вид разработанного мобильного робототехнического аппарата
Основная функция ручного режима заключается в том, что пользователи, не обладающие знаниями и навыками программирования микроконтроллеров, способны самостоятельно обучить систему управления МР двигаться и объезжать преграды согласно показаниям установленных на его борту сенсорных датчиков.
В автоматическом режиме, описываемый МР способен передвигаться по местности с помощью заранее заложенного алгоритма движения и обучаться новым образам, позволяющим обходить различные типы препятствий, которые не были учтены при первоначальном обучении. Данное свойство достигается благодаря использованию разработанного адаптивного нейросетевого классификатора, который не только позволяет определять новую обстановку, но и содержит информацию о способах соответствующих ответных действий, предотвращающих столкновение. В полуавтоматическом режиме с помощью дистанционного управления пользователь способен вносить поправки в алгоритм движения.
Благодаря тому, что разрабатываемая платформа имеет средства для связи с персональным компьютером с помощью беспроводной сети Wi-Fi, она может быть положена в основу систем дистанционного присутствия $($рисунок 4$)$. Основное назначение подобных систем – мониторинг жилых и производственных помещений, выполнение функций охранной и пожарной сигнализации.
Рисунок 4 – Мобильный робот для систем дистанционного присутствия
Широко распространённые в настоящее время системы охранно-пожарной сигнализации представляют собой комплекс стационарно установленных датчиков на основе различных принципов действия. Однако их общим недостатком является ограниченность зоны контроля, что не позволяет получить объективную информацию о состоянии всего контролируемого объекта. Причём, увеличение их числа не всегда приводит к повышению эффективности всей системы. Поэтому, данный робот позволяет расширить контролируемую зону путём установки СТЗ или телекамеры Она мобильную платформу.
Заключение
В работе описывается программно-аппаратная платформа, которая может быть использована в образовании и научно-исследовательских проектах. Приводится ряд примеров использования данной платформы для тестирования и отладки различных алгоритмов управления роботами, обработки сенсорных данных, связи.
Работа выполнена при поддержке БРФФИ, договор №Ф13К-144 «Разработка и исследование алгоритмов поведения стайных роботов для поисково-исследовательских работ» $($2013-2015 гг.$)$.
Список использованных источников
- Интеллектуальные роботы: учебное пособие для вузов / И.А. Каляев $[$и др.$]$ ; под общ. ред. Е.И. Юревича. – М. : Машиностроение, 2007. – 360 с.
- Сайт про лицензирование программного обеспечения $[$Электронный ресурс$]$ / LicenseIT. – М. : 2013. – Режим доступа : http://licenseit.ru/wiki/index.php/MIT_License. - Дата доступа : 29.07.2013.
- Robotics in the Republic of Belarus $[$Электронный ресурс$]$ / Codes Roboticsby. – Минск : 2013. – Режим доступа : https://code.google.com/p/roboticsby/. – Дата доступа : 29.07.2013.
- Робототехника в Республике Беларусь $[$Электронный ресурс$]$ / Roboticsby. – Минск : 2013. – Режим доступа : http://www.robotics.by/ru/home.html. – Дата доступа : 29.07.2013.
- Сычёв В.А. Компоненты натурально-речевого комплекса определения формы препятствия для мобильных роботов / Сычёв В.А., Гецевич Ю.С., Прокопович Г.А. // Открытые семантические технологии проектирования интеллектуальных систем - Open Semantic Technologies for Intelligent Systems (OSTIS–2013) : материалы III Междунар. науч.-техн. конф. (Минск, 21–23 февраля 2013 года) / редкол. : В.В. Голенков (отв. ред.) $[$и др.$]$. – Минск : БГУИР, 2013 г. – С. 489-497.
- Прокопович Г.А. Нейросетевая модель для реализации поисковых движений мобильного робота / Сычёв В.А., Гецевич Ю.С., Прокопович Г.А. // Открытые семантические технологии проектирования интеллектуальных систем - Open Semantic Technologies for Intelligent Systems (OSTIS–2013) : материалы III Междунар. науч.-техн. конф. (Минск, 21–23 февраля 2013 года) / редкол. : В.В. Голенков (отв. ред.) $[$и др.$]$. – Минск : БГУИР, 2013 г. – С. 483-488.