NanoCockpit: Performance-optimized Application Framework for AI-based Autonomous Nanorobotics
About
Autonomous nano-drones, powered by vision-based tiny machine learning (TinyML) models, are a novel technology gaining momentum thanks to their broad applicability and pushing scientific advancement on resource-limited embedded systems. Their small form factor, i.e., a few 10s grams, severely limits their onboard computational resources to sub-\SI{100}{\milli\watt} microcontroller units (MCUs). The Bitcraze Crazyflie nano-drone is the \textit{de facto} standard, offering a rich set of programmable MCUs for low-level control, multi-core processing, and radio transmission. However, roboticists very often underutilize these onboard precious resources due to the absence of a simple yet efficient software layer capable of time-optimal pipelining of multi-buffer image acquisition, multi-core computation, intra-MCUs data exchange, and Wi-Fi streaming, leading to sub-optimal control performances. Our \textit{NanoCockpit} framework aims to fill this gap, increasing the throughput and minimizing the system's latency, while simplifying the developer experience through coroutine-based multi-tasking. In-field experiments on three real-world TinyML nanorobotics applications show our framework achieves ideal end-to-end latency, i.e. zero overhead due to serialized tasks, delivering quantifiable improvements in closed-loop control performance ($-$30\% mean position error, mission success rate increased from 40\% to 100\%).
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Human Pose Estimation | Human Pose Estimation | Inference Throughput (Hz)48 | 2 | |
| Lane following and obstacle avoidance | Lane follow + obstacle avoidance | -- | 2 | |
| Pedestrian tracking | Pedestrian tracking | -- | 2 | |
| Drone-to-drone localization | Drone-to-drone localization | Inference Throughput (Hz)39 | 1 | |
| Nano-drone racing | Nano-drone racing | Inference Throughput (Hz)30 | 1 | |
| Object detection and obstacle avoidance | Object detect. + obst. avoid. | -- | 1 | |
| Obstacle Avoidance | Obstacle avoidance | -- | 1 | |
| Optical Flow | Optical flow | -- | 1 |