Статья опубликована в рамках: Научного журнала «Студенческий» № 19(63)
Рубрика журнала: Технические науки
Секция: Радиотехника, Электроника
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4
РЕАЛИЗАЦИЯ ЛИЦЕВОЙ АНИМАЦИИ РОБОТА
Аннотация. В статье рассматривается реализация лица робота-коммуниканта, его мимики и анимации на базе Arduino.
Ключевые слова: робототехника, анимация, антропоморфизм, Arduino.
Ведение
Сегодня роботы готовятся войти в нашу жизнь не только как помощники в промышленности и быту, но и как собеседники. Одной из главных проблем в этом направлении является выбор правильного внешнего вида для социального робота.
Роботы, претендующие стать частью социума, должны адекватно восприниматься человеком. Чтобы достичь данной цели, необходим дизайн, включающий в себя антропоморфные элементы, которые помогут роботу интегрироваться в общество и выполнять предусмотренную социальную роль [5].
Актуальность
Антропоморфные элементы необходимы при социальном взаимодействии, так как такой внешний вид является естественным для человека, но, с другой стороны, необходимо соблюсти правильный баланс между схожестью и полным копированием внешнего вида человека:
Люди склонны к тому, чтобы очеловечивать образы, которые наблюдают, даже если с человеком они ни имеют ничего общего. Люди привыкли не только распознавать такие образы, но и испытывать к ним симпатию. Чем более человекоподобен объект, тем более положительную реакцию он вызывает, но этот эффект работает до определенного момента. До тех пор, пока этот объект не станет полностью повторять внешний вид человека. Данную зависимость можно увидеть на графике (см. рисунок 1).
Рисунок 1. График “зловещей долины”
Если объект похожий на человека пытается выполнять нечеловекоподобные движения это вызывает отрицательную эмоциональную реакцию, которую можно увидеть, как впадину на графике. При малейших отклонениях от поведения человека вызывает попадание в эту "зловещую долину", что вызывает у людей неприятное ощущение, а иногда и страх [1, 2].
Этот эффект был открыт еще в 70-е годы, но актуален и сегодня при разработке антропоморфных роботов.
Внешний облик робота является важным коммуникативным инструментом, определяющим принцип взаимодействия машины и человека. Визуальный образ также влияет на особенности восприятия робота людьми. Поэтому при разработке дизайна необходимо учитывать целый комплекс факторов (психологические, культурные, социальные).
Задача
В рамках проекта "Робот-друг ФЕНиМчик" [3, 4] требовалось разработать лицо для предания роботу антропоморфных черт.
Так как основной дизайн робота был сконструирован специально для общения с детьми весь его внешний вид должен оказывать положительные эмоции и не вызывать некомфортные ощущения у собеседника.
Конструкция головы робота имеет схожие с человеческой внешностью элементы и черты, но не стремиться к их точному повторению, что делает его похожим на игрушку или персонажа из мультфильма, благодаря чему его дизайн не попадает в “зловещую долину” и не вызывает отторжение при коммуникации.
Исходя из этого, лицо было решено сделать в таком же стиле. Главной задачей было добиться максимального эмоционального эффекта, используя минимальные графические примитивы, что оказало бы огромное влияние на эстетичность робота в целом.
Реализация
Для реализации лица было принято решение использовать экран с выводом различных изображений эмоций на нем. Для этого использовались светодиодные матричные дисплеи в количестве четырех штук.
Данный метод дает простор для изображения различных эмоций, а также технология работы подобного устройства не требует огромных затрат и сложной реализации, как например это сделано у человекоподобных роботов.
Но самым главным преимуществом данного решения является то, что такой дизайн идеально подходит для общего внешнего вида робота.
При реализации данной системы пришлось столкнуться с рядом различных задач, первой из которых была необходимость правильного расположения матриц. Это требовалось сделать таким образом, чтобы матрицы создавали единую композицию лица, но также все это не должно выходить за рамки имеющегося корпуса (см. рисунок 2).
Рисунок 2. Расположение матриц
Для реализации поставленной задачи, было решено обратиться к анатомии и сделать некоторые элементы опираясь на правильное соотношение пропорций лица человека. Так, например, крайние точки рта должны располагаться на уровне краев глаз.
Следующей задачей стояла реализация изображений самих элементов лица, а именно рта и глаз. Данных элементов вполне достаточно, чтобы изобразить большой спектр эмоций, которые необходимы во время общения робота с человеком.
Командой разработчиков была реализована функция постоянного движения элементов лица. Так, например, робот постоянно моргает. Когда он просто стоит на месте или едет куда-то, то к морганиям добавляется бег глазами, а также с определенным промежутком времени меняются эмоции, что создает ощущение что это живое существо, реагирующие на различные вещи, происходящие вокруг.
Во время разговора с роботом его взгляд направлен прямо, показывая тем самым, что он сфокусирован на диалоге, а также во время речи он открывает и закрывает рот, что является естественным для людей.
Так как робот изначально задумывался для коммуникации с детьми, на его лице всегда изображены положительные эмоции. Это создает очень сильный эффект невербального общения и оставляет у детей положительные впечатления на подсознательном уровне.
Техническая реализация
Для реализации лицевой анимации был создан модуль лица, в который вошли четыре светодиодных матрицы: две для глаз и две для рта. Каждая матрица работает на микросхеме MAX7219.
Светодиодная матрица является индикатором с набором из 64 светодиодов, расположенных 8х8, с помощью которых будут выводиться изображения глаз и рта (см. рисунок 3).
Рисунок 3. Модуль светодиодной матрицы с микросхемой MAX7219
Четыре светодиодных матрицы подключены к микроконтроллеру Arduino Uno, образуя тем самым модуль лица (см. рисунок 4).
Рисунок 4. Расположение элементов схемы
Две светодиодные матрицы сверху предназначены для вывода изображения глаз, а две снизу для рта. Так как рот является одним изображением, то обе матрицы должны работать синхронно, образуя единое целое.
Программная реализация
Реализация программной части лицевой анимации выполнена следующим образом:
Были использованы библиотеки <Adafruit_GFX.h> и <Max72xxPanel.h> для работы матричного экрана. Сама архитектура работы построена таким образом, что каждая часть анимации прописывалась в виде процедуры с помощью двоичного кода (см. рисунок 5).
Рисунок 5. Фрагмент кода анимации глаз робота
На представленной части кода показаны 4 процедуры:
- Eye_close – процедура, отвечающая за анимацию закрытого глаза.
- Eye_left_top – процедура, отвечающая за анимацию левого глаза направленного вверх.
- Eye_left_mid – процедура, отвечающая за анимацию левого глаза, находящегося посередине.
- Eye_left_down – процедура, отвечающая за анимацию левого глаза, опущенного вниз.
По аналогии с этими процедурами программно реализована вся лицевая анимация глаз.
Анимация рта выполнена таким же образом, но с объединением в общие структуры для оптимизации программного кода и синхронизации двух матричных экранов (см. рисунок 6).
Рисунок 6. Фрагмент кода анимации рта робота
Дальше происходит случайное распределение анимации, когда робот находится в автономном режиме работы (см. рисунок 7).
Рисунок 7. Фрагмент кода анимации лица
Лицевая анимация робота напрямую связанна с голосовым модулем поэтому, когда в голосовой модуль поступает команда, её также выполняет и модуль лица. Если поступила одна из команд для воспроизведения звукового файла (тост, сказка, песня, приветствие), то модуль лица выполняет команду sp – speech, которая воспроизводит разговорную анимацию лица робота. Когда команда не поступает в течении определенного времени модуль лица переходит в автономный режим работы, в котором чередуются разные выражения лица робота (см. рисунок 8).
Рисунок 8. Фрагмент кода управления анимацией
Процесс лицевой анимации в состоянии покоя можно выразить моделью, определенной на следующем картеже:
A = (Λ, F, t), (1)
где A – текущая анимация лица, Λ – множество анимированных выражений, F – функция выбора λ ∈ Λ, t – текущий момент времени.
Результат
В результате был получены модуль лица робота, который вошел в проект "Робот-друг ФЕНиМчик" и является одним из важнейших элементов в его коммуникации и дизайне.
Данный проект был представлен на выставке “Дни Дальнего Востока”, которая проходила в Москве 2018 года.
Список литературы:
- Зильберман Н.Н., Слободская А.В. Восприятие различных типов культурного интерфейса социального робота // Universum: общественные науки, 2014 г.
- Зильберман Н.Н., Стефанцова М.А. Социальный робот: подходы к определению понятия // Современные исследования социальных проблем, 2016 г.
- Попов Л.А., Сироткин А.В. Реализация конструкций антропоморфного робота средствами 3d-печати // Студенческий: электрон. научн. журн. 2019.
- Шарыпов Д.А., Сироткин А.В. Реализация централизованной модульно-функциональной архитектуры для роботизированных систем на базе микроконтроллеров AVR // Студенческий: электрон. научн. журн. 2019.
- Хаминова А.А., Симонова Э.Р. Эстетика в дизайне социальных роботов // Гуманитарная информатика, 2014 г.
Оставить комментарий