> progress needs to be made in natural language processing, machine vision, and human-computer interaction
Natural language processing on my phone is getting pretty damn good.
I've seen machine vision used on security systems that you might find interesting. The object recognition is quite something-- it catalogs every new thing it sees, tracks it while visible, and is pretty successful at remembering things. Even the ol' Xbone is pretty decent; paired with some Roomba features I would think it could mostly suffice for your basic home robot.
Human-computer interaction is also fairly advanced now. Again, my phone does pretty well with this (and is getting better). Then you have something like Watson, which can actually compete on a game show randomly exploring a huge array of general trivia... yes, it had specialized software written for this purpose, but it shows how a simple, formalized style of language can facilitate a wide range of inquiries.
- - -
The big problem is that all these technologies are proprietary, and the rights to their use are divided among a sea of entities who seem to be addicted to squabbling with each other over short-term monetary anxieties rather than cooperating (must... preserve... teh profitz!!).
Ferengis, the lot of them.
One day, someone will transcend all this, get these existing solutions working together, and build a proper robot.
Until then, every other attempt will seem like a turd in comparison with the features we already know exist *right now* but are locked away in war chests behind medieval fortress walls.