Because they have to interact with our world, not a lab or a factory.

If you are building a robot for a factory, put limit switches, magnetic sensors or whatever you want on it.

If, on the other hand, you want to build robots to live, work and interact with humans they need to be capable of understanding my world the way I do. Think of a robot interacting with a toddler or a bunch of kids.

This is monumentally harder than scanning in front of the robot with a laser to detect geometry, measure height and approach speed and then plan a jump. Much harder.

Not to diminish their work but the math and physics seem almost trivial. Figure out the x-intercept, width and height of a parabolic path that will give you enough margin of error not to touch the obstacle. Then do the math on the time delay between the front and rear legs based on approach speed. Then plan the gait in order to be able to have the legs at the right point at the right time. So long as you have a robot that can jump it's a done deal.

Again, I know it is more complicated than that, but it doesn't compare to the degree of sophistication a robot would have to have to manage the real world with binocular vision. My 9 year old kid can fly remote controlled model airplanes tooling along at over 60 miles per hour just using his eyes. You don't need millimeter accuracy laser measurement devices, you need to understand the world around you in some context.

Context: I built walking robots (not toys, research grade) over 25 years ago. Today there's virtually no difference in actuation mechanisms and sensors. A lot of these programs are grant-sucking machines that are reinventing the wheel rather than making true progress. Here are some of the things we need:

- True binocular vision systems that can develop an understanding of the environment to various degrees of sophistication (this is hard)

- Better actuators. The artificial muscle has yet to be realized. Make your arm limp on the table. You can't do that with a robot. You can simulate it. But it isn't the same thing. You'll actually consume power and spin gears/pumps very fast to be in "limp and compliant" mode. Real flexibility and real compliance are critical for robots that need to interact with people and animals. Every animal on the planet relies on this to interact with the environment.

- Better programming paradigms. We are still typing "if" statements and "for" loops to program intelligent robots. A far greater degree of abstraction is required to truly advance the art. No, libraries are not a solution. We need to be able to express concepts to a machine in far more efficient terms. How do you teach a robot to tie a knot on a rope on a table and have that robot think about using that same knot on a sailboat or to restrain a dog to a post? Without telling it that these are options?

- Better means of communication with machines. Buttons and knobs isn't how you communicate with your taxi driver or housekeeper. A 5 year old kid should be able to command a machine without having to rock the Linux command line.

etc.

I guess my argument is that we already know how to build "parlor trick" machines. We've known how to do this for quite some time. Any set of decent mechanical engineers can build a decent walking machine given a reasonable amount of time. Making it walk and even jump is almost just as trivial.

Because of the way these departments are funded the truly hard and interesting work might not be done or might not see the same degree of funding. Some of the items I listed above could require 10 to 20 years of solid dedication before the "Oh Wow! Did you see that!" moment is reached. Most of the funding out there isn't smart enough to support these kinds of projects. And so the money goes to the guy who can put a spring-loaded plunger on a little robot with wheels and show it can jump to the top of a building. You know, first year college physics, if not high school physics. This does virtually zero to advance robotics but it sure makes politicians write checks!