2011
ВЕСТНИК ПЕРМСКОГО УНИВЕРСИТЕТА
Математика. Механика. Информатика Вып.2(6)
УДК 519.711.2
Реализация процесса эмоционального воспитания роботов с различными характеристиками в виде программной системы ManySoundBots
К. В. Черников
Пермский государственный университет, Россия, 614990, Пермь, ул. Букирева, 15 [email protected]; (342) 279-98-36
Рассматривается ситуация взаимодействия одного субъекта, оказывающего воздействие посредством подачи звукового сигнала на нескольких эмоциональных роботов, не взаимодействующих между собой. Предлагается алгоритм, реализующий процесс эмоционального воспитания роботов, обладающих различными характеристиками, а также рассматривается его программная реализация в виде программной системы ManySoundBots.
Ключевые слова: робототехника; эмоции, сюжеты; воспитание; обработка звука.
Введение
В настоящее время в Пермском государственном университете ведутся работы по разработке математической теории эмоциональных роботов, созданию программных систем, моделирующих поведение роботов с неабсолютной памятью и реагирующих на звуковые раздражители [1-4].
При программной реализации моделей рассмотрены различные ситуации взаимодействия роботов и субъектов, оказывающих воздействия на роботов. В частности, в работе [2] рассматривается простейшая ситуация взаимодействия одного субъекта и одного эмоционального робота.
Кроме этого, была рассмотрена ситуация, когда на робота могут оказывать воздействие несколько субъектов, с учетом того что данное воздействие не является одновременным [4].
В предлагаемой статье рассматривается ситуация простейшего взаимодействия одного субъекта с несколькими эмоциональными роботами, обладающими различными характеристиками, без учета взаимодействия роботов внутри группы. Моделирование рассматри-
ваемой ситуации реализовано посредством программной системы ManySoundBots.
Прежде чем описывать реализацию программной системы, коротко напомним основные понятия, приведенные в работе [1].
Сюжеты, эмоции и воспитание
Пусть t - время.
Функцию S ^) будем называть сюжетом, если она обладает следующими свойствами:
1. Область определения S ^) : t е |о, t * ] t * > 0, t * < да;
2. S^) > 0 для любого t е |о, t* ];
3. S ^) - однозначная функция;
4. S ^) - ограниченная функция.
Функцию f ^), удовлетворяющую соотношению f ^) = а^ ^ ), t) S ^ ), где а( S ^), t) S ^) - произвольная функция, назовем функцией внутренних переживаний робота.
Будем говорить, что сюжет S ^) порождает внутренние переживания робота.
© К. В. Черников, 2011
Функцию внутренних переживаний робота М^) назовем эмоцией, если она удовлетворяет условиям:
1. Область определения М ^):
t е [0, t0] t0 > 0;
2. t0 < t (условие эквивалентно завершению эмоций при прекращении действия сюжета или до его прекращения);
3. М ^) однозначная функция;
4. М (0) = 0;
5. М(10) = 0;
6. М ^) - знакопостоянная функция;
7. В области определения существует й\М ^ )|
производная
dt
8. В области определения существует единственная точка z, такая, что
d\M (t )|
z Ф 0, z Ф t0 и
= 0
/ Ґ=z
4м (t)
9. —------------ > 0 при t < z ;
10.
dt 4\М ^ )| dt
< 0 при t > z.
Элементарным воспитанием г(ї) на сюжетах £ (і) назовем функцию вида
I
г ^) = | а (£ (т),т) £ (т^т.
0
Воспитанием R(t) на сюжетах £(^) назовем функцию вида
) = г (т) + в. ( ^ ),
где t - текущее время, t > ti, 0 < в. (t) < 1.
Текущее время удовлетворяет соотношению t = т + ti, где т - текущее время действия настоящей эмоции от начала ее проявления, ti - общее время действия всех предыдущих
эмоций, Я1 (^.) - воспитание, полученное субъектом за время t^.
Коэффициенты вв ^) назовем коэффициентами памяти прошлых событий или коэффициентами памяти.
Тактом назовем время действия одной эмоции.
Ситуация взаимодействия 1 субъект -N эмоциональных роботов
Рассматриваемое взаимодействие роботов и субъектов, оказывающих воздействие на эмоциональных роботов, может быть проиллюстрировано следующим образом (см. рис.1).
Как видно из рис. 1, в рассматриваемой ситуации один субъект посредством подачи звукового сигнала воздействует одновременно на несколько эмоциональных роботов, обладающих различными наборами характеристик (характеристики влияют на испытываемые роботом эмоции). Роботы в ответ на полученное раздражение формируют независимо друг от друга свою ответную реакцию, т.е. эмоцию [1; 5]. Эмоции же в свою очередь формируют эмоциональное воспитания роботов на данном сюжете, которое является устойчивым отношением робота к данному сюжету, раздражителю [1].
Определим качественную сторону воздействия субъекта на эмоциональных роботов, т.е. конкретную функцию сюжета £(і) применительно к нашей задаче. В качестве сюжета будем предполагать такую характеристику звукового сигнала, как громкость. В работе [3] было показано, что функция изменения громкости звукового сигнала с течением времени Г (і) можетбыть взята в качестве сюжета (т. е. удовлетворяет определению сюжета, введенному в работе [1]).
Кроме этого, в работе [3] дополнительно введены еще два сюжета, основанные на функции Г(і), и показано, какая из предложенных функций сюжетов является наиболее подходящей для задачи моделирования эмоциональных роботов, реагирующих на такой тип раздражителя, как громкость звукового сигнала.
Таким образом, в качестве функции сюжета в рассматриваемой нами ситуации была взята функция
k
____ £ Г(і1 + і * Лі)
АО = ^-------- -------*(і - і:) =
k
= £ Г (і1 + і * Лі)* Лі
і=1
Іі * І і *
і , і ], і > 0,і <да, Аі - равные промежутки времени, через которые происходит замер громкости звукового сигнала на
протяжении всего действия сюжета Г(:), k -это количество данных промежутков, t -11
Дt =-------.Согласно работе [3] функция эмо-
k
ции в случаи действия сюжета Г^) может выглядеть следующим образом:
х ^
МО = (Рпорог - 0)1 sin = АО
Г (і0)
где і є [і\ і0 ], і1 > 0, і0 < і*, Рпс
порог - заранее
заданная константа, показывающая величину воздействия громкости звукового сигнала на робота на протяжении всего времени действия
сюжета Г^), при которой робот не будет испытывать ни положительных, ни отрицательных эмоций. Применительно к рассматриваемой ситуации функция эмоций
М ^) немного модифицирована. Модификация заключается в том, что вместо одного п°р°га Рп0р0г вводятся два: Рверх и Рнижн , где
Рверх - константа, определяющая величину верхнего порога отсутствия эмоций робота, Рнижн - константа, показывающая величину
нижнего порога отсутствия эмоций робота. Таким образом
М (і) =
Реерх - Г (і 0) ) 8ІП
(
\
п
Г (і0)
Г (і)
где Г (і ) >
Р._ + Р,„
Г(і 0) - Рнижн ) зт
2
(
п
г Г (і)
Г (і0)
где Г (і ) <
Р.™. + Р„
0 \ верх нижн
2
Введение двух порогов вместо одного позволяет повысить гибкость предлагаемой модели и в большой мере учитывать особенности восприятия громкости звука человеком [3] при моделировании эмоциональных роботов, реагирующих на данный тип раздражителя.
Учитывая вышесказанное, можно определить набор характеристик каждого эмоционального робота. Этот набор включает:
1. Коэффициент памяти эмоционального робота (будем придерживаться ограничения, что коэффициент памяти робота является константой на протяжении действия как минимум одной эмоции).
2. Рверх - верхний порог отсутствия эмоций.
3. Рнижн - нижний порог отсутствия эмоций.
4. Такт испытываемой роботом эмоции.
Особенности построения функции-сюжета при работе со звуковым сигналом в цифровом формате
Прежде всего, коротко напомним, что представляют собой аналоговый и цифровой звуковые сигналы. Аналоговый сигнал представляет собой электромагнитные колебания, в параметрах которых передается информация о звуке. При этом от амплитуды колебаний зависит громкость звука, а частота определяет частоту колебаний звукового давления. Для цифрового представления звука необходимо один раз в некоторый очень малый период времени (частота дискретизации) измерять величину звукового давления и соотносить с полученным результатом некоторые двоичные числа, последовательность которых и образует данные о звуке [6; 7].
Таким образом, учитывая вышесказанное можно выделить следующие особенности
построения функции сюжета Г^) при работе со звуком в цифровом формате, применительно к нашей задаче:
1. Г^) - не является непрерывной
функцией (является дискретной). Это обусловливается тем, что любой звуковой сигнал, представленный в цифровом формате, имеет свою собственную частоту дискретизации. Следовательно, на каждую секунду длительности звукового сигнала приходится строго определенное количество измерений величины звукового давления и поэтому получить информацию о величине звукового давления (то есть и о громкости звукового сигнала) в произвольный момент времени невозможно. Таким образом, при построении функции
Г ^) стоит учитывать, что значение величины Дt должно являться делителем значения частоты дискретизации. Кроме этого, так как
функция Г^) дискретная - то и функция
М ^) является дискретной.
2. Функции Г^) принимает значения из строго ограниченного промежутка, зави-
сящего от параметров аналого-цифрового преобразования. Например, если на отдельный отсчет звукового давления выделяется 8 бит и работа происходит с моносигналом - то диапазон значений, которые может принимать
функция Г (і) будет [0; 255]. Также стоит учитывать то, что от диапазона значений по большей части зависит и выбор значений порогов Рверх и Рнижн при расчете функции
Ш.
Алгоритм, реализующий процесс эмоционального воспитания роботов с различными характеристиками, реагирующими на звуковые раздражители
Предложим алгоритм, реализующий процесс эмоционального воспитания роботов с различными характеристиками при взаимодействии с ними одного субъекта, оказывающего воздействие посредством подачи звукового сигнала.
Представим алгоритм в виде последовательности шагов, которые необходимо выполнить:
Шаг 1. Создание нового эмоционального робота:
a. Задание идентификатора эмоционального робота в системе моделирования.
b. Определение значений характеристик эмоционального робота.
c. Добавление эмоционального робота в систему моделирования.
Шаг 1 выполняется в цикле, пока в системе моделирования не окажется необходимое количество эмоциональных роботов. После формирования группы эмоциональных роботов переходим к следующему шагу.
Шаг 2. Формирование воздействующего звукового сигнала и подача его в систему моделирования. Особенности:
a. Исходный воздействующий звуковой сигнал может быть сформирован как до запуска процесса моделирования, так и непосредственно в процессе самого моделирования.
b. В систему моделирования должен подаваться сигнал в цифровом формате. Шаги 1 и 2 являются подготовительными и не затрагивают сам процесс моделирования. Последующие шаги - это шаги процесса моделирования.
Шаг 3. Формирование сюжета - воздействия громкостью звукового сигнала на основе сформированного контента цифровой информации, поступившей в систему моделирования:
a. Выбор необходимого для формирования сюжета количества поступившей в систему моделирования цифровой информации.
b. Определения опорных точек расчета функции сюжета (эквивалентно определению промежутков времени, через которые происходит замер громкости звукового сигнала).
c. Расчет значения функции сюжета в момент окончания действия сюжета.
Шаг 4. Формирование ответной реакции
эмоционального робота на воздействующий раздражитель (формирование эмоции робота):
a. Расчет значений функций сюжета в выбранных опорных точках.
b. Расчет значений функции эмоции в выбранных опорных точках на основе полученных значений функции сюжета в данных точках.
Шаг 5. Расчет элементарного воспитания на основе полученных значений функции эмоции (численное интегрирование).
Аналоговый сигнал
I
Л
Шаг 6. Расчет текущей величины эмоционального воспитания робота.
Шаги 3-6 выполняются для каждого эмоционального робота в системе моделирования при достижении индивидуального для каждого робота времени окончания воздействия очередного сюжета. Следовательно, шаги 3-6 действуют для всех роботов каждый раз, когда для робота завершается действие очередного сюжета.
Таким образом, шаги 3-6 моделируют процесс эмоционального воспитания роботов относительно одного субъекта при воздействии на них звукового сигнала сформированного данным субъектом.
Архитектура программной системы ManySoundBots
Рассмотрим архитектуру программной системы ManySoundBots, моделирующую процесс эмоционального воспитания роботов, обладающих различными характеристиками. Так как программная система работает со звуковыми сигналами в цифровом формате, то логично рассмотреть архитектуру программной системы при непосредственном взаимодействии со звуковым адаптером.
Аудиофайлы в формате .wav
Звуковой адаптер
Аналогово-цифровой п реобразо вател ь
Последовательность
чисел
Аналоговый сигнал
Цифро-аналоговый п реобразо вател ь
Управление
і
Система ManySoundBots
Информация о звуковом сигнале
Рис. 2. Взаимодействие программной системы ManySomdBots и звукового адаптера
Как показывает рис. 2, программная система ManySoundBots взаимодействует со звуковым адаптером двумя способами. Во-первых, осуществляет управление, т.е. дает
команды к действию. Управление реализуется при помощи драйвера звукового адаптера. Во-вторых, программная система ManySoundBots осуществляет прием необходимых для моде-
лирования данных о звуковом сигнале. Здесь важным моментом является то, что звуковой адаптер позволяет работать как со звуковыми сигналами, поступающими в систему через микрофон, т.е. с аналоговыми сигналами, так и со звуковыми сигналами, находящимися
уже в цифровом формате и хранящимися в аудиофайлах (в нашем случае программная система ManySoundBots работает только с файлами в формате .wav).
На рис. З представлена архитектура самой программной системы ManySoundBot.
Звуковой адаптер
Управление
Система ManySoundBots
Управление
Информация о звуковом сигнале
Модуль работы со звуком
У
Система моделирования
Буфер данных
Объектная
модель
Л
Запрос на отображение
Данные
Запрос на расчеты
Модуль расчетов
Результаты
расчетов
Модуль отображения результатов
А
V
Рис. 3. Aрxuтектура программной системы ManySoundBots
Таким образом, к основным элементам программной системы ManySoundBots можно отнести следующие программные модули:
1. Модуль работы со звуком, который отвечает за взаимодействие программной системы со звуковым адаптером и снабжает систему моделирования необходимыми данными о воздействующем звуковом сигнале.
2. Модуль расчетов, который используется для проведения численных расчетов в рамках математической модели, заложенной в основу системы моделирования программной системы ManySoundBots. Модуль расчетов взаимодействует только с системой моделирования, получает запросы на выполнение расчетов и возвращает результаты.
3.Модуль отображения. Он отвечает за отображение промежуточных и окончательных результатов моделирования, получая соответствующие запросы от системы моделирования.
4.Система моделирования - отвечает за процесс моделирования рассматриваемой ситуации взаимодействия эмоциональных роботов с оказывающим воздействие субъектом. Система моделирования является центральным элементом программной системы Many-SoundBots и координирует работу всех остальных модулей. Система моделирования состоит из двух основных частей:
a. Буфер данных (является хранилищем данных, необходимых для проведения процесса моделирования).
Ь. Объектная модель (не является как таковым элементом программной системы и содержит набор взаимосвязанных классов, отвечающих за реализацию представленного ранее алгоритма).
Объектная модель системы моделирования процесса эмоционального воспитания
Важным моментом при разработке любой программной системы является определение основных понятий, терминов, входящих в
предметную область задачи, на решение которой направлена программная система, а также определение связей между данными понятиями. Особенно полезным это может быть, если разработка системы происходит в объектно-ориентированном стиле. При этом часто разрабатывают набор взаимосвязанных классов, которые называют объектной моделью программной системы.
Коротко рассмотрим объектную модель системы моделирования программной системы ManySoundBots (см. рис. 4).
Рис. 4. Объектная модель системы моделирования программной системы ManySoundBots
Как мы видим, объектная модель содержит три основных класса.
1. Класс CModelingSystem. Является основным классом системы моделирования. Содержит список всех роботов в системе моделирования, а также буфер с данными, необходимыми для моделирования.
2. Класс CRobot. Описывает эмоциональных роботов, находящихся в системе моделирования. Содержит идентификатор робота в системе моделирования, информацию о наборе характеристик робота, а также список объектов CEducation.
3. Класс CEducation. Описывает воспитание, полученное роботом при взаимодействии с конкретным субъектом. Содержит текущее значение воспитания робота для данного субъекта, а также коэффициент памяти относительно данного субъекта.
Основные возможности программной системы ManySoundBots
Система ManySoundBots реализована на языке C++ в среде Visual Studio 2008, функционирует на персональном компьютере класса IBM/PC под управлением операционной системы Windows XP SP2 и выше. Для работы программной системы необходим также .NET Framework 2.0. Объем программы 115 Кб (exe-файл).
К основным функциям системы Many-SoundBots относятся следующие функции.
1. Позволяет моделировать процесс эмоционального воспитания роботов с различными характеристиками.
2. С ее помощью возможно оказывать воздействие на моделируемых эмоциональных роботов двумя способами:
a. При помощи готовых звуковых файлов в формате .wav.
b. В интерактивном режиме, через подключенный микрофон. Существует возможность сохранения звука, полученного в интерактивном режиме, в звуковых файлах в формате .wav.
3. Дает возможность задавать основные параметры математической модели, лежащей в ее основе, а именно:
a. Добавлять и удалять эмоциональных роботов из системы моделирования.
b. Изменять значения параметров каждого введенного в систему моделирования эмоционального робота.
4. Позволяет задавать параметры записи звуковых файлов в формате .wav, а именно:
a. Длину записи.
b.Частоту дискретизации.
З. Дает возможность задавать параметры вычисления и отображения, а именно:
я.Способ вычисления интегралов и число шагов в промежутке интегрирования при проведении расчетов численного интегрирования.
Ь.Интервалы отображения/обновления визуализируемой для пользователя информации.
6. Визуализирует:
a.Звуковую волну, оказывающую воздействие на моделируемых эмоциональных роботов.
b.Эмоции, испытываемые моделируемыми эмоциональными роботами.
c.Полученные воспитания эмоциональных роботов относительно субъекта, оказывающего воздействие.
Особенности функционирования программной системы ManySoundBots
К основным особенностям функционирования программной системы ManySoundBots стоит отнести следующие:
1.Функционирование модуля работы со звуком.
2.Параллельная работа системы моделирования и модуля работы со звуком.
Функционирование модуля работы со звуком основано на использовании интерфейса низкого уровня, предоставляемого операционной системой Windows. Выбор данного сред-
ства доступа к звуковому адаптеру не случаен. Интерфейс низкого уровня позволяет полностью контролировать весь процесс воспроизведения и записи звуковых сигналов, включая получение данных о воспроизводимом или записываемом звуковом сигнале во время воспроизведения или записи. Такая возможность необходима программной системе ManySoundBots для того, чтобы в реальном режиме времени (во время воспроизведения или записи звукового сигнала) производить процесс моделирования [2; 8; 9].
Параллельная работа системы моделирования и модуля работы со звуком организованна с целью предания процессу моделирования интерактивности. Пока модуль работы со звуком получает очередные данные от звукового адаптера, система моделирования производит моделирование на уже ранее полученных данных и посредством модуля отображения выдает текущие результаты пользователю.
Таким образом, можно сказать, что все особенности функционирования программной системы ManySoundBots непосредственно направлены на создание интерактивного процесса моделирования.
Визуальный интерфейс программной системы ManySoundBots
Главная форма программной системы ManySoundBots выглядит следующим образом (см. рис. 5).
Рис. 5. Главная форма программной системы ManySoundBots
В нижней части формы располагается поле, где отображается звуковая волна, действующая на эмоциональных роботов, введенных в систему моделирования. Там же отображаются графики функций эмоций, которые испытывают роботы в процессе моделирования.
В правом верхнем углу формы отображаются диаграммы воспитания, полученные
введенными в систему моделирования эмоциональными роботами.
В левом верхнем углу располагаются элементы управления, позволяющие запускать процесс моделирования как на готовых .wav файлах, так и в интерактивном режиме.
Главная форма программной системы ManySoundBots также содержит меню, в ко-
тором можно задавать различные параметры функционирования всей программной системы (см. рис. 6).
] Моделирование нескольких эмоциональных роботов
Параметры 1
Параметры модели...
Параметры записи... Обзор... ]
Параметры вычиления и отображения...
LL_
Рис. 6. Параметры программной системы ManySoundBots
Здесь можно произвести настройку параметров математической модели, заложенной в систему моделирования, параметры записи звуковых файлов в формате .wav (используется в интерактивном режиме моделирования), а также параметры произведения вычислений и отображения результатов.
Для задания параметров математической модели, заложенной в систему моделирования, используется следующая форма (см. рис. 7).
Рис. Т. Параметры модели
Здесь можно добавить, удалить, изменить значение параметров эмоциональных роботов, находящихся в системе моделирования, а также сбросить все текущие воспитания роботов в "0". Формы для добавления и изме-
нения выглядят следующим образом (см. рис.8).
Для задания параметров записи звуковых файлов в формате .wav используется следующая форма (см. рис. 9).
Рис. 8. Добавить/Изменить
Рис. 9. Параметры записи
Здесь можно задать длину записываемого звукового сигнала (в секундах), а также частоту дискретизации (в герцах). Программная система ManySoundBots производит запись только в мо-но формате дискретностью 8 бит.
Для задания параметров вычисления и отображения используется следующая форма (см. рис. ІО).
Рис. 10. Параметры вычисления и отображения
Здесь можно задать способ численного интегрирования, включая выбор числа шагов в промежутке интегрирования. Можно задать также интервал отображения при моделировании на готовых .wav файлах и в интерактивном режиме (в миллисекундах).
Заключение
В предлагаемой статье рассмотрена ситуация взаимодействия одного субъекта, оказывающего воздействие посредством подачи звукового сигнала на нескольких эмоциональных роботов, не взаимодействующих между собой; предложен алгоритм (в виде последовательности шагов), реализующий процесс эмоционального воспитания роботов, обладающих различными характеристиками; рассмотрена архитектура программной системы ManySoundBots, объектная модель системы моделирования программной системы ManySoundBots, а также сама система ManySoundBots в целом.
Список литературы
1.Пенский О.Г., Черников К.В. Основы математической теории эмоциональных роботов / Перм. гос. ун-т. Пермь, 2010. 256 с. Текст парал. рус., англ.
2. Черников К.В. Программная реализация математической модели поведения простейшего эмоционального робота // Вестн. Перм. ун-та. Математика. Механика. Информатика. 2010. №3(3). С.69-75.
3. Черников К.В. Электронный журнал "Исследовано в России", 83, 968-974, 2010. URL: http://zhumal.ape.relam.ru/artides/2010/083.pdf
4. Черников К.В. Правила эмоционального по-
ведения роботов. Обобщение на случай произвольного числа взаимодействующих с роботом людей // Электронный научный журнал " Университетские исследования". URL:
www.uresearch.psu.ru 2010, 63_75761. doc. С.1-4.
5.Дружинин В.Н. Экспериментальная психология. СПб.: Питер, 2004. 320 с.
6. Цифровой звук и частота дискретизации. URL: http://www.musicsystem.ru/info/1 0.htm (доступ. 27.01.2011)
7. Это звучит! Аудиосистема.. URL: http://www.webprojekt.ru/artides/index.php-id page=14.htm (доступно 27.01.2011).
8. Фролов А.В., Фролов Г.В. Мультимедиа для Windows. Библиотека системного программиста, т.15. М.: Диалог-МИФИ, 1994. 284 с. (http://www.frolov-lib. ru/books).
9. Секунов Н.Ю. Обработка звука на PC. СПб.: БХВ-Петербург, 2001. 1248 с.: ил.
Realization of process of emotional education of robots with various characteristics in the form of program system ManySoundBots
K. V. Chernikov
Perm State University, Russia, 614990, Perm, Bukirev st., 15 [email protected]; (342) 279-98-36
In article the situation of interaction of one subject affecting by means of giving of a sound signal on several emotional robots, not cooperating among themselves is considered. The algorithm realizing process of emotional education of robots, possessing various characteristics is offered, and also its program realization in the form of program system ManySoundBots is considered.
Key words: robotics; emotions; plot; education; sound processing.