---
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 со специфическими для проекта функциями


