exponenta event banner

Поезд Гуманоид Уокер

В этом примере показано, как смоделировать робота-гуманоида с помощью Simscape Multibody™ и обучить его с помощью генетического алгоритма (для которого требуется лицензия Global Optimization Toolbox) или обучения с усилением (для которого требуются лицензии Deep Learning Toolbox™ и Enharming Learning Toolbox™).

Гуманоидная модель Уокера

Этот пример основан на модели робота-гуманоида. Можно открыть модель, введя sm_import_humanoid_urdf в командной строке MATLAB ®. Каждая нога робота имеет крутящие поворотные суставы в лобном бедре, колене и лодыжке. Каждая рука имеет два пассивных поворотных сустава в лобном и сагиттальном плече. Во время моделирования модель определяет силы контакта, положение и ориентацию туловища, состояния соединения и положение вперед. На рисунке показана модель Simscape Multibody на различных уровнях .

Моделирование контактов

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

Объединенный контроллер

Модель использует контроллер обратной связи на основе жесткости для управления каждым соединением [1]. Моделируйте соединения как системы первого порядка с соответствующей жесткостью (K) и демпфированием (B), которые можно настроить для критического демпфирования поведения соединения. Крутящий момент прикладывается в том случае, когда контрольная точка (,) 0 отличается от текущего положения (,) соединения

T = B

Чтобы получить отклик обратной связи для перемещения шарнира, можно изменить уставку для пружины, На рисунке показана модель контроллера Simulink.

Humanoid Walker Тренинг

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

Целевая функция обхода

В этом примере используется целевая функция для оценки различных стилей ходьбы. Модель дает вознаграждение (rt) на каждом временном шаге:

rt = w1 vy + w2ts-w3 p-w4 Δz-w5 Δx

Здесь:

  • vy - Скорость вперед (вознаграждается)

  • p - Энергопотребление (наказано)

  • Δz - Вертикальное смещение (наказано)

  • Δx - Боковое смещение (наказано)

  • w1,..., 5: Веса, которые представляют относительную важность каждого термина в функции вознаграждения

Кроме того, отказ от падения вознаграждается.

Следовательно, общее вознаграждение (R) за ходячую пробу составляет:

R=∑t=0Trt

Здесь T - это время завершения моделирования. Вы можете изменить веса вознаграждения в sm_humanoid_walker_rl_parameters сценарий. Моделирование завершается при достижении времени моделирования или падении робота. Падение определяется как:

  • Робот опускается ниже 0,5 м.

  • Робот движется вбок более чем на 1 м.

  • Туловище робота вращается более чем на 30 градусов.

Поезд с генетическим алгоритмом

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

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

Чтобы обучить робота генетическому алгоритму, откройте sm_humanoid_walker_ga_train сценарий. По умолчанию в этом примере используется предварительно обученный гуманоидный ходок. Для обучения гуманоидного ходока, сет trainWalker кому true.

Обучение с обучением усилению

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

Чтобы обучить робота с усилением обучения, откройте sm_humanoid_walker_rl_train сценарий. По умолчанию в этом примере используется предварительно обученный гуманоидный ходок. Для обучения гуманоидного ходока, сет trainWalker кому true.

Ссылки

[1] Кальверам, Карл Т., Томас Шинауэр, Штеффен Бейрле, Стефани Рихтер и Петра Янсен-Османн. «Поточная нейронная передача в механическую пружину: как биология использует физику в управлении конечностями». Биологическая кибернетика 92, № 4 (апрель 2005): 229-40. https://doi.org/10.1007/s00422-005-0542-6.

[2] Цзян Шань, Чэн Цзюньши и Чэнь Цзяпинь. «Дизайн центрального генератора паттернов для человекообразного робота для ходьбы на основе многообъектного GA». В разбирательстве. 2000 Международная конференция IEEE/RSJ по интеллектуальным роботам и системам (IROS 2000) (Cat. № 00CH37113), 3: 1930–35. Такамацу, Япония: IEEE, 2000. https://doi.org/10.1109/IROS.2000.895253.

См. также

| |

Связанные темы