PULP-Shield for Autonomous UAV
Unmanned Aerial Vehicles (UAVs) are increasingly being used for practical applications such as the inspection of industrial facilities or cultivated fields, assistance in natural disaster or hazardous areas, etc.
Like it happened in many other fields, also in robotics the miniaturization of vehicles is one of the major trends of evolution. In this context commercial quadrotors have already reached the nano-scale, featuring only few centimeters in diameter and few tens of grams in weight.
In this context the Parallel Ultra Low-Power Platform  developed here at IIS, is the key computational unit to bring state-of-the-art complex vision algorithms for autonomous navigation into the nano-scale class of vehicles.
The goal of this thesis is to design, develop and test the first PULP-shield, a compact PCB pluggable into our target nano-size quadrotor  (open-source and open-hardware). The PCB design will include the development of 2 SPI interfaces, one directly connected to the Himax ULP camera  and a second connecting the accelerator to the existing MCU.
Thus, the PULP-shield will be coupled with the STM32F405 MCU  on-board of the UAV, extending the computational capability of the drone, paving the way for the next-generation autonomous UAVs.
In detail the goals of the project can be summarized as follows:
- 1. HW design: starting from the drone's schematics, design and develop the PULP-shield with the two required SPI interfaces
- 2. SW middleware: integration of the existing drivers in order to have: the full support of the interfaces and the offload mechanism to run the kernel on PULP
- 3. SW application: test and extend the Visual Odometry pipeline proposed in 
- Familiarity with embedded system programming in C.
- Knowledge of PCB design would be an asset (i.e. Altium tool ).
- Basic knowledge of Free RTOS  and STM32F4 MCU family  is favorable.
- 25% Theory
- 25% PCB design
- 30% C embedded programming
- 20% Verification and experimental evaluation
Detailed Task Description
Meetings & Presentations
The student(s) and advisor(s) agree on weekly meetings to discuss all relevant decisions and decide on how to proceed. Of course, additional meetings can be organized to address urgent issues.
 PULP Project http://iis-projects.ee.ethz.ch/index.php/PULP
 Crazyflie2.0 https://www.bitcraze.io/crazyflie-2/
 Altium Design System http://www.altium.com/
 Free RTOS http://www.freertos.org/
 STM32F405/7 http://www.st.com/resource/en/datasheet/stm32f405og.pdf
 F. Conti, D. Palossi, A. Marongiu, D. Rossi and L. Benini, "Enabling the heterogeneous accelerator model on ultra-low power microcontroller platforms," 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE), Dresden, 2016, pp. 1201-1206.
 Himax ULP Image Sensor http://www.himax.com.tw/products/cmos-image-sensor/image-sensors/hm01b0/
 D. Palossi, A. Marongiu, and L. Benini, "Ultra Low-Power Visual Odometry for Nano-Scale Unmanned Aerial Vehicle", 2017 Design, Automation & Test in Europe Conference & Exhibition (DATE), Lausanne, 2017 - to be published