Научная статья на тему 'Программная реализация математической модели поведения простейшего эмоционального робота'

Программная реализация математической модели поведения простейшего эмоционального робота Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
85
13
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЭМОЦИЯ / ВОСПИТАНИЕ / РОБОТЫ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Черников Кирилл Викторович

Рассматривается алгоритм моделирования мимической эмоциональной реакции робота при взаимодействии с ним одного субъекта посредством звукового сигнала, а также реализация данного алгоритма в виде программной системы SoundBot.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Программная реализация математической модели поведения простейшего эмоционального робота»

2010

ВЕСТНИК ПЕРМСКОГО УНИВЕРСИТЕТА________________

Математика. Механика. Информатика Вып. 3(3)

УДК 519.711.2

Программная реализация математической модели поведения простейшего эмоционального робота

К. В. Черников

Пермский государственный университет, Россия, 614990, Пермь, ул. Букирева, 15 [email protected]; (342) 266-09-62

Рассматривается алгоритм моделирования мимической эмоциональной реакции робота при взаимодействии с ним одного субъекта посредством звукового сигнала, а также реализация данного алгоритма в виде программной системы SoundBot.

Ключевые слова: эмоция; воспитание; роботы.

Введение

В настоящее время в США, Южной Корее, Японии, Великобритании и Канаде активно ведутся разработки по созданию эмоциональных роботов.

Эмоциональная теория, описанная в работе [1], отличается от разработок, ведущихся в этих государствах. Для иллюстрации этой теории действиями робота поставим следующую задачу: разработать компьютерную программу, моделирующую эмоциональное поведение робота, реагирующего на звуковые сигналы, которые поступают в программу через подключенный к компьютеру микрофон.

Пусть программа выполняет следующую функцию: по амплитуде входного звукового сигнала определяется характер "улыбки"

(смайла), выдающегося программой в ответ на звуковое воздействие (грустная "улыбка", радостная "улыбка" в различных степенях проявления).

Для лучшего восприятия описанного ниже напомним некоторые положения, приведенные в работе [1].

Эмоции, сюжеты и воспитание

Функция Ы (V) является эмоцией, если она обладает свойствами:

----------------------------- г (V) = | а^ (т),т)S (т^т.

© К. В. Черников, 2010 0

1. Ы (V) знакопостоянна.

2. Ы (V) непрерывна.

3. Модуль Ы (V) имеет один максимум в некоторой точке г .

4. Существуют производные модуля Ы (V) при V ^ г .

5. Ы (V) ограничена.

d|Ы (г | d|M (г )|

6. — ----- > 0 при V < г и —■------ < 0

dt dt

при V > г .

Соответственно г - временная точка, соответствующая экстремуму эмоций.

Сюжетом S (V) назовем информацию для субъекта, способную вызывать эмоции. S (V) > 0 .

Удельной эмоцией а^(V), V) назовем эмоцию, приходящуюся на единицу сюжета.

Очевидно, удельная эмоция удовлетворяет соотношению [1]

^ (V), V) = Ы<Ш1.

Знак эмоции Ы^(V), V) определяется знаком удельной эмоции а^(V), V) .

Элементарным воспитанием т(Х) на сюжетах S (V) назовем функцию вида [1]

Иными словами можно сказать, что элементарное воспитание - это относительно устойчивое отношение к одной эмоции, действующей на субъекта.

Отметим следующие очевидные математические свойства элементарного воспитания:

1. Если знак удельной эмоции совпадает со знаком сюжета, то воспитание положительно.

2. Справедливо соотношение

Ы «/),<) = ^.

Согласно работе [1] воспитанием R(t) на сюжетах S (V) назовем функцию вида Щ) = г (т) + вг (^ ), где V - текущее время, V > tг, 0 < в, () <1.

Текущее время удовлетворяет соотношению V = т + ti, где т - текущее время действия

настоящей эмоции от начала ее проявления, ti

- общее время действия всех предыдущих эмоций, Ri (V,) - воспитание, полученное

субъектом за время ti .

Коэффициенты в, (V) назовем коэффициентами памяти прошлых событий или коэффициентами памяти [1].

Легко видеть, что индивидуум, характеризующийся коэффициентом памяти прошлых воспоминаний равным 1, в деталях помнит все прошлые эмоциональные воспитания. Однако, как правило, память о прошлом стирается, т. е. для обычного, забывчивого субъекта справедливо двойное неравенство 0 < в, < 1.

Алгоритм моделирования мимической эмоциональной реакции

Предложим следующий алгоритм моделирования мимической эмоциональной реакции робота при взаимодействии с ним одного субъекта посредством звукового сигнала.

Представим алгоритм в виде последовательности шагов, которые необходимо выполнить для того, чтобы робот (программная система) мог мимически, эмоционально реагировать на звуковые сигналы субъекта (человека, животного и т.д.), с некоторыми пояснениями:

1. Преобразование аналогового звукового сигнала, поступающего от микрофона, в последовательность чисел, представляющих собой мгновенные значения амплитуды сигнала. Чаще всего при этом используются устройства, называемые аналого-цифровыми преобразователями. А сам способ преобразования называется импульсно-кодовой модуляцией.

2. Сбор данных, необходимый для последующего анализа.

3. Анализ и агрегирование собранных данных.

4. Выявление силы заранее определенных эмоциональных раздражителей. Другими словами, определение значений сюжетов, действующих на робота (программную систему). В качестве эмоциональных раздражителей могут выступать заранее определенные звуковые характеристики, сбор данных о которых осуществляется на втором и третьем шаге.

5. Расчет моментальных эмоциональных характеристик робота (программной системы) на основе рассмотренной модели эмоций и воспитания (модель рассмотрена ранее).

6. Расчет элементарных воспитаний на основе моментальных эмоциональных характеристик.

7. Расчет воспитания на основе элементарных воспитаний и коэффициента памяти робота (программной системы), заданного заранее, до начала работы алгоритма.

8. Визуальное проявление эмоций роботом (программной системой) на основе вычисленного воспитания.

Теперь более подробно рассмотрим каждый из шагов представленного алгоритма.

Для реализации первого шага необходим аналого-цифровой преобразователь. Он присутствует во всех современных звуковых адаптерах. Поэтому для доступа к нему нужно организовать работу с драйвером звукового адаптера. Это можно сделать различными способами. Некоторые из них будут рассмотрены далее. Вообще говоря, важным моментом является настройка самого преобразования, его характеристик. Необходимо выбрать поддерживаемые звуковым адаптером частоту дискретизации сигнала, дискретность сигнала, количество каналов и другие характеристики.

На втором шаге происходит сбор данных, полученных от звукового адаптера в процессе импульсно-кодовой модуляции. Хранение данных можно организовать различными способами, например, представлять

в виде файлов различных форматов либо хранить во внутренних структурах данных. При этом стоит учитывать, что объем данных даже при достаточно коротком взаимодействии субъекта с роботом (программной системой) может сильно вырасти. Например, при частоте дискретизации 22050 Гц, дискретности 8 бит, моноканале и 10 сек. взаимодействия робот (программная система) получит от звукового адаптера 220500 байт информации.

На третьем шаге данные анализируются и агрегируются, т. е. вычисляются какие-либо заранее определенные характеристики на основе части или всего массива данных, полученных на предыдущем шаге.

На четвертом шаге происходит сопоставление, т. е. на основе определенных значений вычисленных характеристик выявляются значения сюжетов. Правильное сопоставление находится экспериментальным путем.

Пятый шаг аналогичен четвертому, только для его выполнения происходит сопоставление моментальных эмоциональных характеристик силам воздействующих сюжетов. Правильное сопоставление также выявляется экспериментальным путем.

Шаг шестой и седьмой - это реализация вычислений на основе приведенных формул математической модели.

На последнем шаге алгоритма происходит организация проявления эмоций роботом (программной системой). Здесь реализуется какой-либо способ визуального представления эмоций (например, в форме смайла).

Стоит отметить следующую особенность. Если мы хотим создать робота (программную систему), работающего в интерактивном режиме, т. е. реагирующего на звуковые сигналы мгновенно, то процесс сбора данных и их обработки мы должны выполнять параллельно. Таким образом, второй шаг представленного алгоритма должен выполняться параллельно всем последующим шагам.

Архитектура разработанной системы SoundBot

Рассмотрим архитектуру разработанной программной системы SoundBot, реализующую представленный выше алгоритм (см. рис. 1) (цифрами в овалах обозначены соответствующие этапы алгоритма).

Аналоговый сигнал

О

Звуковой адаптер

^ Аналого-цифровой "I ^ преобразователь

о

11 1 Аналоговый чисел

* 1 Цифро-аналоговый преобразователь

І

Рис. 1. Архитектура программной системы SoundBot

Как можно видеть, архитектура системы напрямую связана с рассмотренным ранее алгоритмом. В ней выделяются два основных модуля:

1. Модуль работы со звуком. Отвечает непосредственно за взаимодействие со звуковым адаптером и сбор необходимых числовых данных.

2. Модуль реализации модели. Отвечает за реализацию предложенной математической модели эмоций и воспитания, просчитывает параметры смайла, являющегося мимической эмоциональной реакцией системы.

Непосредственно между модулями происходит обработка, анализ и агрегация данных. Для реализации интерактивности системы оба модуля работают параллельно.

Далее рассмотрим основные возможности, принципы функционирования и визуальный интерфейс системы SoundBot.

Основные возможности системы SoundBot

Система SoundBot реализована на языке C++ в среде Visual Studio 2008, работает на персональном компьютере класса IBM/PC под управлением операционной системы Windows XP и выше. Для работы программы необходим .NET Framework 2.0. Объем программы 100 Кб (exe-файл).

Основные функции системы SoundBot:

1. Позволяет определить основные возможности мультимедиа устройств, установленных на компьютере.

2. Позволяет воспроизводить звуковые файлы в формате .wav.

3. Позволяет производить запись звуковых файлов в формате .wav (только монозапись).

4. Может эмоционально реагировать на воспроизводимые звуковые файлы в формате .wav.

Система SoundBot может в интерактивном режиме эмоционально реагировать на звуковые сигналы, подаваемые ей через микрофон.

Принципы функционирования системы SoundBot

К основным принципам функционирования, которые следует рассмотреть подробно, нужно отнести:

1. Функционирование модуля работы со звуком.

2. Принцип параллельной работы модулей.

3. Эмоциональные раздражители, учитываемые в системе и принципы формирования их силы.

Как было сказано ранее, существуют различные способы работы со звуковым адаптером. Рассмотренные нами способы используют системные библиотеки Windows, поэтому могут быть применены только при наличии этой операционной системы.

Наиболее простой подход - это использование интерфейса управляющих строк МС1 или интерфейса управляющих сообщений МС1. МС1 представляет собой универсальный, независимый от особенностей аппаратного обеспечения интерфейс, предназначенный для управления устройствами мультимедиа, такими как звуковые и видеоадаптеры, устройства чтения (проигрывания) звуковых компакт-дисков и лазерных видеодисков [2, 3]. В большинстве случаев возможности, предоставляемые этим интерфейсом, удовлетворят потребности любого приложения мультимедиа, предназначенного для записи и воспроизведения звуковой или видеоинформации. Но его недостаток заключается в том, что мы не можем в интерактивном режиме считывать и обрабатывать данные, поступающие со звукового адаптера в систему. Поэтому данный способ нам не подходит.

Подход, лишенный недостатка подхода, основанного на использовании интерфейса управляющих строк МС1 или интерфейса управляющих сообщений МС1, - это использование интерфейса низкого уровня.

Общая методика использования интерфейса низкого уровня для воспроизведения wav-файлов такова. Сначала выполняются чтение и проверка формата заголовка wav-файла, открытие устройства вывода с указанием конкретного формата звуковых данных. Затем звуковые данные читаются блоками непосредственно из wav-файла, подготавливаются специальной функцией для вывода и затем передаются драйверу устройства вывода. Драйвер выводит их в звуковой адаптер [2, 3]. Приложение имеет полный контроль над процессом воспроизведения, так как оно само должно подготовить блоки данных в оперативной памяти.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Аналогично выполняется запись звуковых данных. Вначале требуется открыть уст-

ройство ввода, указав ему формат звуковых данных. Затем нужно заказать один или несколько блоков памяти и подготовить их для ввода, вызвав специальную функцию. После этого подготовленные блоки нужно по мере необходимости передавать драйверу устройства ввода, который заполнит их записанными звуковыми данными [2, 3]. Для сохранения записанных данных в wav-файле приложение должно сформировать и записать в файл заголовок wav-файла и звуковые данные из подготовленных и заполненных драйвером устройств ввода блоков памяти.

В отличие от интерфейса МС1, где многие параметры принимаются по умолчанию, интерфейс низкого уровня требует внимательного и тщательного учета всех деталей процесса записи и воспроизведения. В качестве компенсации за дополнительно затраченные усилия можно получить большую гибкость и возможность работать со звуковыми данными в реальном времени [2, 3].

Для обеспечения работы системы в интерактивном режиме, т. е. для адаптации системы к взаимодействию с пользователем в реальном времени, модули системы должны работать параллельно.

В системе SoundBot каждый из модулей выполняется в отдельном потоке, что обеспечивает следующие возможности:

1.Одновременно выбирать новые данные со звукового адаптера и производить ана-

лиз последних с последующим вычислением воспитания, которое отражает эмоциональное состояние системы.

2.Одновременно воспроизводить, записывать звуковые данные и производить их выборку для анализа в системе.

Кроме этого, для ускорения прорисовки мимической эмоциональной реакции системы она также выполнена в отдельном потоке.

Пока в системе учитывается только один эмоциональный раздражитель (сюжет) -амплитуда воздействующего звукового сигнала. Каждый отсчет звукового сигнала вызывает раздражение в системе и формирует мгновенные эмоции. Сопоставление сюжетов и эмоций происходит путем указания числовых промежутков, которые показывают, какой сюжет доставляет положительные эмоции, а какой - отрицательные.

Работа по нахождению правильного сопоставления между сюжетами и моментальными эмоциями продолжается.

Визуальный интерфейс системы SoundBot

Основная форма системы содержит две вкладки. Первая для воспроизведения и обучения системы на готовых .wav файлах (см. рис. 2). Вторая вкладка используется для записи .wav файлов и интерактивного общения с системой (см. рис. 3).

Эмоциональный робот

Параметры Справка

Проиграть/Обучить на готовом Запись/Интерактивное обучение

Файл CADocumenls and SeHing$\Kirill\My Document$\Семестр 9\Магистерская диссертация^ Обзор...

Проиграть

Воспроизведение I ___

Старт

Проиграть

Обучение

Обучить

Стоп

Пауза

Мом. эмоция Воспитание

Рис. 2. Первая вкладка главной формы программы SoundBot

Параметры Справка

| ПроигратьУО бучить на готовом | Запись^Интерактивное обучение

Файл

Запись

Запись

Интерактивное обучение

Обучение [■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ~

I Обзор...

Обучить

Мом. эмоция Воспитание

Рис. 3. Вторая вкладка главной формы программы SoundBot

Кроме этого, на главной форме можно видеть смайл, отображающий мимические эмоциональные реакции системы, а также текущее значение моментальной эмоции и воспитание.

При помощи главного меню формы можно задать основные параметры. Это параметры математической модели эмоций, параметры принципов функционирования и параметры работы со звуковыми данными.

Для задания различных параметров используются соответствующие формы (см. рис.

4, рис. 5).

Параметры записи...

Рис. 4. Параметры модели

Размер блока записи Частота дискретизации Канал

10 сек.

22050 Гц v

3 бит, моно

[ Принять | Выйти

Рис. 5. Параметры записи

Чтобы узнать, какие характеристики импульсно-кодового преобразования поддерживает звуковой адаптер, установленный на компьютере, можно воспользоваться функцией определения возможностей мультимедиаустройств в пункте главного меню "Справка"

- "Параметры драйверов..." (настоятельно рекомендуется использовать при первом запуске системы для правильной настройки параметров записи). После использования данной функции появляется экран с описанием мультимедиаустройств (см. рис. 6).

ЭЯ Параметры драйверов... ИВ®

Список драйверов

Возможности устройств вывода данных, записанных методом импульсно-кодовой модуляции:

SigmaTel Audio, v.1290, wMid=1, wPid=100, wChannels=65535

11025 КГц, моно, 8 бит

11025 КГц, стерео, 8 бит

11025 КГц, моно, 1G бит

11025 КГц, стерео, 16 бит

22050 КГц, моно, 8 бит

22050 КГц, стерео, 8 бит

22050 КГц, моно, 16 бит

22050 КГц, стерео, 1G бит

44100 КГц, моно, 8 бит

44100 КГц, стерео, 8 бит

44100 КГц, моно, 16 бит

44100 КГ ц, стерео, 16 бит

Регулировка громкости

Раздельная регулировка громкости_________________________________________________________________

Рис. 6. Параметры мультимедиаустройств

Заключение

Разработанный алгоритм моделирования мимической эмоциональной реакции робота при взаимодействии с ним одного субъекта посредством звукового сигнала и, как следствие, программная система SoundBot являются результатами реализации эмоциональной модели, предложенной в работе [1].

Предложенный алгоритм может быть использован для создания эмоциональных роботов. Но требуется более тщательный анализ поступающих звуковых данных с выделением большего числа раздражителей. Поэтому программная система SoundBot может рассматриваться как первое приближение создания программного обеспечения эмоциональных роботов.

Также стоит учитывать, что алгоритм и система рассчитаны на взаимодействие только с одним субъектом-человеком. Взаимодействие с несколькими субъектами требует рассмотрения более сложной математической модели.

Software implementation of mathematical model of behavior simple emotional robot

K. V. Chernikov

Perm State University, Russia, 614990, Perm, Bukirev st., 15 [email protected]; (342) 279-98-36

In article algorithm of modeling mimic emotional reaction of robot at interaction with him one subject with the aid of sound beep and the realization of this algorithm in program system Sound-Bot are considered.

Key words: emotions; education; robots.

Программная система SoundBot может быть использована для работы с людьми, у которых наблюдается нарушение слуха. Кроме этого, систему можно применять для определения того, какую эмоциональную реакцию вызывает поведение субъекта у окружающих (естественно, реакция системы - это и есть возможная реакция окружающих).

Список литературы

1.Пенский О.Г,. Зонова П.О., Муравьев А.Н, Ожгибесова Ю.С., Проничев А.А., Чечулин В.Л. Гипотезы и алгоритмы математической теории исчисления эмоций: монография / под общ. ред. О.Г.Пенского; Перм. гос. ун-т. Пермь, 2009. 152 с.

2. Фролов А.В., Фролов Г.В. Мультимедиа для Windows // Библиотека системного программиста. М.: Диалог-МИФИ, 1994. Т. 15. 284 с. (иЯЬ: http://www.frolov-lib.ru/books).

3. Секунов Н.Ю. Обработка звука на РС. СПб.: БХВ-Петербург, 2001. 1248 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.