Software at Scale 33 - Drone Engineering with Abhay Venkatesh
Containerization on Drones, Rust, Machine Learning, all the trendy terms in one episode
We focus this episode on drone engineering - exploring the theme of “If I wanted to start my own technology project/company that manages drones, what technology bits would I need to know?” We discuss the commoditization of drone hardware, the perception stack, testing and release cycles, simulation software, software invariants, defensive software architecture, and wrap up with discussing the business models behind hardware companies.
1:56 - Are we getting robot cleaners (other than Roomba) anytime soon?
5:00 - What should I do if I want to build a technology project/company that leverages drones? Where should I be innovating?
7:30 - What does the perception stack for a drone look like?
13:30 - Are drones/robots still programmed in C++? How is Rust looked at in their world?
18:30 - What does software development look like for a company that deploys software on drones? What are the testing/release processes like?
20:30 - How are simulations used? Can game engines be used for simulations to test drones? Interestingly - since neural networks perceive objects and images very differently from how brains do it, adapting drone perception to work on a game engine is actually really hard.
26:30 - Drone programming can be similar to client-side app development. But you have to write your own app store/auto-update infrastructure. Testing new releases manually is the largest bottleneck in releases.
30:00 - Defensive programming for drones - how do you ensure safety? What is the base safety layer that needs to be built for a drone? “Return to Base” logic - often separated out into a different CPU.
33:00 - How do hardware businesses look different from traditional SaaS businesses?
38:00 - What are some interesting trends in hardware that Abhay is excited about?