Controlling a service robot in a smart home with behavior planning and learning