A method for on-line, real-time control of a mobile robot having a mobile base and a manipulatable arm mounted on the base to provide a number of degrees-of-freedom equal to the sum of the number of degrees-of-base-mobility and the number of degrees-of-arm-manipulation, the robot operating in a multi-dimension task space wherein the number of task-space-dimensions is less than the degrees-of-freedom;
- the method comprising the steps of:
- (a) generating a forward kinematic model that relates arm and base joint coordinates to end-effector coordinates;
- (b) generating a differential kinematic model that relates end-effector velocity to arm and base joint velocities including Jacobian matrices of the arm and base, respectively;
- (c) augmenting by column the arm Jacobian matrix with the base Jacobian matrix to obtain an overall end-effector Jacobian matrix where the availability of base mobility appears as extra columns in the end-effector Jacobian matrix because of effectively increasing the dimension of the joint space;
- (d) augmenting by row the end-effector Jacobian matrix of step (c) with a constraint Jacobian matrix which relates to a user-defined additional task to be accomplished due to kinematic redundancy where said additional task results in extra rows in the end-effector Jacobian matrix due to an increase of the task space;
- (e) selecting end-effector and constraint task weighting factors and arm and base joint velocity weighting factors;
- (f) finding the optimal arm and base motions using a closed-loop damped-least-squares approach;
- and
- (g) moving the arm and base of said robot in accordance with the optimal motions resulting from carrying out steps (a) through (f).