Funding for sure. :)
But as for perception, the inverse is also true. If I have an perfect planning/prediction system, I can throw the grungiest, worst perception data into it and it will still plan successfully despite tons of uncertainty.
And therein lies the real challenge of robotics: It's fundamentally a systems engineering problem. You will never have perfect perception or a perfect planner. So, can you make a perception system that is good enough that, when coupled with your planning system which is good enough, you are able to solve enough problems with enough 9s to make it successful.
The most commercially successful robots I've seen have had some of the smartest systems engineering behind them, such that entire classes of failures were eliminated by being smarter about what you actually need to do to solve the problem and aggressively avoid solving subproblems that aren't absolutely necessary. Only then do you really have a hope of getting good enough at that focused domain to ship something before the money runs out. :)
I feel like this is true for every engineering discipline or maybe even every field that needs to operate in the real world
Not really. Even the perfect planning system will appear eratic in the presence of perception noise. It must be because it can’t create information out of nowhere.
I have seen robots eratically stop because they thought that the traffic in the oncomming lane is enroaching on theirs. You can’t make the planning system ignore that because then sometimes it will collide with people playing chicken with you.
Likewise I have seen robots eratically stop because they thought that a lamp post was slowly reversing out in front of them. All due to perception noise (in this case both location noise, and misclassification.)
And do note that these are just the false positives. If you have a bad perception system you can also suffer from false negatives. Just experiment biases hide those.
So your “perfect planning/prediction” will appear overly cautious while at the same time will be sometimes reckless. Because it doesn’t have the information to not to. You can’t magic plan your way out of that. (Unless you pipe the raw sensor data into the planner, in which case you created a second perception system you are just not calling it perception.)
Like with model-free RL learning a model from pixels?
I've not seen a system that claimed to be robust to sensor noise that didn't do some filtering, estimation, or state representation internally. Those are just sensor systems inside the box.
Another gem!
Perception tasks involve relatively simple operations across very large amounts of data, which is very easy if you have a lot of parallel processors.
Abstract thought is mostly a serial task, applying very complex operations to a small amount of data. Many abstract tasks like evaluating logical expressions cannot be done in parallel - they are in the complexity class P-complete.
Your brain is mostly a parallel processor (80 billion neurons operating asynchronously), so logical reasoning is hard and perception is easy. Your CPU is mostly a serial processor, so logical reasoning is easy and perception is hard.
Yes, relatively simple. Wait, isn't that exactly what the article explained was completely wrong-headed?
The person you are responding to is instead comparing differences in biological systems and mechanical systems.
The brain itself is both a parallel system an a serially constrained system. It has distributed activity but it must resolve in a serial chain of action. We can't walk left and right at the same time. Any goals forces us to follow specific steps in specific order. This conflict between parallel processing and serial outputs is where the magic happens.
It doesn't really change the significance of the quote, but I can't help but point out that we didn't even have nerve cells more than 0.6 billion of years ago.
if your eyes suddenly crossed, you'd probably fall over too!
[1] by a disillusioned computer vision phd that left the field in the 1990s.
I think it's not about perfect perception, there is no such thing not even in humans, it's about adaptability, recovery from error, resilience, and mostly about learning from the outside when the process fails to work. Each problem has its own problem space to explore. I think of intelligence as search efficiency across many problem spaces, there is no perfection in it. Our problem spaces are far from exhaustively known.
I have a name for it now!
I've said over and over that there are only two really hard problems in robotics: Perception and funding. A perfectly perceived system and world can be trivially planned for and (at least proprio-)controlled. Imagine having a perfect intuition about other actors such that you know their paths (in self driving cars), or your map is a perfect voxel + trajectory + classification. How divine!
It's limited information and difficulties in reducing signal to concise representation that always get ya. This is why the perfect lab demos always fail - there's a corner case not in your training data, or the sensor stuttered or became misaligned, or etc etc.