multibody system assembly · 2010. 3. 17. · grasmech – multibody 1 computer-aided analysis of...
TRANSCRIPT
-
GraSMech – Multibody 1
Computer-aided analysis of rigid and flexible multibody
systems
GraSMech course 2009-2010
Multibody system Assembly
Paul Fisette, UCLOlivier Verlinden, UMONS
GraSMech – Multibody 2
Contents
� Relative coordinates :
� Pseudo-rotation constraints
� Coordinate partitioning – assembling aspects
� Driving constraints
� Absolute coordinates :
� Assembling techniques
-
GraSMech – Multibody 33
Closed-loop MBS
The « cutting » procedure
GraSMech – Multibody 44
Closed-loop MBS
1. Cut of a body : the most general case
Original body
« Shadow » body(mass = 0)
-
GraSMech – Multibody 55
Loop closure : pseudo-rotation constraints
GraSMech – Multibody 6
Rotation constraints : formulation
6
Loop closure : pseudo-rotation constraints
-
GraSMech – Multibody 77
Loop closure : pseudo-rotation constraints
Rotation constraints : formulation
-
GraSMech – Multibody 88
Let’s choose a subset of 3 independent constraints(general 3D rotation):
Loop closure : pseudo-rotation constraints
-
GraSMech – Multibody 99
if all the constraints are satisfied :
because : = E
Loop closure : pseudo-rotation constraints
=> Coordinate partitioning method can be used to reduce the system => ODE
GraSMech – Multibody 1010
Elimination of the dependent coordinates :
Convergence in the neighborhood of the exact solution v0 ?=> hr can be expanded around v0 :
Pseudo-gradient
Loop closure : pseudo-rotation constraints
convergencepseudo-gradient
at the first order (� error of second order)
details in:
-
GraSMech – Multibody 11
!!! danger : the compete set h(q) are not necessarily satisfied :
Loop closure : pseudo-rotation constraints
because :
is only a subset of the full set of constraints
GraSMech – Multibody 1212
because :
Undesirable solutions (since R orthonormal and det (R) = 1):
First undesirable solution, denoted v1
Loop closure : pseudo-rotation constraints
R(3,3) = +1 or -1
-
GraSMech – Multibody 13
Elimination of the dependent coordinates :
Γ : eigenvalue > 1 =>divergence
in the neigtborhood of v1, hr can be approximated by:
Loop closure : pseudo-rotation constraints
GraSMech – Multibody 1414
Conclusion 1 :
with :
Loop closure : pseudo-rotation constraints
Pseudo-gradientPseudo-rotation constraints
-
GraSMech – Multibody 15
Conclusion 2 :
Loop closure : pseudo-rotation constraints
GraSMech – Multibody 16
Contents
� Relative coordinates :
� Pseudo-rotation constraints
� Coordinate partitioning – assembling aspects
� Driving constraints
� Absolute coordinates
� Assembling techniques
-
GraSMech – Multibody 1717
Coordinate Partitioning - method
Velocity :
Acceleration :
Exact resolution of the constraints
Position :Suspension
Reconfiguration!Latché
mechanism
Principle
GraSMech – Multibody 1818
Coordinate Partitioning - method
�
Finally :
ODE !
-
GraSMech – Multibody 1919
Coordinate Partitioning - assembling
What choice {u, v}2 dof
u ? v ?
Position level :
Velocity level : (Newton/Raphson)
(linear algebra)
20 years of MBS simulationwithout any closure problem !
GraSMech – Multibody 2020
Coordinate Partitioning - assembling
How to choose {u, v}
u ! v !
1. User choice :
u ! v !
2. Numerical choice :
Jv matrix conditioning!3. Compromise between 1. and 2.
State equations
in terms of u
4. A symbolic choice ! Jv matrix « structure »
-
GraSMech – Multibody 2121
Coordinate Partitioning - assembling
u ? v ?
Numerical choice :
v1v2
v*v
s
Newton/Raphson
u v
h(q) = 0.5 x(q)2 - L2
J = (x 0)
How to choose {u, v}
GraSMech – Multibody 2222
Coordinate Partitioning - assembling
u ? v ?
Numerical choice :
v1v2
v*v
s
Newton/Raphson
v ! u !
h(q) = 0.5 x(q)2 - L2
J = (0 x)
How to choose {u, v}
-
GraSMech – Multibody 2323
Coordinate Partitioning - assembling
Delta DirectionFive points Bogie
Numerical choice (for 3D closed-systems)
=> J matrix : LU factorization with full pivoting
…
…
A robust method (among others)
GraSMech – Multibody 2424
Coordinate Partitioning - assemblingNumerical choice (for 3D closed-systems)
A robust method (among others)
« Best » Jv Ju
Best v and v-permutation « Best » u
0
Independent
Constraints(+ best permutation
+ rank)redundantconstraints
zero pivotLU
Yes !
-
GraSMech – Multibody 2525
Coordinate Partitioning - assembling
Compromise between « user » and « numerical »
…
…
u=q3 u=q7u=q2
=> Partial J matrix : LU factorization with full pivoting
A posteriori verification :
=> Rank of partial J = rank of full J
GraSMech – Multibody 2626
Coordinate Partitioning - assembling
Redundant constraints ?
1 or 0 dof ? => 1 !
Re-partitioningNot necessary Not necessary Not necessary Not necessary Mandatory !
R1
R2 R5
R6
R3 R4
Latché
-
GraSMech – Multibody 2727
Coordinate Partitioning - assembling
Newton/Raphson « limitation »No convergence
By experience : not a real problemPossible reasons :
⇒ Unfeasible rigid body mechanism (data mistake, …)⇒ Very far initial conditions (3D vizualization helps a lot)
Convergence, but !
u ?
Fortunatelly : ⇒ Small time steps (1e-3 … 1e-5)
⇒ Very close initial conditions (vi=0 )
Five points
GraSMech – Multibody 2828
Coordinate Partitioning - assembling
Newton/Raphson « limitation » …=> remedySlow convergence => relaxation
u
Fr
ui ui-1ui+1 uirelax
u*
Fr(relax)
Fri+1
iFr
i
Fri-1
Difficult convergence => dichotomic method coupled with N.R.
-
GraSMech – Multibody 2929
Coordinate Partitioning - assembling
u ! v !
1. User choice :
u ! v !
2. Numerical choice :
Jv matrix conditioning!3. Compromise between 1. and 2.
State equations
in terms of u
4. A symbolic choice ! Jv matrix « morphology »
How to choose {u, v}
GraSMech – Multibody 30
Coordinate partitioning - assembling
� Selection of a subset of dependent coordinates v : v=f(u)
� Analysis of the Jacobian matrix �Numerical method : pivotal element search�Symbolic method : looking for a block triangular
sub-matrix Jvx x x x x x x . . . . . . . . .x x x x x x x . . . . . . . . .. x x x . x x . . . . . . . . .x x x x . . . x x x . . . . . .x x x x . . . x x x . . . . . .. x x x . . . . x x . . . . . .x x x x . . . . . . x x x . . .x x x x . . . . . . x x x . . .. x x x . . . . . . . x x . . .x x x x . . . . . . . . . x x xx x x x . . . . . . . . . x x x. x x x . . . . . . . . . . x x
Cuts Jacobian matrix
t
hJq
∂=∂
m
n
A symbolic approach
-
GraSMech – Multibody 31
Coordinate partitioning - assembling
x x x . x . . x . . x .x x x . x . . x . . x .. . x . x . . x . . x .. x . x x x . x . . x .. x . x x x . x . . x .. . . . x x . x . . x .. x . . x . x x x . x .. x . . x . x x x . x .. . . . x . . x x . x .. x . . x . . x . x x x. x . . x . . x . x x x. . . . x . . x . . x x
x x xx x x. x x
x x xx x x. x x
x x xx x x. x x
x x xx x x. x x
This partition does not lead to a block triangular shape
Jv matricesIndependent
blocks
Partition 1: ‘actuators’
Partition 2: ‘central leg’
x x x . . . . . . . . .x x x . . . . . . . . .. x x . . . . . . . . . . . . x x x . . . . . .. . . x x x . . . . . .. . . . x x . . . . . .. . . . . . x x x . . .. . . . . . x x x . . .. . . . . . . x x . . .. . . . . . . . . x x x. . . . . . . . . x x x. . . . . . . . . . x x
Cuts
A symbolic approach
GraSMech – Multibody 32
Bloc Triangular Factorization of J v
� Constraint decoupling � Block by block resolution of h(q)� Solve several small problems
rather than a big one
x x x . . . . . . . . .x x x . . . . . . . . .. x x . . . . . . . . . x . . x x x . . . . . .. . . x x x . . . . . .. x . . x x . . . . . .. . . x . . x x x . . .. . . . . . x x x . . .. x . . x . . x x . . .. . . . . . . x . x x x. x . x . . . . . x x x. . . . . . x . . . x x
II
IIII
IIIIII
IVIV
h I
h I
h I
h III
h III
h III
h II
h II
h II
A symbolic approach
-
GraSMech – Multibody 33
Contents
� Relative coordinates :
� Pseudo-rotation constraints
� Coordinate partitioning – assembling aspects
� Driving constraints
� Absolute coordinates
� Assembling techniques
GraSMech – Multibody 34
Driving constraints : intro
� Kinematic analysis: analyse the behaviour of the mechanism while imposing the motion of parts of the system (ex. robotics: impose the motion of the tool)
Crank rotation imposed
-
GraSMech – Multibody 35
Driving “constraints”
Principle :
Given a driving motion :
Equivalent to a constraint :
Robotransimulation
Robotransimulation
Examples :
Robot inverse kinematics
Mechanism inverse dynamics
GraSMech – Multibody 36
Driving “constraints”
Driving constraint :
=> defined at position, velocity and acceleration level :
=> trivial Jacobian :
Example :
Constant velocity motion :
Harmonic excitation :
Locked motion (particular case):
-
GraSMech – Multibody 37
Driving “constraints”
In a Coordinate partitioning approach : second partitioning
⇒ Driven or « forced » joints : « a priori independent » variables u
⇒ After reduction (nbr 1), second reduction (nbr 2)
for the driven constraints :red red
red red
red
red
C
C
F = « Forced » or « Driven »
Equations of motion � Direct Dynamics
(for time integration, equilibrium, modal analysis)
Driven-constraint equations � Inverse Dynamics (reaction force, actuator force, …)
GraSMech – Multibody 38
An “Academic” Example
« Inverse » dynamics
(actuator torque)
« Direct » kinematics(Piston motion)
« Constraints » dynamics(x-y Force at the connection )
Fy
Fx
x
y
Mz
x
0 ddl !
-
GraSMech – Multibody 39
Contents
� Relative coordinates :
� Pseudo-rotation constraints
� Coordinate partitioning – assembling aspects
� Driving constraints
� Absolute coordinates
� Assembling techniques
GraSMech – Multibody 40
Assembly in absolute coordinates
� Problem of assemby: close the constraints from an
approximate initial set of configuration parameters
(critical for absolute coordinates)
�often insufficient set of initial conditions => the
problem is the most often transformed to an
optimization process (find the closest
configuration, or the less deformed,...)
-
GraSMech – Multibody 41
Assembly – What’s the problem ?
� The user gives a set of initial configuration parameters q0 such thatthe constraints are oftennot verified
� The purpose of assembly is to search for qa such that
� nc constraints in ncp ( some other constraints (or principles) must beadded
GraSMech – Multibody 42
Supplementary initial conditions
� Some more so-called initial conditions φφφφd (driving constraints) are added, as� the initial coordinate of a point
� an initial angle� a perpendicularity condition in initial configuration
� the initial value of one of the configuration parameters
� the initial distance between two points
-
GraSMech – Multibody 43
Assembly equations
� The total set of nonlinear equations to solve to getcoherent initial configuration parameters qa is
� The complete jacobian matrix of constraints is givenby
� Set of nonlinear equations => Why not Newton-Raphson ?
GraSMech – Multibody 44
Problems of assembly
� Insufficient number of constraints: less constraintsthan configuration parameters (infinity of solutions)
� Several solutions(which one tochoose ?)
� Or no solution at all(how to detect it ?)
=> Newton-Raphson not a good candidate in this case !
-
GraSMech – Multibody 45
Minimization procedure
� The closest configuration is searched for by minimizing the cost function
with W a diagonal matrix of weights, under the constraints φφφφ*(q)=0
� The weights Wi can be adapted to enforce the value of a configuration parameterExample: under ADAMS, if the initial coordinate of a body is specified as « exact », the correspondingweighting coefficient is very large (1E10)
GraSMech – Multibody 46
Numerical solution
� The solutions qa are the roots of the system
with λλλλ a set of Lagrange multipliers, commonly solvedby Newton-Raphson
� The matrix of weights W can be replaced by the mass matrix M=> The jacobian matrix is the same as the one builtfor integration
-
GraSMech – Multibody 47
Assembly : flexible mechanism
� Elastic strain:
� Kinematically admissible configuration:
� Strain energy:
GraSMech – Multibody 48
Assembly : flexible mechanism
� Zero strain energy approach
� Numerical solution:
⇒ Newton iterations�One or several solutions?�Convergence ?� : pre-stressed configuration
-
GraSMech – Multibody 49
More robust procedure
� The function to minimize is written (E.J. Haug)
with r a stricly positive factor� The gradient is given by
� The optimization is performed several times withincreasing valued of r and stopped when
� The approach can detect the absence of solution (no evolution of the constraint error)
GraSMech – Multibody 50
Assembly – conclusions(absolute coordinates)
The apparently simple problem of assembly is tricky:one solution, several solutions or no solution at all
� supplementary constraints can be given� advanced numerical procedures are needed, often
based on optimization� find the configuration which is the closest to the
initial one given by the user� find the less deformed configuration� ...
-
GraSMech – Multibody 51
Appendix : Fletcher-Powell’s algorithm