Робототехника с открытым исходным кодом
Робототе́хника с откры́тым исхо́дным ко́дом (англ. Open-source robotics) — область робототехники, в которой роботы разрабатываются с использованием открытого аппаратного обеспечения и свободного программного обеспечения, причём чертежи, схемы и исходный код публикуются в открытом доступе. Это направление тесно связано с движениями открытого проектирования, культуры мейкеров[1] и открытой науки.
Требования
Открытая робототехника подразумевает, что информация об аппаратной части робота тщательно документирована и легко воспроизводима, чтобы любой желающий мог собрать аналогичное устройство. Для этого конструкция должна использовать только легкодоступные стандартные компоненты и инструменты, а процесс сборки должен быть детально описан: включать ведомость материалов и пошаговые инструкции по сборке и тестированию («в стиле Ikea»). Наличие только CAD-файла недостаточно, так как он не раскрывает этапы изготовления или тестирования. Такие требования стандартны для открытого аппаратного обеспечения в целом и закреплены различными лицензиями, сертификациями, особенно теми, что определяются рецензируемыми журналами Journal of Open Hardware и HardwareX.
Требования по лицензированию для программного обеспечения аналогичны любому открытому программному обеспечению. Дополнительно, чтобы программные модули были практически применимы в робототехнических системах, они должны быть совместимы с другими программами, как правило, по стандартам, установленным сообществом middleware.
Аппаратные системы
На сегодняшний день открытая робототехника применяется для:
- Роботизированных манипуляторов — например, PARA[2] или Thor[3]
- Колёсных мобильных роботов — например, OpenScout[4]
- Четвероногих роботов, например, инициативы Open Dynamic Robot[5]
- Квадрокоптеров (БПЛА) — например, Agilicious
- Гуманоидных роботов — например, iCub, Berkeley Humanoid Lite[6], Unitree R1 и G1 EDO Plus[7]
- Платформ для «воплощённого» ИИ — например, RealBOT[8]
- Беспилотных автомобилей — например, OpenPodcar[9] (→ Персональный скоростной транспорт)
- Роботов-рыб — например, OpenFish
- Лабораторных роботов (например — для разливки жидкостей)[10]
- Роботов для вертикального фермерства
- Роевых роботов — например, HeRoSwarm[11]
- Бытовых задач: пылесосы, мойщики полов[12] и газонокосилки[13]
- Робототехнических видов спорта, включая битвы роботов[14] и автономные гонки[15]
- Образования[16]
Аппаратные компоненты
Большинство определений открытого аппаратного обеспечения допускают использование закрытых компонентов в модульном дизайне, если они широко доступны. Тем не менее, множество разработок стремится к максимальному «открытию» элементов, чтобы в итоге получить полностью открытую конструкцию.
Открытые транспортные средства с ручным управлением и отдельные компоненты, такие как у проектов Open Source Ecology, часто становятся основой для последующей автоматизации.
В качестве подкомпонентов используются открытое вычислительное оборудование, например, Arduino и RISC-V, а также открытые моторы и драйверы, например, Open Source Motor Controller и ODrive.
Платы управления открытого аппаратного обеспечения для робототехники[17] упрощают стыковку между программным обеспечением и физическим оборудованием.
Программные компоненты
Промежуточное ПО (middleware)
Промежуточное ПО — это программные системы, объединяющие отдельные программные модули. В робототехнике это, прежде всего, системы для обмена сообщениями в реальном времени по стандартизированным протоколам. Наиболее распространённое открытое решение — ROS2, операционная система для роботов (второе поколение); в 2025 году состоялся выпуск дистрибутива Kilted Kaiju (май, с поддержкой до декабря 2026 года)[18], а для предыдущей версии Jazzy Jalisco в августе вышли патч-релизы[19][20]. Другие альтернативы: ROS1, YARP (например, в iCub), URBI, Orca. Запуск открытого middleware чаще всего происходит под открытой ОС, особенно под Ubuntu на базе Linux.
Драйверы
Большинству датчиков и приводов требуется программный драйвер. На уровне драйверов стандартизации в мире open source немного, поскольку каждая железка уникальна. Создание открытых драйверов для закрытого железа затруднительно, так как требует как низкоуровневого программирования, так и реверс-инжиниринга.
Симуляторы
К числу открытых симуляторов для робототехники относятся Gazebo, MuJoCo и Webots. Для Gazebo 2025 год стал переходным: в январе была прекращена поддержка классической версии (до 11-й включительно) в пользу современной модульной архитектуры, ранее известной как Ignition[21]. Дорожная карта нового Gazebo включает переход на библиотеку Qt6, использование протокола Zenoh для транспортного уровня и улучшение интерфейсов для обучения с подкреплением. Открытые игровые 3D-движки, например Godot, также иногда используются как симуляторы при наличии интерфейсов к middleware[22][23][24][25].
ПО для автоматизации
На уровне искусственного интеллекта существует большое число открытых реализаций алгоритмов, в основном для ROS2. К основным компонентам относят:
- Компьютерное зрение — например, детектор объектов YOLO.
- 3D-фотограмметрия[26]
- Навигация, включая SLAM и планирование (например, nav2)[27]
- Планирование движений (англ. Motion planning) и обратная кинематика для манипуляторов, например, фреймворк MoveIt. В июне 2025 года состоялся релиз «MoveIt K»[28]
- «Физический ИИ» (англ. Physical AI) — направление, в рамках которого создаются модели, позволяющие роботам выполнять сложные задачи без явного программирования; активно развивается компаниями Google DeepMind и NVIDIA
Сообщество
Первые признаки роста интереса к созданию и обмену робототехническими разработками появились в среде мейкеров. Сначала проходили соревнования по управляемым аппаратам (например, битвы роботов), затем появились проекты автономных телеприсутствующих роботов (например, Sparky), а позже — полностью автономных машин (например, Open Automaton Project). Сейчас существует множество коммерческих фирм, выпускающих наборы для самостоятельной сборки простых роботов.
Сообщество приняло открытые лицензии, сертификации и взаимодействие с рецензируемыми публикациями, следящими за корректностью и долговечностью публикации исходных данных, а также подтверждающими выполнение требований открытости. Эти механизмы стали особенно значимы после случаев, когда проекты, заявленные как open source, впоследствии закрывались из-за коммерциализации или других обстоятельств.
Как и в других формах открытого аппаратного обеспечения, продолжаются споры о критериях удобства воспроизводства: нередко считается, что схему должен суметь собрать студент технического вуза за несколько дней в обычной фаблабе, однако это требование тоже имеет спорные детали.
В отличие от других форм открытого аппаратного обеспечения, открытая робототехника включает значительный программный компонент, следовательно, требует участия не только инженеров по железу, но и программистов. Открытые подходы распространены в программировании дольше, чем в технике, поэтому робототехника становится полем для переноса этих идей.
Сообщество в открытой робототехнике разнородно, но значительная его часть использует ПО ROS и встречается на профильных конференциях. Ключевыми площадками являются ROSCon[29], посвящённая развитию ROS, Международная конференция по интеллектуальным роботам и системам (IROS), прошедшая 19—25 октября 2025 года в Ханчжоу[30], и Международная конференция по интерактивной коллаборативной робототехнике (ICR), состоявшаяся 10—13 ноября 2025 года в Ханое[31]. Помимо академических мероприятий, проводятся и конкурсы для разработчиков, например, AI for Industry Challenge, организованный Intrinsic и Open Robotics в конце 2025 года[32][33].