How long do you give until good humanoid robots arrive?

I see humanoid robots like Ameca or the ones mad by EX Dolls, but they seem rather limited. How long do you think it will take? Do you think that it will take 10 years? What do we need for it to happen? For clarification, I'm talking about a humanoid robot that can perform errands, labor, teaching, or sex.