Responsibilities - Development of software for controlling a mobile robot - Selection of technical vision, testing and image processing (rgbd, stereo, depth cameras, lidars, security scanners) - Development of filters for integrating information from proprioceptive and environmental sensors (IMU, GPS, magnetometer, rangefinder etc.). -Selection and optimization of a stack of technologies and algorithms -Development of software architecture, software modules and interaction protocols -Designing the software development process, decomposition of tasks -Optimization of the code -Writing Unit tests. Simulations and modeling Requirements -Experience in Linux (Ubuntu) and git -Performance analysis, code profiling -Clear concept of algorithmic complexity -Concept of multithreading processes -Knowledge of container virtualization and application-level protocols -Knowledge of how real-time systems work -Knowledge of fundamentals of electronics and robotics