Closed-form kinematics
First Claim
Patent Images
1. In a digital computer, a method of performing a kinematic analysis of a linkage comprising the steps of:
- a) storing linkage information for members of a linkage said information comprising topological and geometric information, said topological and geometric information further comprising a plurality of kinematic constraints;
b) using said stored information to generate an assembly procedure for at least partially assembly a computer representation of said linkage, said assembly procedure comprising a plurality of assembly rules for said linkage;
c) storing said assembly procedure; and
d) iteratively using said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input, said computer representations simulating position and orientation of parts of said linkage during motion of said linkage.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for performing kinematic analysis of linkages is disclosed. Generalized mechanisms are selected from a catalog of mechanisms. From an initial selection of mechanisms, the one most closely matching a desired behavior is chosen and an optimization procedure is conducted. The method may be preceded by a qualitative kinematic analysis or the qualitative analysis may be used in lieu of a catalog selection. An improved optimization technique is disclosed, along with a closed form kinematic analysis method.
80 Citations
43 Claims
-
1. In a digital computer, a method of performing a kinematic analysis of a linkage comprising the steps of:
-
a) storing linkage information for members of a linkage said information comprising topological and geometric information, said topological and geometric information further comprising a plurality of kinematic constraints; b) using said stored information to generate an assembly procedure for at least partially assembly a computer representation of said linkage, said assembly procedure comprising a plurality of assembly rules for said linkage; c) storing said assembly procedure; and d) iteratively using said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input, said computer representations simulating position and orientation of parts of said linkage during motion of said linkage. - View Dependent Claims (2)
-
-
3. In a digital computer, a method of performing a kinematic analysis of a linkage comprising the steps of:
-
a) storing linkage information for members of a linkage said information comprising topological and geometric information; b) using said stored information to generate an assembly procedure for at least partially assembling a computer representation of said linkage, said assembly procedure comprising a plurality of assembly rules for said linkage; c) storing said assembly procedure; and d) iteratively using said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input, wherein said topological stored information further comprises joint type, link length, link shape, and location of joints on links.
-
-
4. In a digital computer, a method of performing a kinematic analysis of a linkage comprising the steps of:
-
a) storing linkage information for members of a linkage said information comprising topological and geometric information; b) using said stored information to generate an assembly procedure for at least partially assembling a computer representation of said linkage, said assembly procedure comprising a plurality of assembly rules for said linkage; c) storing said assembly procedure; and d) iteratively using said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input, wherein said geometric information further comprises a series of generalized rules. - View Dependent Claims (5)
-
-
6. In a digital computer, a method of performing a kinematic analysis of a linkage comprising the steps of:
-
a) storing linkage information for members of a linkage said information comprising topological and geometric information; b) using said stored information to generate an assembly procedure for at least partially assembly a computer representation of said linkage, said assembly procedure comprising a plurality of assembly rules for said linkage; c) storing said assembly procedure; d) iteratively using said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input; and e) supplying a binary configuration parameter, said binary configuration parameter resolving an ambiguity in assembly of at least one pair of links.
-
-
7. In a digital computer, a method of performing a kinematic analysis of a linkage comprising the steps of:
-
a) storing linkage information for members of a linkage said information comprising topological and geometric information; b) using said stored information to generate an assembly procedure for at least partially assembling a computer representation of said linkage, said assembly procedure comprising a plurality of assembly rules for said linkage; c) storing said assembly procedure; d) iteratively using said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input; and e) supplying a vector of binary configuration parameters, said vector resolving ambiguities in assembly of the linkage.
-
-
8. In a digital computer, a method of performing a kinematic analysis of a linkage comprising the steps of:
-
a) storing linkage information for members of a linkage said information comprising topological and geometric information; b) using said stored information to generate an assembly procedure for at least partially assembling a computer representation of said linkage, said assembly procedure comprising a plurality of assembly rules for said linkage; c) storing said assembly procedure; and d) iteratively using said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input, wherein the step of iteratively using said assembly procedure is used to evaluate an error function, said error function representing a departure from a desired behavior of the linkage.
-
-
9. In a digital computer, a method of performing a kinematic analysis of a linkage comprising the steps of:
-
a) storing linkage information for members of a linkage said information comprising topological and geometric information; b) using said stored information to generate an assembly procedure for at least partially assembling a computer representation of said linkage, said assembly procedure comprising a plurality of assembly rules for said linkage; c) storing said assembly procedure; and d) iteratively using said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input, wherein the error function is used to substantially optimize said linkage.
-
-
10. In a digital computer, a method of performing a kinematic analysis of a linkage comprising the steps of:
-
a) storing linkage information for members of a linkage said information comprising topological and geometric information; b) using said stored information to generate an assembly procedure for at least partially assembling a computer representation of said linkage, said assembly procedure comprising a plurality of assembly rules for said linkage; c) storing said assembly procedure; and d) iteratively using said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input, wherein said digital computer is programmed in a LISP language.
-
-
11. In a digital computer, a method of performing a kinematic analysis of a linkage comprising the steps of:
-
a) storing linkage information for members of a linkage said information comprising topological and geometric information; b) using said stored information to generate an assembly procedure for at least partially assembling a computer representation of said linkage, said assembly procedure comprising a plurality of assembly rules for said linkage; c) storing said assembly procedure; and d) iteratively using said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input, wherein said stored information is in the form of a database, said database comprising a set of propositions said propositions defining at least markers associated with links of said linkage. - View Dependent Claims (12, 13, 18, 19, 20)
-
-
14. In a digital computer, a method of performing a kinematic analysis of a linkage comprising the steps of:
-
a) storing linkage information for members of a linkage said information comprising topological and geometric information; b) using said stored information to generate an assembly procedure for at least partially assembling a computer representation of said linkage, said assembly procedure comprising a plurality of assembly rules for said linkage; c) storing said assembly procedure; d) iteratively using said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input; e) storing location constraints of at least two markers; and f) intersecting said constraints in said assembly procedure. - View Dependent Claims (15)
-
-
16. In a digital computer, a method of performing a kinematic analysis of a linkage comprising the steps of:
-
a) storing linkage information for members of a linkage said information comprising topological and geometric information; b) using said stored information to generate an assembly procedure for at least partially assembling a computer representation of said linkage, said assembly procedure comprising a plurality of assembly rules for said linkage; c) storing said assembly procedure; and d) iteriatively using said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input, wherein a link is assumed to be known when the position of three markers on a link are known;
when the position, alignment, and orientation of one marker on a link are known;
when the position of one marker is known and the position and alignment of another marker is known;
when the position and alignment of one marker are known and the alignment of a second marker is known;
or where the position of two non-alignable markers are known and there is no third marker. - View Dependent Claims (43)
-
-
17. In a digital computer, a method of performing a kinematic analysis of a linkage comprising the steps of:
-
a) storing linkage information for members of a linkage said information comprising topological and geometric information; b) using said stored information to generate an assembly procedure for at least partially assembling a computer representation of said linkage, said assembly procedure comprising a plurality of assembly rules for said linkage; c) storing said assembly procedure; and d) iteratively using said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input, wherein a pattern matcher determines if a generalized rule matches an entry in a database.
-
-
21. Apparatus for simulating kinematic behavior of a linkage comprising:
-
a) a digital computer programmed to; i) store linkage information for members of a linkage, said information comprising topological and geometric information, said topological and geometric information further comprising a plurality of kinematic constraints; ii) process said stored information to generate an assembly procedure for at least partially assembling a computer representation of said linkage; iii) store said assembly procedure; and iv) iteratively use said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input, said computer representations simulating position and orientation of parts of said linkage during motion of said linkage; and b) means for displaying said linkage using at least one of said computer representations. - View Dependent Claims (22)
-
-
23. A digital computer for kinematic analysis of a linkage programmed to:
-
a) store linkage information for members of a linkage said information comprising topological and geometric information, said topological and geometric information further comprising a plurality of kinematic constraints; b) use said stored information to generate an assembly procedure for at least partially assembling a computer representation of said linkage, said assembly procedure comprising a plurality of assembly rules for said linkage; c) storing said assembly procedure; and d) iteratively use said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input, said computer representations simulating position and orientation of parts of said linkage during motion of said linkage. - View Dependent Claims (24, 38, 39)
-
-
25. A digital computer for kinematic analysis of a linkage programmed to:
-
a) store linkage information for members of a linkage said information comprising topological and geometric information; b) use said stored information to generate an assembly procedure for at least partially assembling a computer representation of said linkage, said assembly procedure comprising a plurality of assembly rules for said linkage; c) storing said assembly procedure; and d) iteratively use said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input, wherein said topological stored information further comprises joint type, link length, link shape, and location of joints on links.
-
-
26. A digital computer for kinematic analysis of a linkage programmed to:
-
a) store linkage information for members of a linkage said information comprising topological and geometric information; b) use said stored information to generate an assembly procedure for at least partially assembling a computer representation of said linkage, said assembly procedure comprising a plurality of assembly rules for said linkage; c) storing said assembly procedure; and d) iteratively use said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input, wherein said geometric information further comprises a series of generalized rules.
-
-
27. A digital computer for kinematic analysis of a linkage programmed to:
-
a) store linkage information for members of a linkage said information comprising topological and geometric information; b) use said stored information to generate an assembly procedure for at least partially assembling a computer representation of said linkage, said assembly procedure comprising a plurality of assembly rules for said linkage; c) storing said assembly procedure; and d) iteratively use said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input, wherein said generalized rules are selected from the group rules for inferring marker constraints, rules for constructing displaced marker constraints, rules for intersecting and reducing constrained markers, rules for propagating constraints across joints, rules for inferring that a link is known, rules for moving links to satisfy new constraints while preserving existing constraints, and combinations thereof.
-
-
28. A digital computer for kinematic analysis of a linkage programmed to:
-
a) store linkage information for members of a linkage said information comprising topological and geometric information; b) use said stored information to generate an assembly procedure for at least partially assembling a computer representation of said linkage, said assembly procedure comprising a plurality of assembly rules for said linkage; c) storing said assembly procedure; and d) iteratively use said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input, wherein said computer is further programmed to input binary configuration parameter, said binary configuration parameter resolving an ambiguity in assembly of at least one pair of links.
-
-
29. A digital computer for kinematic analysis of a linkage programmed to:
-
a) store linkage information for members of a linkage said information comprising topological and geometric information; b) use said stored information to generate an assembly procedure for at least partially assembling a computer representation of said linkage, said assembly procedure comprising a plurality of assembly rules for said linkage; c) storing said assembly procedure; and d) iteratively use said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input, wherein said computer is further programmed to supply a vector of binary configuration parameters, said vector resolving ambiguities in assembly of the linkage.
-
-
30. A digital computer for kinematic analysis of a linkage programmed to:
-
a) store linkage information for members of a linkage said information comprising topological and geometric information; b) use said stored information to generate an assembly procedure for at least partially assembling a computer representation of said linkage, said assembly procedure comprising a plurality of assembly rules for said linkage; c) storing said assembly procedure; and d) iteratively use said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input, wherein said computer is further programmed to iteratively use said assembly procedure to evaluate an error function, said error function representing a departure from a desired behavior of the linkage. - View Dependent Claims (31)
-
-
32. A digital computer for kinematic analysis of a linkage programmed to:
-
a) store linkage information for members of a linkage said information comprising topological and geometric information; b) use said stored information to generate an assembly procedure for at least partially assembling a computer representation of said linkage, said assembly procedure comprising a plurality of assembly rules for said linkage; c) storing said assembly procedure; and d) iteratively use said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input, wherein said computer is programmed in a LISP language.
-
-
33. A digital computer for kinematic analysis of a linkage programmed to:
-
a) store linkage information for members of a linkage said information comprising topological and geometric information; b) use said stored information to generate an assembly procedure for at least partially assembling a computer representation of said linkage, said assembly procedure comprising a plurality of assembly rules for said linkage; c) storing said assembly procedure; and d) iteratively use said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input, wherein said stored information is in the form of a database, said database comprising a set of propositions said propositions defining at least markers associated with links of said linkage. - View Dependent Claims (40, 41, 42)
-
-
34. A digital computer for kinematic analysis of a linkage programmed to:
-
a) store linkage information for members of a linkage said information comprising topological and geometric information; b) use said stored information to generate an assembly procedure for at least partially assembling a computer representation of said linkage, said assembly procedure comprising a plurality of assembly rules for said linkage; c) storing said assembly procedure; and d) iteratively use said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input, wherein said propositions are generated by said generalized rules.
-
-
35. A digital computer for kinematic analysis of a linkage programmed to:
-
a) store linkage information for members of a linkage said information comprising topological and geometric information; b) use said stored information to generate an assembly procedure for at least partially assembling a computer representation of said linkage, said assembly procedure comprising a plurality of assembly rules for said linkage; c) storing said assembly procedure; and d) iteratively use said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input, wherein said propositions comprise open and closed predicates, said closed predicates remaining constant during said step of generating, said open predicates encoding items of partial knowledge that is being incrementally inferred.
-
-
36. A digital computer for kinematic analysis of a linkage programmed to:
-
a) store linkage information for members of a linkage said information comprising topological and geometric information; b) use said stored information to generate an assembly procedure for at least partially assembling a computer representation of said linkage, said assembly procedure comprising a plurality of assembly rules for said linkage; c) storing said assembly procedure; and d) iteratively use said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input, wherein said computer is further programmed to; i) store location constraints of at least two markers; and (ii) intersect said constraints in said assembly procedure.
-
-
37. A digital computer for kinematic analysis of a linkage programmed to:
-
a) store linkage information for members of a linkage said information comprising topological and geometric information; b) use said stored information to generate an assembly procedure for at least partially assembling a computer representation of said linkage, said assembly procedure comprising a plurality of assembly rules for said linkage; c) storing said assembly procedure; and d) iteratively use said assembly procedure to at least partially assemble computer representations of said linkage in response to at least one driving input, further comprising a pattern matcher to determine if a generalized rule matches an entry in a database.
-
Specification