What moving between robotics domains taught me about autonomy, constraints, and the questions that keep showing up.
When I worked in home robotics, people often talked about autonomous vehicles as though they were a completely different class of problem.
Then I joined an AV company.
After moving between space robotics, home robotics, autonomous vehicles, and agricultural automation, I’ve become increasingly skeptical that these are fundamentally different classes of problems.
In fact, most of the robotics stack looked suspiciously familiar.
The sensors were different. The environment was different. The constraints were definitely different. But underneath it all, I kept running into the same concepts: transforms, state estimation, optimization, search, world modeling, planning, logging, and all the other machinery required to make a robot do something useful.
The complexity hadn’t disappeared. It had just moved.
In home robotics and manipulation, much of the challenge comes from interacting with objects and reasoning about a large joint state space. Most of the world is relatively static. The robot moves. The world mostly waits.
Autonomous vehicles don’t get that luxury.
There is no such thing as a static scene.
Everything is moving. Every vehicle, pedestrian, cyclist, and traffic light is changing the future state of the world while you’re trying to reason about it. The complexity shifts into the time domain.
But the underlying questions remain remarkably similar.
Where am I?
What’s happening around me?
Where am I trying to go?
What’s the best way to get there?
The biggest differences usually emerge around safety and operational constraints.
A home robot is generally lightweight, relatively slow, and operating in a constrained environment. If something unexpected happens, stopping is often a perfectly reasonable response.
Cars don’t get that luxury.
If an autonomous vehicle encounters uncertainty, “stop immediately” is often not the safest thing it can do. Stopping in the middle of an intersection or on railroad tracks creates a new problem. The system needs to continue behaving safely while managing uncertainty, ideally avoiding the situation altogether.
Agricultural equipment introduces a different set of trade-offs. Stopping is usually fine from a safety perspective, but the machine still has a job to do. Field operations often need to happen within a relatively narrow range of speeds to achieve the desired result. A tractor that stops every time something unexpected happens may be very safe, but it probably isn’t a very productive tractor.
The domains are different.
The constraints are different.
The complexity just moves around.