Программная реализация математической модели поведения простейшего эмоционального робота
Характеристика рассмотрения алгоритма моделирования мимической эмоциональной реакции робота при взаимодействии с ним одного субъекта посредством звукового сигнала. Главная особенность реализации данного алгоритма в виде программной системы SoundBot.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | статья |
Язык | русский |
Дата добавления | 26.04.2019 |
Размер файла | 394,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
К. В. Черников
Размещено на http://www.allbest.ru/
70
69
Пермский государственный университет
Программная реализация математической модели поведения простейшего эмоционального робота
К.В. Черников
Введение
В настоящее время в США, Южной Корее, Японии, Великобритании и Канаде активно ведутся разработки по созданию эмоциональных роботов.
Эмоциональная теория, описанная в работе [1], отличается от разработок, ведущихся в этих государствах. Для иллюстрации этой теории действиями робота поставим следующую задачу: разработать компьютерную программу, моделирующую эмоциональное поведение робота, реагирующего на звуковые сигналы, которые поступают в программу через подключенный к компьютеру микрофон. Пусть программа выполняет следующую функцию: по амплитуде входного звукового сигнала определяется характер "улыбки" (смайла), выдающегося программой в ответ на звуковое воздействие (грустная "улыбка", радостная "улыбка" в различных степенях проявления).
Для лучшего восприятия описанного ниже напомним некоторые положения, приведенные в работе [1].
Эмоции, сюжеты и воспитание
Функция является эмоцией, если она обладает свойствами:
1. знакопостоянна.
2. непрерывна.
3. Модуль имеет один максимум в некоторой точке .
4. Существуют производные модуля при .
5. ограничена.
6. при и при .
Соответственно - временная точка, соответствующая экстремуму эмоций.
Сюжетом назовем информацию для субъекта, способную вызывать эмоции. .
Удельной эмоцией назовем эмоцию, приходящуюся на единицу сюжета.
Очевидно, удельная эмоция удовлетворяет соотношению [1]
Знак эмоции определяется знаком удельной эмоции .
Элементарным воспитанием на сюжетах назовем функцию вида [1]
Иными словами можно сказать, что элементарное воспитание - это относительно устойчивое отношение к одной эмоции, действующей на субъекта.
Отметим следующие очевидные математические свойства элементарного воспитания:
1. Если знак удельной эмоции совпадает со знаком сюжета, то воспитание положительно.
2. Справедливо соотношение
.
Согласно работе [1] воспитанием на сюжетах назовем функцию вида
,
где - текущее время, . Текущее время удовлетворяет соотношению , где - текущее время действия настоящей эмоции от начала ее проявления, - общее время действия всех предыдущих эмоций, - воспитание, полученное субъектом за время .
Коэффициенты назовем коэффициентами памяти прошлых событий или коэффициентами памяти [1].
Легко видеть, что индивидуум, характеризующийся коэффициентом памяти прошлых воспоминаний равным 1, в деталях помнит все прошлые эмоциональные воспитания. Однако, как правило, память о прошлом стирается, т. е. для обычного, забывчивого субъекта справедливо двойное неравенство .
1. Алгоритм моделирования мимической эмоциональной реакции
Предложим следующий алгоритм моделирования мимической эмоциональной реакции робота при взаимодействии с ним одного субъекта посредством звукового сигнала.
Представим алгоритм в виде последовательности шагов, которые необходимо выполнить для того, чтобы робот (программная система) мог мимически, эмоционально реагировать на звуковые сигналы субъекта (человека, животного и т.д.), с некоторыми пояснениями:
1. Преобразование аналогового звукового сигнала, поступающего от микрофона, в последовательность чисел, представляющих собой мгновенные значения амплитуды сигнала. Чаще всего при этом используются устройства, называемые аналого-цифровыми преобразователями. А сам способ преобразования называется импульсно-кодовой модуляцией.
2. Сбор данных, необходимый для последующего анализа.
3. Анализ и агрегирование собранных данных.
4. Выявление силы заранее определенных эмоциональных раздражителей. Другими словами, определение значений сюжетов, действующих на робота (программную систему). В качестве эмоциональных раздражителей могут выступать заранее определенные звуковые характеристики, сбор данных о которых осуществляется на втором и третьем шаге.
5. Расчет моментальных эмоциональных характеристик робота (программной системы) на основе рассмотренной модели эмоций и воспитания (модель рассмотрена ранее).
6. Расчет элементарных воспитаний на основе моментальных эмоциональных характеристик.
7. Расчет воспитания на основе элементарных воспитаний и коэффициента памяти робота (программной системы), заданного заранее, до начала работы алгоритма.
8. Визуальное проявление эмоций роботом (программной системой) на основе вычисленного воспитания.
Теперь более подробно рассмотрим каждый из шагов представленного алгоритма.
Для реализации первого шага необходим аналого-цифровой преобразователь. Он присутствует во всех современных звуковых адаптерах. Поэтому для доступа к нему нужно организовать работу с драйвером звукового адаптера. Это можно сделать различными способами. Некоторые из них будут рассмотрены далее. Вообще говоря, важным моментом является настройка самого преобразования, его характеристик. Необходимо выбрать поддерживаемые звуковым адаптером частоту дискретизации сигнала, дискретность сигнала, количество каналов и другие характеристики.
На втором шаге происходит сбор данных, полученных от звукового адаптера в процессе импульсно-кодовой модуляции. Хранение данных можно организовать различными способами, например, представлять в виде файлов различных форматов либо хранить во внутренних структурах данных. При этом стоит учитывать, что объем данных даже при достаточно коротком взаимодействии субъекта с роботом (программной системой) может сильно вырасти. Например, при частоте дискретизации 22050 Гц, дискретности 8 бит, моноканале и 10 сек. взаимодействия робот (программная система) получит от звукового адаптера 220500 байт информации.
На третьем шаге данные анализируются и агрегируются, т. е. вычисляются какие-либо заранее определенные характеристики на основе части или всего массива данных, полученных на предыдущем шаге.
На четвертом шаге происходит сопоставление, т. е. на основе определенных значений вычисленных характеристик выявляются значения сюжетов. Правильное сопоставление находится экспериментальным путем.
Пятый шаг аналогичен четвертому, только для его выполнения происходит сопоставление моментальных эмоциональных характеристик силам воздействующих сюжетов. Правильное сопоставление также выявляется экспериментальным путем.
Шаг шестой и седьмой - это реализация вычислений на основе приведенных формул математической модели.
На последнем шаге алгоритма происходит организация проявления эмоций роботом (программной системой). Здесь реализуется какой-либо способ визуального представления эмоций (например, в форме смайла).
Стоит отметить следующую особенность. Если мы хотим создать робота (программную систему), работающего в интерактивном режиме, т. е. реагирующего на звуковые сигналы мгновенно, то процесс сбора данных и их обработки мы должны выполнять параллельно. Таким образом, второй шаг представленного алгоритма должен выполняться параллельно всем последующим шагам.
2. Архитектура разработанной системы SoundBot
Рассмотрим архитектуру разработанной программной системы SoundBot, реализующую представленный выше алгоритм (см. рис. 1) (цифрами в овалах обозначены соответствующие этапы алгоритма).
Как можно видеть, архитектура системы напрямую связана с рассмотренным ранее алгоритмом. В ней выделяются два основных модуля:
1. Модуль работы со звуком. Отвечает непосредственно за взаимодействие со звуковым адаптером и сбор необходимых числовых данных.
2. Модуль реализации модели. Отвечает за реализацию предложенной математической модели эмоций и воспитания, просчитывает параметры смайла, являющегося мимической эмоциональной реакцией системы.
Рис. 1. Архитектура программной системы SoundBot
Непосредственно между модулями происходит обработка, анализ и агрегация данных. Для реализации интерактивности системы оба модуля работают параллельно.
Далее рассмотрим основные возможности, принципы функционирования и визуальный интерфейс системы SoundBot.
3. Основные возможности системы SoundBot
Система SoundBot реализована на языке С++ в среде Visual Studio 2008, работает на персональном компьютере класса IBM/PC под управлением операционной системы Windows XP и выше. Для работы программы необходим .NET Framework 2.0. Объем программы 100 Кб (exe-файл).
Основные функции системы SoundBot:
1. Позволяет определить основные возможности мультимедиа устройств, установленных на компьютере.
2. Позволяет воспроизводить звуковые файлы в формате .wav.
3. Позволяет производить запись звуковых файлов в формате .wav (только монозапись).
4. Может эмоционально реагировать на воспроизводимые звуковые файлы в формате .wav.
Система SoundBot может в интерактивном режиме эмоционально реагировать на звуковые сигналы, подаваемые ей через микрофон.
4. Принципы функционирования системы SoundBot
К основным принципам функционирования, которые следует рассмотреть подробно, нужно отнести:
1. Функционирование модуля работы со звуком.
2. Принцип параллельной работы модулей.
3. Эмоциональные раздражители, учитываемые в системе и принципы формирования их силы.
Как было сказано ранее, существуют различные способы работы со звуковым адаптером. Рассмотренные нами способы используют системные библиотеки Windows, поэтому могут быть применены только при наличии этой операционной системы.
Наиболее простой подход - это использование интерфейса управляющих строк MCI или интерфейса управляющих сообщений MCI. MCI представляет собой универсальный, независимый от особенностей аппаратного обеспечения интерфейс, предназначенный для управления устройствами мультимедиа, такими как звуковые и видеоадаптеры, устройства чтения (проигрывания) звуковых компакт-дисков и лазерных видеодисков [2, 3]. В большинстве случаев возможности, предоставляемые этим интерфейсом, удовлетворят потребности любого приложения мультимедиа, предназначенного для записи и воспроизведения звуковой или видеоинформации. Но его недостаток заключается в том, что мы не можем в интерактивном режиме считывать и обрабатывать данные, поступающие со звукового адаптера в систему. Поэтому данный способ нам не подходит.
Подход, лишенный недостатка подхода, основанного на использовании интерфейса управляющих строк MCI или интерфейса управляющих сообщений MCI, - это использование интерфейса низкого уровня.
Общая методика использования интерфейса низкого уровня для воспроизведения wav-файлов такова. Сначала выполняются чтение и проверка формата заголовка wav-файла, открытие устройства вывода с указанием конкретного формата звуковых данных. Затем звуковые данные читаются блоками непосредственно из wav-файла, подготавливаются специальной функцией для вывода и затем передаются драйверу устройства вывода. Драйвер выводит их в звуковой адаптер [2, 3]. Приложение имеет полный контроль над процессом воспроизведения, так как оно само должно подготовить блоки данных в оперативной памяти.
Аналогично выполняется запись звуковых данных. Вначале требуется открыть устройство ввода, указав ему формат звуковых данных. Затем нужно заказать один или несколько блоков памяти и подготовить их для ввода, вызвав специальную функцию. После этого подготовленные блоки нужно по мере необходимости передавать драйверу устройства ввода, который заполнит их записанными звуковыми данными [2, 3]. Для сохранения записанных данных в wav-файле приложение должно сформировать и записать в файл заголовок wav-файла и звуковые данные из подготовленных и заполненных драйвером устройств ввода блоков памяти.
В отличие от интерфейса MCI, где многие параметры принимаются по умолчанию, интерфейс низкого уровня требует внимательного и тщательного учета всех деталей процесса записи и воспроизведения. В качестве компенсации за дополнительно затраченные усилия можно получить большую гибкость и возможность работать со звуковыми данными в реальном времени [2, 3]. эмоциональный робот звуковой сигнал
Для обеспечения работы системы в интерактивном режиме, т. е. для адаптации системы к взаимодействию с пользователем в реальном времени, модули системы должны работать параллельно.
В системе SoundBot каждый из модулей выполняется в отдельном потоке, что обеспечивает следующие возможности:
1. Одновременно выбирать новые данные со звукового адаптера и производить анализ последних с последующим вычислением воспитания, которое отражает эмоциональное состояние системы.
2. Одновременно воспроизводить, записывать звуковые данные и производить их выборку для анализа в системе.
Кроме этого, для ускорения прорисовки мимической эмоциональной реакции системы она также выполнена в отдельном потоке.
Пока в системе учитывается только один эмоциональный раздражитель (сюжет) - амплитуда воздействующего звукового сигнала. Каждый отсчет звукового сигнала вызывает раздражение в системе и формирует мгновенные эмоции. Сопоставление сюжетов и эмоций происходит путем указания числовых промежутков, которые показывают, какой сюжет доставляет положительные эмоции, а какой - отрицательные.
Работа по нахождению правильного сопоставления между сюжетами и моментальными эмоциями продолжается.
5. Визуальный интерфейс системы SoundBot
Основная форма системы содержит две вкладки. Первая для воспроизведения и обучения системы на готовых .wav файлах (см. рис. 2). Вторая вкладка используется для записи .wav файлов и интерактивного общения с системой (см. рис. 3).
Рис. 2. Первая вкладка главной формы программы SoundBot
Рис. 3. Вторая вкладка главной формы программы SoundBot
Кроме этого, на главной форме можно видеть смайл, отображающий мимические эмоциональные реакции системы, а также текущее значение моментальной эмоции и воспитание.
При помощи главного меню формы можно задать основные параметры. Это параметры математической модели эмоций, параметры принципов функционирования и параметры работы со звуковыми данными.
Для задания различных параметров используются соответствующие формы (см. рис. 4, рис. 5).
Рис. 4. Параметры модели
Рис. 5. Параметры записи
Чтобы узнать, какие характеристики импульсно-кодового преобразования поддерживает звуковой адаптер, установленный на компьютере, можно воспользоваться функцией определения возможностей мультимедиаустройств в пункте главного меню "Справка" - "Параметры драйверов…" (настоятельно рекомендуется использовать при первом запуске системы для правильной настройки параметров записи).
Рис. 6. Параметры мультимедиаустройств
После использования данной функции появляется экран с описанием мультимедиаустройств (см. рис. 6).
Заключение
Разработанный алгоритм моделирования мимической эмоциональной реакции робота при взаимодействии с ним одного субъекта посредством звукового сигнала и, как следствие, программная система SoundBot являются результатами реализации эмоциональной модели, предложенной в работе [1].
Предложенный алгоритм может быть использован для создания эмоциональных роботов. Но требуется более тщательный анализ поступающих звуковых данных с выделением большего числа раздражителей. Поэтому программная система SoundBot может рассматриваться как первое приближение создания программного обеспечения эмоциональных роботов.
Также стоит учитывать, что алгоритм и система рассчитаны на взаимодействие только с одним субъектом-человеком. Взаимодействие с несколькими субъектами требует рассмотрения более сложной математической модели.
Программная система SoundBot может быть использована для работы с людьми, у которых наблюдается нарушение слуха. Кроме этого, систему можно применять для определения того, какую эмоциональную реакцию вызывает поведение субъекта у окружающих (естественно, реакция системы - это и есть возможная реакция окружающих).
Список литературы
1. Пенский О.Г,. Зонова П.О., Муравьев А.Н, Ожгибесова Ю.С., Проничев А.А., Чечулин В.Л. Гипотезы и алгоритмы математической теории исчисления эмоций: монография / под общ. ред. О.Г.Пенского; Перм. гос. ун-т. Пермь, 2009. 152 с.
2. Фролов А.В., Фролов Г.В. Мультимедиа для Windows // Библиотека системного программиста. М.: Диалог-МИФИ, 1994. Т.15. 284 с.
3. Секунов Н.Ю. Обработка звука на PC. СПб.: БХВ-Петербург, 2001. 1248 с.
Аннотация
Рассматривается алгоритм моделирования мимической эмоциональной реакции робота при взаимодействии с ним одного субъекта посредством звукового сигнала, а также реализация данного алгоритма в виде программной системы SoundBot.
Ключевые слова: эмоция; воспитание; роботы.
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 SoundBot are considered.
Key words: emotions; education; robots.
Размещено на Allbest.ru
...Подобные документы
Понятие математической модели линейной дискретной системы (ЛДС) как соотношение вход/выход в виде уравнения или системы уравнений с целью вычисления реакции на сигналы. Моделирование работы ЛДС в программной среде MATLAB. Порядок выполнения работы.
контрольная работа [221,6 K], добавлен 29.09.2011Возможность выделения сигнальных признаков в приемниках обнаружения и сопровождения. Технические характеристики и аналитическое описание сигналов. Подбор математической модели алгоритма радиолокационного распознавания. Разработка программного продукта.
курсовая работа [415,8 K], добавлен 23.09.2011Классификация навигационных систем; телевизионная, оптическая, индукционная и радиационная системы измерения угловых координат. Системы измерения дальности и скорости, поиска и обнаружения. Разработка и реализация системы навигации мобильного робота.
дипломная работа [457,8 K], добавлен 10.06.2010Принцип работы фотодатчика, свойство поверхностей отражать падающий на них свет. Подключение резистора в эмиттерную цепь транзистора. Алгоритм движения робота, программы для следования робота по линии, для движения устройства моторами вперед и назад.
курсовая работа [142,0 K], добавлен 30.01.2013Исходные данные для разработки цикловой системы управления и проектирования усилителей управляющих сигналов. Блок-схема алгоритма работы системы управления пятью гидроцилиндрами промышленного робота. Принцип работы схемы и расчет силовых ключей.
курсовая работа [136,0 K], добавлен 08.06.2014Электронный замок: общая характеристика и принцип действия. Анализ вариантов реализации устройства. Разработка алгоритма функционирования, структурной и электрической принципиальной схемы электронного замка. Блок-схема алгоритма работы программы.
курсовая работа [363,3 K], добавлен 10.05.2015Разработка алгоритма нахождения оптимальной сети наземного цифрового телевизионного вещания. Программная реализация поиска точного решения задачи полным перебором множества проектов сетей. Обзор и схема коммуникационных операций типа точка-точка.
дипломная работа [1,3 M], добавлен 22.08.2016Реализация КИХ и БИХ фильтра на процессоре TMS320C50. Блок-схема алгоритма программы, командные файлы компоновки и программного имитатора. Расчет максимально возможной частоты дискретизации. Расчет и результаты фильтра с помощью пакета Filter Design.
курсовая работа [1,3 M], добавлен 26.05.2014Метод выделения огибающей АМ-сигнала при помощи преобразования Гильберта. Эквивалентная схема программного алгоритма. Способы выделения амплитудного огибающего сигнала. Синтез АМ-сигнала с несущей и боковыми частотами. Формирователь амплитудной огибающей.
курсовая работа [279,1 K], добавлен 23.06.2009Основные технические характеристики системы регулирования. Выбор микропроцессора, захвата робота, гидропривода, редуктора, двигателя, датчика давления и линейного перемещения, операционного усилителя. Определение устойчивости дискретной системы.
курсовая работа [1,0 M], добавлен 20.10.2013Жесткий и гибкий пороги фильтрации речевого сигнала. Графики вейвлет-разложения речевого сигнала. Блок схема алгоритма фильтрации с гибким порогом. Статистический метод фильтрации речевого сигнала. Оценка качества восстановленного речевого сигнала.
реферат [440,2 K], добавлен 01.12.2008Разработка схемы алгоритма программной генерации сигнала заданной формы. Обоснование назначения отдельных блоков программы, описание ее работы в целом. Формирование последовательности из трех пилообразных импульсов с заданным временем паузы и нарастания.
контрольная работа [28,0 K], добавлен 25.05.2015Разработка системы адаптивного аналого-цифрового преобразования (АЦП) на базе однокристального микроконтроллера. Сравнение АЦП различных типов. Анализ способов реализации системы, описание ее структурной схемы, алгоритма работы, программного обеспечения.
дипломная работа [3,0 M], добавлен 29.06.2012Построение математической модели динамической системы. Изучение цепочки усилителей, состоящих из соединенных последовательно безынерционного усилителя и фильтра. Неустойчивость образования периодического сигнала и хаотизация сигнала в цепочке усилителей.
контрольная работа [64,7 K], добавлен 24.11.2015Изучение устройства связи с датчиком и исполнительными механизмами, разработка блока памяти объёмом 80 кб. Характеристика программ, обеспечивающих выполнение заданного алгоритма и алгоритма обмена. Оценка микропроцессорной системы по аппаратным затратам.
практическая работа [154,1 K], добавлен 14.11.2011Определение параметров и переменных модели. Алгоритмизация модели и ее машинная реализация. Выбор инструментальных средств моделирования. Получение и интерпретация результатов моделирования системы. Планирование машинного эксперимента с моделью системы.
курсовая работа [382,1 K], добавлен 20.02.2015Формирование математической модели сигнала и построение ее графика. Спектральный состав сигнала. Исследования спектрального состава сигнала с помощью быстрых преобразований ряда Фурье. Построение графика обработанного сигнала. Верхняя граничная частота.
курсовая работа [187,7 K], добавлен 14.08.2012Анализ алгоритма функционирования системы накопления радара некогерентного рассеяния. Разработка амплитудного накопителя сигнала. Определение и формирование режима накопления контрольных сеансов. Технология и этапы сборки амплитудного накопителя.
дипломная работа [473,7 K], добавлен 14.02.2012Разработка системы, предназначенной для управления поворотом устройства перемещения робота. Выбор и расчет передаточной функции микропроцессора, усилителя, электромагнитного клапана, гидроцилиндра. Расчет датчика обратной связи и устойчивости системы.
курсовая работа [972,1 K], добавлен 20.10.2013Расчет коэффициентов фильтра с помощью Matlab. Фазово-частотная характеристика фильтра. Синтезирование входного сигнала в виде аддитивной смеси гармонического сигнала с шумом. Нерукурсивный цифровой фильтр, отличительная особенность и выходной сигнал.
контрольная работа [4,6 M], добавлен 08.11.2012