Robotic computing has reached a tipping point. A myriad of autonomous machines such as drones, logistic robots, and self-driving cars are on the cusp of becoming an integral part of our everyday life. The continuous proliferation of autonomous machines, however, depends critically on an efficient computing substrate, driven by higher performance requirements and the miniaturization of machine form factors.
We explore computing systems and architectures for autonomous machines from ground up while targeting both efficiency and safety. A central theme of our work is that the software stack must be developed hand in hand with the architectural substrate. In particular, software and hardware should present predictable (not necessarily deterministic) abstractions to each other. Predictability enables strong resource/timing/energy guarantees, which in turn reduces system variability and paves the way for deploying autonomous machines in mission-critical environment.