ВСЕНАПРАВЛЕННЫЙ КОЛЕСНЫЙ ЧЕЛОВЕКОПОДОБНЫЙ РОБОТ, ОСНОВАННЫЙ НА КОНТРОЛЛЕРЕ ПОЛОЖЕНИЯ И СКОРОСТИ С ЛИНЕЙНЫМ ПРОГНОЗИРОВАНИЕМ
OMNIDIRECTIONAL WHEELED HUMANOID ROBOT BASED ON LINEAR PREDICTIVE POSITION AND VELOCITY CONTROLLER

Настоящее изобретение относится к области систем программирования роботов. Более конкретно, оно применимо к управлению перемещениями роботов, которые перемещаются на сочлененных конечностях или используют их, в частности, роботов в виде человека или животного. Робот может быть квалифицирован как человекоподобный робот тогда, когда он имеет некоторые атрибуты человеческой внешности: голову, туловище, две руки, две кисти, и т.д. Человекоподобный робот может быть, однако, более или менее сложным. Его конечности могут иметь большее или меньшее количество сочленений. Он может контролировать свое собственное равновесие статически или динамически и перекатываться на основании. Он может принимать сигналы из среды («слышать», «видеть», «касаться», «воспринимать», и т.д.) и реагировать согласно более или менее сложным вариантам поведения, а также взаимодействовать с другими роботами или людьми, либо с помощью речи, либо с помощью жестов. Для текущего поколения человекоподобных роботов, программисты могут создавать сценарии, которые могут быть более или менее сложными, в виде последовательностей событий/ действий, на которые реагирует/ которые выполняет робот. Эти действия могут быть обусловлены некоторыми вариантами поведения людей, которые взаимодействуют с роботом. Однако, в этих человекоподобных роботах первого поколения, программирование приложений выполняют в наборе инструментальных средств разработки, и каждое приложение должно быть запущено запускающим событием, появление которого было включено в приложение.
Таким образом, существует потребность в человекоподобном роботе, способном функционировать при «автономном функционировании», подобно человеку, который может вести себя в определенной манере, в зависимости от среды, в которой он находится. Задачей настоящего изобретения является преодоление ограничений роботов предшествующего уровня техники посредством обеспечения робота, который способен к автономному определению последовательностей его функционирования, приспособленных к контексту, в котором он находится, без какого-либо вмешательства программиста.
Мы рассматриваем робота с мобильным основанием, соединенным с телом, также называемым верхним телом.
В стандартном варианте поведения, робот находится в контакте со всеми своими колесами и является динамически устойчивым, в то время как центр давления (Center of Pressure - CoP), который является барицентром сил между землей и роботом, находится строго внутри выпуклой оболочки, определяемой его точками контакта колес. В отсутствие возмущения, это предел CoP всегда соблюдается. Однако, при появлении возмущений, CoP может быть на границах опорной оболочки. В этом случае, робот может начать наклоняться и, если ничего не предпринять, то он может упасть. Таким образом, наша задача состоит в управлении роботом посредством двух динамических моделей: когда робот не наклоняется, и когда он наклоняется.
Когда робот не наклоняется, мы можем найти некоторые работы об управлении мобильным роботом с ограничениями динамической устойчивости, или об управлении двуногими человекоподобными роботами.
Некоторые недавние работы рассматривают управление роботом с динамическими ограничениями, обусловленными конечностями, такими как манипулятор. K. Mingeuk и другие работали над устойчивостью колесной платформы с использованием динамических ограничений: «Устойчивость быстрой четырехколесной платформы с использованием способа обеспечения устойчивости zmp» (ʺStabilization of a rapid four-wheeled mobile platform using the zmp stabilization methodʺ). Они используют прямой способ с линейно-квадратичным регулятором (linear quadratic regulator - LQR) для управления этой платформой. Неудобство этого способа состоит в том, что представленные динамические ограничения требуют наличия CoP (центра давления) в середине платформы. CoP является барицентром контактных сил между роботом и землей. Этот способ включает в себя потерю некоторой степени подвижности (Degree of Freedom - DoF): действительно, для предотвращения падения робота, CoP должен находиться только в выпуклом многоугольнике, определяемом точками контакта между колесами и землей.
В другой работе, Y. Li и другие представляют простой контроллер мобильного робота с динамическими ограничениями: «Критерий динамической устойчивости для колесного человекоподобного робота на основе моделирования zmp» (ʺThe dynamic stability criterion on the wheel-based humanoid robot based on zmp modelingʺ). Отличие от публикации K. Mingeuk и других состоит в том, что эта работа учитывает полное предел CoP, которое является суммой ограничений неравенств. Этот контроллер является pid-регулятором, итерируемым на основании полной модели робота для нахождения команды управления вращающим моментом, при которой CoP находится в опорном многоугольнике.
В отношении человекоподобных роботов, P. B. Wieber, H. Diedam и A. Herdt описали способ для управления человекоподобным двуногим роботом с сильно ограниченной динамикой: «Ходьба без ее обдумывания» (ʺWalking without thinking about itʺ). Этот наиболее современный подход относится к управлению с линейным прогнозированием на основе трехмерной линейной модели перевернутого маятника. С использованием простой модели робота, этот закон управления прогнозирует динамику его состояния в будущем, для обеспечения того, чтобы текущая команда, отправленная к роботу, не вызвала неизбежное падение через несколько секунд. В отношении двуногого человекоподобного робота NAO, реализация этого закона управления может быть найдена в работе, написанной D. Gouaillier, C. Collette и K. Kilner: «Всенаправленная ходьба с замкнутым контуром для NAO» (ʺOmni-directional closed-loop walk for NAOʺ). Но робот NAO является маленьким, и этот способ не обеспечит хороших результатов, в частности, для более высокого человекоподобного робота, показанного на фиг. 1, например, со следующими характеристиками:
- 20 степеней подвижности (DoF) (2 DoF на голове 160), 2*6 DoF на руках 170, 3 DoF на ноге 180 и 3 DoF в мобильным основании 140),
- высота 110 1.37 м,
- ширина 130 0.65 м,
- глубина 120 0.40 м,
- общая масса 30 кг,
2
2
- одна нога 180 связана с всенаправленным основанием 140 с тремя колесами 141. Мобильное основание имеет треугольную форму с длиной 0.422 м и способно перемещать робота с максимальной скоростью 1:4 м/с и ускорением 1:7 м/с в течение короткого времени. Номинальные скорость и ускорение составляют 0:5 м/с и 1:0 м/с.
В отношении случая, когда робот наклоняется, мы можем связать эту задачу с управлением одноколесным или двухколесным мобильным роботом. Однако, в нашем случае, мы не хотим управлять роботом около неустойчивого направления равновесия (обычно вертикального), как в случае всех одноколесных или двухколесных мобильных роботов. Могут быть найдены многие работы об управлении такими роботами. Они основаны на разных типах управления, таких как:
- PID силовое управление, описанное в публикации J. K. Ahn и S. J. Lee, «Применение силового управления к мобильному манипулятору с механизмом сохранения равновесия» («Force control application to a mobile manipulator with balancing mechanism"), 2010,
- линейно-квадратичный регулятор, описанный в публикации X. Changkai, L. Ming, и P. Fangyu, «Конструкция системы и lqr-управление двухколесного самоуравновешивающегося мобильного робота (ʺThe system design and lqr control of a two-wheels self-balancing mobile robotʺ, 2011, или
- Управление режимом скольжения, описанное в публикации K. Sho-Tsung, C. Wan-Jung, и H. Ming-Tzu, «Уравновешивание сферического перевернутого маятника с всенаправленным мобильным роботом» (ʺBalancing of a spherical inverted pendulum with an omni-directional mobile robotʺ), многоотраслевая конференция IEEE по системам и управлению, 2013.
Все эти контроллеры имеют целью управление роботом около неустойчивого направления равновесия, в зависимости от силы тяжести и внешних сил.
В отношении человекоподобных роботов, мы можем найти некоторые работы о восстановлении после толчков. Главными концепциями является использование четырех возможностей управления:
- перемещение CoP с использованием верхних тел,
- создание вращающего момента с использованием пятки ступни,
- создание некоторых угловых моментов с использованием рук, и
- выполнение некоторых шагов.
Они не могут быть применены в нашем случае, поскольку они сильно зависят от двуножной механики, которая предполагает, что ступни не могут катиться или скользить по земле, и что они могут сделать некоторый шаг для восстановления после толчка. В нашем случае, CoP не может быть перемещен, поскольку не существует поверхности контакта в направлении наклона. Также, другой трудностью нашей задачи является необходимость учета дискретного переключателя динамической модели (присутствия или отсутствия некоторых контактных сил). Это предполагает, что может произойти некоторый удар. В общем, умение справляться с ударом является сложной задачей для управления в режиме реального времени.
Таким образом, существует необходимость в управлении как мобильным основанием человекоподобного робота, так и его телом, с учетом их динамических ограничений и того, что робот может подвергаться сильным возмущениям и может наклоняться вокруг своих колес.
Таким образом, вместо предложения уникального контроллера, который будет допустимым в разных возможных динамических состояниях, мы определяем два контроллера, один, когда робот не наклоняется, и другой, когда робот наклоняется. Для обеспечения корректного и плавного перехода между этими двумя контроллерами, определено, что третий контроллер имеет дело с фазой приземления, и определено, что диспетчер адресует их соответствующим образом.
Для этой цели, настоящее изобретение обеспечивает человекоподобного робота с телом, соединенным с всенаправленным мобильным наземным основанием, снабженного:
датчиком положения тела, датчиком положения основания и датчиком угловой скорости для обеспечения замеров,
исполнительными механизмами, содержащими двигатели сочленений и по меньшей мере 3 колеса, расположенных во всенаправленном мобильном основании,
средствами извлечения для преобразования воспринятых замеров в полезные данные,
диспетчером, для вычисления команд положения, скорости и ускорения на основании полезных данных,
средством для преобразования команд в инструкции для исполнительных механизмов.
Человекоподобный робот, главным образом, отличается тем, что диспетчер содержит:
- контроллер ненаклонного состояния, контроллер наклонного состояния и контроллер состояния приземления, причем каждый контроллер содержит средство для вычисления, на основании полезных данных, предупорядоченных ориентиров положения и скорости, и ориентиров угла наклона и угловой скорости, установленных на 0, команд положения, скорости и ускорения, на основе модели робота с двумя сосредоточенными массами с наклонным перемещением и на основе закона линейного моделируемого прогнозируемого управления с временем, дискретизируемым согласно периоду Т времени дискретизации и количеству N прогнозируемых отсчетов, выраженного в виде квадратичного оптимизирующего выражения с взвешенной суммой целевых функций, и множеством предварительно заданных линейных ограничений,
- средство оценки угловой скорости при ударе и времени удара при приземлении и
- средство для выбора контроллера согласно оцененной угловой скорости при ударе и полезной угловой скорости.
Преимущество этого робота состоит в устойчивости ко многим типам возмущений. Они могут быть короткими, длительными, быстрыми или множественными, с большим динамическим диапазоном. Мы не выдвигаем никаких гипотез о возмущениях. Кроме того, в случае очень сильных возмущений, после которых невозможно восстановиться, в роботе реализована стратегия менеджера падений, для минимизации удара тела о землю.
Более точно, преимущества этого робота состоят, во-первых, в способности к восстановлению после сильного возмущения, которое заставляет робота наклониться. Вторым преимуществом является простое управление нелинейной динамикой, с использованием дискретного изменения и удара, в режиме реального времени. Третьим преимуществом является способность определять многие варианты поведения робота посредством настройки параметров диспетчера, например, для выбора большего предела механического удара, или для ограничения пройденного расстояния во время восстановления наклона.
Согласно одному варианту осуществления настоящего изобретения, оцененную угловую скорость при ударе вычисляют посредством интегрирования константы.
Может не быть никакого наклона в модели робота; контроллер ненаклона может быть способен, например, вычислить команды положения, скорости и ускорения на основании полезных данных с использованием предупорядоченных ориентиров, с использованием следующих целевых функций:
- целевой функции положения основания,
- целевой функции скорости основания,
- целевой функции, связанной с расстоянием между CoP и центром основания, причем CoP является барицентром контактных сил между роботом и землей,
и с использованием следующих ограничений:
- максимальная скорость и ускорение мобильного основания,
- кинематические пределы тела,
- предел CoP.
Контроллер наклона может быть способен вычислить команды положения, скорости и ускорения на основании полезных данных с использованием предупорядоченных ориентиров и ориентиров угла наклона и угловой скорости, установленных на 0, и с использованием целевых функций, которыми являются минимизация угла наклона и минимизация угловой скорости, и с использованием ограничений, которыми являются кинематические пределы мобильного основания, кинематические пределы тела, положительный угол наклона и перемещение тела только по оси угловой скорости.
Взвешенная целевая функция устойчивости численного решения может быть добавлена к взвешенной сумме целевых функций.
Контроллер приземления может быть способен вычислить команды положения, скорости и ускорения на основании полезных данных с использованием предупорядоченных ориентиров и ориентиров угла наклона и угловой скорости, установленных на 0, с использованием целевых функций, которыми являются целевая функция, связанная с расстоянием между CoP и центром основания, причем CoP является барицентром контактных сил между роботом и землей, и целевая функция устойчивости численного решения, и с использованием ограничений, которыми являются максимальная скорость и ускорение мобильного основания и кинематические пределы тела и предел CoP и перемещение тела только по оси угловой скорости.
Целевая функция скорости основания может быть добавлена к взвешенной сумме этих целевых функций.
Кинематические пределы тела могут быть обнулены.
Согласно одному варианту осуществления настоящего изобретения, по меньшей мере одно колесо является всенаправленным.
Предпочтительно, земля является плоской и горизонтальной.
Настоящее изобретение также обеспечивает способ для управления человекоподобным роботом с телом, соединенным с всенаправленным мобильным наземным основанием, реализуемый в предварительно заданные моменты времени дискретизации и содержащий:
- извлечение замера положения тела, замера положения основания, угла наклона робота и замера угловой скорости робота,
- преобразование этих замеров в полезные данные,
- использование полезных данных, и, согласно состоянию робота, вычисление команд положения, скорости и ускорения с использованием закона управления на основе закона линейного моделируемого прогнозируемого управления с временем, дискретизируемым согласно периоду времени дискретизации и количеству прогнозируемых отсчетов, и выраженного в виде квадратичного оптимизирующего выражения с взвешенной суммой целевых функций с предварительно заданными весами и множеством линейных ограничений,
- преобразование этих команд в инструкции для исполнительных механизмов робота.
Состояние робота может быть определено согласно следующим этапам:
если один из замера угла наклона и/или замера угловой скорости больше, чем нуль, то следует оценить оцениваемую угловую скорость при ударе и оцениваемое время удара,
сначала, робот находится в ненаклонном состоянии,
Ненаклонное состояние:
- если не имеется оцениваемого времени удара, то следует переключиться в наклонное состояние;
- если угловая скорость при ударе является более высокой, чем предварительно заданный предел 1, то следует переключиться в наклонное состояние;
- если измеренная угловая скорость является более высокой, чем предварительно заданный предел 2, то следует переключиться в наклонное состояние;
- иначе, если угол наклона не равен нулю, то следует переключиться в состояние приземления,
- если угол наклона равен нулю, то следует оставаться в ненаклонном состоянии.
Наклонное состояние:
- если измеренная угловая скорость является более высокой, чем предварительно заданный предел 2, то следует оставаться в наклонном состоянии.
- если оцененная скорость удара является меньшей, чем предварительно заданный предел 1, то следует переключиться в состояние приземления,
- иначе, следует оставаться в наклонном состоянии.
Состояние приземления:
- если не имеется оцененного времени удара, то следует переключиться в наклонное состояние;
- если угловая скорость при ударе является более высокой, чем предварительно заданный предел 1, то следует переключиться в наклонное состояние;
- если измеренная угловая скорость является более высокой, чем предварительно заданный предел 2, то следует переключиться в наклонное состояние;
- если угол наклона падает до 0, и если угловая скорость, измеренная в следующий раз, равна 0, то следует переключиться в ненаклонное состояние, иначе, следует оставаться в состоянии приземления.
Настоящее изобретение также обеспечивает компьютерную программу, содержащую компьютерный код, подходящий, при выполнении на компьютере, для исполнения описанного способа.
Настоящее изобретение будет более понятным, и его различные признаки и преимущества проявятся из нижеследующего описания некоторого количества иллюстративных вариантов осуществления и приложенных к нему фигур, в которых:
- фиг. 1 показывает физическую архитектуру человекоподобного робота в нескольких вариантах осуществления настоящего изобретения;
- фиг. 2 показывает функциональную архитектуру программных модулей человекоподобного робота в нескольких вариантах осуществления настоящего изобретения;
- фиг. 3 показывает моделирование перераспределения масс робота, сконструированного согласно настоящему изобретению,
- фиг. 4 показывает моделирование динамики наклона робота согласно настоящему изобретению,
- фиг. 5 показывает геометрическое представление ограничения,
- фиг. 6 схематично представляет функциональную схему диспетчера.
От одной фигуры к другой фигуре, одинаковые элементы обозначены одинаковыми ссылочными позициями.
Фиг. 1 показывает физическую архитектуру человекоподобного робота в нескольких вариантах осуществления настоящего изобретения.
Конкретный робот 100 на этой фигуре используется только в качестве примера человекоподобного робота, в котором настоящее изобретение может быть реализовано. Нижняя конечность 180 робота на этой фигуре не функциональна для ходьбы, но может перемещаться в любом направлении на своем основании 140, которое может катиться по поверхности, на которой оно находится. В качестве примера, этот робот имеет высоту 110, которая может быть около 120 см, глубину 120 около 65 см и ширину 130 около 40 см. В конкретном варианте осуществления, робот настоящего изобретения имеет планшет 150, с помощью которого он может передавать сообщения (звуковые сообщения, видео, веб-страницы) в его среду, или принимать вводы данных от пользователей через тактильный интерфейс планшета. Дополнительно к процессору планшета, робот настоящего изобретения также использует процессор своей собственной системной платы, который может быть, например, процессором ATOM ™ Z530, производимым Intel™. Робот настоящего изобретения также предпочтительно включает в себя процессор, который предназначен для обработки потоков данных между системной платой и исполнительными механизмами, которые управляют двигателями сочленений в конечности и шарами, которые робот использует в качестве колес, в конкретном варианте осуществления настоящего изобретения. Двигатели могут быть разных типов, в зависимости от величины максимального крутящего момента, который необходим для определенного сочленения. Например, могут быть использованы щеточные двигатели постоянного тока без сердечника, производимые e-minebea™ (SE24P2CTCA, например), или бесщеточные двигатели постоянного тока, производимые Maxon™ (EC45_70W, например). MRE предпочтительно относятся к типу, использующему эффект Холла, с точностью 12 или 14 битов.
В вариантах осуществления настоящего изобретения, робот, показанный на фиг. 1, также содержит различные виды датчиков. Некоторые из них используются для контроля положения и перемещений робота. Это имеет место в случае, например, инерциального блока, расположенного в туловище робота, содержащего трехосный гирометр и трехосный акселерометр. Робот может также включать в себя две двумерные цветные RGB-камеры на лбу робота (верхнюю и нижнюю), относящиеся к типу система-на-кристалле (System On Chip - SOC), такие как камеры, производимые Shenzen V-Vision Technology Ltd™ (OV5640), с разрешением 5 мегапикселов при 5 кадрах в секунду и полем зрения (field of view - FOV), составляющим около 57° по горизонтали и 44° по вертикали. Один трехмерный датчик может также находиться позади глаз робота, например, датчик ASUS XTION™ SOC с разрешением 0.3 мегапиксела при 20 кадрах в секунду, приблизительно, с таким же FOV, что и у двумерных камер. Робот настоящего изобретения может быть также снабжен генераторами лазерных линий, например, тремя в голове и тремя в основании для обеспечения возможности восприятия его относительного положения по отношению к объектам /существам в его среде. Робот настоящего изобретения может также включать в себя микрофоны для обеспечения возможности восприятия звуков в его среде. В одном варианте осуществления, четыре микрофона с чувствительностью 300мВ/Па +/-3дБ при 1кГц и полосой частот от 300Гц to 12кГц (по уровню -10дБ относительно 1кГц) могут быть имплантированы на голове робота. Робот настоящего изобретения может также включать в себя два ультразвуковых датчика, возможно, расположенных на передней части и на задней части его основания, для измерения расстояния до объектов/ людей в его среде. Робот может также включать в себя тактильные датчики, на его голове и на его кистях, для обеспечения возможности взаимодействия с людьми.
Для передачи его эмоций и установления связи с людьми в его среде, робот настоящего изобретения может также включать в себя:
- светодиоды, например, в его глазах, ушах и на его плечах;
- громкоговорители, например, два, расположенные в его ушах.
Робот настоящего изобретения может устанавливать связь с базовой станцией или другими роботами через соединение Ethernet RJ45 или WiFi 802.11.
Робот настоящего изобретения может иметь электропитание от литий-железо-фосфатной аккумуляторной батареи с энергий около 400 Вт-час. Робот может осуществлять доступ к зарядной станции, соответствующей типу аккумуляторной батареи, которую он включает в себя.
Положением/ перемещениями робота можно управлять посредством его двигателей, с использованием алгоритмов, которые активируют цепи, находящиеся в каждой конечности, и рабочие органы, находящие на конце каждой конечности, с учетом измерений датчиков.
Фиг. 2 показывает функциональную архитектуру программных модулей человекоподобного робота в нескольких вариантах осуществления настоящего изобретения.
Целью настоящего изобретения является обеспечение способа для обеспечения человекоподобному роботу возможности выполнения видов деятельности автономно, без какого-либо вмешательства программиста, для предвидения условий, которые ожидают робота. В предшествующем уровне техники, робот способен исполнять сценарии, которые были запрограммированы и загружены в его системную плату. Эти сценарии могут включать в себя реакции на условия, которые изменяются в его среде, но робот не будет способен реагировать на условия, которые не были предсказаны и включены в код, загруженный в его системную плату или доступный дистанционно. Напротив, целью настоящего изобретения является обеспечение роботу возможности осуществления автономного поведения, даже ввиду событий/ условий, которые не были предсказаны программистом. Эта цель достигнута посредством функциональной архитектуры, которая показана на фиг. 2.
Эта функциональная архитектура содержит, по существу, четыре основных программных модуля.
Модуль 210 Услуг включает в себя услуги по меньшей мере трех типов:
- Услуги 211 Средств Извлечения, которые принимаются в качестве входных показаний от датчиков робота того типа, который описан в связи с фиг. 1; эти показания датчиков предварительно обрабатывают для извлечения уместных данных (также упомянутых как полезные данные) в отношении положения робота, идентификации объектов/ людей в его среде, расстояния до упомянутых объектов/ людей, слов, произнесенных людьми, или их эмоций; примером Услуг Средств Извлечения являются: Восприятие Людей, для восприятия присутствия людей вблизи робота, Детектирование Перемещения, для детектирования перемещений этих людей, Локализация Звука, для локализации звука, Детектирование Касаний, для интерпретирования касания на тактильном датчике робота, Распознавание Речи, Распознавание Эмоций, для идентификации эмоции, выражаемой человеком вблизи робота посредством его слов или жестов;
- Услуги 212 Исполнительных Механизмов, которые управляют физическими действиями робота, такие как Перемещение, для активизации двигателей сочленений или основания, Средство Отслеживания, для следования за перемещением человека в среде робота, включение светодиодов робота, для передачи эмоций, Динамическая Речь (комбинации речи и жестов), Варианты Поведения; варианты поведения являются комбинацией перемещений, слов, включений освещения, которая может выражать эмоции робота и обеспечивать ему возможность выполнения сложных действий;
- Системные Услуги 213, которые, в частности, включают в себя Информационные Услуги; Информационные Услуги обеспечивают запоминание данных, либо временное, либо долгосрочное; примерами Информационных Услуг являются:
○ Услуга Пользовательского Сеанса, которая запоминает пользовательские данные, и их историю в отношении того, что они делали с роботом;
○ Услуга Менеджера Пакетов, которая обеспечивает масштабируемое хранилище процедур, исполняемых роботом, с их высокоуровневым определением, условиями запуска и тегами.
Модуль 220 Видов Деятельности включает в себя варианты 221 поведения робота, которые были предварительно запрограммированы. Программирование Вариантов Поведения может быть осуществлено с использованием графической интегрированной среды разработки (Choregaphe™), которая является объектом европейской заявки на патент, опубликованной под номером EP2435216, которая закреплена за заявителем настоящей заявки на патент. Варианты Поведения, программируемые с использованием Choregaphe™, объединяют логику на основе времени и логику на основе событий. Каждый Вариант Поведения тегируют с использованием Декларации 222, которая является текстовым файлом, который включает в себя, в частности, условия запуска Варианта Поведения.
Модуль 230 Интеллекта отвечает за выбор одного или нескольких Видов Деятельности для запуска. Для выполнения этого, Интеллект подписывается на Средства Извлечения и оценивает условия запуска всех установленных Видов Деятельности. Переменные этих условий основаны на событиях. Таким образом, для эффективности, должны повторно оцениваться только утверждения условий, которые содержат измененные переменные. На основе результатов алгоритма сортировки, его приоритетов, и жизненного цикла (см. ниже), Виды Деятельности могут быть запущены, и некоторые Виды Деятельности могут быть прекращены.
Исполняемый Вид Деятельности будет основан на API (сокращение от французского выражения «Application Pour Interface» («Интерфейс потока приложений»)) вызовах Услуг для выполнения задачи, которую он запрограммирован выполнить. Всегда, когда Вид Деятельности запущен на сцене или прекращен, Интеллект собирает данные о том, когда это случилось, о текущем состоянии условий, и о том, каким является, как представляется, отклик пользователя, для облегчения обучения.
Если существующее событие Средства Извлечения не является достаточным для условий, то разработчики могут создать дополнительное Средство Извлечения для генерации нового события, и распространить его в пакете с их приложением.
Для выполнения этого, модуль 230 Интеллекта связывает вместе модули Услуг и Видов Деятельности посредством управления выбором Видов Деятельности, и запуска Исполнительных Механизмов на основе показаний Средств Извлечения или на основе алгоритмов, выполняемых в Средствах Выбора, вызванных Интеллектом. Примерами Средств Выбора являются:
- Автономное Функционирование 231, которое исполняет Виды Деятельности; на основе контекста ситуации, Интеллект может указать Автономному Функционированию, на каком виде деятельности следует сфокусироваться (см. примеры ниже); любой Вид Деятельности имеет полный доступ ко всем процедурам вызова модуля API; Виды Деятельности могут включать в себя ограничение, которое будет направлять Автономное Функционирование на фокусировку на определенном Виде Деятельности;
- Базовая Информированность 232, которая подписывается на Услуги Средств Извлечения, такие как Восприятие Людей, Детектирование Перемещения, и Локализация Звука, чтобы указать Услуге Перемещения на то, что следует выполнить перемещение; Интеллект конфигурирует вариант поведения Базовой Информированности на основе ситуации; в другие моменты времени, Базовая Информированность либо действует сама по себе, либо конфигурируется выполняемым Видом Деятельности;
- Диалог 233, который подписывается на Средство Извлечения Распознавания Речи и использует Услугу Исполнительного Механизма Динамической Речи для говорения; на основе контекста ситуации, Интеллект может указать Диалогу, на каких темах следует сфокусироваться; метаданные в декларациях связывают эту информацию в интеллекте; Диалог также имеет свои алгоритмы для управления разговором и обычно действует сам по себе.
Механизм 240 Исполнения запускает API-вызовы для инициирования Услуг.
Целью настоящего изобретения является, более конкретно, управление всенаправленным колесным человекоподобным роботом, который может подвергаться сильным возмущениям и может наклоняться вокруг своих колес. Этот способ основан на двух линейных моделируемых прогнозируемых контроллерах, в зависимости от динамической модели робота, и на третьем контроллере, для обеспечения корректного и плавного перехода между первыми двумя контроллерами. Средство оценки выполнено с возможностью детектирования того, когда робот входит в динамику наклона, или когда он возвращается к своей номинальной устойчивой динамике.
Используются:
- предупорядоченные ориентиры положения и скорости, и ориентиры угла наклона и угловой скорости, установленные на 0,
- данные о положении тела, положении основания и угловой скорости, извлеченные из воспринятых замеров, и называемые полезными данными,
каждый контроллер вычисляет команды положения, скорости и ускорения на основе:
c
c
c
- модели робота с двумя сосредоточенными массами с наклонным перемещением, показанной на фиг. 3 и 4. Первая сосредоточенная масса b представляет центр масс (Center of Mass - CoM) мобильного основания, а вторая сосредоточенная масса с представляет CoM верхнего тела; сочленение между мобильным основанием 140 и телом (или верхним телом) 190, как предполагается, не имеет никакой массы. Когда робот не наклоняется, CoM верхнего тела и CoM мобильного основания являются c и b. Углом наклона является ψ; h является высотой c. Эту модель запоминают в качестве системной информационной услуги 213.
- закона линейного моделируемого прогнозируемого управления с временем, дискретизируемым согласно периоду Т времени дискретизации и количеству N прогнозируемых отсчетов, выраженного в виде квадратичного оптимизирующего выражения с взвешенной суммой целевых функций, и множеством предварительно заданных линейных ограничений. Для определения динамического варианта поведения управляемого тела и основания (c и b), мы должны выбрать, сначала, длительность прогнозирования (горизонт) и период времени между моментами дискретизации. Выбор горизонта как можно меньшим, а периода времени как можно большим, уменьшит время вычислений, но, также, уменьшит устойчивость и робастность управления, в зависимости от класса динамики. Для сохранения линейности системы, мы выбрали класс многочленов 3-го порядка для траекторий тела и основания, чтобы иметь непрерывную траекторию CoP, для предотвращения максимума сил в роботе. Также, в этом контроллере, время дискретизируют, с периодом Т времени дискретизации. Количество прогнозируемых отсчетов равно N. Другое преимущество этого типа управления состоит в том, что легко управлять многими ограничениями неравенств, такими как кинематические пределы робота, пределами максимальной скорости и ускорения мобильного основания и CoP. Этот закон управления запоминают в качестве системной информационной услуги 213, которая обеспечивает API Перемещений.
Вычисление команд положения, скорости и ускорения обеспечивает управление углом наклона и угловой скоростью робота.
Первый контроллер предназначен для ситуации, когда робот не наклоняется: тогда угол наклона равен нулю.
Для обеспечения управления в режиме реального времени, модель робота должна быть как можно более простой. Мы должны вычислить хорошее приближенное представление сил, действующих со стороны основания на землю. Перераспределение масс в роботе не может быть выполнено с использованием модели с единственной сосредоточенной массой, поскольку около половины массы сосредоточено в основании, а остальное в верхнем теле.
Мы можем теперь записать уравнения Ньютона и Эйлера для этой системы, причем ось z является вертикальной осью, а x и y являются двумя горизонтальными осями:
c
b
где m и m являются массами, соответственно, связанными с c и b,  и  являются угловыми моментами для каждой сосредоточенной массы.  соответствует силам, действующим со стороны мобильного основания на верхнее тело, а  соответствует силам, действующим со стороны земли на три колеса мобильного основания.
Также, p является CoP сил , который является их барицентром. Вследствие этого определения, p определена только в выпуклом многоугольнике, представленным контактными точками трех колес.
В этой модели, мы прямо рассматриваем моменты между c и b (3)(4). Это предполагает, что мы пренебрегаем моментом, индуцированным руками. Мы можем это делать, поскольку в наших случаях функционирования они не перемещаются быстро. Объединяя уравнения (1)(2)(3)(4), мы можем записать уравнение динамики системы:
(5)
Мы можем отметить в отношении уравнения (5), что уравнение динамики модели с двумя массами является просто суммой двух простых уравнений.
z
x
y
z
Теперь, для линеаризации уравнения (5), мы сформулируем некоторые гипотезы. Во-первых, мы можем пренебречь общим угловым моментом , поскольку мы выбрали рассмотрение только момента между c и b. Во-вторых, поскольку мы имеем робота с избыточностью, мы можем перемещать CoM с по осям x и y без модификации его положения на оси z. Таким образом, мы рассматриваем , ограниченное постоянным значением h; эта гипотеза является важной для получения линейной модели, но робот может, все же, перекатываться на своем основании без этой гипотезы. Кроме того, для упрощения описания, мы предпочтительно рассматриваем плоскую и горизонтальную землю, так что p=0. Не существует DoF для управления положением , так что мы можем установить ее равной константе l. Наконец, мы можем отметить правило для силы тяжести, состоящее в том, что g=g=0 и g=g.
С использованием этих гипотез и замечаний, мы можем переписать уравнение (5) в следующем виде:
(6)
Мы можем теперь использовать уравнение (6) для обеспечения линейного соотношения между CoP и положениями и ускорениями основания и тела:
(7)
Мы можем отметить, что эта модель не учитывает никакой возможности наклона. Таким образом, для обеспечения достоверности этой модели, к контроллеру должно быть добавлено ограничение на CoP для обеспечения того, чтобы CoP находился строго внутри выпуклого многоугольника, определяемого тремя колесами робота: должен быть определен критерий робастности. Мы предполагаем, что  является выпуклым многоугольником, представленным точкой контакта каждого колеса с землей; пример многоугольника  показан на фиг. 5. По определению, мы всегда имеем . Для обеспечения инвариантности ограничения CoP к повороту, в рамке робота с центром в b, мы разработали консервативное ограничение: , где  является окружностью радиуса r с центром b, со свойством .
Количественная оценка робастности этой системы является открытым вопросом. В отсутствие какого-либо моделирования сил возмущения, мы не можем выдвинуть никакой гипотезы об их направлении, амплитуде и динамике. Способность робота компенсировать возмущение может быть связана с положениями CoP и CoM с. Поскольку они могут перемещаться, робот может реагировать на сильное возмущение. Мы можем отметить, что в отсутствие каких-либо гипотез о возмущении, положения CoP и CoM с имеют наибольший диапазон для перемещения в любом направлении, если они являются близкими к b. Таким образом, мы предлагаем критерий  робастности, который равен 0 при максимальной робастности:
(8)
где  является коэффициентом в диапазоне [0; 1], который определяет, какой тип робастности мы считаем наиболее важным, центрирование CoP, или центрирование CoM c.
Эта модель робота, как определено, адресуется к случаю, когда робот не наклоняется, так что мы можем обратиться к соответствующему закону управления.
Мы можем записать соотношение между каждыми состояниями, с использованием явного метода Эйлера:
Существует важная последовательность в выборе периода Т времени дискретизации. Траектория может выйти за пределы ограничений между двумя отсчетами, поскольку мы ограничиваем траекторию только в каждый момент времени дискретизации. Из-за режима реального времени, мы не можем выбирать значение Т слишком малым. Таким образом, необходимо учитывать этот выход за пределы в каждом ограничении в виде границы безопасности.
Предположим, что  и подобным образом представим производные c и b и p. Также, предположим, что начальное состояние  и подобным образом представим .
С использованием уравнений (9)(10)(11), мы можем записать соотношение между каждой производной траектории тела  и командой :
где:
Такой же способ используется для определения динамики b. Мы можем отметить, что ,  и  являются обратимыми, поскольку они являются квадратными нижними треугольными матрицами с ненулевыми элементами на диагонали.
В отношении p, с использованием уравнения (6), мы можем записать это соотношение в виде:
(16)
где:
(17).
Среди разных способов, которые могут быть использованы для решения задачи определения такого закона управления, обеспечивающего эти условия положений, робастности и динамического поведения, мы выбрали способ в виде задачи оптимизации. Для решения этой задачи оптимизации мы выбрали ее формулировку в виде по меньшей мере квадратичной минимизации с линейными ограничениями или в виде квадратичной оптимизации с целевыми функциями и линейными ограничениями. Главная причина этого состоит в том, что для этого вида задачи можно быстро вычислить средства для ее решения. Добавление нелинейных ограничений или неквадратичных целевых функций минимизации существенно увеличивает время вычисления.
Переменные оптимизации соответствуют управляемому телу и основанию . Таким образом, каждая целевая функция и ограничение должны быть выражены в виде функции от X.
1) Целевые функции управления:
i
Целевые функции O будут выражены в виде по меньшей мере квадратичной минимизации и выражения QP (квадратичной задачи): .
t
X является X при транспонировании.
1
Первой целевой функцией является управление отслеживанием. В этом управлении, мы выбрали выполнение отслеживания положения/ скорости. Пусть  и  являются целевыми функциями положения и скорости в пределах горизонта. С использованием (13), мы можем записать целевую функцию О управления скоростью:
(18)
2
С использованием (12), мы можем записать целевую функцию О управления положением:
(20)
(21)
pbb
pb
b
3
Следующей целевой функцией является максимизация робастности. Посредством минимизации ζ мы максимизируем робастность. Пусть U=U - U. С использованием (8), (12), (16) мы можем записать целевую функцию О управления робастностью:
(22)
(23)
(24)
(25)
4
Предпочтительно, мы определяем другую целевую функцию для предотвращения максимума резкого движения робота; таким образом, мы добавляем целевую функцию О минимизации резкого движения в управление:
В отношении этой предложенной целевой функции, мы можем отметить, что когда робот падает, траектории c и b растут экспоненциально. Таким образом, посредством минимизации резкого движения этих траекторий, мы прямо содействуем предотвращению экспоненциального расхождения c и b, что способствует устойчивости робота.
2) Ограничения управления:
i
Ниже ограничения R будут выражены в виде выражения ограничений в виде линейных неравенств QP: .
1
1
Первое ограничение R предназначено для обеспечения устойчивости, для обеспечения того, чтобы робот не наклонялся сам по себе: ζ должна быть меньшей или равной 1. Это ограничение является нелинейным, поэтому мы вводим консервативное множество линейных ограничений для аппроксимации этого. Мы выбираем использование восьмиугольной формы ограничений , вписанной в окружность , как показано на фиг. 4: это определяет ограничение предела CoP. Пусть . Это ограничение R, которое относится к границам CoP, можно записать следующим образом:
2
2
Второе ограничение R относится к кинематическим пределам мобильного основания. Пусть  и  являются максимальной скоростью и ускорением мобильного основания. Мы можем записать ограничение R следующим образом:
3
3
xy
Третье и последнее ограничение R относится к кинематическим пределам тела. Благодаря своим сочленениям, робот может перемещать CoM своего верхнего тела в прямоугольной зоне  вокруг CoM мобильного основания. Пусть k являются пределами прямоугольной формы , тогда ограничение R можно записать следующим образом:
Кинематические пределы тела могут быть нулевыми. Тогда мы имеем:
xy
xy
c=b.
Для решения этой задачи оптимизации с этими целевыми функциями и ограничениями, мы используем линейное средство решения квадратичной задачи. Некоторые работы о решении QP могут быть найдены в книге «Численная оптимизация, вторая редакция» (ʺNumerical optimization, second editionʺ), J. Nocedal и S.J. Wright, 2000. Этот вид средства решения находит оптимальное решение задачи следующим образом:
(34)
-
+
где Q является симметричным и положительно определенным. С использованием уравнений (19), (21), (25), (27), (29), (31), (33), мы можем получить значения Q, p, V, v и v:
1
1
2
2
3
3
4
4
5
5
Q= αQ+ αQ+ αQ+αQ+αQ (35)
1
1
2
2
3
3
4
4
5
5
p= αp+ αp+ αp+αp+αp (36)
(37)
i
где α являются весами, связанными с каждой целевой функцией. Они могут быть выбраны экспериментально.
i
i
1
2
3
Выбор значений α является первичным для определения поведения закона управления. Относительные разницы между каждыми α определяют, какая целевая функция будет назначена в качестве приоритета, а какой можно пренебречь. Если α и α являются большими, чем другие веса, то отслеживание траектории будет очень эффективным, но робастность будет менее эффективной, и резкие движения тела и основания могут быть значительными. Если α является большим, чем другие веса, то робот будет очень робастным к сильным возмущениям. Мы можем отметить, что в этом режиме поведения, если мы определяем положительную скорость как целевую функцию отслеживания, то робот начнет перемещаться назад перед перемещением вперед, для центрирования CoP. Вес α4 оказывает сглаживающее действие на траектории c и b, если этот вес является большим, чем другие, то оптимальным решением будет не перемещаться. Таким образом, этот вес должен быть малым.
Некоторые другие варианты поведения могут быть получены посредством выбора адекватных весов. Если относительная разница между двумя целевыми функциями является большой (несколько порядков величины), то меньшая целевая функция будет вычислена почти в нулевом пространстве большей целевой функции. Использование этого свойства является полезным, когда мы хотим иметь псевдо-ограничение, которое может быть уменьшено, если оно не может быть выполнено. Например, мы можем добавить целевую функцию с большим весом, CoM верхнего тела, для центрирования его относительно положения мобильного основания, для обеспечения прекрасного визуального поведения. Это будет иметь результатом фиксацию CoM в положении мобильного основания всегда, когда это возможно, но, в случае, когда это невозможно, это псевдо-ограничение будет уменьшено.
Множество весов может быть фиксированным, что означает, что мы выбрали заранее, хотим мы иметь лучшее отслеживание траектории или робастность.
Со ссылкой на фиг. 2, модель робота и закон управления запоминают в виде варианта 221 поведения; их реализуют посредством механизма 240 исполнения и посредством модуля 210 услуг согласно схеме с замкнутым контуром, содержащей следующие этапы:
- извлечение замера положения тела и замера положения основания, из датчиков,
- преобразование этих замеров положений в наблюдаемые замеры положений, с использованием средств 211 извлечения,
- вычисление в системной услуге 213 команд скорости тела и скорости основания, с использованием описанного выше закона управления,
- интегрирование этих скоростей тела и основания, для обеспечения их для средств 211 извлечения,
- преобразование этих команд (положения и скорости для тела и для основания) в инструкции для исполнительных механизмов 212 робота: колес основания и сочленений робота.
Второй контроллер предназначен для ситуации, когда робот наклоняется. Если робот собирается наклониться, например, вследствие возмущения, модель, определенная в предыдущей секции, является недостаточной. Мы должны учесть наклонное перемещение в этой модели, как показано на фиг. 4: угол ψ наклона не равен 0. Сначала, мы предположим, что робот может наклониться только на двух своих колесах. Мы не рассматривает наклон вокруг только одного колеса, поскольку робот освобождает слишком много DoF для правильного управления в этом случае.
Когда робот наклоняется, CoP может изменяться только по линии между двумя контактными колесами. Для минимизации вероятности наклона на одном колесе, CoP ограничивают таким образом, чтобы он находился посередине между двумя контактными колесами. Кроме того, механическая структура робота выполнена с возможностью уменьшения риска наклона на одном колесе. Во время наклонного перемещения, робот освобождает одну DoF, обеспечиваемую колесом, находящимся в воздухе. В результате, робот становится неголономным. Некоторые ограничения в контроллере должны быть добавлены для обработки этого.
ψ
c
c
Предположим, что  является единичным вектором на плоскости xy, и он перпендикулярен оси наклона. p может перемещаться только по оси, определяемой v. Также, пусть ψ является углом наклона. Благодаря земле, мы имеем ψ ≥ 0. Мы можем разделить c (и, соответственно, b) на два компонента: управляемую часть c (и, соответственно, b), посредством двигателей робота, и другую часть, зависящую от угла наклона, посредством следующих кинематических соотношений:
где
Для упрощения этих соотношений, мы делаем два предположения:
c
- d может считаться константой, поскольку перемещение  относительно ψ является пренебрежимо малым во время переходного наклонного перемещения;
- как обычно, мы пренебрегаем эффектами Кориолиса по сравнению с центробежными эффектами: . Таким образом, эти уравнения могут быть переписаны следующим образом:
Наконец, мы линеаризуем эти уравнения около ψ=0, учитывая то, что угол наклона будет оставаться близким к 0. Также, мы можем предположить, что h >> dc sin(ψ), когда ψ≃0. Уравнения принимают вид:
c
b
и таким же образом эти уравнения могут быть записаны для b, если заменить d на d и h на l. Теперь, с использованием (7)(50)(52)(53)(55), мы можем переписать уравнение динамики следующим образом:
Мы отмечаем, что когда угловая скорость является нулевой (что означает, что робот находится в ненаклонном состоянии), мы получаем уравнение (7) моделирования робота, описанное в отношении контроллера ненаклона.
Мы выбрали ограничение положения p посередине между двумя контактными колесами. Таким образом, p полностью определено следующим соотношением:
c
ψ
c
p=b+v d (57)
С использованием (56)(57), мы можем теперь выразить связь между ψ и его производной с другими переменными:
Эту модель робота с определенным наклоном мы можем адресовать к соответствующему закону управления.
Мы используем тот же формальный подход, что и в предыдущей секции. Таким образом, мы можем определить траектории ψ:
где
С использованием этих соотношений и уравнения (58), мы имеем:
(62)
Мы можем отметить, что мы имеем прямое линейное соотношение между с использованием уравнений (59) (61):
Таким образом, в синтетической форме:
(64)
Это соотношение достоверно, только если матрица:
является обратимой.
и  являются двумя нижними треугольными матрицами с постоянной диагональю со значением , и Т является периодом времени дискретизации. Таким образом, обратимость достоверна, только если:
(65)
Решив эту систему, мы имеем условие на Т для обеспечения обратимости этой матрицы (мы предполагаем, что T > 0):
(66)
Для робота согласно настоящему изобретению с характеристиками, описанными в преамбуле, связанной с фиг. 1, мы имеем T ≠ 220 мс.
Для решения этой задачи мы используем тот же формальный подход, что и в предыдущей секции (робот не наклоняется). Переменные оптимизации остаются теми же, поскольку несмотря на добавление новой переменной Ψ, мы ограничили CoP p нахождением в одной точке. Таким образом, количество переменных для решения этой задачи не изменяется:
1) Целевые функции управления:
Первой целевой функцией является минимизация нормы ψ, для восстановления наклона. Мы можем выразить соотношение между Ψ и X следующим образом:
где:
(69)
1
Теперь, мы можем записать эту целевую функцию О:
(70)
(71)
Второй целевой функцией является минимизация скорости наклона. Для приземления с наименьшей угловой скоростью, для предотвращения отскоков, насколько это возможно, и для минимизации механических ударов, важно минимизировать угловую скорость во время наклона. Мы можем выразить соотношение между  и X следующим образом:
(72)
(73)
2
Теперь мы можем записать эту целевую функцию O:
(74)
(75)
Третья целевая функция предназначена для устойчивости  численного решения, подобно случаю без наклона:
(76)
(77)
2) Ограничения управления:
Ниже, ограничения будут выражены в виде выражения ограничений в виде линейных равенств QP: .
2
Первое ограничение относится к кинематическим пределам мобильного основания. Пусть  и  являются максимальной скоростью и ускорением мобильного основания, тогда мы можем записать ограничение R следующим образом:
(78)
(79)
xy
2
Второе ограничение относится к кинематическим пределам верхнего тела. Благодаря своим сочленениям, робот может перемещать CoM своего верхнего тела в прямоугольной зоне  вокруг CoM мобильного основания. Пусть k являются пределами прямоугольной формы , тогда ограничение R можно записать следующим образом:
(80)
(81)
Третье ограничение соответствует присутствию земли, что предполагает, что угол наклона всегда является положительным:
(82)
(83)
4
Последнее ограничение означает учет потери DoF мобильного основания. Перемещать b можно только по оси . Ограничение R можно записать следующим образом:
(84)
(85)
(86)
4
Третий контроллер предназначен для фазы приземления. Он является таким же, как первый контроллер (ненаклонное состояние), но без двух целевых функций управления отслеживанием и с наличием ограничения R контроллера наклона. Более точно, целевыми функциями являются:
- целевая функция, связанная с расстоянием между CoP и центром основания, причем CoP является барицентром контактных сил между роботом и землей, и
- целевая функция устойчивости численного решения.
Целевая функция скорости основания может быть добавлена к этим целевым функциям.
Ограничениями являются:
- максимальная скорость и ускорение мобильного основания,
- кинематические пределы тела,
- предел CoP,
- перемещение тела только по оси угловой скорости.
В жизненном цикле робота, мы должны выбрать, какой контроллер (показано на фиг. 6) следует использовать:
- первый контроллер 501 для управления роботом, когда он не наклоняется.
- второй контроллер 502, используемый, когда робот наклоняется, для восстановления после возмущения.
- третий контроллер 503, используемый, когда робот находится в фазе приземления.
Согласно этим контроллерам, мы определяем три состояния для робота:
- ненаклонное состояние, когда первый контроллер 501 активирован.
- наклонное состояние, когда второй контроллер 502 активирован.
- состояние приземления, когда третий контроллер 503 активирован.
Мы разработали средство 504 оценки для прогнозирования будущего поведения робота, когда он наклоняется, посредством оценки времени удара при приземлении и угловой скорости при ударе, как описано дополнительно.
Как показано на фиг. 4, в каждый момент времени дискретизации диспетчер 500 выбирает одно из этих трех состояний согласно следующим этапам.
Сначала, робот находится в ненаклонном состоянии.
В каждый момент времени дискретизации мы измеряем угол наклона и скорость наклона: если один из них является большим, чем 0, то мы используем средство оценки для оценивания угловой скорости при ударе и времени удара.
А) Когда робот находится в ненаклонном состоянии.
- если не имеется оцененного времени удара (неустойчивое перемещение), то следует переключиться в наклонное состояние, поскольку робот не сможет восстановиться, не выполнив никаких действий.
- если угловая скорость при ударе является слишком высокой для безопасности робота (=угловая скорость при ударе является более высокой, чем предварительно заданный предел 1), то следует переключиться в наклонное состояние, для уменьшения угловой скорости при ударе.
- если измеренная угловая скорость является слишком высокой (=измеренная угловая скорость является более высокой, чем предварительно заданный предел 2), то, независимо от оцененной скорости удара, следует переключиться в наклонное состояние. Это условие предназначено для обеспечения меньшей задержки для компенсации сильного толчка. Мы предполагаем, что если измерена высокая угловая скорость, то это является следствием того, что кто-то толкает робота для его опрокидывания.
- иначе, нет необходимости в восстановлении угла, но если угол наклона не равен нулю, то следует переключиться в состояние приземления, поскольку робот потерял одну DoF из-за колеса, находящегося в воздухе.
- иначе, если угол наклона равен нулю, то следует оставаться в этом состоянии.
В) Когда робот находится в наклонном состоянии.
В этом состоянии, второй контроллер активирован для минимизации угла наклона и угловой скорости наклона робота. В этой модели, мы не моделируем землю, которая добавит некоторую силу для компенсации наклонного перемещения при ударе. Управление углом при 0 обеспечивает ускорение робота при слишком высокой скорости, для компенсации силы тяжести, действующей на робота при этом угле. Таким образом, нам не нужно ожидать до тех пор, пока наклон не завершится, для прекращения использования этого контроллера.
- если измеренная угловая скорость является слишком высокой (=измеренная угловая скорость является более высокой, чем предварительно заданный предел 2), то, независимо от оцененной скорости удара, следует оставаться в этом состоянии;
- если оцененная скорость удара является меньшей, чем этот предел, то следует переключиться в состояние приземления;
- иначе, следует оставаться в этом состоянии.
С) Когда робот находится в состоянии приземления.
Это состояние управляет плавным переходом между наклонным состоянием и ненаклонным состоянием, во-первых, для предотвращения высокого ускорения основания вследствие немоделируемой земли в контроллере наклона, и, во-вторых, для разрешения колесу, находящемуся в воздухе, упасть, а роботу восстановить потерянную DoF, перед повторной активизацией ненаклонного состояния.
- если не имеется оцененного времени удара, или если угловая скорость при ударе является слишком высокой, или если измеренная угловая скорость является слишком высокой, то следует переключиться в наклонное состояние;
- если угол наклона падает до 0, следует ожидать некоторое время в случае появления отскока, затем, при отсутствии отскоков, следует переключиться в ненаклонное состояние;
- иначе, следует оставаться в этом состоянии.
i
Теперь мы опишем средство оценки. Мы разработали средство оценки, чтобы знать, упадет робот или нет, и если нет, то какой будет угловая скорость при ударе. С использованием текущего измеренного угла  наклона и угловой скорости , мы предполагаем, что мы имеем постоянное ускорение . Когда угол ψ наклона равен 0, угол между CoM мобильного основания и контактной точкой наклона составляет . Это предположение означает, что мобильное основание прекратит ускоряться. Поскольку это средство оценки используется, чтобы знать, можем ли мы использовать режим приземления (который управляет ускорением мобильного основания до 0), предположение постоянного углового ускорения является достоверным. Мы можем решить соответствующую квадратичную систему, для нахождения времени t контакта и, если оно существует, то можно вычислить угловую скорость  в этот момент:
(87)
(88)
i
Если , то мы имеем отсутствие удара. Мы можем отметить, что это может произойти, только если . Иначе, время t удара может быть вычислено следующим образом:
(89)
i
Очевидно, мы выбираем решение, где t > 0. Таким образом, оцененная скорость удара  может быть вычислена следующим образом:
(90)
Средство оценки и диспетчер могут быть также запомнены в виде системной информационной услуги 213.