---
id: open-source-robots-and-tools
title: Open source робототехника
---

## Роботы-манипуляторы

Список разнообразных роборук - https://github.com/hobofan/collected-robotic-arms

* [Dexter](https://github.com/HaddingtonDynamics/Dexter/wiki) - Open Source промышленный робот-манипулятор. Разработчик компания [Haddington Dynamics](http://hdrobotic.com/open-source). Для управления используется плата [MicroZed](http://zedboard.org/product/microzed) - SoC(ARMv7 Cortex A9 + Xilinx FPGA на 28K вентилей на одном чипе), 1GB DDR3, microSD). Хорошо [документирован](https://github.com/HaddingtonDynamics/Dexter/wiki), [архитектура](https://camo.githubusercontent.com/09708df6bfe916898d1d89fb56bd67914034655eea4e53219276d24133f74658/68747470733a2f2f68616464696e67746f6e64796e616d6963732e6769746875622e696f2f48445f436f6e74726f6c53797374656d5f32303230313031352e737667). Сборка сложная, с ремнями - более 300 деталей в номенклатуре, но всего два мотора. Инструкция по сборке в [видео](https://www.youtube.com/watch?v=AYD2PSslqfU&list=PLEJQ7hsad17fC2tqTDGNFI_LPk1kX2aE6), [картинках](https://photos.app.goo.gl/jGmsnxtytvdYhgUi8), [тексте](https://github.com/HaddingtonDynamics/Dexter/wiki/HD-Build-Notes). В [презентации](https://www.youtube.com/watch?v=t7lnbrI4B5Q) автор объясняет ключевые достоинства робота - прежде всего это высокая точность(0.8-1.6 million points of precision (CPR)) за счёт использования системы оптических энкодеров и высокопроизводительном ПИД-регуляторе на FPGA. Код FPGA-логики выложен в формате idl, созданном для Viva - графической среды для проектирования FPGA, которую обещали опубликовать два года назад. [Схема](https://user-images.githubusercontent.com/419392/57746151-be2ea780-7684-11e9-80b5-95490f015973.png) FPGA из Viva. Позиционируется как коллаборативный. Готовый робот без оснастки/инструмента продаётся за $13000. Исходники раскиданы по куче разных сайтов(GoogleDocs, Thigniverse, OnShape), очень неудобно собирать. Используются двигатели с волновой передачей производства фирмы http://www.hanzh.com/, которых нет на сайте(заказная позиция с сроком поставки 9-12 недель). 
* [Faze4](https://github.com/PCrnjak/Faze4-Robotic-arm) - робот-манипулятор на шести *шаговых двигателях* с 6-DoF от [Petar Crnjak](https://github.com/PCrnjak). Все детали(кроме электроники и моторов) которого могут быть изготовлены на 3D-принтере. Функционально и по внешнему виду он похож на роботов-манипуляторов, изготавливаемых в промышленности, но ориентирован прежде всего для исследований, образования и любителей робототехники. Лицензия: MIT. Код в статусе "coming soon". Хорошая подробная [документация](https://faze4-robotic-arm-docs.readthedocs.io/en/latest/). Дизайн вдохновлён FANUC’s LR Mate 200iD. Подробная [инструкция](https://github.com/PCrnjak/Faze4-Robotic-arm/blob/master/Assembly%20instructions%203.1.pdf) по сборке.
* [AR3/AR4](https://www.anninrobotics.com/downloads) - 6-осевой робот-манипулятор на *шаговых двигателях* от Chris Annin. В его [github](https://github.com/Chris-Annin) опубликованы stl только на предыдущую модель - AR2, остальное на сайте.  У разработчика сформировалось небольшое, но [живое сообщество](https://www.anninrobotics.com/forum/robot-builds), занимающееся модификациями его манипулятора. Хороший пример - [Dexter Ong](https://github.com/ongdexter) - он выложил [несколько модификаций железа](https://github.com/ongdexter/ar3_hardware_mods) для AR3(опубликовал в STEP) и [сделал интеграцию](https://github.com/ongdexter/ar3_core) с ROS и MoveIT([видео образца](https://www.youtube.com/watch?v=0f0Cw46Jx0U)). Исходники AR3 (STEP + сборка Solidworks) [продаются](https://www.anninrobotics.com/product-page/ar3-complete-solidworks-assembly-step-files) за $99, что весьма демократично. [Инструкция по сборке](https://drive.google.com/file/d/1T_u_RsGdRljIm2Luju5j7sy7eQUTs7K-/view) очень подробная - более 300 страниц с фотками и скринами из Amazon.
* [Niryo One](https://github.com/NiryoRobotics/niryo_one) - миниатюрный робот-манипулятор на *шаговых двигателях* от [Niryo Robotics](https://niryo.com/). [ROS-совместимый](https://github.com/NiryoRobotics/niryo_one_ros). [Электроника](https://github.com/NiryoRobotics/niryo_one/tree/master/Electronics) выложена в pdf в виде эскиза, т.е. принципиальной схемы нет. В папке [Integration](https://github.com/NiryoRobotics/niryo_one/tree/master/Integration) выложены исходники в STEP и Solidworks. Вместе с самим роботом выложены и stl [пяти приспособлений](https://github.com/NiryoRobotics/niryo_one/tree/master/STL/7-Tools). Сборка [в PDF](https://github.com/NiryoRobotics/niryo_one/blob/master/BOM/BOM_StepByStep.pdf): 27 деталей для изготовления на 3D-принтере, огромная номенклатура покупных деталей(более 30 наименований), фирменные моторы Niryo - 3 шт., для управления роботом используется Raspberry Pi 3B, для управления моторами - Arduino. Коммерческий проект для сбыта моторов Niryo.
* [Thor](https://github.com/AngelLM/Thor) - 6-DoF на шаговых двигателях. Полный open source - FreeCAD, KiCAD, GRBL. Модифицировалась. [Список](https://github.com/AngelLM/Thor/wiki/List-of-Thor-Builders) соучастников проекта регулярно пополняется. Интеграции с ROS нет, управление шаговыми двигателями осуществляется через GRBL. Позиционируется как дешёвый робот для образовательных целей. Автор [Ángel LM](http://angel-lm.com).
* [Moveo](https://github.com/BCN3D/BCN3D-Moveo) - 6-DoF на шаговых двигателях. Открыты исходники CAD (Solidworks), firmware, Управляется с помощью Arduino MEGA. [Инструкция по сборке](https://github.com/BCN3D/BCN3D-Moveo/blob/master/USER%20MANUAL/User%20Manual%20BCN3D%20Moveo.pdf). BOM содержит 300 позиций номенклатуры. [Обзоры](https://www.youtube.com/channel/UChWE6IRkO8CkiihtDZKGA9A) на русском. [Разработка пакета](http://lets-go-design-with-lexmaister.blogspot.com/2021/03/moveops3-ros-1-urdf.html) для управления роботов в ROS. Автор [Andreas Hoelldorfer](http://chaozlabs.blogspot.de/)
* [Fred](https://github.com/thomashiemstra/fred) - робот-манипулятор *на двигателях Dynamixel*(разработаны [Robotis](https://emanual.robotis.com/)). Всего используется пять наименований двигателей, управляются по шине RS485 с использованием проприетарного [протокола](https://emanual.robotis.com/docs/en/dxl/protocol2/) на скоростях 9,600 [bps] ~ 4.5 [Mbps]. Спроектирован в Fusion360(исходники выложены архивом). Веб-панель управления манипулятором REST API на FLASK. Акцент в проекте сделан на использовании Reinforcement Learning (SAC + Tensorflow agents) в решении задач инверсной кинематики и движения без коллизий с окружающей средой. Симуляция реализована на pybullet с urdf-моделью робота. Планировщик движений реализован на базе самописной кинематики с использованием python-библиотек. Изготовлен протитоп на 3D-принтере Prusa mk2s из пластика PLA (нижнее звено усилено углеволокном) с камерой C922 PRO HD, на котором проверена работоспособность алгоритма.
* [RR1](https://github.com/surynek/RR1)(Real Robot One) - DIY-ориентированный 6-DoF манипулятор на шаговых двигателях и планетарных редукторах, вдохновлённый AR3/AR4. Разработан учёным-робототехником из Польши Павлом Суринеком (Pavel Surynek, [github](https://github.com/surynek)). [Видео-презентация](https://www.youtube.com/watch?v=RL8fspyn4dw), [блог проекта](https://hackaday.io/project/185958-rr1-real-robot-one-a-diy-desktop-robotic-arm) на Hackaday. Исходные файлы не подготовлены для публикации - представлены только stl-модели редуктора без каких-либо пояснительных документов. Сам автор занимается исследованиями по теме multi-agent path finding (MAPF); в рамках исследований разработаны и опубликованы программные пакеты(солверы) [reLOC](https://github.com/surynek/reLOC/tree/master/reLOC-0.x) и [boOX](https://github.com/surynek/boOX/tree/master/boOX-y).
* [PAROL6](https://github.com/PCrnjak/PAROL6-Desktop-robot-arm). 6-DoF настольный робот-манипулятор для обучения *на шаговых двигателях* от Петра Черняка(Petar Crnjak), разработчика [Faze4](https://github.com/PCrnjak/Faze4-Robotic-arm) и [CM6](https://github.com/PCrnjak/CM6_COBOT_ROBOT). Полезная нагрузка 1 Кг, вес 5.5 Кг, радиус рабочей зоны 400 мм со стандартным гриппером, механические детали изготавливаются с помощью 3D-печати. Разработчик стремился спроектировать модель, наиболее близкую к промышленным решениям по механике, управляющему ПО и юзабилити; учёл опыт предыдущих двух моделей роботов-манипуляторов - например, Faze4 был слишком большим и не очень подходил для размещения на столах в учебных классах. В PAROL6 используются прецизионные планетарные редукторы и ремни для оптимального распределения веса. Конструкция является модульной и позволяет легко добавлять драйверы с замкнутым контуром управления (closed-loop). ПО использует специальный протокол, обеспечивающий стандартное для отрасли время цикла опроса в 60-100 Гц. Графический интерфейс ПО вдохновлен интерфейсами для современных промышленных коботов, где реализованы все стандартные способы управления (resolved rate, cartesian level control, joint level control, motor jog). ПО включает в себя симулятор для тестирования программ без использования физического робота. PAROL6 обладает широкими возможностями благодаря изолированному вводу-выводу, шине CAN и встроенному в конструкцию пневмо-захвату. Все 3D-модели и код опубликованы под GPLv3 Licence. У проекта отличная [документация](https://source-robotics.github.io/PAROL-docs). Описание проекта на [Hackaday](https://hackaday.io/project/191860-parol6-desktop-robotic-arm).

## ROS-драйверы к коммерческим роботам

* [kmriiwa](https://github.com/MortenMDahl/kmriiwa_ws_devel) - проект по коммуникации между KUKA KMR iiwa и ROS2. Для включения функциональности используются несколько пакетов ROS. Navigation2 используется для навигации по мобильному автомобилю. SLAM_Toolbox используется для SLAM. MoveIt2 используется для планирования пути манипулятора.

## Другие роботы

* [open-dynamic-robot-initiative](https://github.com/open-dynamic-robot-initiative) - проект открытого робота с управлением крутящим моментом (torque-control) - миниатюрный аналог Boston Dynamics Spot.  Звенья робота также используются для бюджетного (около $5000) трёхпальцевого устройства захвата ([сайт](https://sites.google.com/view/trifinger/home-page), [paper](https://arxiv.org/pdf/2008.03596.pdf)). Развивается Нью-Йоркским университетом и Институтом Макса Планка.
* [OpenMower](https://github.com/ClemensElflein/OpenMower) - открытый робот-газонокосильщик с ROS Hardware Interface. Авторы задались вопросом "Почему современные роботы-газонокосильщики настолько плохие?" и попробовали разобрать самого дешёвого серийного робота-газонокосильщика YardForce Classic 500. Изучив внутренности, они пришли к выводу, что железо разработано на весьма высоком уровне и проблемы заключаются прежде всего в программном обеспечении. Это побудило их начать проект OpenMower и приобщить к разработке более широкий круг разработчиков. Робот находится в фазе активной разработки, поэтому сейчас использовать исходники следует с осторожностью. Программное обеспечение ROS находится в отдельном репозитории [ClemensElflein/open_mower_ros](https://github.com/ClemensElflein/open_mower_ros).

## Станки с ЧПУ

* [CARVER_X5](https://github.com/MakerLabTunisia/CARVER_X5) - 5-осевой ЧПУ станок. Open Source: CAD - Soliworks, EDA - KiCAD. Proprietary: CAM software - Fusion 360, CNC-контроллер software - Mach3, CNC-interface software - Pokeys + [controller](https://www.poscope.com/product/pokeys57cnc/). 

## 3D-принтеры

* [Open5x](https://github.com/FreddieHong19/Open5x) - 5-осевой 3D-принтер
* [BigFDM](https://github.com/fab-machines/BigFDM) - широко-форматный(рабочая зона 800мм x 800мм x 900мм) 3D-принтер

## Двигатели и контроллеры двигателей

* [odriverobotics/ODrive](https://github.com/odriverobotics/ODrive) - контроллер бесщёточного двигателя, ориентированный на [высокую производительность](https://www.youtube.com/channel/UC0vmOsLFTCTsaYcL2PmWscA). 70 контрибьюторов! Поддерживается компанией ODrive, которая производит моторы([сравнительная таблица разных моторов](https://docs.google.com/spreadsheets/d/12vzz7XVEK6YNIOqH0jAz51F5VUpc-lJEs3mmkWP1H4Y/edit#gid=0)). Автор [madcowswe](https://github.com/madcowswe) давно не обновляет свои репозитории.
* [rene-dev/stmbl](https://github.com/rene-dev/stmbl) - драйвер серводвигателя переменного тока на STM32F4
* [mjbots/moteus](https://github.com/mjbots/moteus) - бесщёточный сервопривод с контроллером
* Проект VESC (Benjamin Vedder)
  * [bldc-hardware](https://github.com/vedderb/bldc-hardware) - Электронный регулятор хода(англ. ESC, Electronic Speed Controller) с открытым кодом, разработанный в рамках проекта VESC на базе STM32F4. Последний раз обновлялся 6 лет назад.
  * [bldc](https://github.com/vedderb/bldc/) - Firmware для контроллера. Обновляется часто (55 контрибьюторов). Поддерживается протокол UAVCAN(libcanard). Содержит виртуальную машину для обработки скриптов [LispBM](https://github.com/svenssonjoel/lispbm). Виртуальная машина написана на Си и поддерживает следующие аппаратные платформы - Zynq 7000, STM32f4, NRF52840, ESP32 (ARM - WROOM), ESP32C3 (RISC-V), Raspberry PI (32bit Raspbian OS). [Описание команд](https://github.com/vedderb/bldc/tree/master/lispBM#vesc-specific-commands-and-extensions), [видео](https://www.youtube.com/watch?v=08xKqT-ETAc) с примером использования для обработки CAN-фреймов. Разрабатывается одним человеком.
  * [vesc_tool](https://github.com/vedderb/vesc_tool) - Утилита с GUI для работы с контроллером  обновляется тоже часто. Есть версия для мобильных устройств. В графическом интерфейсе можно писать скрипты на LispBM.
  * [vesc-os-pi](https://github.com/vedderb/vesc-os-pi) - минималистичный образ ОС для Raspberry Pi, позволяющий запустить на нём vesc_tool
  * [vesc_bms_fw](https://github.com/vedderb/vesc_bms_fw) - Встроенное ПО для управления зарядом портативного источника питания
* [Buildbotics](https://github.com/buildbotics) - контроллер ЧПУ для 4-осевого станка. Опубликованы [firmware](https://github.com/buildbotics/bbctrl-firmware) (Си), [schematics+pcb](https://github.com/buildbotics/bbctrl-pcb) (gEDA), [конструктив](https://github.com/buildbotics/bbctrl-enclosure) (AutoCAD, dxf) и другие вспомогательные репозитории. Архитектура контроллера основана на Raspberry Pi3, MCU Atmega193 и веб-интерфейсе - [схема](https://cdn-cfepe.nitrocdn.com/IaOOhnrZOaEuMnEtFXeLBmaDvzjPJeJV/assets/static/optimized/rev-4dccca7/wp-content/uploads/2021/07/Buildbotics-controller-connections-1.png).
* [nearzero2](https://skysedge.com/robotics/nz2/index.html) - вторая версия контроллера бесщёточных двигателей [nearzero](https://skysedge.com/robotics/nearzero/index.html). Обеспечивает точное, медленное или позиционное управление всеми бесщеточными двигателями для приложений с прямым приводом, разомкнутым или замкнутым контуром. Arduino-совместимая прошивка, исходные файлы в KiCAD, лицензия CC BY-SA. Разработан для управления open source мотором [RoboWheel RW170](https://skysedge.com/robotics/robowheel170/index.html).


## Библиотеки, фреймворки

* Хорошая подборка [Free and Open source CAM/CNC software](https://www.reddit.com/r/CNC/comments/aizatc/free_and_open_source_camcnc_software/) на Reddit
* [Machinekit](https://github.com/machinekit/) - Machinekit-HAL является мощным программным обеспечением для контроля машин *в реальном времени* на основе Hardware Abstraction Layer. Применяется для управления промышленным роботом-манипулятором или станком с ЧПУ. Поддерживаются RT PREEMPT и [Xenomai 2](http://xenomai.org) патчи ядра Linux для поддержки реального времени. В обзоре [одного из разработчиков](https://github.com/machinekoder) machinekit описаны [варианты интеграции с ROS](https://machinekoder.com/machinekit-ros-open-source-robots) и [пример реализации](https://machinekoder.com/machinekit-ros-industrial-robot) для робота-манипулятора Borunte.
* [LinuxCNC](https://github.com/LinuxCNC/linuxcnc) - пакет Debian/Ubuntu для управления фрезерными и токарными станками, 3d-принтерами, лазерными резаками, плазменными резаками, манипуляторами, гексаподами и т.п. системами. 129 контрибьюторов, часто обновляется, используется коммерческими фирмами(в связке с machinekit для управления в реальном времени) - например, [Tormach](https://rosindustrial.org/s/Tormach-and-a-ROS-Open-Manipulator.pdf)
* [CAMotics](https://github.com/CauldronDevelopmentLLC/CAMotics) - программное обеспечение с открытым исходным кодом для симуляции трёх-осевого ЧПУ. Работает на Linux ([сборка для Armbian](https://github.com/koendv/camotics-raspberrypi) на RPi 4), OS-X и Windows. Это отдельное приложение со своим GUI.
* [pyCAM](https://github.com/SebKuzminsky/pycam) - G-код генератор и симулятор для 3-осевого станка с ЧПУ. Сейчас активно не разрабатывается, последний релиз *в апреле 2020*.
* [Slic3r](https://github.com/slic3r/Slic3r) - G-код генератор. Генерит G-код из STL/OBJ/AMF моделей. 100 контрибьюторов. Изначально разрабатывался командой проекта RepRap. Последний релиз *10 мая 2018 года*. 
* [PrusaSlicer](https://github.com/prusa3d/PrusaSlicer) - G-код генератор, форк [Slic3r](https://github.com/slic3r/Slic3r). Создаёт G-код для FFF-принтеров или PNG-слои для mSLA-принтеров из STL/OBJ/AMF моделей. Работает с контроллерами ЧПУ Mach3, LinuxCNC и Machinekit. Развитое сообщество разработчиков - около 150 контрибьюторов. Поддерживается производителем 3D-принтеров компанией Josef Prusa. Лицензия AGPLv3. Последний релиз *16 июля 2021 года*.
* [QP/C](https://github.com/QuantumLeaps/qpc). Real-time embedded framework/RTOS for embedded systems based on active objects (actors) and hierarchical state machines.
* [Micro-ROS](https://github.com/micro-ROS). Проект разработки ROS-совместимых устройств и приложений с ограниченными ресурсами
	* [Sensor micro-ROS use case in Modular Arm - PDF](http://www.ofera.eu/storage/deliverables/M36/OFERA_61_D64_sensor_use_case_final__PU.pdf)
	* [micro-ROS meets Moveit2](https://www.eprosima.com/index.php/company-all/news/166-micro-ros-meets-moveit) - [Github](https://github.com/micro-ROS/micro-ROS_moveit2_demo)
	* [micro-ROS Open Manipulator demo](https://github.com/micro-ROS/micro-ROS_openmanipulator_demo), [msg/srv spec](http://wiki.ros.org/open_manipulator_msgs), Open Manipulator [repo](https://github.com/ROBOTIS-GIT/open_manipulator)
* [Mycodo](https://github.com/kizniche/Mycodo) - хорошо задокументированная система мониторинга и управления технологическими процессами. Изначально была разработана для гидропоники, но применялась автором и для других задач: Автоматизация выращивания грибов, Наземное выращивание растений, Поддержание гомеостаза пчелиной пасеки, Поддержание влажности в подземной искусственной пещере летучих мышей, Дистанционный радиационный мониторинг и картографирование. Написана на Python. Может быть развёрнута на любой из модификаций Raspberry Pi (Zero, 1, 2, 3, 4).
* [Isaac SDK](https://developer.nvidia.com/isaac-sdk) ([github](https://github.com/NVIDIA-ISAAC-ROS)). Представляет из себя комплекс модулей для разработки программного обеспечения для автономных роботизированных систем. Требует наличия GPU с поддержкой CUDA 10.2. Также на данный момент рекомендуется версия Ubuntu 18.04. Ввиду модульности есть возможность использования некоторых компонент GEMs с ROS2. Состоит из следующих компонентов:
    * Isaac SIM - Симулятор в нескольких реализациях. Сам по себе Isaac SIM предоставляет функционал по генерации данных для обучении моделей
	    * Isaac Sim Omniverse - использует комплект NVIDIA Omniverse Kit. Он обеспечивает доступ к технологиям трассировки лучей NVIDIA PhysX и RTX для высокопроизводительного фотореалистичного моделирования роботов.
	    * Isaac Unity 3D - интегрированный с unity симулятор
    * Isaac GEMs - Библиотека алгоритмов оптимизированных под работу на NVIDIA GPU. Включает в себя как реализации алгоритмов навигации, планирования, детектирования объектов, SLAM, ML. 
    * Isaac Engine - Фреймворк для написания исполняемых узлов. Имеет `cpp/python` API. Основная идея написания программ состоит в реализации компонент (`codelet`), по аналогии с ROS2 `components` - исполняемые программы динамически выгружаемые в среду и из неё
* [CANOpenRobotController](https://github.com/UniMelbHumanRoboticsLab/CANOpenRobotController). Фреймворк для управления жёсткими многосоставными робототехническими системами на базе конечных автоматов. Изначально разрабатывался для управления экзоскелетами (см. проект [ALEX Embedded System](https://exoembedded.readthedocs.io/en/latest/)). Включает в себя также реализацию [CANopenLinux](https://github.com/CANopenNode/CANopenLinux) для обеспечения интерфейса между встроенной Linux с поддержкой CAN и драйверами/датчиками двигателей на основе CANopen. Код фреймворка разделён на 3 уровня:
	* *Уровень связи CANopen*: обеспечивает связь на уровне CAN, предоставляя механизмы для отправки и получения сообщений PDO и SDO.
	* *Уровень робота*: определяет управляемые компоненты робота, включая соединения, связанные приводы и устройства ввода.
	* *Уровень приложения*: определяет логику высокого уровня для устройства на основе реализации конечного автомата.  
* [SimpleFOC](https://github.com/simplefoc/Arduino-FOC) - библиотека векторного и шагового управления двигателями. Изначально была создана для Arduino, но сейчас поддерживает широкий ассортимент оборудования: двигатели(BLDC, шаговые), датчики поворота(магнитные, тока, энкодеры), микроконтроллеры(AVR, STM32, ESP32, Teensy), драйверы ключей(L6234, DRV8305, DRV8313). Библиотека реализует следующую схему композиции элементов системы управления - двигатель + датчик угла + датчик тока + драйвер + микроконтроллер, различные комбинации которой стремится поддерживать. Помимо непосредственно библиотеки, в рамках проекта были разработаны аппаратные модули драйверов для контроля токов от 3 до 30А, а также приложение с графическим интерфейсом SimpleFOCStudio для отладки алгоритмов управления. У проекта весьма активное и развитое сообщество: github, форум, discord, магазин для дистрибьюции разработанных аппаратных модулей, а также весьма объёмная и качественная документация с изложением теории векторного управления и примерами реализованных проектов. Поддерживаются среды разработки ArduinoIDE и PlatformIO.
* [Open3D](https://github.com/IntelVCL/Open3D). [Сайт](http://www.open3d.org/), [документация](http://www.open3d.org/docs/release/introduction.html). Поддерживает быструю разработку программного обеспечения, работающего с 3D-данными. Интерфейс Open3D предоставляет набор тщательно отобранных структур данных и алгоритмов как на C ++, так и на Python. Бэкэнд сильно оптимизирован и настроен для распараллеливания. Open3D был разработан с чистого листа с небольшим и тщательно продуманным набором зависимостей. Его можно настроить на разных платформах и скомпилировать из исходного кода с минимальными усилиями. Код чистый, оформлен в едином стиле и поддерживается с помощью четкого механизма проверки кода. Open3D использовался в ряде опубликованных исследовательских проектов и активно развертывается в облаке. Мы приветствуем вклад сообщества разработчиков ПО с открытым исходным кодом. Участники консорциума ROS-Industrial в [видеопрезентации](https://www.youtube.com/watch?v=eFjymCNbFng) показали каким образом они используют Open3D в задачах реконструкции геометрии объектов с недорогими RGB-D камерами. Ранее они использовали [yak](https://github.com/ros-industrial/yak). 
* [Extended Object Detection ROS](https://github.com/Extended-Object-Detection-ROS/extended_object_detection). [Wiki](https://github.com/Extended-Object-Detection-ROS/extended_object_detection/wiki), [видео-презентация(ru)](https://www.youtube.com/watch?v=2qwgAfdnEt0). Данный пакет является решением в области компьютерного зрения, который содержит набор различных методов детектирования объектов, объединенных одним интерфейсом. Для использования пакета не требуется погружение в API, все настройки детектирования доступны через единый конфигурационный файл. Пакет разработан в рамках парадигмы "распознавания по частям", что позволяет указывать различные признаки объекта, такие как образ, цвет, форма, размеры и др. Эти признаки распознаются по-отдельности и далее агрегируются в целостные объекты. Помимо распознавания простых объектов, пакет позволяет задавать их комбинации, детектируя сложный объект, который является набором простых объектов и отношений между ними. Пакет предоставляет полноценный ROS интерфейс, позволяющий использовать его в задачах робототехники.


## Сервисы

* [CADCloud](https://github.com/opencomputeproject/CADCloud) - сервер для публикации 3D-моделей, их версионирования и коллективной разработки. На сервере запускается экземпляр FreeCAD, через который модели публикуются в хранилище. Авторизация пользователей осуществляется через TokenAuth и TokenSecret. Сервер самописный на go, фронтенд на js. Для разворачивания нужно 2 CPUs, 4 Гб ОЗУ, 4 Гб ПЗУ + отдельный SMTP-сервер для регистрации пользователей. Есть Docker-контейнер. 5 контрибьюторов (90% коммитов один разработчик).

## Организации

* [Southwest Research Institute Robotics](https://github.com/swri-robotics)
* [ROS-Industrial](https://github.com/ros-industrial)
* [EEZ - Envox Experimental Zone](https://github.com/eez-open) - "Open hardware/open source that bridge the gap between DIY/hobbyist and professional solutions" - Открытое ПО и железо, устраняющее разрыв между любительскими и профессиональными решениями. Главная разработка - [EEZ Bench Box 3 (BB3)](https://github.com/eez-open/modular-psu) - модульная платформа для испытания и измерений электрооборудования. Есть модули питания, релейного вывода, измерения температуры. Для программирования EEZ BB3 разработана специальная [Studio IDE](https://github.com/eez-open/studio), где можно на FBD-подобном языке запрограммировать логику работу прибора и создать визуализацию с помощью drag&drop.

## Государственные программы

* [ROSIN](https://www.rosin-project.eu/) - проект поддержки консорциума [ROS-Industrial](https://github.com/ros-industrial), длившийся с 2017 по 2020 год, при финансировании со стороны Евросоюза и отдельных европейских коммерческих фирм. Гранты выделялись как конкретным техническим проектам (Focused Technical Project, FTP), так и образовательным (Educational Project, EP). В рамках проекта были разработаны-улучшены [множество библиотек и конечных решений](https://www.rosin-project.eu/results) с открытым исходным кодом, среди которых можно выделить:
	* планировщик движений MoveIt2
	* пакет [ros_control](http://wiki.ros.org/ros_control) - обобщённый интерфейс для управления двигателями
	* [ROBIN](https://github.com/ScalABLE40/robin) - мост через разделяемую память между Codesys и ROS
	* [биндинги](https://github.com/ada-ros/) для языка программирования [Ada](https://ru.wikipedia.org/wiki/%D0%90%D0%B4%D0%B0_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F))
	* [интерфейс](https://github.com/cyberbotics/webots_ros) между ROS и симулятором [Webots](https://github.com/cyberbotics/webots)
	* [Integration Service](https://github.com/eProsima/Integration-Service) - сервис для интеграции ROS2 с другими middleware
	* [ROS-драйвер](https://github.com/UniversalRobots/Universal_Robots_ROS_Driver) для манипулятора UR
	* [ROS-пакет](https://gitlab.com/beta-robots/imc_driver) для работы с [servo-контроллерами IMC](https://ingeniamc.com/) через [ros_control](http://wiki.ros.org/ros_control)/[EtherCAT](https://www.ethercat.org/en/technology.html)
