Асимметричный трехногий робот-стул самостоятельно учится ходить


Исследователи с Кафедры механоинформатики (Высшая школа информационных наук и технологий, Токийский университет (Токио, Япония)) сконструировали трёхногий стул, который самостоятельно учится ходить.

В качестве прототипа робота, использовался персонаж маленького трёхногого стула из аниме «Судзумэ, закрывающая двери».

Тело робота состоит из трёх ног, расположенных асимметрично по отношению к центру, что вызывает дополнительные сложности с балансировкой:

Каждая нога обладает всего 2-мя степенями свободы (DOF), что позволяет ноге двигаться вперед, назад, влево и вправо:

Блок-схема системы управления роботом

Спинным мозгом робота является контроллер Arduino Nano Every, который получает от компьютера командные углы для 6 сервомашинок, а назад передаёт кватернион своего положения (получает его от IMU — Adafruit BNO055).

Для обмена данными и управления используется ROS. Обмен данными идёт с частотой 10 Гц.

Авторы  проанализировали, как в таком ассиметричном роботе формируется походка (при ходьбе и при движениях чтобы встать), для этого движения генерировались двумя разными методами:

  1. используя линейную интерполяцию ключевых поз (connecting essential postures);
  2. методом проб и ошибок с использованием обучения с подкреплением (reinforcement learning). Обучение велось в симуляторе Isaac Gym с отражением его на реального робота.

Оба метода смогли создать интересную походку, аналогичную ходьбе, но метод обучения с подкреплением выдавал более стабильную походку.

Код робота открыт и доступен для изучения.

Статьи

  1. Shintaro Inoue, Kento Kawaharazuka, Kei Okada, Masayuki Inaba Body Design and Gait Generation of Chair-Type Asymmetrical Tripedal Low-rigidity Robot

Ссылки

По теме


Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Android Arduino Bluetooth CraftDuino DIY IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд юмор

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение