Сотрудничество
Проекту требуются любые специалисты, которым интересны наши направления исследований. Исследовательский характер работы предполагает применение передовых Open Source технологий. Участвуя в проекте, Вы получаете возможность приобщиться к
- Robot Operating System 2 - стремительно развивающийся робототехнический программный фреймворк, адаптированный для реальных задач
- Robonomics - блокчейн-сеть на Polkadot/Ethereum для запуска приложений Robot As A Service
- Ignition Gazebo - набор библиотек для симуляции робототехнических систем, реализующий архитектуру Entity-Component-System
- Nix/NixOS - передовая система детерминированной сборки программных пакетов
- FreeCAD, Blender и другие open source системы проектирования.
Результаты работы публикуются под открытой лицензией и Вашим именем и станут общемировым общественным достоянием. Проект может быть интересен магистрантам/аспирантам в качестве материала для написания диссертаций по темам Assembly Sequence Planning/Generation, Task and Motion Planning, Light's Out Industrial Automation, Autonomous Multi-Agent Systems.
На данном этапе особенно нужны:
- Программисты по направлениям
- встраиваемое ПО для управления двигателями, датчиками (C, С++, Rust)
- драйверы ROS2 для роботов манипуляторов - (C++)
- ПО для работы с 3D. Преобразование моделей CAD в сборочные графы, преобразование сборочных графов в планы исполнения (Python/C++)
- алгоритмы машинного обучения - применение обучения с подкреплением в области робототехники (Python)
- плагины для симулятора Ignition Gazebo - (C++)
- интерфейсное ПО для обеспечения работы с Robonomics, разработка контейнеров (Bash/Python/Docker/Nix)
- Схемотехники для разработки цифро-аналоговых схем управления (KiCAD)
- Конструкторы печатных плат и другой оснастки (KiCAD, FreeCAD, Blender)
- DevOps. Для достижения целей приходится интегрировать много открытого софта из разных сфер (графика, инженерия, игровые движки, научные вычисления, робототехника), поэтому мы решили использовать nix как инструмент управления зависимостями - как для программ, так и для 3D-моделей/датасетов/логов-симуляции, так как там воспроизводимость и отслеживаемость изменений тоже важны. По мере внедрения в реальный сектор будет произодиться также и деплой ПО на базе NixOS. Помимо софта мы разрабатываем ещё и железо (самих роботов), поэтому есть желание использовать nix в перспективе как стандарт для публикации и интеграции исходников в open source hardware.
- Требования:
- любовь к open source, nix и функциональному программированию ^-^
- интерес к предметной области - инженерия, ИИ, робототехника, аддитивное производство
- желание разбираться в системах сборки различных языков программирования
- будет плюсом желание собрать робота/мини-производство себе самому и стать в перспективе пользователем этой системы
- Задачи:
- ведение репозитория с nix-overlay для задач проекта
- обеспечение разработчиков команды виртуальными средами с необходимыми зависимостями (40% Python, 30% C/C++, всё остальное)
- опакечивание разнообразного ПО, актуализация существующих пакетов, исправление в них ошибок
- (возможно) разработка кастомной библиотеки nix со специфическими для проекта функциями
- Требования: