Мы открываем кружок, в котором вы можете заниматься современной робототехникой и искусственным интеллектом на самом передовом уровне и задачах. В статье поговорим о том, как это будет и о текущих результатах в обучении роботов хождению.
Сказать, что с приходом ChatGPT и роботов Tesla наступило грандиозное будущее — это ничего не сказать. Мы стоим на пороге великих изменений. То, что раньше казалось фантастикой, становится реальностью: роботы могут выполнять в физическом мире команды, сформулированные на естественном языке, ходить и манипулировать объектами. Всё это благодаря в первую очередь бурному развитию deep learning за последние годы. Тем не менее передовые исследования в этой области и робототехнике, которые окончательно изменят ландшафт умных роботов и их применения, ещё впереди. Об этих исследования мы дальше и поговорим.
Почему это важно?
Рано или поздно шагающих роботов будет много. Они будут выполнять за нас работу. Гонка компаний за занятие рынка больших шагающих роботов уже началась.
Профессия разработки этих роботов и обучения их разным навыкам выглядит очень перспективно.
Чтобы роботы были «умными» и могли делать за нас работу так же, как и человек, их способности к обучению и выполнению сложных задач должны сильно возрасти. Для этого нужны новые алгоритмы в области deep learning и reinforcement learning. Собственно, в кружке мы и будем заниматься на самом передовом уровне исследованиями в области обучения роботов хождению и решению других сложных моторных задач. Будем читать зарубежные научные статьи, воспроизводить их результаты, генерировать новые идеи, реализовывать их, экспериментировать на роботах и в симуляторах, разрабатывать новые алгоритмы, писать программный код, предлагать научную новизну и писать научные статьи.
Роботов уже сейчас можно обучить на больших наборах данных и в симуляторе, но пока они плохо учатся в реальной жизни и вообще не обладают такими же способностями к самообучению, как у человека. Это создаёт трудности, так как не всё можно воспроизвести в симуляторе и не под всё есть готовые наборы данных. Верю, что будущее именно за способностью роботов и ИИ учиться самостоятельно в реальном мире.
Обучение роботов
Например, вот четвероногий робот, который был обучен в нашем Центре робототехники Сбера сначала в симуляторе, а потом запущен на реальной аппаратной платформе:
Был использован алгоритм PPO (Proximal Policy Optimization) с обучением в симуляторе Raisim в течении нескольких часов на видеокарте GeForce GTX 1080 Ti:
Количество параллельных симуляций агентов: 100
-
Observations:
высота тела;
положение тела;
скорости тела;
12 углов суставов;
бинарный вектор контактов;
предыдущее действие;
-
Actions:
12 углов суставов;
-
Прерывание эпизода
при высоте тела ниже пороговой;
при углах наклона тела больше пороговых.
Функция наград:
Оптимизация текущей линейной скорости тела относительно целевой;
-
Минимизируемые факторы:
боковое движение и угловые скорости;
отклонение высоты тела от номинальной;
отклонение положения тела от номинальной ориентации;
совершаемая работа;
угловые скорости суставов;
проскальзывание ног по поверхности;
плавность движений;
сила воздействия на поверхность;
-
Максимизируемые факторы:
время нахождения ног в воздухе.
Казалось бы, что ещё нужно? Но такой подход работает плохо или вовсе не работает для более сложных роботов типа Dijit, Tesla Bot, Figure. Связано это с большим sim2real gap. Из-за этого появляется развилка — или делать симуляцию ещё реалистичнее, или учить роботов в реале. Вот пример обучения четвероногого робота с нуля в реале в нашем Центре робототехники Сбера:
Был использован алгоритм Actor-Critic с регуляризацией лимитов углов суставов отдельной нейросетью. Робот обучался в реалтайме на ноутбуке подключенном по ethernet.
На обучение в реале сейчас уходит от двух часов чистого времени робота, когда он непосредственно учится. Выучить получается пока только простые движения вроде ползти вперёд, при этом, в среднем, за пару обучений сгорает один мотор от перегрузок в жёстком режиме эксплуатации. Тем не менее это выдающийся результат, который ранее был недостижим. Пока в этом направлении мало научных статей и много потенциала к исследованиям, новым прорывам.
Также есть гибридные и другие подходы, связанные с дообучением, смешанными подходами reinforcement learning и optimal control. За последние годы в области шагающих роботов написаны сотни научных статей с новыми подходами, что говорит о бурном развитии этой тематики. Также стоит особо отметить, что именно в шагающих роботах впервые получил своё реально результативное применение reinforcement learning и показал преимущества по сравнению с другими методами.
Вот презентация нашей предыдущей работы по этому проекту, где робот ходит на классическом optimal control c cMPC:
Мы выложили весь исходный код в открытый доступ для использования будущими исследователями.
Наш кружок ИИ в робототехнике
Мы видим дальнейшие перспективы исследований и составили план задач на ближайшее будущее. Если вам интересна эта тема, то приходите к нам на бесплатную практику. Для этого в том числе мы организуем площадки в Москве, где вы сможете заниматься с нами обучением современных роботов.
Сейчас есть договорённость с Институтом искусственного интеллекта РТУ МИРЭА, так же предварительная с Центром молодежной робототехники МГТУ им.Н.Э. Баумана и лабораторией по гуманоидным роботам в Физтех-Лицее о предоставлении нам места для работы с роботами. В целом, о желании стать партнером в этом может изъявить любой технический университет в Москве, технику и консультации мы предоставим. То есть можно сказать, что мы открываем что-то вроде научно-исследовательского кружка по обучению роботов и передовым исследованиям в области ИИ в робототехнике. В него можно ходить с понедельника по субботу с 10:00 до 21:00 к нашим партнёрам, которые предоставляют площадки для занятий и сопровождение.
Наша целевая аудитория — это студенты, магистры, аспиранты и взрослые, имеющие технический опыт, а лучше профильное образование по программированию, робототехнике, машинному обучению. Школьникам заниматься этими задачами будет слишком сложно.
Какие требования к кандидатам:
уверенная работа в терминале Linux;
понимание работы локальной сети, умение настроить статический IP-адрес в Linux;
владение Git и Python;
знание алгоритмов глубокого обучения;
знание алгоритмов обучения с подкреплением;
умение читать, анализировать научные статьи на английском языке;
занятия в кружке не менее трёх дней в неделю;
способность к самообучению.
Что будет преимуществом:
владение ROS/ROS2, Docker, C++;
собственные научные статьи;
понимание робототехнических алгоритмов типа ПИД, фильтр Калмана и т. д.;
Горящие глаза к теме робототехники и ИИ.
Точно не подойдёт тем, кто:
не умеет хорошо программировать;
сомневается, нужно ли ему это;
не имеет достаточно времени на это;
не понимает, что такое научные статьи и почему они важны.
Как проходят занятия?
Центр робототехники Сбера предоставляет перспективные задачи в области обучения роботов, которые можно выполнять как индивидуально, так и в группе. Есть подборка научных статей и baseline алгоритмы для начала. В процессе работы специалисты Центра робототехники Сбера помогают консультациями. Сейчас мы не предлагаем дополнительного обучения, то есть недостающие вам знания вы получаете самостоятельно. Раз в неделю или две проходят общие встречи с планированием дальнейших задач. Приветствуется написание совместных научных статей.
Какие перспективы?
После двух-трёх лет занятий в кружке вы наберётесь необходимых знаний и опыта и лучшие из вас смогут устроиться на работу, например в Центр робототехники Сбера или другую робототехническую компанию. Обещаю, что с таким портфолио и компетенциями вы точно будете востребованы на рынке труда. Также мы сотрудничаем с разными университетами и исследовательскими группами, в которые вы сможете устроиться и продолжить заниматься исследованиями по этой теме.
Таким образом мы стараемся развивать робототехническое сообщество в области ИИ. Приветствуется инициатива вузов и научных групп.
Если вы хотите заниматься в кружке, то напишите мне в личку на Habr или в Telegram. Занятия бесплатные, но есть отбор через тестовые задания.