Interactive system for simulation and display of multi-body systems in three dimensions
OwnerJames D. Lynch, Martin J. Vanderploeginventors
Life of this patent
Estimating the term…
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.
Claims22
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.
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.
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.
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.
Dependencies are inferred from the claim text.