A Novel Execution Scheme for Ultra-tiny CNNs Aboard Nano-UAVs
Autonomous unmanned aerial vehicles (UAVs) are increasingly getting smaller and smarter, up to the so-called nano-sized UAVs -- a few tens of grams in weight. Their tiny form factor can be a game-changer in many practical applications such as aerial inspection or assistance in natural disaster areas, to name a few. This project follows the trail of the PULP-Dronet research project [1,2], deep learning-based autonomous navigation engines for nano-drones. This shallow convolutional neural network (CNN) runs aboard a 27-grams drone being fed with images and outputting a steering angle (regression problem) and a probability of collision (classification problem). This project aims to enhance the autonomous navigation capabilities aboard a Crazyflie 2.1 nano-drone  by optimizing the onboard execution of minimal variants of the PULP-Dronet baseline model: Tiny-PULP-Dronet -- up to 50x smaller and 30x faster. The candidate will work on the State-of-the-Art open-source framework DORY , which is in charge of translating high-level PyTorch models into the final C implementation deployed on the nano-drone. A key aspect of this project is the final in-filed testing, which offers the possibility of deploying the overall pipeline in a real-life demonstrator and assessing its actual performance on the ground.
- Available as Master/Semester Thesis (milestones and project's goals will be adjusted accordingly)
- Tutor: Dr. Daniele Palossi firstname.lastname@example.org
- Supervisor: Prof. Dr. Luca Benini
- Familiarity with C programming.
- Knowledge of basic python programming and deep learning frameworks (e.g., PyTorch)
- Basic knowledge of parallel programming and Host/Accelerator paradigm, or willing to learn
- Basic knowledge/experience in embedded programming favorable
- 15% Literature and theory study, familarization with existing code
- 10% Python programming, CNN architecture design
- 50% C embedded programming (STM MCU and PULP programming/optimization)
- 15% In-field test and verification
- 10% Report writing
Weekly meetings will be held between the student and the assistants. The exact time and location of these meetings will be determined within the first week of the project. These meetings will be used to evaluate the status and progress of the project. Besides these regular meetings, additional meetings can be organized to address urgent issues as well.
-  D. Palossi et al., "A 64-mW DNN-based visual navigation engine for autonomous nano-drones," in IEEE IoT Journal, 2019.
-  V. Niculescu et al., "Improving Autonomous Nano-Drones Performance via Automated End-to-End Optimization and Deployment of DNNs." in IEEE JETCAS, 2021. https://ieeexplore.ieee.org/abstract/document/9606685
-  Bitcraze Crazyflie 2.1 https://www.bitcraze.io/products/crazyflie-2-1/
-  DORY: https://github.com/pulp-platform/dory, https://arxiv.org/abs/2008.07127