IP Library Granted Patent US 9,424,378
Granted Patent B2
US 9,424,378 · App. 14/170,753 · Granted Aug 23, 2016

Simulation using coupling constraints

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,424,378
App. No.
14/170,753
Granted
Aug 23, 2016
Kind
B2
Abstract

Methods for model simulation and corresponding systems and computer-readable mediums. A method includes receiving a simulation model in the data processing system, the simulation model including at least one master joint connected to at least one slave joint by a coupling, the master joint having a rigid body master attachment and the slave joint having a rigid body slave attachment. The method includes identifying a master axis of the master attachment and a slave axis of the slave attachment. The method includes making a motor determination as to whether the master axis or the slave axis has a motor and making a cross-base determination. The method includes making a constraint determination of which bodies to constrain based on the motor determination and the cross-base determination, storing constraints according to the constraint determination, and executing the simulation model according to the constraint determination.

Claims (123)

1. A method for model simulation, the method performed by a data processing system and comprising:

receiving a simulation model in the data processing system, the simulation model including at least one master joint connected to at least one slave joint by a coupling, the master joint having a rigid body master attachment and the slave joint having a rigid body slave attachment;

identifying a master axis of the master attachment and a slave axis of the slave attachment based on the coupling, wherein the coupling defines the master joint and the slave joint;

making a motor determination as to whether the master axis has a motor or whether the slave axis has a motor;

making a cross-base determination corresponding to the master attachment and the slave attachment, including determining if the slave attachment is a base of the master joint or if the master attachment is a base of the slave joint;

making a constraint determination of which bodies to constrain based on the motor determination and the cross-base determination;

storing constraints according to the constraint determination; and

executing the simulation model according to the constraint determination.

2. The method of claim 1 , wherein the data processing system also determines if the coupling can be simulated by determining whether the master attachment is NULL, whether the slave attachment is NULL, whether the master attachment and the slave attachment are the same, or whether both the master axis and the slave axis have a motor.

3. The method of claim 1 , wherein executing the simulation model is based on a type of axis of the master axis and a type of axis of the slave axis.

4. The method of claim 1 , wherein when neither the master axis nor the slave axis has a motor, according to the motor determination, then the constraint determination is that both the master attachment and the slave attachment are constrained.

5. The method of claim 1 , wherein when the master axis has a motor, and the slave axis does not have a motor, according to the motor determination, then when the slave attachment is a base of the master joint then the constraint determination is that the slave attachment is constrained to an unmoving background of the simulation and the master attachment is not constrained.

6. The method of claim 1 , wherein the data processing system also determines a type of axis of the master axis and of the slave axis, and when the master axis and the slave axis are linear axes, then the system also stores a constraint of

( A 1 +A 2 −proj( A 2 ,A 1 ))·ν 1 +( A 2 +A 1 −proj( A 1 ,A 2 ))·ν 2 =c

where

proj

(

A

1

,

A

2

)

=

A

1

·

A

2

A

2

·

A

1

A

2

,

A 1 is a vector representing the master axis, A 2 is a vector representing the slave axis, v 1 represents the linear velocity of the master attachment, v 2 represents the linear velocity of the slave attachment, and c represents a correction factor.

7. A data processing system, comprising:

a processor; and

an accessible memory, the data processing system particularly configured to

receive a simulation model including at least one master joint connected to at least one slave joint by a coupling, the master joint having a rigid body master attachment and the slave joint having a rigid body slave attachment;

identify a master axis of the master attachment and a slave axis of the slave attachment based on the coupling;

make a motor determination as to whether the master axis has a motor or whether the slave axis has a motor;

make a cross-base determination corresponding to the master attachment and the slave attachment, including determining if the slave attachment is a base of the master joint or if the master attachment is a base of the slave joint;

make a constraint determination of which bodies to constrain based on the motor determination and the cross-base determination;

store constraints according to the constraint determination; and

execute the simulation model according to the constraint determination.

8. The data processing system of claim 7 , wherein the data processing system also determines if the coupling can be simulated by determining whether the master attachment is NULL, whether the slave attachment is NULL, whether the master attachment and the slave attachment are the same, or whether both the master axis and the slave axis have a motor.

9. The data processing system of claim 7 , wherein executing the simulation model is based on a type of axis of the master axis and a type of axis of the slave axis.

10. The data processing system of claim 7 , wherein when neither the master axis nor the slave axis has a motor, according to the motor determination, then the constraint determination is that both the master attachment and the slave attachment are constrained.

11. The data processing system of claim 7 , wherein when the master axis has a motor, and the slave axis does not have a motor, according to the motor determination, then when the slave attachment is a base of the master joint then the constraint determination is that the slave attachment is constrained to an unmoving background of the simulation and the master attachment is not constrained.

12. The data processing system of claim 7 , wherein the data processing system also determines a type of axis of the master axis and of the slave axis, and when the master axis and the slave axis are linear axes, then the system also stores a constraint of

( A 1 +A 2 −proj( A 2 ,A 1 ))·ν 1 +( A 2 +A 1 −proj( A 1 ,A 2 ))·ν 2 =c

where

proj

(

A

1

,

A

2

)

=

A

1

·

A

2

A

2

·

A

1

A

2

,

A1 is a vector representing the master axis, A2 is a vector representing the slave axis, v1 represents the linear velocity of the master attachment, v2 represents the linear velocity of the slave attachment, and c represents a correction factor.

13. A non-transitory machine-readable medium encoded with executable instructions that, when executed, cause a data processing system to:

receive a simulation model including at least one master joint connected to at least one slave joint by a coupling, the master joint having a rigid body master attachment and the slave joint having a rigid body slave attachment;

identify a master axis of the master attachment and a slave axis of the slave attachment based on the coupling;

make a motor determination as to whether the master axis has a motor or whether the slave axis has a motor;

make a cross-base determination corresponding to the master attachment and the slave attachment, including determining if the slave attachment is a base of the master joint or if the master attachment is a base of the slave joint;

make a constraint determination of which bodies to constrain based on the motor determination and the cross-base determination;

store constraints according to the constraint determination; and

execute the simulation model according to the constraint determination.

14. The machine-readable medium of claim 13 , wherein the data processing system also determines if the coupling can be simulated by determining whether the master attachment is NULL, whether the slave attachment is NULL, whether the master attachment and the slave attachment are the same, or whether both the master axis and the slave axis have a motor.

15. The machine-readable medium of claim 13 , wherein executing the simulation model is based on a type of axis of the master axis and a type of axis of the slave axis.

16. The machine-readable medium of claim 13 ,

wherein when neither the master axis nor the slave axis has a motor, according to the motor determination, then the constraint determination is that both the master attachment and the slave attachment are constrained, and

wherein when the master axis has a motor, and the slave axis does not have a motor, according to the motor determination, then when the slave attachment is a base of the master joint then the constraint determination is that the slave attachment is constrained to an unmoving background of the simulation and the master attachment is not constrained.

17. The machine-readable medium of claim 13 , wherein the data processing system also determines a type of axis of the master axis and of the slave axis, and when the master axis and the slave axis are linear axes, then the system also stores a constraint of

( A 1 +A 2 −proj( A 2 ,A 1 ))·ν 1 +( A 2 +A 1 −proj( A 1 ,A 2 ))·ν 2 =c

where

proj

(

A

1

,

A

2

)

=

A

1

·

A

2

A

2

·

A

1

A

2

,

A1 is a vector representing the master axis, A2 is a vector representing the slave axis, v1 represents the linear velocity of the master attachment, v2 represents the linear velocity of the slave attachment, and c represents a correction factor.

Assignments (3)
CHANGE OF NAME Recorded Dec 3, 2019
From: SIEMENS PRODUCT LIFECYCLE MANAGEMENT SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 051171/0024 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2014
From: MCDANIEL, RICHARD GARY
To: SIEMENS CORPORATION
Reel/Frame 032630/0266 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2014
From: SIEMENS CORPORATION
To: SIEMENS PRODUCT LIFECYCLE MANAGEMENT SOFTWARE INC.
Reel/Frame 032630/0314 →