Denis Nikitin, Applied Mathematics Developer in Grenoble, France
Denis Nikitin

Applied Mathematics Developer in Grenoble, France

Member since June 6, 2018
Denis is a scientific software developer with a strong mathematical background and over a decade of experience in robotics. He specializes in simulation, navigation, estimation, and control tasks, as well as in artificial intelligence paradigms, computer vision, and numerical analysis. He's developed several navigation and computer-vision algorithms and now is pursuing a Ph.D. in applied mathematics in control theory of networks.
Denis is now available for hire

Portfolio

Experience

Location

Grenoble, France

Availability

Part-time

Preferred Environment

MATLAB, C++, Visual Studio, Windows

The most amazing...

...thing I've coded is an adaptive algorithm for indoor quadrotor stabilization and control utilizing my own mathematical model and control system

Employment

  • Researcher

    2018 - PRESENT
    CNRS France
    • Developed my PhD thesis regarding aggregated networks control.
    Technologies: Optimization Algorithms, Numerical Analysis, Network Access Control, Control Theory, Math
  • Junior Researcher

    2013 - PRESENT
    Institute of Problems of Mechanical Engineering of Russian Academy of Sciences
    • Created robots for testing several control algorithms.
    • Developed electroencephalography-based robot control.
    • Constructed an adaptation system for quadrotor thrust identification.
    • Performed physical simulations and analysis of large biological neural networks.
    Technologies: Physics Simulations, Numerical Analysis, Neural Networks, Artificial Neural Networks (ANN), Signal Processing, Nonlinear Optimization, MATLAB, C++
  • Control and Software Engineer

    2016 - 2018
    GEOSCAN, LLC
    • Designed a stabilization system for the GEOSCAN Pioneer quadrotor.
    • Developed a line detection and 3D matching algorithm for Agisoft PhotoScan software.
    • Built an indoor ultrasound positioning system for the GEOSCAN Pioneer quadrotor.
    • Invented an algorithm for trajectory generation and control of a quadrotor swarm.
    • Wrote an algorithm for stable continuous quadrotor flipping.
    Technologies: OpenCV, Optimization Algorithms, Signal Processing, Control Theory, Eclipse, MATLAB, C++
  • Robotics Teacher

    2013 - 2017
    Saint Petersburg Physics and Math Lyceum 239
    • Coached students who took first and second prizes in the World Robots Olympiad in 2015, 2016, and 2017.
    Technologies: Quadrotor, Optimization Algorithms, Computer Vision, PID Controllers, Linear Algebra, Eigen, OpenCV, C++

Experience

  • Biological Neural Networks Simulation and Analysis (Development)

    I worked with the Technical University of Berlin on an analysis of biological neural networks. I programmed a simulation system in C++ and developed a control algorithm for the special type of the network. Now the paper is due to be published.

  • KUKA youBot for [email protected] (Development)

    I created an object-recognition system with an RGBD sensor in C++ for [email protected] competition. Also, I implemented a navigation system for KUKA youBot robot in ROS C++ with SLAM and A* algorithm.

  • Indoor Positioning System for GEOSCAN Pioneer Quadrotor (Development)

    This is an ultrasound-based system with four fixed ultrasound beacons which transmit a frequency-modulated signal. I developed a model of this system in MATLAB and created filtering and position estimation algorithms.

  • Quadrotor GEOSCAN Pioneer (Development)

    This is a small quadrotor that was created for indoor flights. I implemented (in C++) its attitude estimation and stabilization system, then (after the positioning system was complete) the position estimation and stabilization system. Also, I built, in MATLAB, a trajectory generation and control algorithm for several quadrotors with a guarantee of collision avoidance. Finally, I created an algorithm for continuous flipping of the quadrotor.

  • SLAM System for RGBD Sensors (Development)

    I invented my own way to store and update a map of 3D space, then created a SLAM system and reconstructed 3D models in C++.

  • DIY Quadrotor (Development)

    I developed my own quaternion-based mathematical model of the quadrotor, then built a stabilization algorithm and thrust identification algorithm. These results were published in a Russian mathematical journal and are now in the translation process for an international journal; also, they were part of my bachelor thesis. Finally, I built a quadrotor from scratch and programmed it in C++ using my model.

  • Electroencephalography-based Robot Control System (Development)

    I created a classification system of EEG signals for detecting "thoughts" like "turn left" or "turn right". This allowed a user to control a simple robot only with my mind. The classification was done in MATLAB whereas the robot was programmed in C++.

  • SummerGardenBot (Development)

    This was a pair of robots with the goal to maintain the condition of statues in Saint Petersburg's Summer Garden. The robots use a computer vision-based navigation system, RGBD sensors for statue model building, and several brushes for cleaning. C++ with OpenCV, OpenNI, and Eigen was used.

  • Robot Drummer (Development)

    I created and programmed (in C++) a robot that can play drum lines for famous songs and improvise on its own.

Skills

  • Languages

    C++, C++11, Python, Simulink
  • Libraries/APIs

    OpenCV, Eigen, OpenGL, Standard Template Library (STL)
  • Tools

    LaTeX, MATLAB, Microsoft Visual Studio, Visual Studio
  • Industry Expertise

    Robotics, Physics
  • Other

    Applied Mathematics, Mathematical Analysis, Convex Optimization, Nonlinear Optimization, Computer Vision, Performance Analysis, Mathematics, Linear Algebra, Linear Regression, Game Physics, Autonomous Navigation, 3D Manipulation, 3D Pose Estimation, Control Systems, Mathematical Programming, Mathematical Modeling, Linear Optimization, Physics Simulations, Scientific Computing, Numerical Optimization, Visual Odometry, Image Processing, Motor Control, Machine Learning, Computer Science, Simultaneous Localization & Mapping (SLAM), Motion Control, Artificial Intelligence (AI), Simulations, Algorithms, Physical Computing, Physical Science, Discrete Mathematics, ROS, Numerical Methods, Control Theory, Signal Processing, PID Controllers, Quadrotor, Artificial Neural Networks (ANN), Numerical Analysis, Math, Network Access Control, Deep Neural Networks, Deep Learning, Heuristic & Exact Algorithms, Optimization Algorithms, Multithreading, Genetic Algorithms, 3D Visualization, 3D Reconstruction, Neural Networks, Recurrent Neural Networks
  • Frameworks

    OpenNI, Microsoft Kinect, OpenCL
  • Paradigms

    Linear Programming, Object-oriented Programming (OOP)
  • Platforms

    Windows, Eclipse

Education

  • PhD degree in Applied Mathematics and Computer Science
    2018 - 2021
    Universite Grenoble Alpes - Grenoble, France
  • Master's degree in Applied Mathematics and Computer Science
    2016 - 2018
    Saint Petersburg State University - Saint Petersburg, Russia
  • Bachelor's degree in Applied Mathematics and Computer Science
    2012 - 2016
    Saint Petersburg State University - Saint Petersburg, Russia

To view more profiles

Join Toptal
Share it with others