← Back to Patent Explorer
US4975856A Expired / Lapsed US ⏱️ 0.0 years remaining

Motion controller for redundant or nonredundant linkages

Assignee: ROBOTICS RESEARCH Corp MILFORD OH
•
Filing: 1988-06-16
•
Granted: 1990-12-04
•
Expires: 2008-06-16
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A linkage mechanism, such as an industrial robot, comprises an electronic motion controller and a set of self-driven joints. A controller receives a series of end effector positions from memory or from a host control system which define a routine for the mechanism to execute in relation to a predetermined reference frame such as cartesian coordinates. Angular values for the joints are computed in real time which follow the predetermined reference frame values in a manner which avoids the problems of singularities and which efficiently accommodates kinematic redundancy. A corresponding drive signal is generated for each joint.

Inventors

  • 👤 Harvard I. Vold
  • 👤 James D. Farrell

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 14:06
CPC Classifications
B; B25; B25J; B25J9/00; B25J9/16; B25J9/1602; B25J9/1628; B25J9/1643; G; G05; G05B; G05B19/00; G05B19/02; G05B19/18; G05B19/406; G05B19/4061; G05B19/414; G05B19/4141; G05B2219/00; G05B2219/30; G05B2219/33; G05B2219/33172; G05B2219/40; G05B2219/40333; G05B2219/40362

Claims Analysis

Total Claims: 37
Claim 1
Independent Claim 172 words
An apparatus for moving an end effector in response to input signals which define a series of discrete positions along a path of a point associated with said end effector, said apparatus comprising: a. a manipulator upon which the end effector is mounted, the manipulator having a plurality of joints, at least one of said joints including an actuator; and b. a manipulator controller, including a means for providing drive signals to said actuators, the controller comprising: (1) means for generating data sets which identify cartesian coordinate values of points along said end effector path; (2) means for computing a set of joint angles corresponding to said cartesian coordinate points based on the constrained minimization of a convex objective function referenced to a fixed origin; (3) means responsive to said joint angles for producing a drive signal for each of said joint actuators; and (4) means for iterating the functions provided by means 1 through 4 to cause said end effector point to move through a series of increments along a path.
Claim 2
Independent Claim 172 words
An apparatus for moving an end effector in response to input signals which define a series of discrete positions along a path of a point associated with said end effector, said apparatus comprising: a. a manipulator upon which the end effector is mounted, the manipulator having a plurality of joints, at least one of said joints including an actuator; and b. a manipulator controller, including a means for providing drive signals to said actuators, the controller comprising: (1) means for generating data sets which identify cartesian coordinate values of points along said end effector path; (2) means for computing a set of joint angles corresponding to said cartesian coordinate points based on the constrained minimization of a convex objective function referenced to a fixed origin; (3) means responsive to said joint angles for producing a drive signal for each of said joint actuators; and (4) means for iterating the functions provided by means 1 through 4 to cause said end effector point to move through a series of increments along a path.
Claim 3
Dependent Claim 33 words
The apparatus according to claim 1 wherein said joint angle computing means is based on the constrained minimization of a positive semi-definite quadratic form as the objective function referenced to a fixed origin.
Claim 4
Dependent Claim 38 words
The apparatus according to claim 1 wherein said joint angle computing means is based on the constrained minimization of a positive semi-definite quadratic form with a diagonal coefficient matrix as the objective function referenced to a fixed origin.
Claim 5
Dependent Claim 42 words
An apparatus according to claim 1 wherein said joint angle computation means comprises: means for formulating a Jacobian operator of manipulator coordinate transformation equations; and means for performing said joint angle computation without explicity solving for the null space of the Jacobian.
Claim 6
Dependent Claim 31 words
An apparatus according to claim 1 wherein said joint angle computation means includes means for performing an affine transformation whereby the problem is made directly solvable by the Moore-Penrose inverse definition.
Claim 7
Dependent Claim 47 words
An apparatus according to claim 1 wherein said joint angle computation means includes means for performing an affine transformation whereby a problem is produced which, for a given size Jacobian matrix, is solvable by a constant number of algebraic operations, independent of the elements within the matrix.
Claim 8
Dependent Claim 178 words
An apparatus according to claim 1 wherein said joint angle computation means comprises: means for computing a unique set of joint angle values which minimize: ##EQU14## where: n is the number of joints; k i is a predetermined control value for the i th joint; θ i is the known current position of the i th joint; Δθ i is the unknown change in angle for the i th joint from its current position; θ io is a predetermined origin for the i th joint; {Δθ} is the vector of the unknown change in angle for each joint from its current position; {ΔX} is the vector of the change in cartesian coordinates of the tool position between the current position and the next position; [J°] is the Jacobian matrix evaluated at the current position where the Jacobian is an M by n matrix where M is the number of system constraints and n is the number of actuated joints, defined by the following expression; ##EQU15## where f is the vector of functions mapping joint variables into cartsian coordinates.
Claim 9
Dependent Claim 268 words
An apparatus according to claim 1 wherein said joint angle computation means comprises: a. means for formulating a Jacobian operator of manipulator coordinate transformation equations; b. means for transforming the problem statement of: ##EQU16## into the statement of: minimize 1/2 D.sup.t D subject to: [A]{D}={B} where {D}=[K].sup.-1 ({Δθ}+{θ}-{θ.sub.o }), [A]=[J°][K], {B}={ΔX}-[J°]{θ.sub.o }+[J°]{θ} and ##EQU17## which is a diagonal matrix; c. means for applying a generalized inverse technique which satisfies the transformed problem statement; and d. means for computing the change in joint angles from the previously known position such that: {Δθ}=-({θ}-[K]{D}-{θ.sub.o }) where: n is the number of joints; k i is a predetermined control value for the i th joint; θ i is the known current position of the i th joint; Δθ i is the unknown change in angle for the i th joint from its current position; θ io is a predetermined origin for the i th joint; {θ} is the vector of the known current position of the joints; {θ o } is the vector of predetermined origins for each joint; {Δθ} is the vector of the unknown change in angle for each joint from its current position; {ΔX} is the vector of the change in cartesian coordinates of the tool position between the current position and the next position; [J°] is the Jacobian matrix evaluated at the current position where the Jacobian is an M by n matrix where M is the number of system constraints and n is the number of actuated joints, defined by the following expression: ##EQU18## where f is the vector of functions mapping joint variables into cartesian coordinates.
Claim 10
Dependent Claim 295 words
An apparatus according to claim 1 wherein said joint angle computation means comprises: a. means for formulating a Jacobian operator of manipulator coordinate transformation equations; b. means for transforming the problem statement of: ##EQU19## into the statement of: minimize 1/2 D.sup.t D subject to: [A]{D}={B} where {D}=[K].sup.-1 ({Δθ}+{θ}-{θ.sub.o }), [A]=[J°][K], {B}={ΔX}-[J°]{θ.sub.o }+[J°]{θ} and ##EQU20## which is a diagonal matrix; c. means for transforming the matrix equation [A]{D}={B} into the matrix equation [F]{D}={G} where {G}=[E]{B} and [F]=[E][A] such that [E] produces the following relationship: [I]=[F][F] t ; d. means for calculating the solution of the minimization function as: {D}=[F] t {G}; and e. means for computing the change in joint angles from the previously known position such that: {Δθ}=-({θ}-[K]{D}-{θ.sub.o }) where: n is the number of joints; k i is a predetermined control value for the i th joint; θ i is the known current position of the i th joint; Δθ i is the unknown change in angle for the i th joint from its current position; θ io is a predetermined origin for the i th joint; {θ} is the vector of the known current position of the joints; {θ o } is the vector of predetermined origins for each joint; {Δθ} is the vector of the unknown change in angle for each joint from its current position; {ΔX} is the vector of the change in cartesian coordinates of the tool position between the current position and the next position; [J°] is the Jacobian matrix evaluated at the current position where the Jacobian is an M by n matrix where M is the number of system constraints and n is the number of actuated joints, defined by the following expression: ##EQU21## where f is the vector of functions mapping joint variables into cartesian coordinates.
Claim 11
Dependent Claim 341 words
An apparatus according to claim 1 wherein said joint angle computation means comprises: a. means for formulating a Jacobian operator of manipulator coordinate transformation equations; b. means for transforming the problem statement of: ##EQU22## into the statement of: minimize 1/2 D.sup.t D subject to: [A]{D}={B} where {D}=[K].sup.-1 ({Δθ}+{θ}-{θ.sub.o }), [A]=[J°][K] {B}={ΔX}-[J°]{θ.sub.o }+[J°]{θ} and ##EQU23## which is a diagonal matrix; c. means for transforming the matrix equation [A]{D}={B} into the matrix equation [F]{D}={G} where {G}=[E]{B} and [F]=[E][A] such that [E] produces the following relationship: [I]=[F][F] t by the steps of: (1) subtracting from each of the rows of [A] and {B} multiples of their respective first row such that the first row of [A] becomes orthogonal to the remaining rows of [A] and (2) repeating step (1) for each successive row of [A]; d. means for calculating the solution of the minimization function as: {D}=[F] t {G}; and e. means for computing the change in joint angles from the previously known position such that: {Δθ}=-({θ}-[K]{D}-{θ.sub.o }) where: n is the number of joints; k i is a predetermined control value for the i th joint; θ i is the known current position of the i th joint; Δθ i is the unknown change in angle for the i th joint from its current position; θ io is a predetermined origin for the i th joint; {Δθ} is the vector of the known current position of the joints; {θ o } is the vector of predetermined origins for each joint; {Δθ} is the vector of the unknown change in angle for each joint from its current position; {ΔX} is the vector of the change in cartesian coordinates of the tool position between the current position and the next position; [J°] is the Jacobian matrix evaluated at the current position where the Jacobian is an M by n matrix where M is the number of system constraints and n is the number of activated joints, defined by the following expression: ##EQU24## where f is the vector of functions mapping joint variables into cartesian coordinates.
Claim 12
Dependent Claim 57 words
The apparatus according to claim 10 further comprising: a. means for determining if the vector magnitude of one of the rows of [A] falls below a predetermined threshold during the execution of said steps c.(1) and c.(2); and b. means responsive to such determination for eliminating the below-threshold matrix row from use in said joint angle computation.
Claim 13
Dependent Claim 50 words
The apparatus according to claim 10 further comprising: a. means for determining if one of the rows of [A] is a linear combination of the previous rows of [A]; and b. means responsive to such determination for eliminating said linearly dependent matrix row from use in said joint angle computation.
Claim 14
Independent Claim 199 words
An apparatus for moving an end effector in response to input signals which define a series of discrete positions along a path of a joint associated with said end effector, said apparatus comprising: a. a manipulator upon which the end effector is mounted, the manipulator having a plurality of self-contained, modular joints linked in a series, each non-static, joint including an actuator and a means responsive to the position of the joint for producing a signal; and b. a manipulator controller, including a means for providing appropriately compensated servo drive signals to said actuators, said controller comprising: (1) means for generating data sets which identify cartesian coordinate values of points along said end effector path; (2) means for computing a set of joint angles corresponding to said cartesian coordinate points based on the constrained minimization of a non-linearlized convex objective function referenced to a fixed origin; (3) means responsive to said position signals and to said joint angle values for producing a drive signal for each of said joint actuators; and (4) means for iterating the functions provided by means 1 through 4 to cause said end effector point to move through a series of increments along a path.
Claim 15
Independent Claim 199 words
An apparatus for moving an end effector in response to input signals which define a series of discrete positions along a path of a joint associated with said end effector, said apparatus comprising: a. a manipulator upon which the end effector is mounted, the manipulator having a plurality of self-contained, modular joints linked in a series, each non-static, joint including an actuator and a means responsive to the position of the joint for producing a signal; and b. a manipulator controller, including a means for providing appropriately compensated servo drive signals to said actuators, said controller comprising: (1) means for generating data sets which identify cartesian coordinate values of points along said end effector path; (2) means for computing a set of joint angles corresponding to said cartesian coordinate points based on the constrained minimization of a non-linearlized convex objective function referenced to a fixed origin; (3) means responsive to said position signals and to said joint angle values for producing a drive signal for each of said joint actuators; and (4) means for iterating the functions provided by means 1 through 4 to cause said end effector point to move through a series of increments along a path.
Claim 16
Dependent Claim 42 words
An apparatus according to claim 13 wherein said joint angle computation means comprises: means for formulating a Jacobian operator of manipulator coordinate transformation equations; and means for performing said joint angle computation without explicitly solving for the null space of the Jacobian.
Claim 17
Dependent Claim 31 words
An apparatus according to claim 13 wherein said joint angle computation means includes means for performing an affine transformation whereby the problem is made directly solvable by the Moore-Penrose inverse definition.
Claim 18
Dependent Claim 47 words
An apparatus according to claim 13 wherein said joint angle computation means includes means for performing an affine transformation whereby a problem is produced which, for a given size Jacobian matrix, is solvable by a constant number of algebraic operations independent of the elements within the matrix.
Claim 19
Dependent Claim 190 words
An apparatus according to claim 13 wherein said joint angle computation means comprises: means for formulating a Jacobian operator of manipulator coordinate transformation equations; and means for computing a unique set of joint angle values which minimize: ##EQU25## where: n is the number of joints; k i is a predetermined control value for the i th joint; θ i is the known current position of the i th joint; Δθ i is the unknown change in angle for the i th joint from its current position; θ io is a predetermined origin for the i th joint; {Δθ} is the vector of the unknown change in angle for each joint from its current position; {ΔX} is the vector of the change in cartesian coordinates of the tool position between the current position and the next position; [J°] is the Jacobian matrix evaluated at the current position where the Jacobian is an M by n matrix where M is the number of system constraints and n is the number of actuated joints, defined by the following expression: ##EQU26## where f is the vector of functions mapping joint variables into cartesian coordinates.
Claim 20
Dependent Claim 268 words
An apparatus according to claim 13 wherein said joint angle computation means comprises: a. means for formulating a Jacobian operator of manipulator coordinate transformation equations; b. means for transforming the problem statement of: ##EQU27## into the statement of: minimize 1/2 D.sup.t D subject to: [A]{D}={B} where {D}=[K].sup.-1 ({Δθ}+{θ}-{θ.sub.o }), [A]=[J°][K], {B}={ΔX}-[J°]{θ.sub.o }+[J°]{θ} and ##EQU28## which is a diagonal matrix; c. means for applying a generalized inverse technique which satisfies the transformed problem statement; and d. means for computing the change in joint angles from the previously known position such that: {Δθ}=-({θ}-[K]{D}-{θ.sub.o }) where: n is the number of joints; k i is the predetermined control value for the i th joint; θ i is the known current position of the i th joint; Δθ i is the unknown change in angle for the i th joint from its current position; θ io is a predetermined origin for the i th joint; {θ} is the vector of the known current position of the joints; {θ o } is the vector of predetermined origins for each joint; {Δθ} is the vector of the unknown change in angle for each joint from its current position; {ΔX} is the vector of the change in cartesian coordinates of the tool position between the current position and the next position; [J°] is the Jacobian matrix evaluated at the current position where the Jacobian is an M by n matrix where M is the number of system constraints and n is the number of actuated joints, defined by the following expression: ##EQU29## where f is the vector of functions mapping joint variables into cartesian coordinates.
Claim 21
Dependent Claim 293 words
An apparatus according to claim 13 wherein said joint angle computation means comprises: a. means for formulating a Jacobian operator of manipulator coordinate transformation equations; b. means for transforming the problem statement of: ##EQU30## into the statement of: minimize 1/2 D.sup.t D subject to: [A]{D}={B} where {D}=[K].sup.-1 ({Δθ}+{θ}-{θ.sub.o }), [A]=[J°][K], {B}={ΔX}-[J°]{θ.sub.o }+[J°]{θ} and ##EQU31## which is a diagonal matrix; c. means for transforming the matrix equation [A]{D}={B} into the matrix equation [F]{D}={G} where {G}=[E]{B} and [F]=[E][A] such that [E] produces the following relationship: [I]=[F][F] t ; d. means for calculating the solution of the minimization function as: {D}=[F] t {G}; and e. means for computing the change in joint angles from the previously known position such that: {Δθ}=-({θ}-[K]{D}-{θ.sub.o }) where: n is the number of joints; k i is a predetermined control value for the i th joint; θ i is the known current position of the ith joint; Δθ i is the unknown change in angle for the ith joint from its current position; θ io is a predetermined origin for the i th joint; {θ} is the vector of the known current position of the joints; {θ o } is the vector of predetermined origins for each joint; {Δθ} is the vector of the unknown change in angle for each joint from its current position; {ΔX} is the vector of the change in cartesian coordinates of the tool position between the current position and the next position; [J°] is the Jacobian matrix evaluated at the current position where the Jacobian is an M by n matrix where M is the number of system constraints and n is the number of actuated joints, defined by the following expression: ##EQU32## where f is the vector of functions mapping joint variables into cartesian coordinates.
Claim 22
Dependent Claim 339 words
An apparatus according to claim 13 wherein said joint angle computation means comprises: a. means for formulating a Jacobian operator of manipulator coordinate transformation equations; b. means for transforming the problem statement of: ##EQU33## into the statement of: minimize 1/2 D.sup.t D subject to: [A]{D}={B} where {D}=[K].sup.-1 ({Δθ}+{θ}-{θ.sub.o }), [A]=[J°][K], {B}={ΔX}-[J°]{θ.sub.o }+[J°]{θ} and ##EQU34## which is a diagonal matrix; c. means for transforming the matrix equation [A]{D}={B} into the matrix equation [F]{D}={G} where {G}=[E]{B} and [F]=[E][A] such that [E] produces the following relationship: [I]=[F][F] t by the steps of: (1) subtracting from each of the rows of [A] and {B} multiples of their respective first row such that the first row of [A] becomes orthogonal to the remaining rows of [A] and (2) repeating step (1) for each successive row of [A]; d. means for calculating the solution of the minimization function as: {D}=[F] t {G}; and e. means for computing the change in joint angles from the previously known position such that: {Δθθ=-({θ}-[K]{D}-{θ.sub.o }) where: n is the number of joints; k i is a predetermined control value for the i th joint; θ i is the known current position of the ith joint; Δθ i is the unknown change in angle for the ith joint from its current position; θ io is a predetermined origin for the i th joint; {θ} is the vector of the known current position of the joints; {θ o } is the vector of predetermined origins for each joint; {Δθ} is the vector of the unknown change in angle for each joint from its current position; {ΔX} is the vector of the change in cartesian coordinates of the tool position between the current position and the next position; [J°] is the Jacobian matrix evaluated at the current position where the Jacobian is an M by n matrix where M is the number of system constraints and n is the number of actuated joints, defined by the following expression: ##EQU35## where f is the vector of functions mapping joint variables into cartesian coordinates.
Claim 23
Dependent Claim 50 words
The apparatus according to claim 20 further comprising: a. means for determining if one of the rows of [A] is a linear combination of the previous rows of [A]; and b. means responsive to such determination for eliminating said linearly dependent matrix now from use in said joint angle computation.
Claim 24
Dependent Claim 57 words
The apparatus according to claim 20 further comprising: a. means for determining if the vector magnitude of one of the rows of [A] falls below a predetermined threshold during the execution of said steps c.(1) and c.(2); and b. means responsive to such determination for eliminating the below-threshold matrix row from use in said joint angle computation.
Claim 25
Independent Claim 123 words
A method of controlling the motion of a manipulator end effector in response to input signals, which signals define a series of discrete positions along a path of a point associated with said end effector, comprising the steps of: a. generating data sets which identify cartesian coordinate values of points along said end effector path; b. computing a set of joint angle corresponding to each of said cartesian coordinate points based on the constrained minimization of a convex objective function referenced to a fixed origin; c. producing, in response to said joint angles, a drive signal for each joint actuator; and d. interating steps a. through d. to cause said end effector point to move through a series of increments along said path.
Claim 26
Independent Claim 123 words
A method of controlling the motion of a manipulator end effector in response to input signals, which signals define a series of discrete positions along a path of a point associated with said end effector, comprising the steps of: a. generating data sets which identify cartesian coordinate values of points along said end effector path; b. computing a set of joint angle corresponding to each of said cartesian coordinate points based on the constrained minimization of a convex objective function referenced to a fixed origin; c. producing, in response to said joint angles, a drive signal for each joint actuator; and d. interating steps a. through d. to cause said end effector point to move through a series of increments along said path.
Claim 27
Dependent Claim 33 words
The method according to claim 23 wherein said joint angle computation step is based on the constrained minimization of a positive semi-definite quadratic form as the objective function referenced to a fixed origin.
Claim 28
Dependent Claim 38 words
The method according to claim 23 wherein said joint angle computation step is based on the constrained minimization of a positive semi-definite quadratic form with a diagonal coefficient matrix as the objective function referenced to a fixed origin.
Claim 29
Dependent Claim 40 words
The method according to claim 23 wherein said joint angle computation step comprises the steps of: formulating a Jacobian operator of manipulator coordinate transformation equations; and computing said joint angles without explicitly solving for the null space of the Jacobian.
Claim 30
Dependent Claim 32 words
The method according to claim 23 wherein said joint angle computation step includes the step of performing an affine transformation whereby the problem is made directly solvable by the Moore-Penrose inverse definition.
Claim 31
Dependent Claim 48 words
The method according to claim 23 wherein said joint angle computation step includes the step of performing an affine transformation whereby a problem is produced which, for a given size Jacobian matrix, is solvable by a constant number of algebraic operations independent of the elements within the matrix.
Claim 32
Dependent Claim 192 words
The method according to claim 23 wherein said joint angle computation step further comprises the steps of: a. formulating a Jacobian operator of manipulator coordinate transformation equations; and b. computing a unique set of joint angle values which minimize: ##EQU36## where: n is the number of joints; k i is a predetermined control value for the i th joint; θ i is the known current position of the i th joint; Δθ i is the unknown change in angle for the i th joint from its current position; θ io is a predetermined origin for the i th joint; {Δθ} is the vector of the unknown change in angle for each joint from its current position; {ΔX} is the vector of the change in cartesian coordinates of the tool position between the current position and the next position; [J°] is the Jacobian matrix evaluated at the current position where the Jacobian is an M by n matrix where M is the number of system constraints and n is the number of actuated joints, defined by the following expression: ##EQU37## where f is the vector of functions mapping joint variables into cartesian coordinates.
Claim 33
Dependent Claim 266 words
The method according to claim 23 wherein said joint angle computation step further comprises the steps of; a. formulating a Jacobian operator of manipulator coordinate transformation equations; b. transforming the problem statement of: ##EQU38## into the statement of: minimize 1/2 D.sup.t D subject to: [A]{D}={B} where {D}=[K].sup.-1 ({Δθ}+{θ}-{θ.sub.0 }), [A]=[J°][K] and {B}={ΔX}-[J°]{θ.sub.o }+[J°]{θ} and ##EQU39## which is a diagonal matrix; c. applying a generalized inverse technique which satisfies the transformed problem statement, d. means for computing the change in joint angles from the previously known position such that: {Δθ}=-({θ}-[k]{D}-{θ.sub.o }) where: n is the number of joints; k i is a predetermined control value for the i th joint; θ i is the known current position of the i th joint; Δθ i is the known change in angle for the i th joint from its current position; θ io is a predetermined origin for the i th joint; {θ} is the vector of the known current position of the joints; {θ o } is the vector of predetermined origins for each joint; {Δθ56 is the vector of the unknown change in angle for each joint from its current position; {ΔX} is the vector of the change in cartesian coordinates of the tool position between the current position and the next position; [J°] is the Jacobian matrix evaluated at the current position where the Jacobian is an M by n matrix where M is the number of system constraints and n is the number of actuated joints, defined by the following expression; ##EQU40## where f is the vector of functions mapping joint variables into cartesian coordinates.
Claim 34
Dependent Claim 287 words
The method according to claim 23 wherein said joint angle computation step further comprises the steps of: a. formulating a Jacobian operator of manipulator coordinate transformation equations; b. transforming the problem statement of: ##EQU41## into the statement of: minimize 1/2 D.sup.t D subject to: [A]{D}={B} where {D}={K}.sup.-1 ({Δθ}+{θ}-{θ.sub.o }), [A]=[J°][K] and {B}={ΔX}-[J°]{θ.sub.o }+[J°]{θ} and ##EQU42## which is a diagonal matrix; c. transforming the matrix equation [A]{D}={B} into the matrix equation [F]{D}={G} where {G}=[E]{B} and [F]=[E][A] such that [E] produces the following relationship: [I]=[F][F] t ; d. calculating the solution of the minimization function as: {D}=[F] t {G}; and e. computing the change in joint angles from the previously known position such that: {Δθ}=-({θ}-[K]{D}-}θ.sub.o }) where: n is the number of joints; k i is a predetermined control value for the i th joint; θ i is the known current position of the ith joint; Δθ i is the unknown change in angle for the ith joint from its current position; θ io is a predetermined origin for the i th joint; {θ} is the vector of the known current position of the joints; {θ o } is the vector of predetermined origins for each joint; {Δθ} is the vector of the unknown change in angle for each joint from its current position; {ΔX} is the vector of the change in cartesian coordinates of the tool position between the current position and the next position; [J°] is the Jacobian matrix evaluated at the current position where the Jacobian is an M by n matrix where M is the number of system constraints and n is the number of joints, defined by the following expression: ##EQU43## where f is the vector of functions mapping joint variables into cartesian coordinates.
Claim 35
Dependent Claim 310 words
The method according to claim 23 wherein said joint angle computation step further comprises the steps of: a. formulating a Jacobian operator of manipulator coordinate transformation equations; b. transforming the problem statement of: ##EQU44## into the statement of: minimize 1/2 D.sup.t D subject to: [A]{D}={B} where {D}=[K].sup.-1 ({Δθ}+{θ}-{θ.sub.o }), [A]=[J°][K] and {B}={ΔX}-[J°]{θ.sub.o }+[J°]{θ} and ##EQU45## which is a diagonal matrix; c. transforming the matrix equation [A]≡D}={B} into the matrix equation [F]{D}={G} where {G}=[E]{B} and [F]=[E][A] such that [E] produces the following relationship: [I]=[F][F] t ; by the steps of: (1) subtracting from each of the rows of [A] and {B} multiples of their respective first row such that the first row of [A] becomes orthogonal to the remaining rows of [A] and (2) repeating step (1) for each successive row of [A]; d. calculating the solution of the minimization function as: {D}=[F] t {G}; and e. computing the change in joint angles from the previously known position such that: {Δθ}=-({θ}-[K]{D}-{θ.sub.o }) where: n is the number of joints; k i is a predetermined control value for the i th joint; θ i is the known current position of the ith joint; Δθ i is the unknown change in angle for the ith joint from its current position; θ io is a predetermined origin for the i th joint; {Δθ} is the vector of the unknown change in angle for each joint from its current position; {ΔX} is the vector of the change in cartesian coordinates of the tool position between the current position and the next position; [J°] is the Jacobian matrix evaluated at the current position where the Jacobian is an M by an n matrix where M is the number of system constraints and n is the number of joints, defined by the following expression: ##EQU46## where f is the vector of functions mapping variables into cartesian coordinates.
Claim 36
Dependent Claim 44 words
The method according to claim 32 further comprising the steps of: a. determining if one of the rows of [A] is a linear combination of the previous rows of [A]; and b. eliminating the linearly dependent matrix now from use in said angle computation.
Claim 37
Dependent Claim 52 words
The method according to claim 32 further comprising the steps of: a. determining if the vector magnitude of one of the rows of [A] falls below a predetermined threshold during the execution of said steps c.(1) and c.(2); and b. eliminating the below-threshold matrix row from use in said joint angle computation.

References Cited (Backward Citations)

US4594671A Cited
US4608651A Cited
US4604716A Cited
US4547858A Cited
US4625285A Cited
US4621332A Cited
US4612487A Cited
US4680519A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1993-12-03 1994-06-04 1994-12-04 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1997-12-03 1998-06-04 1998-12-04 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2001-12-03 2002-06-04 2002-12-04 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag