Patent US5835693A successfully refreshed from Google Patents.
US5835693A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Interactive system for simulation and display of multi-body systems in three dimensions
Assignee: Iowa State University Research Foundation Inc
•
Filing: 1994-07-22
•
Granted: 1998-11-10
•
Expires: 2014-07-22
Abstract
Abstract Method and apparatus for simulating a multibody system on a computer. The invention provides for inputting into the computer a mathematical description of each body in the multibody system, specifying into the computer a force to act on one of the bodies, formulating a Jacobian matrix, solving kinematics constraints in the computer, graphically displaying a result of the solution of the kinematic constraints from the computer onto an electronic display, whereupon the user can interactively input a change to the multibody system into the computer and graphically display a result of the change to the multibody system from the computer.
Inventors
- 👤 James D. Lynch
- 👤 Martin J. Vanderploeg
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-29 10:03
CPC Classifications
G; G06; G06T; G06T13/00; G06T13/20; B; B25; B25J; B25J9/00; B25J9/16; B25J9/1602; B25J9/1605; G06F; G06F30/00; G06F30/10; G06F30/17
Claims Analysis
Total Claims: 26
Claim 1
Independent Claim
306 words
A method for simulating a multibody system on a computer comprising the steps: inputting into the computer a mathematical description of each body in the multibody system; specifying to the computer a plurality of constraints to act on the bodies wherein each one of the plurality of constraints is mathematically represented within the computer by a constraint equation; specifying to the computer a plurality of external forces to act on the bodies; formulating a Jacobian matrix in the computer, wherein the Jacobian matrix comprises partial derivatives of the constraint equations; specifying to the computer one of a plurality of solution modes to execute to generate a configuration of the multibody system resulting from the constraints and external forces acting on the bodies, wherein the plurality of solution modes comprises: a kinematics mode using the Jacobian matrix to iteratively calculate coordinates of the bodies so that the constraint equations are solved when each one of the plurality of external forces has a zero magnitude; a dynamic mode using the Jacobian matrix to iteratively calculate coordinates of the bodies when at least one of the plurality of external forces has a non-zero magnitude; and a static force mode using the Jacobian matrix to iteratively calculate reaction forces and reaction moments required to maintain the multibody system in a static configuration when at least one of the plurality of external forces has a non-zero magnitude; detecting changes to the body descriptions, the plurality of constraints, and the plurality of forces, which are interactively input into the computer by a user during an iteration cycle, and reiterating the one of the plurality of solution modes using the changes until no further changes are detected; and graphically displaying the configuration resulting from the one of the plurality of solution modes on an electronic display at the end of an iteration cycle.
Claim 2
Independent Claim
306 words
A method for simulating a multibody system on a computer comprising the steps: inputting into the computer a mathematical description of each body in the multibody system; specifying to the computer a plurality of constraints to act on the bodies wherein each one of the plurality of constraints is mathematically represented within the computer by a constraint equation; specifying to the computer a plurality of external forces to act on the bodies; formulating a Jacobian matrix in the computer, wherein the Jacobian matrix comprises partial derivatives of the constraint equations; specifying to the computer one of a plurality of solution modes to execute to generate a configuration of the multibody system resulting from the constraints and external forces acting on the bodies, wherein the plurality of solution modes comprises: a kinematics mode using the Jacobian matrix to iteratively calculate coordinates of the bodies so that the constraint equations are solved when each one of the plurality of external forces has a zero magnitude; a dynamic mode using the Jacobian matrix to iteratively calculate coordinates of the bodies when at least one of the plurality of external forces has a non-zero magnitude; and a static force mode using the Jacobian matrix to iteratively calculate reaction forces and reaction moments required to maintain the multibody system in a static configuration when at least one of the plurality of external forces has a non-zero magnitude; detecting changes to the body descriptions, the plurality of constraints, and the plurality of forces, which are interactively input into the computer by a user during an iteration cycle, and reiterating the one of the plurality of solution modes using the changes until no further changes are detected; and graphically displaying the configuration resulting from the one of the plurality of solution modes on an electronic display at the end of an iteration cycle.
Claim 3
Dependent Claim
30 words
A method according to claim 1, further comprising the step of physically building a prototype which physically embodies the configuration resulting from the one of the plurality of solution modes.
Claim 4
Dependent Claim
14 words
A method according to claim 1, wherein said multibody system is an anatomical system.
Claim 5
Dependent Claim
25 words
A method according to claim 3, wherein the bodies represent bones, and the plurality of constraints represent joints, muscles and tendons in the anatomical system.
Claim 6
Dependent Claim
43 words
A method according to claim 1, wherein a force-arrow icon is graphically displayed as part of the configuration resulting from the one of the plurality of solution modes, and wherein a size of the force-arrow icon represents a magnitude of a force vector.
Claim 7
Dependent Claim
43 words
A method according to claim 1, wherein a moment-arrow icon is graphically displayed as part of the configuration resulting from the one of the plurality of solution modes, and wherein a size of the moment-arrow icon represents a magnitude of a moment vector.
Claim 8
Independent Claim
321 words
A system for simulating a multibody system on a computer, comprising: an input device for inputting into the computer a mathematical description of each body in the multibody system; means for specifying to the computer a plurality of constraints to act on the bodies wherein each one of the plurality of constraints is mathematically represented within the computer by a constraint equation; means for specifying to the computer a plurality of external forces to act on the bodies; a computer algorithm running on the computer for formulating a Jacobian matrix, wherein the Jacobian matrix comprises partial derivatives of the constraint equations; means for specifying to the computer one of a plurality of solution algorithms to execute to generate a configuration of the multibody system resulting from the constraints and external forces acting on the bodies, wherein the plurality of solution algorithms comprises: a kinematics algorithm using the Jacobian matrix to iteratively calculate coordinates of the bodies so that the constraint equations are solved when each one of the plurality of external forces has a zero magnitude; a dynamic algorithm using the Jacobian matrix to iteratively calculate coordinates of the bodies when at least one of the external forces has a non-zero magnitude; and a static force algorithm using the Jacobian matrix to iteratively calculate reaction forces and reaction moments required to maintain the multibody system in a static configuration when at least one of the external forces has a non-zero magnitude; means for detecting changes to the body descriptions, the plurality of constraints, and the plurality of forces, which are interactively input into the computer by a user during an iteration cycle, and reiterating the one of the plurality of solution algorithms using the changes until no further changes are detected; and a graphical display coupled to the computer for graphically displaying the configuration resulting from the one of the plurality of solution algorithms at the end of an iteration cycle.
Claim 9
Independent Claim
321 words
A system for simulating a multibody system on a computer, comprising: an input device for inputting into the computer a mathematical description of each body in the multibody system; means for specifying to the computer a plurality of constraints to act on the bodies wherein each one of the plurality of constraints is mathematically represented within the computer by a constraint equation; means for specifying to the computer a plurality of external forces to act on the bodies; a computer algorithm running on the computer for formulating a Jacobian matrix, wherein the Jacobian matrix comprises partial derivatives of the constraint equations; means for specifying to the computer one of a plurality of solution algorithms to execute to generate a configuration of the multibody system resulting from the constraints and external forces acting on the bodies, wherein the plurality of solution algorithms comprises: a kinematics algorithm using the Jacobian matrix to iteratively calculate coordinates of the bodies so that the constraint equations are solved when each one of the plurality of external forces has a zero magnitude; a dynamic algorithm using the Jacobian matrix to iteratively calculate coordinates of the bodies when at least one of the external forces has a non-zero magnitude; and a static force algorithm using the Jacobian matrix to iteratively calculate reaction forces and reaction moments required to maintain the multibody system in a static configuration when at least one of the external forces has a non-zero magnitude; means for detecting changes to the body descriptions, the plurality of constraints, and the plurality of forces, which are interactively input into the computer by a user during an iteration cycle, and reiterating the one of the plurality of solution algorithms using the changes until no further changes are detected; and a graphical display coupled to the computer for graphically displaying the configuration resulting from the one of the plurality of solution algorithms at the end of an iteration cycle.
Claim 10
Dependent Claim
29 words
A system according to claim 7, further comprising means for physically building a prototype which physically embodies the configuration resulting from the one of the plurality of solution algorithms.
Claim 11
Dependent Claim
14 words
A system according to claim 7, wherein said multibody system is an anatomical system.
Claim 12
Dependent Claim
25 words
A system according to claim 9, wherein the bodies represent bones, and the plurality of constraints represent joints, muscles and tendons in the anatomical system.
Claim 13
Dependent Claim
44 words
A system according to claim 7, further comprising means for graphically displaying a force-arrow icon as part of the configuration resulting from the one of the plurality of solution algorithms, wherein a size of the force-arrow icon represents a magnitude of a force vector.
Claim 14
Dependent Claim
44 words
A system according to claim 7, further comprising means for graphically displaying a moment-arrow icon as part of the configuration resulting from the one of the plurality of solution algorithms, wherein a size of the moment-arrow icon represents a magnitude of a moment vector.
Claim 15
Independent Claim
311 words
A system for simulating a multibody system on a computer, comprising: means for inputting into the computer a mathematical description of each body in the multibody system; means for specifying to the computer a plurality of constraints to act on the bodies wherein each one of the plurality of constraints is mathematically represented within the computer by a constraint equation; means for specifying to the computer a plurality of external forces to act on the bodies; means for formulating in the computer a Jacobian matrix, wherein the Jacobian matrix comprises partial derivatives of the constraint equations; means for specifying to the computer one of a plurality of solution means to execute to generate a configuration of the multibody system resulting from the constraints and forces acting on the bodies wherein the plurality of solution means comprises: a kinematics means using the Jacobian matrix to iteratively calculate coordinates of the bodies so that the constraint equations are solved when each one of the plurality of external forces has a zero magnitude; a dynamic means using the Jacobian matrix to iteratively calculate coordinates of the bodies when at least one of the plurality of external forces has a non-zero magnitude; and a static force means using the Jacobian matrix to iteratively calculate reaction forces and moments required to maintain the multibody system in a static configuration when at least one of the plurality of external forces has a non-zero magnitude; means for detecting changes in the body descriptions, the plurality of constraints and the plurality of forces, which are interactively input into the computer by a user during an iteration cycle, and reiterating the one of the plurality of solution means using the until no further changes are detected; and means for graphically displaying the configuration resulting from the one of the plurality of solution means at the end of an iteration cycle.
Claim 16
Independent Claim
311 words
A system for simulating a multibody system on a computer, comprising: means for inputting into the computer a mathematical description of each body in the multibody system; means for specifying to the computer a plurality of constraints to act on the bodies wherein each one of the plurality of constraints is mathematically represented within the computer by a constraint equation; means for specifying to the computer a plurality of external forces to act on the bodies; means for formulating in the computer a Jacobian matrix, wherein the Jacobian matrix comprises partial derivatives of the constraint equations; means for specifying to the computer one of a plurality of solution means to execute to generate a configuration of the multibody system resulting from the constraints and forces acting on the bodies wherein the plurality of solution means comprises: a kinematics means using the Jacobian matrix to iteratively calculate coordinates of the bodies so that the constraint equations are solved when each one of the plurality of external forces has a zero magnitude; a dynamic means using the Jacobian matrix to iteratively calculate coordinates of the bodies when at least one of the plurality of external forces has a non-zero magnitude; and a static force means using the Jacobian matrix to iteratively calculate reaction forces and moments required to maintain the multibody system in a static configuration when at least one of the plurality of external forces has a non-zero magnitude; means for detecting changes in the body descriptions, the plurality of constraints and the plurality of forces, which are interactively input into the computer by a user during an iteration cycle, and reiterating the one of the plurality of solution means using the until no further changes are detected; and means for graphically displaying the configuration resulting from the one of the plurality of solution means at the end of an iteration cycle.
Claim 17
Dependent Claim
29 words
A system according to claim 13, further comprising means for physically building a prototype which physically embodies the configuration resulting from the one of the plurality of solution means.
Claim 18
Dependent Claim
14 words
A system according to claim 13, wherein said multibody system is an anatomical system.
Claim 19
Dependent Claim
25 words
A system according to claim 15, wherein the bodies represent bones, and the plurality of constraints represent joints, muscles and tendons in the anatomical system.
Claim 20
Dependent Claim
44 words
A system according to claim 13, further comprising means for graphically displaying a force-arrow icon as part of the configuration resulting from the one of the plurality of solution means, wherein a size of the force-arrow icon represents a magnitude of a force vector.
Claim 21
Dependent Claim
44 words
A system according to claim 13, further comprising means for graphically displaying a moment-arrow icon as part of the configuration resulting from the one of the plurality of solution means wherein a size of the moment-arrow icon represents a magnitude of a moment vector.
Claim 22
Independent Claim
583 words
A method for simulating a multibody system on a computer comprising the steps: inputting into the computer a mathematical description of each body in the multibody system; specifying to the computer a plurality of constraints to act on the bodies wherein the plurality of constraints comprise joint constraints and cable/pulley constraints, and each one of the plurality of constraints is mathematically represented within the computer by a constraint equation; specifying to the computer a plurality of external forces and a plurality of external moments to act on the bodies; specifying to the computer one of a plurality of solution modes to execute to generate a configuration of the multibody system resulting from the constraints, the external forces and the external moments acting on the bodies, wherein the plurality of solution modes comprises: a first Newton kinematics mode using a first Jacobian matrix to iteratively calculate coordinates of the bodies so that the constraint equations are solved when each one of the plurality of external forces and each one of the plurality of external moments has a zero magnitude, wherein the first Jacobian matrix comprises the partial derivatives of the constraint equations calculated with respect to Euler parameters; a second Newton kinematics mode using a second Jacobian matrix to iteratively calculate the coordinates of the bodies so that the constraint equations are solved when each one of the plurality of external forces and each one of the plurality of external moments has a zero magnitude, wherein the second Jacobian matrix comprises partial derivatives of the constraint equations in terms of angular velocities; a third Newton kinematics mode using a third Jacobian matrix to iteratively calculate the coordinates of the bodies so that the constraint equations are solved when each one of the plurality of external forces and each one of the plurality of external moments has a zero magnitude, wherein the third Jacobian matrix comprises partial derivatives of the constraint equations calculated using the Levenberg-Marquardt algorithm with Euler parameters; an optimized kinematics mode using a fourth Jacobian matrix to iteratively calculate the coordinates of the bodies in an over-constrained multibody system so that a best solution is found for the constraint equations when each one of the plurality of external forces and each one of the plurality of external moments has a zero magnitude; a dynamic mode using a fifth Jacobian matrix to iteratively calculate the coordinates of the bodies when at least one of the plurality of external forces or at least one of the plurality of external moments has a non-zero magnitude, wherein the fifth Jacobian matrix comprises partial derivatives of the constraint equations in terms of angular velocities; and a static force mode using a sixth Jacobian matrix to iteratively calculate reaction forces and reaction moments required to maintain the multibody system in a static configuration when at least one of the plurality of external forces or at least one of the plurality of external moments has a non-zero magnitude, wherein the sixth Jacobian matrix comprises partial derivatives of the constraint equations in terms of angular velocities; detecting changes in the body descriptions, the plurality of constraints, and the plurality of forces, which are interactively input into the computer by a user during an iteration cycle, and reiterating the one of the plurality of solution modes using the variations until no further variations are detected; and graphically displaying the configuration resulting from the one of the plurality of solution modes on an electronic display at the end of an iteration cycle.
Claim 23
Independent Claim
583 words
A method for simulating a multibody system on a computer comprising the steps: inputting into the computer a mathematical description of each body in the multibody system; specifying to the computer a plurality of constraints to act on the bodies wherein the plurality of constraints comprise joint constraints and cable/pulley constraints, and each one of the plurality of constraints is mathematically represented within the computer by a constraint equation; specifying to the computer a plurality of external forces and a plurality of external moments to act on the bodies; specifying to the computer one of a plurality of solution modes to execute to generate a configuration of the multibody system resulting from the constraints, the external forces and the external moments acting on the bodies, wherein the plurality of solution modes comprises: a first Newton kinematics mode using a first Jacobian matrix to iteratively calculate coordinates of the bodies so that the constraint equations are solved when each one of the plurality of external forces and each one of the plurality of external moments has a zero magnitude, wherein the first Jacobian matrix comprises the partial derivatives of the constraint equations calculated with respect to Euler parameters; a second Newton kinematics mode using a second Jacobian matrix to iteratively calculate the coordinates of the bodies so that the constraint equations are solved when each one of the plurality of external forces and each one of the plurality of external moments has a zero magnitude, wherein the second Jacobian matrix comprises partial derivatives of the constraint equations in terms of angular velocities; a third Newton kinematics mode using a third Jacobian matrix to iteratively calculate the coordinates of the bodies so that the constraint equations are solved when each one of the plurality of external forces and each one of the plurality of external moments has a zero magnitude, wherein the third Jacobian matrix comprises partial derivatives of the constraint equations calculated using the Levenberg-Marquardt algorithm with Euler parameters; an optimized kinematics mode using a fourth Jacobian matrix to iteratively calculate the coordinates of the bodies in an over-constrained multibody system so that a best solution is found for the constraint equations when each one of the plurality of external forces and each one of the plurality of external moments has a zero magnitude; a dynamic mode using a fifth Jacobian matrix to iteratively calculate the coordinates of the bodies when at least one of the plurality of external forces or at least one of the plurality of external moments has a non-zero magnitude, wherein the fifth Jacobian matrix comprises partial derivatives of the constraint equations in terms of angular velocities; and a static force mode using a sixth Jacobian matrix to iteratively calculate reaction forces and reaction moments required to maintain the multibody system in a static configuration when at least one of the plurality of external forces or at least one of the plurality of external moments has a non-zero magnitude, wherein the sixth Jacobian matrix comprises partial derivatives of the constraint equations in terms of angular velocities; detecting changes in the body descriptions, the plurality of constraints, and the plurality of forces, which are interactively input into the computer by a user during an iteration cycle, and reiterating the one of the plurality of solution modes using the variations until no further variations are detected; and graphically displaying the configuration resulting from the one of the plurality of solution modes on an electronic display at the end of an iteration cycle.
Claim 24
Dependent Claim
36 words
A method according to claim 19, further comprising the step of specifying one of the plurality of constraints as a soft constraint, wherein a soft constraint acts as a spring or damping force on the bodies.
Claim 25
Dependent Claim
34 words
A method according to claim 19, wherein forces and moments are represented on the electronic display as arrow icons having a size proportional to a magnitude of the force or moment vector so represented.
Claim 26
Dependent Claim
28 words
A method according to claim 19, wherein the bodies represent bones, the joint constraints represent joints, and the cable/pulley constraints represent muscles and tendons in an anatomical system.
References Cited (Backward Citations)
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2001-11-09 | 2002-05-11 | 2002-11-10 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2005-11-09 | 2006-05-11 | 2006-11-10 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2009-11-09 | 2010-05-11 | 2010-11-10 | $7700.00 | Window Closed / Lapsed |