AMD Open Robotics Hackathon: гайд по настройке LeRobot и железа SO-101 с ROCm | AiManual
AiManual Logo Ai / Manual.
11 Янв 2026 Гайд

Подготовка к робототехническому хакатону AMD: настройка LeRobot и работа с железом SO-101

Пошаговый гайд для участников хакатона AMD: установка LeRobot, работа с робототехническим набором SO-101, настройка ROCm и Ryzen AI. Практические советы от Seni

Хакатон, который не просидит в симуляторе

AMD затеяла Open Robotics Hackathon. Это не про презентации и кофе-брейки. Это про железо SO-101, про LeRobot и про то, чтобы за 48 часов заставить робота делать что-то осмысленное. Если вы думали, что робототехника - это удел гигантов вроде NVIDIA с их Isaac или Cosmos, то сейчас самое время доказать обратное. Но готовьтесь: путь от коробки с железом до работающего прототипа будет тернистым.

Главная проблема участников - не алгоритмы, а инфраструктура. 80% времени уйдет на то, чтобы заставить LeRobot видеть вашу видеокарту AMD, а SO-101 - отвечать на команды. Эта статья сэкономит вам эти 80%.

Что в коробке и почему это важно

Вам дадут SO-101 robotics kit. Это не игрушка. Это полноценный встраиваемый компьютер на AMD Ryzen AI с камерами, манипуляторами и датчиками. Плюс доступ к кластерам с MI300X для тренировки моделей. Звучит круто, пока не пытаешься установить PyTorch с поддержкой ROCm.

💡
ROCm - это открытая платформа AMD для вычислений. Аналог CUDA, но со своими тараканами. Если вы привыкли к зеленому стеклу, готовьтесь к головной боли. Но игра стоит свеч: производительность Ryzen AI и MI300X впечатляет, особенно если вспомнить историю с RX 9070.

1 Подготовка окружения: Linux, Python и боль

Забудьте про Windows. Забудьте про macOS. Вам нужен Linux. Ubuntu 22.04 LTS - безопасный выбор. Первое, что сделаете - установите драйверы ROCm. И вот тут начинается веселье.

sudo apt update
sudo apt install wget gnupg2 -y
wget https://repo.radeon.com/amdgpu-install/6.2/ubuntu/jammy/amdgpu-install_6.2.60202-1_all.deb
sudo dpkg -i amdgpu-install_6.2.60202-1_all.deb
sudo amdgpu-install --usecase=rocm,hiplibsdk,mllib --no-dkms

Почему эти флаги? --usecase=rocm ставит основную платформу. hiplibsdk и mllib - для машинного обучения. А --no-dkms потому что с DKMS иногда ломается ядро, и вам не до этого на хакатоне.

После перезагрузки проверьте, что ROCm видит железо: rocm-smi. Если видит - вы счастливчик. Если нет - готовьтесь к долгой отладке. Частая ошибка - неправильные права доступа к /dev/kfd. Решается так: sudo chmod 666 /dev/kfd.

2 Установка LeRobot: не просто pip install

LeRobot - это фреймворк от Hugging Face для Embodied AI. Тот самый, о котором мы писали в обзоре LeRobot v0.4.0. Установка кажется простой:

pip install lerobot

Но это установит версию для CPU. Вам же нужна поддержка GPU через ROCm. Значит, сначала ставим PyTorch с правильными флагами:

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.2

А теперь самое важное: LeRobot зависит от библиотек, которые могут конфликтовать с ROCm. Если упадет ошибка про hipBLAS - не паникуйте. Скорее всего, нужно явно указать путь к библиотекам ROCm:

export LD_LIBRARY_PATH=/opt/rocm/lib:$LD_LIBRARY_PATH

Проверяем установку:

import torch
print(torch.cuda.is_available())  # Должно быть True
print(torch.cuda.get_device_name(0))  # Должно показать вашу AMD карту

3 Знакомство с SO-101: из коробки в реальность

Распаковываете SO-101. Подключаете питание, Ethernet, камеры. Включаете. По умолчанию на нем уже стоит Ubuntu с предустановленным ROS 2 Humble. Но вам нужно свое окружение. Подключаемся по SSH:

ssh robot@so-101.local  # Пароль обычно 'robot'

Первое, что делаем - обновляем систему и ставим те же драйверы ROCm, что и на основной машине. Но помните: на SO-101 стоит Ryzen AI - это встроенный NPU, не путать с дискретной графикой. Драйверы для него идут отдельным пакетом.

💡
Ryzen AI - это AMD XDNA архитектура. Для работы с ней через PyTorch нужен специальный бэкенд amd-hiptorch. Установите его: pip install amd-hiptorch. Потом в коде инициализируйте устройство как torch.device("xpu").

4 Интеграция: заставляем LeRobot управлять железом

LeRobot по умолчанию работает с симуляторами. Но вам нужен реальный робот. Пишем простой бridge между LeRobot и ROS 2 на SO-101.

import rclpy
from rclpy.node import Node
from lerobot.embodied.policies import DiffusionPolicy  # Пример политики

class SO101Bridge(Node):
    def __init__(self):
        super().__init__('lerobot_bridge')
        self.policy = DiffusionPolicy.from_pretrained("lerobot/diffusion_policy_calvin")
        # Инициализация подписчиков и издателей ROS 2
        # ...
    def inference_step(self, observation):
        # Преобразование данных с датчиков в формат LeRobot
        action = self.policy(observation)
        # Отправка действий на исполнительные механизмы SO-101
        return action

Основная сложность - синхронизация потоков данных. Камеры SO-101 выдают 30 FPS, а модель LeRobot может обрабатывать кадры медленнее. Придется либо буферизировать, либо понижать частоту. Не пытайтесь сделать идеально с первого раза. Работающий прототип лучше идеального чертежа.

5 Подготовка проекта для хакатона: что评委 хотят видеть

Жюри хакатона AMD будут смотреть не на чистоту кода, а на работоспособность и оригинальность. Ваш проект должен:

  • Использовать LeRobot для решения конкретной задачи (манипуляция, навигация).
  • Задействовать возможности железа SO-101 (камеры, NPU Ryzen AI).
  • Показывать, что вы понимаете, как работает ROCm и оптимизация под AMD.

Не пытайтесь воспроизвести робота Грин или офисного R2D2. Придумайте что-то свое. Например, сортировку объектов с помощью диффузионной политики LeRobot.

Нюансы, которые сведут с ума

ОшибкаПричинаРешение
HIP_ERROR_OUT_OF_MEMORYНехватка VRAM на карте AMDУменьшите batch size в модели LeRobot. Используйте mixed precision.
ROS 2 не видит топики с камерНе запущены драйверы устройств SO-101Запустите sudo systemctl start so101-camera-driver
Модель LeRobot работает медленно на Ryzen AIМодель не оптимизирована под XDNAКонвертируйте веса в формат ONNX и используйте компилятор Ryzen AI.

И главный нюанс: время. У вас его мало. Не тратьте час на настройку идеального CI/CD, как в гайде по AI-серверу. Сделайте простой скрипт, который запускает все необходимое. И обязательно напишите README, как будто его будет читать человек, который не спал двое суток.

Неочевидный совет от того, кто прошел через это

За 24 часа до окончания хакатона зафиксируйте версии всех библиотек. Создайте requirements.txt с точными номерами версий. Потому что последнее обновление PyTorch или LeRobot может сломать все, что вы строили. И еще: не гонитесь за сложной моделью. Иногда простая политика, но хорошо отлаженная на железе, бьет навороченный диффузионный трансформер, который тормозит. Помните, что оптимизация под слабое железо - это искусство. Ваше железо не слабое, но время ограничено.

Удачи. И помните: главное - не победить, а заставить SO-101 сделать хоть что-то осмысленное. Если получится - вы уже герой.