Привет, меня зовут Ашот Агабеков. Я Java backend‑разработчик. Основная моя профессиональная область — backend‑разработка, архитектура, интеграции, микросервисы, базы данных, observability и production‑системы.
В этой статье хочу рассказать про мой pet project для свободного времени — попытку собрать гуманоидного робота по проекту OpenLoong.
Немного наперед, так он должен выглядеть, когда я его закончу:
OpenLoong это робототехнический проект китайских инженеров.
Проект включает в себя open source 3d модели железа, схемотехнику и программное обеспечение. По сути, всё, что требуется для создания такого современного робота, подобного Unitree.
Именно по этому проекту я и собираю робота. Я не робототехник по основной профессии, не сотрудник лаборатории и не представитель компании, которая разрабатывает промышленных роботов. Я Java-разработчик, которому стало интересно проверить себя за пределами привычного backend-мира: взять сложную инженерную систему и постепенно пройти путь от 3D-моделей и печати деталей до механики, актуаторов, электроники, управления и AI-слоя.
Для меня этот проект — хобби, инженерная практика и способ прокачивать системное мышление. В обычной backend‑разработке мы собираем системы из сервисов, очередей, баз данных, контрактов, ретраев, мониторинга и инфраструктуры. В робототехнике всё похоже, только часть «сервисов» сделана из пластика, моторов, крепежа, проводов и подшипников. Плюс такое всегда полезно для любого программиста для мелкой моторики рук после умственного труда.
И самое неприятное: если в коде можно посмотреть stack trace, то в железе stack trace обычно выглядит как «деталь не встала», «люфтит», «не совпало отверстие», «надо перепечатывать».
Почему Java‑разработчик вообще полез в роботов
Я много лет работаю в разработке и мне всегда было интересно, как программные системы могут выходить в физический мир. Не просто API, которое возвращает JSON, а система, которая видит, слышит, двигается и может взаимодействовать с предметами.
Гуманоидный робот в этом смысле — очень интересная инженерная задача. В нём сходятся сразу несколько дисциплин:
-
механика;
-
3D-моделирование;
-
3D-печать;
-
электроника;
-
моторы и редукторы;
-
управление движением;
-
компьютерное зрение;
-
распознавание речи;
-
AI и агентные сценарии;
-
архитектура сложной системы.
Как backend-разработчику мне особенно интересно смотреть на робота не как на “железную куклу”, а как на сложную распределённую систему.
Есть механический слой.
Есть электрический слой.
Есть слой управления.
Есть слой восприятия.
Есть AI-слой.
Есть пользовательское взаимодействие.
Есть требования к безопасности и предсказуемости.
То есть это уже не просто «напечатать корпус». Это архитектурная задача, где нельзя думать только локально.
Самое интересное, что у авторов OpenLoong опубликованы не только 3D‑модели, но и материалы по железу и программной части. Для тех, кто интересуется робототехникой, это очень сильная отправная точка.
Как выглядит в проекте

Ссылку на 3D сборку оставлю ниже
Мои первые шаги
Разумеется, для начала купил 3d принтер.
Взял Elegoo Centauri Carbon (не реклама), ребятам удалось сделать нормально и за недорого, молодцы и удачи им, когда приехал с разбитым стеклом из-за доставки, вежливо прислали новое стекло, за что спасибо!

И начал печатать корабли… И сделал свою первую распечатку. До этого в жизни 3д принтером не пользовался. Но вроде как-то сориентировался.
Как я уже выше сказал, за основу я взял OpenLoong — открытый проект полноразмерного гуманоидного робота.
Мне понравилась сама идея: не пытаться с нуля придумать геометрию всего робота, а взять существующую открытую базу и пройти практический путь сборки руками.
Но важно понимать: открытый проект не означает “скачал файлы, нажал кнопку, получил робота”.
На практике остаётся много вопросов:
-
как подготовить детали к печати;
-
как ориентировать их на столе;
-
где ставить поддержки;
-
какие детали лучше печатать первыми;
-
что делать, если геометрия не подходит под конкретную сборку;
-
как подгонять посадочные места;
-
как усиливать слабые зоны;
-
как потом размещать электронику;
-
как перейти от пластика к актуаторам и управлению.
Иногда приходилось нарезать детали в 3d, чтобы уместились на столе принтера и затем клеить..
В целом OpenLoong для меня — это не “готовый конструктор”, а отправная точка для инженерного pet project.
Первый план выглядел слишком оптимистично
Когда я только начинал, план казался довольно понятным:
-
Напечатать голову.
-
Собрать плечевой блок и часть корпуса.
-
Перейти к шее и актуаторам.
-
Начать работу с руками.
-
Добавить электронику.
-
Разобраться с управлением моторами.
-
Подключить восприятие речи и AI.
И конечно же процесс меня «приземлил». Все сложнее, чем было запланировано:) Тут буквально несколько отдельных миров.
Голова — это уже отдельный этап.
Плечи — отдельный этап.
Шея — отдельный этап.
Актуаторы — отдельная большая инженерная тема.
Руки — вообще самостоятельный проект.
AI — это уже верхний слой, который имеет смысл добавлять только тогда, когда нижние слои достаточно стабильны.
Голова: первый крупный этап
Первым крупным этапом стала голова.
На рендерах и в CAD всё выглядит красиво. Но когда начинаешь печатать физическую деталь, появляются вопросы, которых не видно на картинке:
-
как правильно расположить деталь на столе;
-
где нужны поддержки;
-
сколько пластика уйдёт;
-
сколько будет печататься деталь;
-
не поведёт ли её;
-
как потом снять поддержки;
-
насколько точно совпадут отверстия;
-
получится ли нормально собрать корпус головы.
Первую версию робота я решил не доводить до идеального внешнего вида. Без полировки, без покраски, без попытки сразу сделать “как на выставке”.
Вспоминается персонаж

Это был осознанный выбор и гнаться за идеалом было бы бессмысленно, так как я закладывал, что что-то распечатанное может пойти на помойку в любую секунду.
В pet project легко застрять на косметике: шкурить, красить, перепечатывать, улучшать внешний вид. Но если делать это слишком рано, можно потерять месяцы, так и не проверив механику.
Поэтому мой принцип был простой:
Сначала геометрия и функциональность, потом красота.
Печатал голову PLA, все остальное в роботе дальше только PETG CF и просто PETG. Больше PLA не трогал, он очень хрупкий.
Когда появились «лазки», проект стал ощущаться иначе
В какой-то момент я напечатал лицевую часть головы с отверстиями под камеры или датчики.
И с виду уже проект перестаёт быть абстрактной сборкой. Он начинает выглядеть как будущая система.
Хотя технически внутри ещё почти ничего нет: ни нормального зрения, ни сервоприводов, ни электроники, ни управления. Но внешний образ уже появляется.
Да, на этом этапе всё выглядит скорее как черновой инженерный прототип, а не как выставочный робот. Но именно так и выглядит ранняя стадия DIY-сборки: проверка геометрии важнее покраски и красивых рендеров.


Fusion 360 пришлось осваивать не для красоты, а для выживания проекта
Я программист. Моя привычная среда — IDE, Git, логи, профилировщики, Docker, CI/CD, базы данных и сервисы.
Но в робототехнике очень быстро понимаешь: без CAD нормально двигаться невозможно.
Нужно:
-
подгонять детали;
-
менять крепления;
-
проектировать адаптеры;
-
делать посадочные места;
-
проверять зазоры;
-
усиливать слабые зоны;
-
понимать, как деталь будет печататься;
-
думать, как потом подлезть к крепежу.
Так я начал осваивать Fusion 360.
Сначала это выглядело просто: “мне нужно всего лишь чуть-чуть поправить деталь”.
Потом выяснилось, что это “чуть-чуть” требует понять эскизы, ограничения, плоскости, тела, компоненты, историю операций, экспорт в STL/STEP и связь модели с реальной печатью.
Для меня как для разработчика это было похоже на переход от “я поправлю одну строчку” к “надо понять архитектуру модуля, зависимости, контракты и runtime-поведение”.
Главное открытие: CAD — это не рисование красивых форм. Это способ думать о сборке.
В программировании модуль иногда можно рассматривать почти изолированно. В механике деталь почти никогда не существует сама по себе. Она связана с соседними деталями, крепежом, нагрузкой, направлением печати, доступом инструмента и будущим обслуживанием.
Корпус и плечи: когда проект стал больше похож на робота
После головы я перешёл к корпусу и плечевому блоку.
Это уже другой масштаб. Большие белые детали, рама, посадочные места под плечи, место под шею, крепления, общая геометрия верхней части тела.
На фотографиях видно, что стадия ещё черновая. Где-то заметны слои печати, где-то временная сборка, где-то детали просто приложены для проверки. Но именно так, кажется, и выглядит настоящий DIY-проект.
Сначала ты радуешься, что деталь вообще напечаталась 🙂
Потом радуешься, что она примерно встала на место.
Потом понимаешь, что крепление надо переделать, потому что в реальности оно мешает другой детали.
И вот здесь программистский опыт снова помогает. Я отношусь к этому как к итерационной разработке. Не “один раз идеально спроектировать”, а двигаться через версии, проверки, ошибки и улучшения с гибкостью.

Когда я временно поставил голову на корпус, робот впервые начал выглядеть как цельная система.
Пока без полноценной шеи, без нормальной кинематики, без рук, но направление уже стало видно.
Шея: маленький узел, который быстро становится важным
Шея кажется небольшой частью по сравнению с корпусом или руками. Но для гуманоидного робота она важна.
Голова должна не просто стоять сверху. Она должна:
-
держаться надёжно;
-
иметь возможность двигаться;
-
не цеплять корпус;
-
не иметь лишнего люфта;
-
оставлять место под проводку;
-
выдерживать нагрузку;
-
быть обслуживаемой.
На раннем этапе я просто надел голову на корпус для наглядности. Это был временный прототип, чтобы увидеть пропорции и понять, куда двигаться дальше.
В софте мы часто делаем proof of concept. В железе это тоже работает, только результат можно потрогать руками.
В сборке все выглядит получше:)
Руки: отдельный проект внутри проекта и тут фиаско
Следующим крупным направлением стали руки.
Рука гуманоидного робота — это очень сложный узел. Даже если пока не делать полноценную кисть с пятью пальцами, остаются:
-
плечо;
-
локоть;
-
предплечье;
-
крепления;
-
передача усилия;
-
моторы;
-
редукторы;
-
кабели;
-
ограничения по весу;
-
прочность деталей.

Но на самом деле это был приятный момент. На полу лежала уже не просто куча пластика, а почти собранная рука. Но в голове я понимаю, что нужно учесть многое и взлетит ли это, покажет время.
В руках особенно хорошо чувствуется ограничение 3D-печати, гибкость пластика, вес.
Напечатать форму можно. Но если узел должен работать под нагрузкой, нужно думать совсем о другом:
-
прочность пластика;
-
направление слоёв;
-
втулки;
-
подшипники;
-
люфты;
-
износ;
-
крепёж;
-
доступ к обслуживанию;
-
как всё это будет двигаться после сборки.
То есть “выглядит как рука” и “работает как рука” — это две разные стадии.
И то что я распечатал ее, наивный, совсем не значит, что в реальности она будет работать как надо.
Для того, чтобы поднять этот вес руки, нужно иметь a) мощный двигатель б) хорошее теплоотведение, чтобы не было перегрева двигателя. В моем случае думаю руку придется переделывать.
Актуаторы и моторы: место, где всё становится серьёзно
Корпус, голова и руки выглядят неплохо. Но настоящий робот начинается там, где появляются актуаторы, а до этого это просто поделка из пластика.
На этом этапе я начал разбираться с BLDC-моторами, редукторами, схемами управления, электроникой управления двигателями и best practices по приводам.
И здесь быстро становится понятно, почему гуманоидные роботы стоят дорого.
Пластик можно напечатать дома.
Крепёж можно заказать.
Fusion 360 можно освоить.
Но качественные приводы, редукторы, датчики положения, драйверы, питание и управление — это уже серьёзная часть бюджета и сложности.
Пока это не готовая промышленная система. Но мне интересно разобраться именно в физике узлов, а не просто купить дорогой готовый actuator и прикрутить его.
Для меня как разработчика это похоже на разницу между “подключить библиотеку” и “понять, как она устроена внутри”. Иногда можно использовать готовое решение. Но если хочешь действительно разобраться в системе, приходится идти глубже.
По электронике
Пытаюсь что-то сделать с двигателем 5010 360kv (но двигатель слабый, для практики пойдет)
В качестве контроллера взял: ODrive3.6
Возможно как получится разобраться с электроникой, смогу сделать нормальный редуктор, планирую использовать в качестве пластика Нейлон 6
Что уже получилось
На текущий момент у меня есть:
-
напечатанная и собранная голова;
-
лицевая панель с отверстиями под камеры или датчики;
-
часть корпуса;
-
плечевой блок;
-
элементы шеи;
-
первые детали рук;
-
механика локтя;
-
понимание, как дальше двигаться по моторам и управлению;
-
первые практические навыки Fusion 360;
-
опыт печати крупных деталей и их подгонки;
-
первые шаги в электронике управления двигателями.
Это ещё не робот, который ходит по комнате и приносит чай. Но это уже не фантазия уровня “когда-нибудь я соберу робота”, хотя время покажет… может это просто увлечение…
Но в целом, это физическая конструкция, которая постепенно растёт.
Что оказалось сложнее всего
Самое сложное — не какая‑то одна деталь.
Сложнее всего, что гуманоидный робот заставляет одновременно держать в голове много разных дисциплин.
В обычной backend‑разработке можно быть сильным Java‑разработчиком и довольно долго не трогать фронтенд, железо или механику.
Здесь так не получится.
Ты меняешь крепление — это влияет на сборку.
Меняешь мотор — это влияет на питание.
Меняешь редуктор — это влияет на геометрию.
Меняешь корпус — это влияет на проводку.
Добавляешь камеру — нужно место, питание, крепление, софт и обработка данных.
Робот быстро наказывает за локальное мышление.
И это, наверное, самое полезное в таком pet project. Он учит смотреть на систему целиком.
Дальнейший план
Дальше я хочу двигаться по нескольким направлениям:
-
Довести механику корпуса и шеи.
-
Продолжить работу над руками.
-
Разобраться с актуаторами и BLDC-моторами.
-
Собрать базовую электронику управления.
-
Добавить камеры и микрофоны.
-
Подключить распознавание речи.
-
Начать эксперименты с AI-слоем.
-
Постепенно перейти от статичной фигуры к роботу, который может воспринимать команды и выполнять простые действия.
-
Думаю я не потяну дорогие видеоускорители Ai, просто можно попробовать мой Orange PI привязать к модели https://deepmind.google/models/gemini-robotics/. Модель от гугла может давать координаты, видеть, слышать — быть полноценным дешевым «мозгом»
Почему я решил написать об этом на Хабре
Во-первых, хочется показать живой инженерный путь без иллюзии, что всё получается с первого раза.
Во-вторых, мне кажется, такие pet projects полезны и для профессионального развития. Даже если моя основная работа — Java backend, опыт сборки робота заставляет думать шире: про архитектуру, ограничения, зависимости, отказоустойчивость и взаимодействие разных слоёв системы.
В-третьих, возможно, эта статья будет полезна тем, кто давно хочет попробовать робототехнику, но думает, что “это только для лабораторий”. Нет, начать можно проще. С одной детали. С маленького узла. С головы, руки, поворотной платформы или простого манипулятора.
Хотелось освятить хороший open source проект OpenLoong китайских инженеров, которые рады подарить миру их ценные разработки. Если кто-то сможет дальше зайти, чем я, делитесь, буду рад посмотреть на ваши успехи. Ниже я даю ссылки на исходный код робота, может наши инженеры создадут что-то классное на базе его наработок.
Вместо заключения
Я пока в начале пути. У меня нет готового гуманоидного робота, который ходит, разговаривает и помогает по дому.
Есть напечатанные детали, рабочий стол, крепёж, Fusion 360, 3D-принтер, эксперименты с электроникой, первые шаги в механике и огромное желание когда-то довести это до работающей системы.
Если вам интересна робототехника, не ждите идеального момента. Берите небольшой узел, открывайте CAD, печатайте первую деталь, ошибайтесь, переделывайте и двигайтесь дальше.
Роботы не появляются из воздуха.
Их кто-то собирает руками.
Почему бы не попробовать тоже? Успехов всем!
Ссылки, простите 🙂
Обо мне: https://ashotagabekov.ru
Telegram-канал проекта Chatly Robotics: https://t.me/chatlyrobotics
Rutube: https://rutube.ru/channel/13420137/
YouTube: https://www.youtube.com/channel/UCZ3P5gwPSPQMUTqx7O-nMiQ
OpenLoong: https://atomgit.com/openloong
OpenLoong Github зеркало: https://github.com/loongOpen
Ссылка на 3d файл полного робота (осторожно открывается долго): https://atomgit.com/openloong/OpenLoongHardware/blob/main/QingLoong V2.5/en/QingLoong V2.5 — 3D File/TA00-Assemblies of Modules — 3D File/TA00-Qinglong Humanoid Robot — Master Assembly.STEP
Для быстрого просмотра лучше открывать в CAD Assistant, но для работы лучше через Fusion 360
ссылка на оригинал статьи https://habr.com/ru/articles/1042178/