Почему 20 000 рублей — это реально (и почему вас обманывают)
Посмотрите на новости из CES 2026 — там говорят о роботах за миллионы. Или про NEO от 1X, который стоит как квартира. Это все красиво, но бесполезно для 99% разработчиков.
А реальность? Реальность — это китайские моторы, старые ноутбуки и хакерский подход. Я собрал мобильного робота-манипулятора, который может:
- Ездить по квартире (SLAM на ROS2)
- Распознавать предметы (YOLOv8 + LeRobot)
- Брать объекты нейросетевым контроллером
- Работать полностью автономно
И все это — за 20 000 рублей. Не 200 000. Не 2 000 000. Двадцать тысяч.
Секрет не в дорогих компонентах. Секрет в том, чтобы не тратить деньги на ненужное. 90% бюджета типичного DIY-робота уходит на переплату за бренд и «удобство». Мы будем хакерами, а не покупателями.
Разбор бюджета: куда уйдут ваши 20 000
| Компонент | Цена (январь 2026) | Что берем и почему |
|---|---|---|
| Мотор-редукторы (4 шт) | 4 800 руб | JGY 12V 300RPM с энкодерами. Китай, Aliexpress. Не берите N20 — слабые для манипулятора. |
| Контроллер моторов | 1 500 руб | L298N х2. Да, старый добрый L298N. Не тратьте на драйверы TB6612 — здесь токи до 2А. |
| Манипулятор 4DOF | 3 200 руб | Набор сервоприводов MG996R + алюминиевые рычаги. Собираем сами, не покупаем готовый. |
1 Зачем нам это
Это сердце робота. Raspberry Pi 4B 4GB — идеальный баланс цены и производительности для ROS2 Humble. Pi 5 дороже и требует активного охлаждения, что усложняет конструкцию.
2 Камера RealSense D435i
Глубинная камера — must have для манипуляции. D435i стоит 12 000 руб на вторичке (да, ищем на Avito). Почему не более дешевые варианты? Потому что для точного захвата нужна именно depth-камера. Можно взять Orbbec, но с ROS2 будут танцы с бубном.
3 Аккумуляторы и рама
Li-Po 12V 5000mAh — 2 500 руб. Алюминиевый профиль 20x20 — 1 000 руб. Крепеж — 500 руб. Не изобретайте велосипед, берите стандартный профиль.
Сборка механики: где все ломается
Собрать раму — просто. Собрать раму, которая не развалится при первом движении манипулятора — искусство.
4 Шасси
Берем два мотора с колесами и два опорных ролика. Почему не четыре ведущих? Потому что для манипулятора важнее стабильность, чем маневренность. И дешевле.
# Крепим моторы к профилю через L-кронштейны
# ЗАПРЕЩЕНО: крепить на саморезы в торец профиля
# НАДО: использовать Т-гайки и болты М4
5 Манипулятор
MG996R — мусорные сервы, но за 800 руб/шт другого нет. Секрет в доработке:
- Меняем провода на более длинные (30см)
- Ставим конденсаторы 100мкФ на каждую линию питания
- Крепим на алюминиевые 3D-другие
Электроника: подключаем мозги
Здесь большинство делает фатальную ошибку — пытаются все засунуть в Arduino. Не надо. Робот должен думать на Raspberry Pi, а Arduino только ШИМ генерировать.
6 Схема подключения
Raspberry Pi → USB → Arduino Mega → L298N → моторы. Почему Mega? Потому что нужно 8 ШИМ-выходов (4 мотора + 4 сервы), а Uno даст только 6.
// Arduino-скетч для управления моторами и сервами
// Получает команды по Serial от ROS2
#include
Servo servo1, servo2, servo3, servo4;
void setup() {
Serial.begin(115200);
servo1.attach(2);
servo2.attach(3);
servo3.attach(4);
servo4.attach(5);
}
7 Питание
Отдельный блок питания для Raspberry Pi (5V 3A). Отдельный для моторов (12V). Разделять землю через optocoupler. Если этого не сделать — при старте моторов Pi будет перезагружаться.
Программная часть: ROS2 + нейросети
Вот где начинается магия. И боль. ROS2 Humble — стандарт де-факто в 2026. ROS 3 уже анонсировали, но он сырой.
8 Установка ROS2 Humble
# На Raspberry Pi с Ubuntu 22.04
sudo apt update
sudo apt install ros-humble-desktop
sudo apt install ros-humble-turtlebot3* # Берем готовые пакеты
sudo apt install ros-humble-moveit # Для манипулятора
9 Навигационный стек
Используем SLAM Toolbox для картографии и Nav2 для навигации. Конфигурация для слабого железа:
# nav2_params.yaml
controller_server:
ros__parameters:
controller_frequency: 5.0 # Не 10.0! Raspberry Pi не потянет
min_x_velocity_threshold: 0.05
min_y_velocity_threshold: 0.05
min_theta_velocity_threshold: 0.1
10 Компьютерное зрение
YOLOv8n (nano-версия) — единственная модель, которая работает на Pi в реальном времени. 3-5 FPS, но для манипуляции хватит.
# yolo_node.py
import rospy
from sensor_msgs.msg import Image
from cv_bridge import cv_bridge
# Инициализация YOLOv8
model = YOLO('yolov8n.pt')
rospy.init_node('yolo_detector')
image_sub = rospy.Subscriber('/camera/color/image_raw', Image, callback)
Не используйте YOLOv9 или более новые модели. На Raspberry Pi они дадут 0.5 FPS. YOLOv8n — оптимальный баланс точности и скорости на слабом железе.
11 LeRobot — нейросети для манипуляции
Проект LeRobot от Hugging Face — это готовые модели для захвата объектов. В 2026 году вышла версия 2.0 с поддержкой ROS2.
# Установка LeRobot
pip install lerobot-ros2
# Загрузка предобученной модели для захвата
from lerobot import LeRobotGrasp
model = LeRobotGrasp.from_pretrained('lerobot/grasp-v2')
# Получаем команды для сервоприводов на основе изображения
joint_angles = model.predict(rgb_image, depth_image)
LeRobot обучен на датасете из 10 000 демонстраций захватов. Модель понимает форму объекта и вычисляет, куда поставить захват. Это не классический inverse kinematics — это нейросетевой контроллер.
Интеграция: заставляем все работать вместе
Самая сложная часть. ROS2-ноды должны общаться:
- Навигация → MoveIt → манипулятор
- YOLO → LeRobot → сервоприводы
- RealSense → все одновременно
12 Launch-файл
from launch import LaunchDescription
from launch_ros.actions import Node
def generate_launch_description():
return LaunchDescription([
Node(
package='nav2_bringup',
executable='navigation_bringup',
output='screen'
),
Node(
package='yolo_ros',
executable='yolo_node',
parameters=[{'model': 'yolov8n.pt'}]
),
Node(
package='lerobot_ros',
executable='grasp_node',
parameters=[{'model_path': 'grasp-v2'}]
)
])
Тестирование и отладка: где вы будете страдать 80% времени
Собрать робота — 20% работы. Заставить его работать — остальные 80%.
13 Проблема №1: задержки
ROS2 на Raspberry Pi с 5 нодами — это 100-200мс задержки. Для навигации нормально, для захвата — катастрофа. Решение:
# Используем QoS профиль для критичных топиков
from rclpy.qos import QoSProfile, ReliabilityPolicy, DurabilityPolicy
qos = QoSProfile(
depth=1,
reliability=ReliabilityPolicy.BEST_EFFORT,
durability=DurabilityPolicy.VOLATILE
)
14 Проблема №2: точность сервоприводов
MG996R имеют точность ±5°. Для захвата чашки хватит, для сборки Lego — нет. Калибруем:
def calibrate_servo():
# Ищем реальные углы для позиций 0°, 90°, 180°
# Записываем в конфиг
# Компенсируем в коде
15 Проблема №3: освещение
YOLO и LeRobot сходят с ума при разном освещении. Ставим кольцевую LED-подсветку за 500 руб. Решает 90% проблем.
Что можно улучшить (если добавить денег)
Робот работает. Но если добавить еще 10 000 руб:
- LiDAR за 8 000 руб вместо однокамерного SLAM
- Jetson Nano за 15 000 руб вместо Raspberry Pi (в 3 раза быстрее нейросети)
- Dynamixel сервоприводы вместо MG996R (но это уже +20 000 руб)
Чеклист перед запуском
- Все соединения пропаяны (не скручены!)
- Земли разделены
- Аккумулятор заряжен
- ROS2-ноды компилируются без ошибок
- Камера калибрована (ros2 run camera_calibration cameracalibrator)
- Сервоприводы откалиброваны
- Вы прочитали чек-лист по нейросетям
FAQ: вопросы, которые вы зададите через неделю
Q: Робот не видит объекты в темноте
А: Кольцевая подсветка. 500 руб. Решает проблему.
Q: Манипулятор дрожит при движении
А: Конденсаторы на линиях питания сервоприводов. И проверьте, что ШИМ-сигнал не накладывается на питание.
Q: SLAM строит кривую карту
А: RealSense D435i плохо работает на текстурированных поверхностях. Добавьте визуальные маркеры или перейдите на LiDAR.
Q: LeRobot не может захватить тонкие объекты
А: Модель обучена на «средних» объектах. Дообучите на своем датасете (снимите 100-200 примеров).
Q: ROS2 падает с segfault
А: Классика. Скорее всего, проблема в сборке из source. Используйте apt-пакеты где возможно.
Что дальше?
Вы собрали бюджетного робота-манипулятора. Он ездит, видит, берет предметы. Теперь можно:
- Добавить голосовое управление через локальную LLM
- Научить робота собирать конструктор (сложно, но реально)
- Подключить к Cosmos Reason 2 для физического моделирования
- Сделать из него мобильного бармена (осторожно с жидкостями)
Главное — не останавливайтесь. Первый робот всегда кривой, дрожащий и глупый. Мой первый прототип бился головой о стену (буквально). Второй будет лучше.
И помните: пока компании вроде Сбера тратят миллионы на роботов-аватаров, вы можете сделать что-то реально полезное за 20 000 рублей. Просто нужны руки из правильного места.
Удачи. И помните — если что-то дымится, это нормально. (Не нормально. Выключайте питание.)