This internship centers on the full-stack development of a compact quadrotor drone for indoor robotics research. The project involves designing a platform with full low-level control access, programmable in Python and C++, to facilitate advanced research in control systems.
The goal is to design, build, and validate a fully functional drone prototype. The system must connect to a standard WiFi router to transmit telemetry and receive commands from a ground station, while running custom flight control firmware onboard. Experiments will be implemented in the indoor flight arena in CentraleSupélec.
Required skills:
-
Embedded C/C++: Strong proficiency in microcontroller programming, memory management, and real-time constraints.
-
Microcontrollers: Hands-on experience with embedded platforms (e.g., ESP32, STM32).
-
Control theory: Theoretical and practical understanding of dynamic systems modelling, sensor fusion, PID, and more advanced controllers.
-
Electronics: Fundamental skills in soldering, wiring, and circuit debugging.
-
Bonus Assets: Familiarity with digital communication (I2C, UART), quadcopter dynamics, UDP networking, ROS 2, and microROS.
Internship description: The intern will own the complete development cycle of the platform:
-
Hardware integration: Assemble the system, including the ESP32 microcontroller, IMU sensors, brushless motors, ESCs, LiPo battery, and airframe.
-
Firmware Development: Implement Real-Time Flight Control in C++. This includes sensor data acquisition, attitude estimation, stabilization, motor mixing, and UDP communication (WiFi Station mode).
-
Ground station software: Develop a Python-based interface for high-level control, handling joystick/keyboard input, command transmission, and real-time data visualization.
-
Testing & tuning: Perform bench tests and flight trials to tune controller parameters, implement safety features(e.g., failsafe on connection loss).
-
Documentation: Produce a comprehensive build guide, wiring schematics, and code documentation.