Multibody system Assembly · 2010. 3. 17. · GraSMech – Multibody 1 Computer-aided analysis of...

26
GraSMech – Multibody 1 Computer-aided analysis of rigid and flexible multibody systems GraSMech course 2009-2010 Multibody system Assembly Paul Fisette, UCL Olivier Verlinden, UMONS GraSMech – Multibody 2 Contents Relative coordinates : Pseudo-rotation constraints Coordinate partitioning – assembling aspects Driving constraints Absolute coordinates : Assembling techniques

Transcript of Multibody system Assembly · 2010. 3. 17. · GraSMech – Multibody 1 Computer-aided analysis of...

  • 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