Tolerance Analysis of Assemblies Using Kinematically

Download Report

Transcript Tolerance Analysis of Assemblies Using Kinematically

Tolerance Analysis of
Assemblies Using
Kinematically-Derived
Sensitivities
Paul Faerber
Motorola Corporation – Lawrenceville, GA
Presented by:
Jeff Dabling
BYU – Graduate Student
Tolerance Analysis Kinematic Analysis
Assembly
Similarities
Network
Graph
• Both use vector loops
• Both use kinematic joints
• Both use sensitivities
Skeleton
Diagram
Vector
Loops
Dimensional
Variation
Inputs
Variation
Analysis
Increment
Position (if
mechanism)
• Differences (Tolerance)
• Dimensions allowed to vary
• Requires sensitivity to
dimensional variation
• Single position analysis
Mechanism
Network
Graph
Skeleton
Diagram
Vector
Loops
Kinematic
Inputs
Velocity and
Acceleration
Analysis
Increment
Mechanism
Position
• Differences (Kinematic)
• Dimensions not allowed to vary
• Requires sensitivity to velocity
inputs
• Multiple Position Analysis
Research Objectives
• Model static assemblies with a kinematic modeler
• Extract tolerance sensitivities from a kinematic
solver
• Perform tolerance analysis on a mechanism in
multiple positions
• Assess difficulty of adding tolerance analysis to
commercial kinematic software
Tolerance Analysis of Mechanisms
Current Method:
3
3
3
3
2
4
1
Original
Solid Model
2
4
1
Solid Model
New Position
4
2
1
Solid Model
New Position
Tolerance models for each
position of interest
2
4
1
Solid Model
New Position
Merging Kinematic and Tolerance
Analyses
Kinematic/
Dynamic Model
Multiple
Positions
Sensitivities
Tolerance models
for each position
Kinematic Analysis
4-bar mechanism
r1 e
3
2
Vector loop equation
i (q1 )
+ r2 e i (q2 ) + r3 e i (q3 ) + r4 e i (q4 ) = 0
Resulting velocity equations
w 2 r2 sin q 2 + w 3 r3 sin q 3 + w 4 r4 sin q 4 = 0
w 2 r2 cos q 2 + w 3 r3 cos q 3 + w 4 r4 cos q 4 = 0
4
1
4
r3
3
r4
r2
2
r1

1
Matrix formulation
 r3 sin q3 r4 sin q4 
 r2 sin q2 
w 3 
Aw 2 + B   = 0 A = 
 B =  r cosq r cosq 
q
r
cos
3
4
4
3
2
2
w 4
Kinematic Solution  r (cos q sin q - cos q sin q ) 
2
2
4
4
2


w 3 
q
q
q
q
r
(cos
sin
cos
sin
)
-1
4
3
3
4  w
{
  = [- B A]{w2 }=  3
2}
q
q
+
q
q
r
(cos
sin
cos
sin
)
w
2
3
3
2 
 2
 4
Outputs
Input  r4 (cos q 4 sin q3 - cos q 3 sin q 4 ) 
Tolerance Analysis
4-bar mechanism
Vector loop equations
r1ei (q1 ) + r2ei (q1 + 2 ) + r3ei (q1 + 2 + 3 ) + r4ei (q1 + 2 + 3 + 4 ) = 0
3
2
4
Linearized equations
1
cosq1dr1 + cosq2 dr2 + cosq3dr3 + cosq4 dr4 - (r2 sin q2 + r3 sin q3 + r4 sin q4 )d 2
- (r3 sin q3 + r4 sin q4 )d 3 - r4 sin q4 d 4 = 0
4
3

4
r3

3
+ (r3 cosq3 + r4 cosq4 )d 3 + r4 cosq4 d 4 = 0
r4
r2
2

2
r1
sin q1dr1 + sin q2 dr2 + sin q3dr3 + sin q4 dr4 + (r2 cosq2 + r3 cosq3 + r4 cosq4 )d 2
1
Tolerance Analysis, continued
4-bar mechanism
3
2
4
1
Matrix Formulation
d 2 


dr
 1 
d 3 
[ A] dr2  + [B]  = 0
d 4 
 dr 
 3
 dr4 
(-r3 sin q3 - r4 sin q4 ) -r4 sin q4 
[B ] = 

(
)
q
+
q
q
r
cos
r
cos
r
cos
 3
3
4
4
4
4 

(q q q)
q
q
q
q
[ A] =  r2 sin 2 r3 sin 3 r4 sin 4 cos 1 cos 2 cos 3 cos 4 
 (r2 cosq2 + r3 cosq3 + r4 cosq4 ) sinq1
sinq2
sinq3
sinq4 
Tolerance Analysis Solution (non-statistical)
4
3

4
r3

3
[
r4
r2
2

2
r1
d2 
d2 




dr
dr
1
1




d3 
-1 

 = - B A  dr2  = Si,j  dr2 
d4 
 dr 
 dr 
3


 3
Outputs
 dr4 
 dr4 
1
]
[ ]
Inputs
Estimated Tolerance Accumulation
4-bar mechanism
4
3

4
r3

3
r4
r2
2

2
r1
1
 3
 3
 3
 3
 3
2
2
2
2
d 2 ) + (
dr1 ) + (
dr2 ) + (
dr3 ) + (
dr4 ) 2
RSS d 3 = (
 2
r1
r2
r3
r4
 4
 4
 4
 4
 4
2
2
2
2
2 ) + (
dr1 ) + (
dr2 ) + (
dr3 ) + (
dr4 ) 2
RSS d 4 = (
 2
r1
r2
r3
r4
Observations
Kinematic Analysis Solution
4

3
3
r4
r2

2

4
r3
2
r1
1
 r2 (cosq 2 sin q 4 - cosq 4 sin q 2 ) 
 r (cosq sin q - cosq sin q ) 
w 3 
3
4
3
3
4
  = Jij {w 2 } =  r (cosq sin q + cosq sin q )  {w 2 }
2
3
3
2 
 2
w 4  2 x 1
 r4 (cosq 4 sin q 3 - cosq 3 sin q 4 ) 
[ ]
Tolerance analysis solution (non-statistical)
 d 2 
 d 2 
 dr 
 dr 
 1 
 1 
 d 3 
-1

 = [ - B A]  dr2  = Si , j  dr2 
2x 5
 d 4 
 dr 
 dr 
3


 3
 dr4 
 dr4 
[ ]
Kinematic Analysis of an Equivalent
Variational Mechanism
4
r3
Vector loop equation
r1ei (q1 ) + r2ei (q2 ) + r3ei (q3 ) + r4ei (q4 ) = 0
3
r4
(Dimension ri not constant)
r2
2
Resulting velocity equations
1
r1
r1 cos q1 + r2 cos q 2 + r3 cos q 3 + r4 cos q 4 - w 2 r2 sin q 2 - w 3 r3 sin q 3 - w 4 r4 sin q 4 = 0
r1 sin q1 + r2 sin q 2 + r3 sin q 3 + r4 sin q 4 + w 2 r2 cos q 2 + w 3 r3 cos q 3 + w 4 r4 cos q 4 = 0
Matrix formulation
 - r2 sinq 2 cosq 1 cosq 2 cosq 3 cosq 4 
A= 

r
cos
q
sin
q
sin
q
sin
q
sin
q
2
1
2
3
4
 2
 - r3 sin q 3
=
B 
 r3 cos q 3
- r4 sin q 4 

r4 cos q 4 
w2 
 
 r1  w 
3
A r2  + B  = 0
 r  w4 
 3
 r4 
Kinematic analysis solution
w 2 
 
 r1 
w 3 
  = - B -1 A  r2  = Ji , j
w 4 
 r 
 3
 r4 
[
]
w 2 
 
 r1 
 r2 
 r 
 3
 r4 
[ ]
Comparisons
Tolerance analysis solution (non-statistical)
 d 2 
 d 2 
 dr 
 dr 
 1 
 1  d = S d + S dr + S dr + S dr + S dr
 d 3 
-1
3
1,1
2
1,2 1
1,3 2
1,4 3
1,5 4

 = [- B A] dr2  = [Si , j ] dr2 
 d 4 
 dr 
 dr  d 4 = S2,1d 2 + S2,2dr1 + S2,3dr2 + S2,4dr3 + S2,5dr4
 3
 3
 dr4 
 dr4 
Kinematic analysis of equivalent mechanism solution
w 2 
 r 
 1 
w 3 
-1
  = - B A  r2  = J i , j
w 4 
 r 
 3
 r4 
[
]
w 2 
 r 
 1  w 3 = J1,1w 2 + J1,2 r1 + J1,3r2 + J1,4 r3 + J1,5r4
 r2  w = J w + J r + J r + J r + J r
4
2 ,1 2
2 ,2 1
2 ,3 2
2 ,4 3
2 ,5 4
 r 
 3
Are the sensitivities the same?
 r4 
[ ]
Transformation to Relative Angles
Relative rotations
3 = q3 -q 2
Differential rotations
d 3 = dq 3 - dq 2
 4 = q 4 -q3
d 4 = dq 4 - dq 3
Psuedo-velocities
d  3 dq 3 d q 2
=
dt
dt
dt
d 4 dq 4 d 3
=
dt
dt
dt
Kinematic analysis solution
dq 3
dq 2
dr1
dr2  dr3
dr4
= J1,1
+ J1, 2
+ J1,3
+ J1, 4
+ J1,5
dt
dt
dt
dt
dt
dt
dr
dq 4
dq
dr
dr
dr
= J 2,1 2 + J 2, 2 1 + J 2,3 2 + J 2, 4 3 + J 2,5 4
dt
dt
dt
dt
dt
dt
3
Tolerance analysis solution (after substitution)
d 3
dq2
dr1
dr2
dr3
dr4
dt
= ( J1,1 - 1)
dt
+ J1,2
dt
+ J1,3
dt
+ J1,4
dt
+ J1,5
dt
d 4
dq2
dr
dr
dr
dr
= ( J 2 ,1 - J1,1 )
+ ( J 2 ,2 - J1,2 ) 1 + ( J 2 ,3 - J1,3 ) 2 + ( J 2 ,4 - J1,4 ) 3 + ( J 2 ,5 - J1,5 ) 4
dt
dt
dt
dt
dt
dt
Equivalent Variational Mechanisms
r3
r2
r4
• Uses kinematic
elements to represent
dimensional variations
in a kinematic model
of the assembly
• ri are kinematic inputs
• ri are proportional to
dimensional tolerances
Equivalent Variational Mechanisms
Kinematic Analysis
Tolerance Analysis
Assembly
Network
Graph
Skeleton
Diagram
Vector
Loops
Dimensional
Variation
Inputs
Variation
Analysis
Mechanism
Equivalent
Variational
Mechanism
Increment
Position (if
mechanism)
Network
Graph
Equivalent
Variational
Inputs
Kinematic
Inputs
Skeleton
Diagram
Vector
Loops
Velocity and
Acceleration
Analysis
Increment
Mechanism
Position
• Vector loops identical for both types of analyses
• Use tolerance analysis techniques to develop vector loops for
assemblies
• Use these vector loops as a starting point in developing EVM
The Stack Blocks Assembly
Gap
Cylinder
Block
r
p
n
e

d
c
a
b
Frame
Creating Vector Loop Assembly
Models
Cylindrical DRF
Rectangular DRF
Cylinder
Feature
Datum
Loop 2
Gap
Loop 3
Cylinder
Block
Block
Frame
Loop 1
Frame
Network Graph
Closed Loop #1
Kinematic Joints
Closed Loop #2
Part and Feature
Reference Frames
Open Loop #1
Dimensional Variations
Each vector represents
a link in the EVM
Stacked Blocks Model
Dimensional Variations
Angular Variations
d
dt
 ± d
Angular dimension
d
dt
Equivalent joint

Skeleton model
Linear Variations
dl
dt
l ± dl
Independent variation
dl
Slider Joint
Equivalent Joint
Skeleton model
Equivalent Kinematic Joints
Joint
Equivalent
Joint
Planar
Joint
Cylindrical
Slider Joint
Edge
Slider
Joint
Parallel
Cylinders
Joint
center of curvature
Skeleton
Model
Stacked Blocks Model
Dimensional Variations
Kinematic Variations
EVM Stack Blocks Assembly
Stacked Blocks Model (completed)
Dimensional Variations
Kinematic Variations
Fixed Joints
Pin Joints
EVM Modeling Techniques
3
4
r3 = 0
• Extracting Sensitivities from
Kinematic Solver
•
r2 = 1
2
r4 = 0
q2
Independent variables:
r2, r3, r4, q2
Dependent variables:
2, 3, 4
Unit velocities are applied to each
independent joint, one at a time.
Resulting dependent variables represent
the row of the tolerance sensitivity matrix
corresponding to that joint.
w 3   J1,1
 =
w 4   J 2,1
J1, 2
J1,3
J1, 4
J 2, 2
J 2,3
J 2, 4
w 2 
 r 
J1,5   1 
 r2 

J 2,5   
r
 3
 r4 
Variation Results for Stack Blocks
Gap Sensitivities
dgap
dgap =
dgap =
a
b
c
e
n
g
q
r
theta
-0.306
0.306
-1
-1.046
1
0
1.231
-3.495
-0.197
 (S
2
dx
)
i, j
j
( - 0.306  da) 2 + (0.306  db) 2 + ( - 1 dr2 ) 2 + ( - 1046
.
 de) 2 + (1 dn) 2
+ (0  dg) 2 + (1231
.  dq) 2 + ( - 3.495  dr ) 2 + ( - .197  dtheta) 2
Tolerance Analysis Using Equivalent
Variational Mechanisms
Independent variables:
r2, r3, r4, q2
Dependent variables:
2, 3, 4
• Variations in link lengths are
allowed by including slider
elements in each link.
• Sensitivities are used to form
RSS expressions used in
statistical tolerance analysis.
• Kinematic modeler moves to
the next location, and the
process is repeated.
Modeling Techniques for
Mechanisms
r
• Apply independent velocities as a reciprocating time function
•
Each new time step (second) is a new analysis point at the nominal
link-lengths
• Controlling the period of the function controls the resolution of the
analysis, which affects the accuracy of the analysis
•
Cosine Function
•
•
Full magnitude at time = 0
Period equal to the time step
period
r= acos(bt)
a
amplitude = a
r
period =
-a
2
b
Variation Results for Four-bar
Mechanism
4
1.00
0.50
0.00
-0.50
0.00E+00
-1.00
-1.50
-2.00
-2.50
-3.00
-3.50
-4.00
-4.50
1.00E+02
2.00E+02
3.00E+02
4.00E+02

4
r3
3
dalpha3/dtheta2
dalpha4/dtheta2

3
dalpha3/dr2
dalpha4/dr2
r4
r2
dalpha3dr3
dalpha4/dr3
dalpha3/dr4
2
dalpha4/dr4
Angular Position of Input Link

2
1
r1
Sensitivities vary with position
(r1, q1 can also vary)
Output Variation
0.4
0.35
0.3
Greatest sensitivity at 270º
Variation
Sensitivity
Tolerance Sensitivities
0.25
dalpha3
0.2
dalpha4
0.15
0.1
0.05
0
0
60
120
180
Input Angle
240
300
360
Contributions
• Defined relationship between kinematic and tolerance
analyses
• Developed method for creating and analyzing
equivalent variational mechanisms (EVM)
•
•
•
Equivalent 2-D kinematic joints presented
Demonstration of method on static assemblies, as well as
kinematic
Demonstrated using commercial kinematic software,
ADAMS
•
•
Method for extracting kinematic sensitivities
Method for returning the model to its nominal dimensions at each
time step
Recommendations for Future
Research
• Investigate relationship between the higher kinematic
derivatives (acceleration and jerk) and the higher statistical
moments (skewness and kurtosis)
• Integrate with commercial kinematics CAD applications
– Develop a user interface
– Study degree of freedom problems
•
•
Extend into three-dimensional assemblies
Include form tolerances in this method