Научно-исследовательский кружок по ИИ в робототехнике для студентов и взрослых
Студенты ДГТУ обучают робота ползти вперед в Центре робототехники Сбера
Мы открываем кружок, в котором вы можете заниматься современной робототехникой и искусственным интеллектом на самом передовом уровне и задачах. В статье поговорим о том, как это будет и о текущих результатах в обучении роботов хождению.
Сказать, что с приходом ChatGPT и роботов Tesla наступило грандиозное будущее — это ничего не сказать. Мы стоим на пороге великих изменений. То, что раньше казалось фантастикой, становится реальностью: роботы могут выполнять в физическом мире команды, сформулированные на естественном языке, ходить и манипулировать объектами. Всё это благодаря в первую очередь бурному развитию deep learning за последние годы. Тем не менее передовые исследования в этой области и робототехнике, которые окончательно изменят ландшафт умных роботов и их применения, ещё впереди. Об этих исследования мы дальше и поговорим.
Почему это важно?
Рано или поздно шагающих роботов будет много. Они будут выполнять за нас работу. Гонка компаний за занятие рынка больших шагающих роботов уже началась.
Большой шагающий робот
Профессия разработки этих роботов и обучения их разным навыкам выглядит очень перспективно.
Чтобы роботы были «умными» и могли делать за нас работу так же, как и человек, их способности к обучению и выполнению сложных задач должны сильно возрасти. Для этого нужны новые алгоритмы в области deep learning и reinforcement learning. Собственно, в кружке мы и будем заниматься на самом передовом уровне исследованиями в области обучения роботов хождению и решению других сложных моторных задач. Будем читать зарубежные научные статьи, воспроизводить их результаты, генерировать новые идеи, реализовывать их, экспериментировать на роботах и в симуляторах, разрабатывать новые алгоритмы, писать программный код, предлагать научную новизну и писать научные статьи.
Роботов уже сейчас можно обучить на больших наборах данных и в симуляторе, но пока они плохо учатся в реальной жизни и вообще не обладают такими же способностями к самообучению, как у человека. Это создаёт трудности, так как не всё можно воспроизвести в симуляторе и не под всё есть готовые наборы данных. Верю, что будущее именно за способностью роботов и ИИ учиться самостоятельно в реальном мире.
Обучение роботов
Например, вот четвероногий робот, который был обучен в нашем Центре робототехники Сбера сначала в симуляторе, а потом запущен на реальной аппаратной платформе:
Был использован алгоритм PPO (Proximal Policy Optimization) с обучением в симуляторе Raisim в течении нескольких часов на видеокарте GeForce GTX 1080 Ti:
Функция наград:
Оптимизация текущей линейной скорости тела относительно целевой;
Минимизируемые факторы:
боковое движение и угловые скорости;
отклонение высоты тела от номинальной;
отклонение положения тела от номинальной ориентации;
совершаемая работа;
угловые скорости суставов;
проскальзывание ног по поверхности;
плавность движений;
сила воздействия на поверхность;
Максимизируемые факторы:
Обучение в симуляторе Raisim
Казалось бы, что ещё нужно? Но такой подход работает плохо или вовсе не работает для более сложных роботов типа 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. Занятия бесплатные, но есть отбор через тестовые задания.