Reasoning robots for human-centric spaces