Denis Nikitin, Developer in Grenoble, France
Denis is available for hire
Hire Denis

Denis Nikitin

Verified Expert  in Engineering

Applied Mathematics Developer

Location
Grenoble, France
Toptal Member Since
July 17, 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.

Portfolio

CNRS France
Optimization Algorithms, Numerical Analysis, Network Access Control...
Institute of Problems of Mechanical Engineering of Russian Academy of Sciences
Physics Simulations, Numerical Analysis, Neural Networks...
GEOSCAN, LLC
OpenCV, Optimization Algorithms, Signal Processing, Control Theory, Eclipse...

Experience

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

Work Experience

Researcher

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

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: Optimization Algorithms, Computer Vision, PID Controllers, Linear Algebra, Eigen, OpenCV, C++

Biological Neural Networks Simulation and Analysis

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 RoboCup@Work

I created an object-recognition system with an RGBD sensor in C++ for RoboCup@Work 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

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

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

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

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

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

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

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

Languages

C++, C++11, Python, Simulink

Libraries/APIs

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

Tools

LaTeX, MATLAB, Microsoft Visual Studio, Visual Studio

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, Robotics, 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, Physics, Discrete Mathematics, Robot Operating System (ROS), Numerical Methods, Control Theory, Signal Processing, PID Controllers, Artificial Neural Networks (ANN), Numerical Analysis, 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 (RNNs)

Frameworks

OpenNI, Microsoft Kinect, OpenCL

Paradigms

Linear Programming, Object-oriented Programming (OOP)

Platforms

Windows, Eclipse

2018 - 2021

PhD Degree in Applied Mathematics and Computer Science

Universite Grenoble Alpes - Grenoble, France

2016 - 2018

Master's Degree in Applied Mathematics and Computer Science

Saint Petersburg State University - Saint Petersburg, Russia

2012 - 2016

Bachelor's Degree in Applied Mathematics and Computer Science

Saint Petersburg State University - Saint Petersburg, Russia

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring