Functional compliance in the control of a personal robot