РЕЖИМ ОЖИДАНИЯ ЧЕЛОВЕКОПОДОБНОГО РОБОТА
STANDBY MODE OF A HUMANOID ROBOT

ОБЛАСТЬ ТЕХНИКИ
Изобретение относится к области обработки данных и, более конкретно, к режимам ожидания робота.
УРОВЕНЬ ТЕХНИКИ
Персональные компьютеры (например, компактные портативные компьютеры, планшеты, смартфоны и т.д.) и роботы (например, человекоподобные роботы) являются очень разными объектами.
Человеко-машинное взаимодействие с роботом (например, с человекоподобным роботом-товарищем) сильно отличается от взаимодействий с персональным компьютером. Роботы-товарищи, предпочтительно, могут устанавливать эмоциональные взаимоотношения с людьми, с использованием интерактивных диалогов и физических действий, выполняемых в материальной действительности.
Способы осуществления режима ожидания, известные в области техники персональных компьютеров, не являются хорошо приспособленными для роботов, и тем более для человекоподобных роботов.
Существует потребность в способах и системах для осуществления специфических режимов ожидания для роботов.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Раскрыт реализуемый компьютером способ выполнения режима ожидания для робота, содержащий этапы измерения одного или нескольких параметров, ассоциированных с одной или несколькими частями робота (например, температуры одного или нескольких двигателей); приема одного или нескольких правил оптимизации режима ожидания, ассоциированных с упомянутыми параметрами (например, максимизации рассеяния тепла двигателя), и выполнения одного или нескольких принятых правил оптимизации режима ожидания (например, выполнения анимации тела для охлаждения двигателей). Контролируемые параметры содержат меры температуры двигателей и/или значения потребления электроэнергии и/или значения, количественно определяющие признаки износа. Правила оптимизации содержат минимизацию потребления электроэнергии и/или минимизацию износа и/или максимизацию рассеяния тепла. В развитиях, предопределенная анимация может быть связана с полезной оценкой социального контакта.
Раскрыты дополнительные аспекты, включающие в себя необязательное использование принадлежностей. Также описаны аспекты системы и компьютерные программы.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Варианты осуществления настоящего изобретения будут теперь описаны в качестве примера со ссылкой на сопутствующие чертежи, в которых подобные ссылки обозначают подобные элементы и в которых:
Фиг. 1 показывает глобальную техническую среду настоящего изобретения;
Фиг. 2 детализирует некоторые аспекты одного варианта осуществления способа;
Фиг. 3 детализирует некоторые конкретные аспекты конкретного варианта осуществления способа.
ПОДРОБНОЕ ОПИСАНИЕ
Человекоподобные роботы являются зарождающейся формой «социальной технологии». В качестве роботов-товарищей, человекоподобные роботы все больше рассматриваются людьми-пользователями в качестве партнеров, что обеспечивает устойчивые или даже эмоциональные взаимоотношения и непрерывное изучение (друг друга, т.е., роботы изучают пользователей, и наоборот). Например, даже будучи только машинами, персональные роботы представляют большую ценность для обучающих видов деятельности (например, диеты, спорта или образования). В отличие от персональных компьютеров, имитируемые эмоции и язык тела дают возможность установления более располагающих к контакту, убедительных, правдоподобных или, иначе, доверительных взаимоотношений.
Человекоподобные роботы являются обрабатывающими информацию машинами и, следовательно, может быть рассмотрено большое количество сравнений с персональными компьютерами. Некоторые аспекты могут считаться общими. Некоторые другие аспекты являются очень разными при сравнении персональных роботов и персональных компьютеров.
Например, некоторые довольно существенные отличия могут быть кратко подчеркнуты в отношении аспекта «программных приложений». Первое существенное отличие состоит в многомодальных характеристиках персонального робота, т.е., в характеристиках, обусловленных конструкцией. Робот-товарищ может следовать за своим владельцем (т.е., имеет способности к перемещению) и может касаться объектов или взаимодействовать со своей средой. В соответствии с конструкцией, персональный компьютер не имеет таких различных видов обратной связи со средой. Этот «многомодальный» признак или характеристика имеет большую важность для управления приложениями на роботе (среди других аспектов, например, аспектов, включающих в себя управление режимами ожидания).
Конкретное отличие относится к обработке режимов ожидания, причем дополнительно к аспектам экономии энергии, робот может несистематически и/или ситуативно и/или преднамеренно оценивать, выбирать и, дополнительно, выполнять разные анимации или последовательности движений. Такие анимации или движения, например, могут охладить двигатели и/или обеспечить верификации системы, при поддержке или развитии взаимоотношений с людьми-пользователями («опыт взаимодействия с пользователем»).
Фиг. 1 показывает глобальную и техническую среду настоящего изобретения. Робот 130 содержит датчики и исполнительные механизмы. Логика или «интеллект» 100 реализованы в роботе или связаны с ним (например, удаленно) и содержат набор программных компонентов 110 и аппаратных компонентов 120. Робот 130 взаимодействует (посредством двунаправленных или двусторонних средств 140 связи, включающих в себя один или несколько диалоговых сеансов) с одним или несколькими пользователями 150. Упомянутые один или несколько пользователей могут осуществлять доступ к другим вычислительным устройствам 160 (например, персональному компьютеру, такому как переносной компьютер или смартфон или планшет), которые могут быть подключенными устройствами (могут иметь связь с облаком серверов и/или множеством других роботов или подключенных объектов и т.д.). Конкретно, подключенное устройство может быть переносным компьютером (например, часами, очками, шлемом с эффектом присутствия и т.д.).
Конкретный робот 130 на фигуре приведен только в качестве примера человекоподобного робота, в котором может быть реализовано настоящее изобретение. Нижняя конечность робота на фигуре не функциональна для ходьбы, но может перемещаться в любом направлении на своем основании, которое может катиться по поверхности, на которой оно находится. Настоящее изобретение может быть легко реализовано в роботе, который подходит для ходьбы.
В некоторых вариантах осуществления настоящего изобретения, робот может содержать различные виды датчиков. Некоторые из них используются для контроля положения и перемещений робота. Это имеет место в случае, например, инерциального блока, расположенного в туловище робота, содержащего трехосный гирометр и трехосный акселерометр. Робот может также включать в себя две двумерные цветные RGB-камеры на лбу робота (верхнюю и нижнюю). Трехмерный датчик может также находиться позади глаз робота. Робот может также, необязательно, содержать генераторы лазерных линий, например, в голове и в основании, для обеспечения возможности восприятия его относительного положения по отношению к объектам /существам в его среде. Робот может также включать в себя микрофоны для обеспечения возможности восприятия звуков в его среде. Робот настоящего изобретения может также включать в себя ультразвуковые датчики, которые могут быть расположены на передней части и на задней части его основания, для измерения расстояния до объектов/ людей в его среде. Робот может также включать в себя тактильные датчики, на его голове и на его руках, для обеспечения возможности взаимодействия с людьми. Он может также включать в себя демпфер на своем основании для восприятия препятствий, которые он встречает на своем пути. Для передачи его эмоций и установления связи с людьми в его среде, робот настоящего изобретения может также включать в себя светодиоды, например, в его глазах, ушах и на его плечах, и громкоговорители (например, расположенные в его ушах). Робот может устанавливать связь с базовой станцией, с другими подключенными устройствами или с другими роботами, через различные сети (3G, 4G/LTE, Wifi, BLE, ячеистую сеть и т.д.). Робот содержит аккумуляторную батарею или источник энергии. Робот может осуществлять доступ к зарядной станции, соответствующей типу аккумуляторной батареи, которую он включает в себя. Положением/перемещениями роботов можно управлять посредством их двигателей, с использованием алгоритмов, которые активируют цепи, находящиеся в каждой конечности, и рабочие органы, находящие на конце каждой конечности, с учетом измерений датчиков.
В конкретном варианте осуществления, робот может иметь встроенный планшет, с помощью которого он может передавать сообщения (звуковые сообщения, видео, веб-страницы) в его среду или принимать вводы данных от пользователей через тактильный интерфейс планшета. В другом варианте осуществления, робот может не иметь встроенного или находящегося на нем экрана, но он может иметь видеопроектор, с помощью которого данные или информация могут быть спроецированы на поверхности вблизи робота. Упомянутые поверхности могут быть плоскими (например, пол) или неплоскими (например, деформации проекционных поверхностей могут быть скомпенсированы для получения, по существу, плоской проекции). В обоих вариантах осуществления (с экраном и/или с видеопроектором), варианты осуществления настоящего изобретения остаются допустимыми: заявленная модель взаимодействия дополняется или комплектуется только визуальным средством взаимодействия. В любом случае, независимо от того, будет ли графическое средство неисправно или будет деактивировано преднамеренно, останется диалоговый режим взаимодействия.
В одном варианте осуществления, робот не содержит такого средства графического пользовательского интерфейса. Существующие человекоподобные роботы обычно снабжены усовершенствованными речевыми возможностями но, обычно, не снабжены GUI. Все большие группы пользователей, вероятно, не будут использовать графическое средство (например, планшет, смартфон), даже в качестве дополнительного средства, для установления связи с роботом, по желанию и/или по необходимости (молодежь, инвалиды, в практической ситуации и т.д.).
Набор программного обеспечения 110 (неисчерпывающе) содержит программные модули или объекты или части программного кода, взаимодействующие друг с другом и включающие в себя «средства 111 извлечения», «предложения 112 видов деятельности», «назначение 113 приоритетов интеллекта», «менеджер 114 пакетов», «исторические данные 115 пользователя», «фокусируемый автономный вид 116 деятельности» и «фокусируемую диалоговую тему» 117 и «услугу 118 мониторинга технического состояния».
«Услуга 111 Средства Извлечения» обычно распознает или воспринимает что-либо внутри или снаружи робота и обеспечивает краткосрочные данные для памяти робота. Услуга Средства Извлечения принимает входные показания от датчиков робота; эти показания датчиков предварительно обрабатывают для извлечения уместных данных в отношении положения робота, идентификации объектов/ людей в его среде, расстояния до упомянутых объектов/ людей, слов, произнесенных людьми, или их эмоций. Услуги Средств Извлечения, в частности, содержат: распознавание лиц, восприятие людей, зоны контакта, детектирование приветственных жестов, детектирование улыбок, детектирование взглядов, детектирование эмоций, анализ речи, распознавание речи, локализацию звука, детектирование перемещения, панорамный компас, позу робота, оценку технического состояния робота, аккумуляторную батарею, обработку QR-кода, домашнюю автоматику, группы, время и расписание.
«Услуга Исполнительных Механизмов» заставляет робота физически производить или выполнять действия. Средство Отслеживания Перемещений, светодиоды, менеджер Вариантов Поведения являются примерами «Услуг Исполнительных Механизмов».
«Информационная Услуга» обеспечивает долгосрочное запоминание данных. Примерами Информационных Услуг являются Услуга 115 Пользовательского Сеанса, которая запоминает пользовательские данные и их историю в отношении того, что они делали с роботом, и Услуга 114 Менеджера Пакетов, которая обеспечивает масштабируемое хранилище процедур, исполняемых роботом, с их высокоуровневым определением, условиями запуска и тегами. «Менеджер Пакетов», конкретно, обеспечивает масштабируемое хранилище Видов Деятельности и Диалогов, а также Декларацию. «Декларация» содержит метаданные, такие как условия запуска, теги и высокоуровневые описания.
«Услуга Интеллекта» (например, услуга Назначение 113 Приоритетов Интеллекта) является услугой, которая будет управляться центральным «Интеллектом» робота, когда она инициирует действие. «Услуги Интеллекта» связывают вместе «услуги 130 Исполнительных Механизмов», «услуги 111 Средств извлечения» и «Информационные Услуги» 115. Базовая Информированность является «Услугой Интеллекта». Она подписывается на «Услуги Средств Извлечения», такие как Восприятие Людей, Детектирование Перемещения, и Локализация Звука, чтобы указать Услуге Перемещения на то, что следует выполнить перемещение. «Интеллект» 113 конфигурирует вариант поведения Базовой Информированности на основе ситуации. В другие моменты времени, Базовая Информированность либо действует сама по себе, либо конфигурируется Выполняемым Видом Деятельности.
«Автономное Функционирование» является Услугой Интеллекта. Она исполняет виды деятельности вариантов поведения. На основе контекста ситуации, Интеллект может указать Автономному Функционированию, на каком виде деятельности следует сфокусироваться («Фокусируемый Автономный Вид 116 Деятельности»). Метаданные в декларациях связывают эту информацию в интеллекте. Любой вид деятельности может иметь доступ к одному или нескольким API Операционной Системы. Виды Деятельности могут также прямо указать Автономному Функционированию, на каком виде деятельности следует сфокусироваться, или указать Услуге Диалога, на какой теме следует сфокусироваться.
Услуга «Диалог» может быть сконфигурирована в виде Услуги Интеллекта. Она подписывается на средство извлечения распознавания речи и может использовать «Услугу Исполнительного Механизма Динамической Речи» для говорения. На основе контекста ситуации, Интеллект может указать Диалогу, на каких темах следует сфокусироваться («Диалоговая Тема»). Услуга «Диалог» также имеет свои алгоритмы для управления разговором и обычно действует сама по себе. Одним компонентом услуги Диалога может быть услуга 117 «Фокусируемая Диалоговая Тема». Диалоговые Темы могут программно указать Интеллекту на то, что следует переключить фокус (или выполнить или запустить) на другой Вид Деятельности или Диалоговую Тему, в любое время. Один пример возможного способа для определения Диалоговой Темы может содержать: в тот момент, когда условия запуска диалоговой темы или вида деятельности становятся истинными или ложными, список всех возможных на данный момент Видов Деятельности или Диалоговых Тем отправляют к Интеллекту; список фильтруют согласно назначению приоритетов видов деятельности; порядок списка рандомизируют; список сортируют (или оценивают) для отдания предпочтения Видам Деятельности или Диалоговым Темам, которые являются «уникальными» и запускались менее часто; выполняют специальную проверку, чтобы убедиться, что верхний Вид деятельности или Диалоговая Тема в этом списке не является таким же видом деятельности, как предыдущий вид деятельности, который выполнялся. Список может быть снова отсортирован и отфильтрован согласно предпочтениям пользователя.
Робот может реализовать услугу 118 «мониторинг технического состояния». Такая услуга может действовать в качестве демона или «сторожевого средства» для проверки или контроля или регулирования разных приоритетов робота. Такая услуга может контролировать (непрерывно, прерывисто или периодически) состояние внутренних компонентов робота и измерять или ожидать или прогнозировать или корректировать неисправности аппаратных средств. В одном развитии, контролируют множество (например, установленное базовое количество) роботов. Встроенная услуга может непрерывно детектировать ситуации неисправностей и синхронизировать их с услугой «облака» (например, один раз каждую минуту). В некоторых вариантах осуществления, услуга 118 «мониторинг технического состояния» может содействовать разным режимам ожидания, раскрытым ниже, или даже может управлять ими.
Аппаратные компоненты 120 содержат обрабатывающее средство 121, запоминающее средство 122, средство 123 ввода/вывода данных (I/O), массовое запоминающее средство 124 и средство 125 доступа к сети, причем упомянутые средства взаимодействуют друг с другом (кеширование, свопинг, распределенные вычисления, балансировка загрузки и т.д.). Обрабатывающее средство 121 может быть CPU (многоядерным или многократноядерным) или FPGA. Запоминающее средство 122 может содержать одно или несколько из флэш-памяти или памяти с произвольным доступом. Средство 123 I/O может содержать одно или несколько из экрана (например, сенсорного экрана), источника света или светодиода, тактильной обратной связи, виртуальной клавиатуры, мыши, шарового манипулятора, джойстика или проектора (включая лазерный проектор). Запоминающее средство 124 может содержать одно или несколько из накопителя на жестких дисках или SSD. Средство доступа к сети может обеспечить доступ к одной или нескольким сетям, таким 3G, 4G/LTE, Wifi, BLE или ячеистая сеть. Сетевой трафик может быть зашифрован (например, с использованием туннелей, SSL и т.д.).
В одном варианте осуществления, вычислительные ресурсы (средства вычислений, память, средства I/O, запоминающие средства и подключаемость) могут иметь удаленный доступ, например, в качестве дополнения к локальным ресурсам (доступным в самом роботе). Например, дополнительные CPU-блоки могут быть доступными через Облако для вычислительных задач распознавания речи. Вычислительные ресурсы могут также использоваться совместно. Конкретно, множество роботов может совместно использовать ресурсы. Подключенные устройства вблизи робота также могут совместно использовать ресурсы до некоторой степени, например, через защищенные протоколы. Средства отображения также могут совместно использоваться. Например, телевизионный приемник может быть использован роботом при прохождении мимо него в качестве дополнительного дисплея.
Фиг. 2 детализирует некоторые аспекты одного варианта осуществления данного способа.
Раскрыт реализуемый компьютером способ выполнения режима ожидания для робота, содержащий этапы измерения 220 одного или нескольких параметров, ассоциированных с одной или несколькими частями робота (например, температуры одного или нескольких двигателей); приема 230 одного или нескольких правил оптимизации режима ожидания, ассоциированных с упомянутыми параметрами (например, максимизации рассеяния тепла двигателя), и выполнения 240 одного или нескольких принятых правил оптимизации режима ожидания (например, выполнения анимации тела для охлаждения двигателей).
Контролируемые параметры на этапе 220 содержат меры температуры двигателей и/или значения потребления электроэнергии и/или значения, количественно определяющие признаки износа.
Примеры правил 231 оптимизации содержат минимизацию потребления электроэнергии и/или минимизацию износа и/или максимизацию рассеяния тепла.
В одном развитии, например, в качестве результата этапа выполнения 240 одного или нескольких принятых правил оптимизации режима ожидания, предопределенная анимация может быть воспроизведена роботом. Упомянутая анимация может быть связана с высокой оценкой (дружественная по отношению к пользователю поза, «социальный контакт»). Этот критерий может быть измерен впоследствии, но также может быть учтен на более ранних этапах для выбора того, какую анимацию следует выполнить.
Теперь будут обсуждаться подробные варианты осуществления и развития.
Раскрыт реализуемый компьютером способ выполнения режима ожидания в роботе или роботом, содержащий этапы измерения одного или нескольких параметров, ассоциированных с одной или несколькими частями робота; приема одного или нескольких правил оптимизации режима ожидания, ассоциированных с упомянутыми параметрами, и выполнения одного или нескольких принятых правил оптимизации режима ожидания.
События и/или параметры, ассоциированных с одной или несколькими частями робота, непрерывно (или прерывисто или периодически) контролируются (например, при выполнении сторожевого средства или демона на самом роботе или на некоторых других подключенных устройствах или роботах/ некоторыми другими подключенными устройствами или роботами).
Части робота содержат шарнирные цепи (кисть, рука, нога, ступня или голова, например) и его соответствующие двигатели, например, двигатели, расположенные в местоположениях шарниров (кисть, локоть, плечо, колено, лодыжка, шея, таз, и т.д.).
Правила оптимизации режимов ожидания могут храниться локально, или к ним может быть осуществлен доступ через сеть. Правила могут быть предопределенными или непредопределенными. Правила могут быть определяемыми статически или динамически. В некоторых вариантах осуществления, правила могут зависеть от набора контролируемых параметров. Правила могут быть также определены пользователем, по меньшей мере частично (тип поведения, профиль экономии энергии, и т.д.), или могут быть определены изготовителем или продавцом робота.
В зависимости от комбинации контролируемых параметров (например, периметра, значений, порогов), могут быть применены конкретные правила. В некоторых вариантах осуществления, эти правила могут быть предназначены для оптимизации состояния системы робота (например, проверки частей системы, охлаждения двигателей, и т.д.) и/или (т.е., в комбинации или альтернативно) для принятия дружественной по отношению к пользователю позы (например, положения или анимации, располагающих к социальному контакту).
В конкретном варианте осуществления, описанном на фиг. 3, когда никакая пользовательская команда движения не отправлена к шарнирной цепи, это может считаться ожиданием 300 (например, после превышения или ниже некоторых предопределенных порогов). Если это не так, то выполняется пользовательская или программная команда 310. Если цепь считается «ожидающей», то контроллер движения может проверить текущую температуру двигателей цепи на этапе 320, и, согласно некоторым вариантам осуществления, может выбрать положение 330 ожидания или покоя для этой цепи, что обеспечивает, таким образом, например, минимизацию энергопотребления самых горячих сочленений. В одном варианте осуществления, поскольку детектировано или оценено, что цепь является ожидающей, контроллер движения может, необязательно, воспроизвести «безопасную» анимацию 340, например, заставить робота выполнить медленную анимацию (с низкой скоростью и низким энергопотреблением).
Теперь будут описаны разные активации и деактивации робота («состояния» или «режимы»). Робот может входить в разные машинные состояния (называемые, в общем, «режимами ожидания») или выходить из них: состояние спячки, спящее состояние или режим, или, иначе, состояние ожидания. Конкретно, эти конкретные состояния могут быть разработаны или адаптированы таким образом, чтобы они оптимизировали системные параметры.
Робот-товарищ, при отсутствии запросов или, иначе, в неактивном состоянии, может оставаться в некоторых состояниях или режимах покоя или ожидания, иногда, аналогично вычислительным системам, для восстановления своих способностей и/или охлаждения своих двигателей и/или выполнения задач по проверке и/или экономии энергии и/или чтобы казаться бесшумным. Возможны разные режимы или состояния. При уменьшении уровней энергопотребления, робот может «активно ожидать», «ожидать», «впадать в спячку», «засыпать» или «отключать электропитание» (терминология может изменяться, возможны разные комбинации деактивируемых внутренних схем).
В некоторых вариантах осуществления, например, режим «активного ожидания» может означать, что робот выключает электропитание выбранного, но ограниченного количества внутренних компонентов для экономии энергии. Временные задержки пробуждения являются обычно очень короткими. Режим «ожидания» увеличивает количество неактивных компонентов, и задержки пробуждения могут увеличиваться. «Спячка» означает, что робот остается готовым к мгновенному (т.е., быстрому или скорому) пробуждению, при экономии энергии посредством остановки выбранных процессов, при поддержке подмножества других процессов. Например, робот может поддерживать свое машинное зрение или по меньшей мере свои микрофоны. Модуль, называемый «базовой информированностью», обычно поддерживается в активном состоянии все время. В «спящем» режиме, робот может отключить электропитание почти полностью, например, принимая положение покоя, подходящее для обеспечения устойчивого равновесия и экономии энергии. Процесс «остановки», в некоторых вариантах осуществления, жестко контролируется. Конкретно, он может служить для оценивания состояния робота. Симметрично, процесс «начальной загрузки» (или запуска) выполняет ряд предопределенных задач и оценивает возможные сбои.
В некоторых вариантах осуществления, логический программный супервизор непрерывно выполняется в фоновом режиме (например, программный модуль «Базовая Информированность» операционной системы робота) и выполняет упомянутые этапы оптимизации покоя и/или ожидания.
В одном развитии, упомянутые один или несколько параметров содержат меры температуры и/или значения потребления электроэнергии и/или значения, количественно определяющие признаки износа, или их комбинацию.
Контролируемые параметры могут содержать параметры, такие как температура (или степень нагрева) разных двигателей (например, измеряемая или вычисляемая или моделируемая температура двигателей, расположенных в местоположениях шарниров), и/или измеряемые или оцениваемые уровни износа (влияющие на долговечность и техническое обслуживание робота) и/или измеряемые или оцениваемые уровни оставшейся энергии (или параметры управления аккумуляторной батареей). Может быть определена иерархия параметров. Обычно, температура (например, двигателей) является критическим параметром (краткосрочным). Энергопотребление влияет на срок службы аккумуляторной батареи. Признаки износа имеют долгосрочное влияние. Определение периметра таких параметров и знание их значений (измеряемых или моделируемых/оцениваемых или приобретаемых от внешних датчиков) может содействовать глобальному управлению роботизированной системой.
Существуют дополнительные раскрытые конкретные аспекты таких состояний робота, т.е. аспекты для состояний неполного пробуждения. Конкретно, раскрывается, что одним или несколькими из этих конкретных состояний можно управлять таким образом, чтобы обеспечить восстановление и/или исправление и/или реконструкцию и/или оценку технического состояния робота. Нижеследующие операции минимизации (или максимизации) могут быть операциями локального периметра (например, для одной или нескольких частей робота) или операциями глобального периметра (например, рассматривающие робота в целом).
В одном развитии, правило оптимизации содержит правило минимизации потребления энергии.
В одном развитии, например, когда никакое конкретное программное приложение не выполняется на роботе, потребление энергии двигателя может быть оптимизировано, иногда без полной остановки функционирования робота. При полной остановке может присутствовать риск невозможности перезагрузки одного или нескольких двигателей робота. В некоторых случаях, таким образом, может быть целесообразным не останавливать полностью по меньшей мере некоторые части робота, т.е. предпочтительно поддерживать робота в некоторых конкретных состояниях ожидания.
В одном развитии, правило оптимизации содержит минимизацию износа одной или нескольких частей робота.
Некоторые позы покоя, например, могут уравновешивать прошлые или текущие механические усилия. Частями, снабженными смазочным материалом (при наличии), можно соответствующим образом управлять согласно описанному способу.
В одном развитии, правило оптимизации содержит максимизацию рассеяния тепла одного или нескольких двигателей робота.
Анимации режима ожидания могут несистематически охлаждать двигатели робота. Анимации также могут быть конкретно выполнены с возможностью охлаждения частей и/или оптимизации охлаждения с учетом локальных условий (а также для экономии энергии, в некоторых вариантах осуществления). Например, для охлаждения плеч робота, руки могут незначительно перемещаться туда и обратно (и, затем, падать вниз под действием силы тяжести, что экономит энергию). Дополнительные датчики (например, анемометр, встроенный или доступный удаленно) могут помочь роботу выбрать, какие анимации следует выполнить (например, чтобы воспользоваться конкретным локальным воздушным потоком).
В одном развитии, этап выполнения правила оптимизации содержит этап выполнения анимации или предопределенного движения одной или нескольких частей робота.
Анимация является последовательностью движений или перемещений. Движения являются перемещениями в пространстве (т.е., перемещениями одной или нескольких частей робота), например, в соответствии с «языком тела», в некоторых вариантах осуществления. Анимация может быть дополнительно связана с передачей звуков и/или созданием визуальных эффектов (синтез речи, мигание, вспышки источников света, при наличии, отображение или проецирование информации и т.д.).
В одном варианте осуществления, анимация может быть предопределенной, т.е. ее геометрия может быть полностью предопределена. В другом варианте осуществления, анимация выполняется на основе правил, т.е. правила перемещения являются детерминированными и предопределенными, но точная последовательность, выполняемая в реальности, может зависеть от других внешних факторов (столкновений или риска столкновений с препятствиями, измеренной температуры двигателей, температуры помещения, аплодисментов, эмоций присутствующей аудитории и т.д.). Правила предназначены для достижения компромисса между восстановлением частей робота (например, охлаждением частей, тестированием собственных функций, оценкой неисправностей или износа и т.д.) и экономией энергии (тестирование функций энергозатрат, причем тесты могут быть применены несистематически или ситуативно при выполнении других задач).
В одном варианте осуществления, эти анимации выполняются с низкой скоростью (и/или при низкой интенсивности), т.е. при низких энергозатратах. Часть робота может комбинировать движения (шагать, катиться, менять направление движения), например, с низкой интенсивностью/ скоростью. Например, анимации могут содержать одно или несколько движений, содержащих раскачивание, покачивание, качание, балансировку (например, рукой или ногой или туловищем), исполнение танца (например, скоординированные движения с низкой амплитудой), уравновешивание, удерживание равновесия, дыхание, раскачивание тела, дрожание, колебание, исполнение «лунной походки», преклонение колен, кивки, жевание (или эквивалент) и их комбинации. Например, в состоянии ожидания, робот может слегка трясти своей головой в некотором ритме (например, как будто он слушает музыку). Дополнительно, робот может испускать звуки для имитации зевоты или храпа или вздыхания. Далее будут описаны конкретные варианты осуществления режимов ожидания.
В одном варианте осуществления, голова робота постоянно остается активной (т.е. по существу).
В некоторых вариантах осуществления, медленные анимации тела являются, предпочтительно, располагающими к социальному контакту, например, побуждают пользователей к взаимодействию. В стоячем положении, робот, например, может перемещать свой центр тяжести с одной ноги на другую (в соответствии с ограничениями), имитируя человеческое поведение.
Состояние покоя робота является известным исходным состоянием: разработчики программных приложений могут узнать начальные параметры робота при выполнении начальной загрузки. Другими словами, разработчики программного обеспечения не должны беспокоиться о состоянии робота при запуске выполнения программного приложения (например, вида деятельности). Описанные операции контролируют и/или непрерывно корректируют состояние разных частей робота, обеспечивая то, что робот является полностью функциональным, и/или его состояние является известным в любой момент.
Предпочтительно, двигатели (например, в местоположениях шарниров) могут охлаждаться конкретными анимациями. В зависимости от того, какие двигатели являются избыточно горячими, могут быть выбраны некоторые положения или позы, минимизирующие ограничения. В одном варианте осуществления, робот может выполнить перемещения с малой амплитудой, которые предпочтительно оптимизируют охлаждение внутренних частей, таких как нагретые двигатели. В одном варианте осуществления, эти перемещения или жесты или колебания могут быть конкретно выполнены с возможностью восстановления (например, охлаждения или оптимизации или исправления или реконструкции) проблемных частей (например, перегретых или поврежденных) робота.
В одном развитии, предопределенное движение ассоциировано с положением тела, ассоциированным с оценкой социального контакта, превышающей предопределенный порог.
Анимация, которая запланирована для выполнения, может быть подобной статическому (или динамическому) положению тела или языку тела, «дружественность по отношению к пользователю» (или «оценка социального контакта») которого может быть известна (например, оценена) заранее. Например, скрещивание ног меньше располагает к контакту, чем протягивание руки.
Предпочтительно, «медленная» анимация может сделать так, чтобы робот казался «живым», т.е. побуждает пользователя к взаимодействию. В некоторых вариантах осуществления, анимация может имитировать состояние «дыхания». Такое положение сигнализирует пользователям о том, что робот все еще является активным и готов к взаимодействию, даже если никакая конкретная программа программного обеспечения или вид деятельности (например, рассказывание историй, сообщение о погоде, исполнение танца и т.д.) не выполняется на роботе. Другими словами, в некоторых вариантах осуществления, человеческая поза может быть побочным преимуществом. В некоторых других вариантах осуществления, имитация открытой человеческой позы (например, социальной позы или языка тела, побуждающих к взаимодействию) может быть, полностью, частью модели принятия решений. В некоторых случаях, вполне может случиться, что требования, полученные на основании состояний механических и/или электрических частей робота, могут не быть конгруэнтными (т.е. сочетающимися или объединяемыми) с такими положениями, располагающими к социальному контакту. В таких случаях, робот должен сначала реконструировать или восстановить или, иначе, исправить свои компоненты.
«Анимации режима ожидания» или «перемещения в состоянии покоя» или, иначе, предопределенные движения, соответствуют оптимизациям системы (несистематическим или преднамеренным). Если оптимизация-кандидат системы приводит к позитивной «социальной» позе или привлекательности, то приемлемость или оценка или вес, ассоциированные с упомянутой оптимизацией-кандидатом, могут быть увеличены (например). Альтернативно, обратные связи с пользователем и опыт взаимодействия с пользователем могут модифицировать состояния режимов «ожидания» или «спячки» или «засыпания», или даже управлять ими.
В некоторых вариантах осуществления, критерий оптимизации ассоциирован с состоянием системы и ее подсистем. В некоторых вариантах осуществления, критерий оптимизации ассоциирован с социальным контактом. В некоторых вариантах осуществления, оба типа критериев (оптимизация системы и имитация социального взаимодействия) могут быть использованы одновременно (или параллельно, в некоторых вариантах осуществления).
В одном развитии, способ дополнительно содержит выполнение упомянутого предопределенного движения или анимации.
В одном развитии, выполнение предопределенного движения усовершенствуется или обеспечивается с помощью активного принадлежности.
В одном варианте осуществления, внешние устройства, такие как «интеллектуальные» предметы одежды, могут быть надеты на робота. Например, усовершенствованные предметы одежды могут помогать охлаждению робота в выбранных местах, в то же время имитируя искусственные признаки жизнедеятельности (например, пневматическая система для имитации дыхания, располагающая или побуждающая к взаимодействию). Принадлежности могут быть пассивными, а также активными: вентиляторы, встроенные в предметы одежды или соответствующие апертуры, могут содействовать воздушному потоку или циркуляции и могут дополнительно охлаждать необходимую часть робота.
В одном развитии, одно или несколько правил оптимизации являются локально предопределенными или извлекаемыми из удаленного сервера.
В одном варианте осуществления, робот является автономным (правила являются жестко закодированными или, иначе, встроенными в робота, без необходимости сетевого соединения). В другом варианте осуществления, робота контролируют или на него влияют с помощью данных, извлекаемых из удаленного сервера (например, «Облака»). В еще одном варианте осуществления, правила оптимизации являются частично локальными и частично доступными удаленно.
Раскрыта компьютерная программа, содержащая команды для выполнения одного или нескольких этапов способа, когда упомянутая компьютерная программа исполняется на подходящем вычислительном устройстве.
Раскрыта система, содержащая средство, выполненное с возможностью выполнения одного или нескольких этапов способа.
Раскрытые способы могут принимать форму полностью аппаратного варианта осуществления (например, FPGA), полностью программного варианта осуществления или варианта осуществления, содержащего как аппаратные, так и программные элементы. Программные варианты осуществления включают в себя, но не ограничены этим, аппаратно-программное обеспечение, резидентное программное обеспечение, микрокод и т.д. Настоящее изобретение может принимать форму компьютерного программного продукта, доступного из используемой компьютером или машиночитаемым носителем, обеспечивающим программный код для использования посредством или в связи с компьютером или любой системой исполнения команд. Используемым компьютером или машиночитаемым может быть любой аппарат, который может содержать, запоминать, передавать, распространять, или транспортировать программу для использования посредством или в связи с системой исполнения команд, аппаратом, или устройством. Средой может быть электронная, магнитная, оптическая, электромагнитная, инфракрасная, или полупроводниковая система (или аппарат или устройство) или носитель распространения.