Patent ID: 6181983
Filing Date: 2001-01-30
Classification: B25J,G05B

Abstract:
A method of controlling a robot, in an environment of robotic physical motion limits, to move a point on the robot from a current first position vector q.sub.l to a second position vector q.sub.i+1 ; wherein the robot has n.sub.dof robotic joint articulations or degrees of freedom and the method employs a kinematic equation based on use of a Jacobi Matrix J(q) having n.sub.dof columns;the method comprising:providing a calculating unit coupled to the robot:inputting a control command to the calculating unit, the command further comprising a desired end-effect destination shift .DELTA.x.sub.d, andcalculating the second position vector q.sub.i+1 from the inputted destination shift .DELTA.x.sub.d and the first position vector q.sub.i ;wherein the step of calculating the second position vector q.sub.t+1 further comprises:(a) calculating a scalar energy criterion(q-q.sub.i).sup.T diag(.DELTA..sub.j)(q-q.sub.i)wherein .DELTA..sub.j are first non-negative weighting values and j=1, . . . n.sub.dof ;calculating a scalar reference-position deflection criterion(q-q.sub.ref).sup.T diag(.beta..sub.j)(q-q.sub.ref)wherein .beta..sub.j are second non-negative weighting values and j=1, . . . n.sub.dof and q.sub.ref is an articulation reference position value that is predetermined such that a sequence of the position vectors q.sub.i runs near this reference position value;calculating a scalar acceleration criterion(q-2q.sub.i +q.sub.i-1).sup.T diag(.gamma..sub.j)(q-2q.sub.i +q.sub.i-1)wherein .gamma..sub.j are third non-negative weighting values and j=1, . . . n.sub.dof ;calculating an additional criterion further comprising the negative of a scalar parameter p satisfying a kinematic equationp.multidot..DELTA.x.sub.d =J(q.sub.i) (q-q.sub.i)and an inequality 0.ltoreq.p.ltoreq.1, whereby p is an attained fraction of the commanded end-effect destination shift .DELTA.x.sub.d ; and(b) summing the energy criterion, the reference-position criterion, the acceleration criterion, and the additional criterion to obtain a scalar quality function f(q);(c) determining secondary conditions comprising the kinematic equation, the inequality 0.ltoreq.p.ltoreq.1, physical path limitations q.sub.min and q.sub.max, a maximum articulation speed q.sub.max, and a maximum articulation acceleration q.sub.max ;(d) starting from the first position vector q.sub.i, iteratively repeating optimization steps to obtain a series of intermediate position vectors, the optimization steps further comprising:(d1) determining the active and inactive secondary conditions in the intermediate position vector;(d2) taking a gradient of the quality function j(q) to obtain an optimization vector oriented in a descent direction of the quality function f(q);(d3) projecting the optimization vector in a tangent space of active secondary conditions, whereby the optimization vector is orthogonal to a set of gradients of active secondary constraint conditions;(d4) scaling a magnitude of the optimization vector according to a set of inactive secondary constraint conditions to obtain a scaled optimization vector;(d5) obtaining a sum vector by adding the scaled optimization vector to the intermediate position vector; and(d6) evaluating the sum vector to determine if the sum vector lies generally at a minimum of the quality function; and(d7) if the sum vector does not lie generally at the minimum, thenrepeating the optimization steps starting from a new intermediate vector equal to the sum vector plus the preceding intermediate vector; and(e) if the sum vector lies generally at the minimum, then moving the point on the robot to the second position vector q.sub.i+1.