Robot Learning – Telegram
Robot Learning
81 subscribers
2 photos
37 links
О робототехнике и AI в робототехнике
Download Telegram
Друзья, хочу поделиться с вами карьерным апдейтом.

После четырёх месяцев активного поиска я присоединился к Сбер Автотех (Navio) в Москве на позицию Deep Learning Engineer, Motion Planning. Изначально я планировал остаться в области манипуляции роботами, но выяснилось, что и в манипуляции, и в автономном вождении активно применяются методы обучения по демонстрациям и обучения с подкреплением для планирования движения. В новой роли я буду заниматься улучшением модели планирования траектории для автономного автомобиля.

Я переехал в Москву вместе с семьёй и буду рад встретиться.
🔥26😎3
Всем привет! Сколько лет, сколько зим.

У ребят из @deep_school есть классный проект: они зовут обычных роботяг вести канал @deepschool_underthehood и рассказать про работу и жизнь вне ее. На этой неделе там буду я — расскажу про ML в автономном вождении, карьеру в робототехнике и немного про личное.

Залетайте в канал, читайте и задавайте вопросы! Ну и тут репосты тоже будут.
👍9🔥6💯3
Forwarded from DeepSchool / underthehood (Shamil Mamedov)
Про работу

Я занимаюсь планированием траекторий для автономных машин. Проще говоря: моя задача — на основе дорожной обстановки и маршрута предложить траекторию на несколько секунд вперёд.

На первый взгляд — задача плоская: никакого 3D, как у дронов, и не такие сложные движения, как у робо-рук. Но на практике — одна из самых сложных областей, потому что нужно учитывать взаимодействие с другими машинами и при этом обеспечивать безопасность.

Раньше траектории строили классическими методами поиска и эвристиками. Но со временем стало ясно: невозможно прописать правила для всех дорожных ситуаций. Поэтому сегодня почти все крупные компании делают ставку на ML — легче «научить» модель на данных, чем изобретать новые костыли-эвристики.

В отличие от многих областей, где инженеры уже опираются на foundation-модели, в автономном вождении модели всё ещё учат с нуля. Почти всегда это архитектура «энкодер-декодер»: энкодер (почти всегда трансформер) кодирует дорожную сцену; декодер (трансформер или диффузия) предсказывает траекторию.

Ключевая проблема не в моделях, а в их оценке. Нельзя просто сравнить предсказанную траекторию с реальной (экспертной) — такая метрика игнорирует накопление ошибок. В реальной езде маленькие ошибки могут накапливаться и приводить к опасным ситуациям (out-of-distribution). Поэтому используют симуляторы или — в идеале — реальные тесты на дорогах.

Если интересно глубже погрузиться в тему планирования в автономном вождении — вот мой пост блоге deep-school. Если есть вопросы про работу в автономном вождении, спрашивайте в комментариях🙂
👍6
Принёс вам хорошую обзорную статью про VLA.

Но сначала — коротко о том, что это такое. Всё началось с больших языковых моделей (LLM), с которыми сегодня знакомы почти все. Позже им «дали глаза» — так появились vision-language models (VLM), которые принимают на вход изображение и текст и умеют отвечать на вопросы и рассуждать о картинках.

Логичный следующий шаг: если VLM понимают изображения и язык, почему бы не научить их генерировать действия? Так появились VLA — модели, которые уже показывают неплохие результаты и становятся важным шагом к роботам общего назначения. Но впереди ещё много работы, прежде чем мы приблизимся к 99.9% успеха.

В этой обзорной статье отлично разбираются современные подходы к VLA. Рекомендую!
🔥95❤‍🔥3
На прошлой неделе Hugging Face порадовал сразу двумя релизами для всех, кто интересуется робототехникой


1️⃣ Обзорная статья по Robot Learning

Отличный разбор всех современных подходов: обучение с подкреплением, с демонстраций и фундаментальные модели для робототехники (aka VLA — Vision-Language-Action модели).


2️⃣ Полноценный курс по Robot Learning

Подходит даже для абсолютных новичков. Авторы начинают с основ классической робототехники и плавно переходят к фундаментальным моделям.


Если давно хотели разобраться, сейчас идеальный момент — всё собрано в одном месте.
👍10🔥63
Написали с Антоном небольшую статью про VLA для DeepSchool. Если интересно, заходите читать
❤‍🔥4🔥3👍2
Forwarded from DeepSchool
Vision-Language-Action (VLA) Models: от токенов к действиям

Современные мультимодальные модели умеют работать с визуальными данными и текстом. Следующий шаг их развития — взаимодействие с физическим миром. Для управления роботами создаются Vision-Language-Action (VLA) модели, которые переводят визуальные данные и текстовые инструкции прямо в моторные команды робота. О том, как устроены такие модели, рассказываем в новой статье. 🤖

Из неё вы узнаете:
• как устроены VLA-модели — от визуального энкодера до генератора действий
• какие архитектуры используются для предсказания движений — от дискретных токенов до диффузий и Flow Matching'а
• какие существуют подходы к дообучению систем — от полного fine-tuning'а до PEFT-методов, таких как LoRA
• с какими проблемами сталкиваются VLA в реальном мире: задержки, накопление ошибок и безопасность

Читайте новую статью по ссылке! 🚀

🪔 DeepSchool
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤‍🔥5👍4🐳1
Что такое action chunk и зачем он нужен


Раньше контроллеры управления роботами на каждом временном шаге предсказывали ровно одно действие — например, положение и ориентацию захвата. Это действие затем отрабатывалось низкоуровневыми контроллерами.

На следующем шаге контроллер получал новые наблюдения (изображения с камер и состояние робота) и предсказывал следующее действие. Такой подход позволял роботу быстро реагировать на изменения в окружении.

Сегодня большинство vision-language-action (VLA) и других visuomotor-моделей используют action chunk — проще говоря, генерацию последовательности действий, а не одного действия. Есть несколько причин, почему этот подход работает лучше.


1️⃣ Генерация высокочастотных (быстрых) траекторий

VLA-контроллеры обычно работают на низкой частоте, например ~10 Гц. Это означает, что максимальная частота движения не превышает 5 Гц, что недостаточно для быстрых и точных манёвров.

При использовании action chunk модель может сгенерировать последовательность действий с любой частотой и передать её низкоуровневому контроллеру. В результате становится возможна более динамическая и плавная манипуляция.


2️⃣ Ансамблирование действий

Если в момент времени t_1 мы предсказываем действия (a_1, a_2, a_3, a_4), а в момент t_3 — (a_3, a_4, a_5, a_6), то пересекающиеся действия (a_3, a_4) можно усреднить.

Эмпирически такое ансамблирование повышает стабильность и качество поведения модели.


3️⃣ Компенсация задержек (latency)

Пока в момент t_1 контроллер генерирует действия на основе наблюдений o_1, робот уже успевает сместиться. В результате предсказанное действие соответствует прошлому состоянию сцены.

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

В другой раз расскажу как лучше можно решить проблему с запаздыванием.
8🔥5👍3
Друзья, поздравляю всех с наступившим Новым годом!

Надеюсь, что 2025 год был для вас полон побед — маленьких и больших, а следующий станет ещё лучше🦾

Этот пост — небольшая рефлексия по итогам 2025 года и одновременно вопрос к вам о том, что вам было бы интересно читать в этом канале.

Для меня 2025 год выдался очень насыщенным. В январе я защитился в KU (запись защиты) Leuven и спустя почти 4 года стал PhD.

Сразу после этого мы с женой и нашей трёхмесячной дочкой переехали в Баку, Азербайджан — чтобы спокойно искать работу в США, UK и России. После стажировки в Amazon и окончания PhD я, честно говоря, ожидал больше приглашений на интервью, чем получил.

Прошёл 8 кругов ада этапов интервью в Яндекс Humanoid и в итоге получил отказ; дошёл до финала в Humanoids. Офферы же получил от Центра робототехники Сбера и Navio.

Хотя автономное вождение изначально не было для меня приоритетом, по совокупности интереса и компенсации этот вариант оказался лучшим. Уже в конце апреля я переехал в Москву и начал работать.

В Navio сначала занимался обучением из демонстраций в рамках модульного подхода, а затем — vision-language-action моделями. За эти 9 месяцев я очень многому научился и совершенно не жалею, что пошёл в автономное вождение.

Помимо основной работы, я писал статьи в DeepSchool (раз, два) и старался писать здесь. Было забавно, когда несколько человек на работе узнали меня именно по статьям в DeepSchool.

В новом году хочу писать здесь больше, а также попробовать себя в менторстве. Поэтому хочу спросить вас: о чём вам было бы интереснее читать? Например: обзоры статей, стартапов, рост в IT, больше личных постов — или что-то ещё. Буду очень благодарен, если напишете в комментариях.
👏12🎄94
Please open Telegram to view this post
VIEW IN TELEGRAM
Год назад я собеседовался в Яндекс Humanoid, прошел через 7 раундов интервью и получил отказ. Рассказываю, как это было.


После предзащиты PhD я начал активно искать работу в робототехнике. Откликнулся на позицию контрол-инженера в Яндекс Humanoid, но в процессе собеседований фокус проекта менялся — под конец меня рассматривали уже на роль инженера по манипуляции.

Первое интервью было с лидом (на тот момент), где меня спрашивали всё про контрол: передаточные функции, модели пространства состояний, стабильность систем, MPC, LQR, наблюдатели. Для подготовки я использовал курс Automatic Control от Alberto Bemporad.

Второе интервью было на профильное программирование, в моем случае на контрол. Дали нестабильную систему с двумя состояниями, и попросили спроектировать контроллер и наблюдатель. Я реализовал LQR для стабилизации и LQE для оценки состояний. Использовал Python-библиотеку control и scipy.signal.

Третье интервью было на динамику робототехнических систем. Дали двойной маятник на платформе и попросили вывести уравнения динамики. Можно было использовать что угодно, даже симуляторы типа Mujoco. Но я решил вывести уравнения символьно, используя CasADi для вычисления производных Лагранжиана. Спрашивали про свойства матриц инерции и кориолисовых сил. Хорошим источником для подготовки к такому интервью курс Underactuated Robotics от Russ Tedrake.

Четвертое интервью было про robotics system design. Попросили спроектировать автономную машину. Надо было рассказать, какие есть модули (карты, восприятие, планирование…) и как они между собой взаимодействуют. Интервьюер порой задавал очень низкоуровневые вопросы, типа какие протоколы лучше использовать для обмена данными между модулями. Для подготовки сложно было найти какие-либо материалы. В отдельном посте расскажу, как бы я сейчас готовился к такому интервью.

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

Седьмое интервью было с HR-бизнес-партнером. Про такую позицию я узнал впервые в жизни. Я понятия не имел, как готовиться к этому интервью. В итоге мы просто общались про мой опыт и мотивацию.

В конце мне неофициально дали отказ. Главная причина отсутствие коммерческого опыта в ML. Было обидно, но потом я узнал, что часто после PhD требуют год или более опыта.

Рассказывайте в комментариях про свой опыт интервью в робототехнике.
🔥51