--- title: Сотрудничество slug: vacancies --- Проекту требуются любые специалисты, которым интересны наши направления исследований. Исследовательский характер работы предполагает применение передовых 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*. На данном этапе особенно нужны: 1. **Программисты** по направлениям * встраиваемое ПО для управления двигателями, датчиками (C, С++, Rust) * драйверы ROS2 для роботов манипуляторов - (C++) * ПО для работы с 3D. Преобразование моделей CAD в сборочные графы, преобразование сборочных графов в планы исполнения (Python/C++) * алгоритмы машинного обучения - применение обучения с подкреплением в области робототехники (Python) * плагины для симулятора Ignition Gazebo - (C++) * интерфейсное ПО для обеспечения работы с Robonomics, разработка контейнеров (Bash/Python/Docker/Nix) 2. **Схемотехники** для разработки цифро-аналоговых схем управления (KiCAD) 3. **Конструкторы** печатных плат и другой оснастки (KiCAD, FreeCAD, Blender) 4. **DevOps**. Для достижения целей приходится интегрировать много открытого софта из разных сфер (графика, инженерия, игровые движки, научные вычисления, робототехника), поэтому мы решили использовать nix как инструмент управления зависимостями - как для программ, так и для 3D-моделей/датасетов/логов-симуляции, так как там воспроизводимость и отслеживаемость изменений тоже важны. По мере внедрения в реальный сектор будет произодиться также и деплой ПО на базе NixOS. Помимо софта мы разрабатываем ещё и железо (самих роботов), поэтому есть желание использовать nix в перспективе как стандарт для публикации и интеграции исходников в open source hardware. * Требования: - любовь к open source, nix и функциональному программированию ^-^ - интерес к предметной области - инженерия, ИИ, робототехника, аддитивное производство - желание разбираться в системах сборки различных языков программирования - будет плюсом желание собрать робота/мини-производство себе самому и стать в перспективе пользователем этой системы * Задачи: - ведение репозитория с nix-overlay для задач проекта - обеспечение разработчиков команды виртуальными средами с необходимыми зависимостями (40% Python, 30% C/C++, всё остальное) - опакечивание разнообразного ПО, актуализация существующих пакетов, исправление в них ошибок - (возможно) разработка кастомной библиотеки nix со специфическими для проекта функциями