Learning to Seek: Autonomous Source Seeking with Deep Reinforcement Learning Onboard a Nano Drone Microcontroller

How can we leverage the power of TinyML to unlock novel applications with constrained flying robots?

In our recent work, we present fully autonomous source seeking onboard a highly constrained nano quadcopter, by contributing application-specific system and observation feature design to enable inference of a deep-RL policy onboard a nano quadcopter. We verify our approach with simulation and in-field testing on a Bitcraze CrazyFlie, a 30g nano quadcopter, using only the cheap and ubiquitous Cortex-M4 microcontroller unit.

We show how ML can be a critical component in application-specific system design for robotics, as our model learns to use lightweight and cheap sensors instead of heavy and expensive cameras. Deploying TinyML onboard a flying robot poses a unique set of challenges, such as severe payload and endurance constraints. Contrary to most TinyML applications, the weight of compute is much more important than its power consumption: every gram counts!

We would love to hear your feedback on this project, that is currently under review at ICRA.


1 Like

Is the NN trained with the all inputs , 1 light and 4 laser reading ?

We feed 4 laser readings and 2 application-specific features into the network. Those 2 features, s1 and s2, are a function of light readings:

Here c is the current light reading, and cf a low-passed version of the light reading. We design custom features to limit the input size of the network, and with that computation.