Personal tools

PULP-Shield for Autonomous UAV

From iis-projects

Revision as of 15:21, 20 February 2018 by Dpalossi (talk | contribs)
Jump to: navigation, search
PULP-Shield.png

Description

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 [1] 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 [2] (open-source and open-hardware). The PCB design will include the development of 2 SPI interfaces, one directly connected to the Himax ULP camera [7] and a second connecting the accelerator to the existing MCU.

Thus, the PULP-shield will be coupled with the STM32F405 MCU [5] 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 [8]


Status: Completed

Semester Thesis by Hanna Mueller
Supervision: Daniele Palossi, Antonio Pullini, Andrea Marongiu

Prerequisites

  • Familiarity with embedded system programming in C.
  • Knowledge of PCB design would be an asset (i.e. Altium tool [3]).
  • Basic knowledge of Free RTOS [4] and STM32F4 MCU family [5] is favorable.

Character

25% Theory
25% PCB design
30% C embedded programming
20% Verification and experimental evaluation

Professor

Luca Benini

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.

Literature

[1] PULP Project http://iis-projects.ee.ethz.ch/index.php/PULP

[2] Crazyflie2.0 https://www.bitcraze.io/crazyflie-2/

[3] Altium Design System http://www.altium.com/

[4] Free RTOS http://www.freertos.org/

[5] STM32F405/7 http://www.st.com/resource/en/datasheet/stm32f405og.pdf

[6] 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.

[7] Himax ULP Image Sensor http://www.himax.com.tw/products/cmos-image-sensor/image-sensors/hm01b0/

[8] 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

Practical Details

↑ top