23
1 GraSMech – Multibody 1 Approach based on Minimal coordinates Prof. O. Verlinden Faculté polytechnique de Mons [email protected] GraSMech course 2009-2010 Computer-aided analysis of rigid and flexible multibody systems GraSMech – Multibody 2 Modelling steps Choose the configuration parameters (q) Set up the kinematics: express position, velocity and acceleration (rotational and translational) of each body in terms of q and its first and second time derivatives Express the forces in terms of q, its time derivatives and time t Build the differential equations of motion Numerical treatment of the equations GraSMech – Multibody 3 Principle of minimal coordinates Type of coordinates (relative, absolute,…) chosen freely as far as number of coordinates= number of degrees of freedom The kinematics needs a dedicated work for each system not adapted to general software (not systematic) leads to ordinary differential equations (ODE), interesting for control

Approach based on Minimal coordinates

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

1

GraSMech – Multibody 1

Approach based on

Minimal coordinates

Prof. O. Verlinden

Faculté polytechnique de Mons

[email protected]

GraSMech course 2009-2010

Computer-aided analysis of rigid

and flexible multibody systems

GraSMech – Multibody 2

Modelling steps

� Choose the configuration parameters (q)

� Set up the kinematics: express position, velocity and

acceleration (rotational and translational) of each

body in terms of q and its first and second time

derivatives

� Express the forces in terms of q, its time derivatives

and time t

� Build the differential equations of motion

� Numerical treatment of the equations

GraSMech – Multibody 3

Principle of minimal coordinates

� Type of coordinates

(relative, absolute,…)

chosen freely as far as

number of coordinates=

number of degrees

of freedom

� The kinematics needs a dedicated work for each system

� not adapted to general software (not systematic)

� leads to ordinary differential equations (ODE), interesting

for control

2

GraSMech – Multibody 8

Modelling steps

� Choose the configuration parameters (q)

� Set up the kinematics: express position, velocity and

acceleration (rotational and translational) of each

body in terms of q and its first and second time

derivatives

� Express the forces in terms of q, its time derivatives

and time t

� Build the differential equations of motion

� Numerical treatment of the equations

GraSMech – Multibody 9

The need for a geometrical formalism

Tool needed to express position and orientation of a body, through a coordinate system (or frame) attached to the body

global reference

frame

body

reference

frame

(center of

mass)

secondary

body

frame

For body i -> homogeneous transformation matrix T0,i

GraSMech – Multibody 10

Vectors and coordinate systems

Tool needed to manipulate vectors (velocities, forces,

accelerations,...) in different coordinate systems

3

GraSMech – Multibody 11

Position vector of a point

GraSMech – Multibody 12

Homogeneous transformation matrices

GraSMech – Multibody 13

Examples of matrices

� Displacement without rotation

� Rotation about X axis

4

GraSMech – Multibody 14

Examples of matrices

� Rotation about Z axis

� Rotation about a unit vector n

GraSMech – Multibody 15

Switching between coordinate systems

Postion vectors relative to different coordinate systems

are linked by transformation matrices

The position of a point P of body i is easily

expressed from its local coordinates and T0,i

GraSMech – Multibody 18

Homogeneous transformation matrices are particularly interesting along kinematic chains (robotics)

Multiplication of position matrices

A complex matrix is built from the multiplication of

elementary matrices (rotation or translation)

5

GraSMech – Multibody 21

Position, velocity and parameters

Situation of each body expressed in terms of q

General form of velocity

GraSMech – Multibody 22

Kinematic matrices

� Velocities can be expressed in matrix form

� as well as accelerations

GraSMech – Multibody 23

Example: double pendulum

6

GraSMech – Multibody 24

Example: double pendulum

GraSMech – Multibody 25

Example: double pendulum

GraSMech – Multibody 26

Global kinematics

� Kinematics of body i

� Kinematics of secondary frames

7

GraSMech – Multibody 29

Modelling steps

� Choose the configuration parameters (q)

� Set up the kinematics: express position, velocity and

acceleration (rotational and translational) of each

body in terms of q and its first and second time

derivatives

� Express the forces in terms of q, its time derivatives

and time t

� Build the differential equations of motion

� Numerical treatment of the equations

GraSMech – Multibody 30

Expression of forces

For each body i, we need

� The resultant force of all applied forces exerted on

body i

� The resultant moment of all applied forces exerted on

body i, with respect to center of mass

GraSMech – Multibody 31

Force elements - examples

� Spring

(stiffness k and

rest length l0)

� Damper (damping

coefficient c)

8

GraSMech – Multibody 32

Example: double pendulum

The only applied force is the

gravity

GraSMech – Multibody 35

Modelling steps

� Choose the configuration parameters (q)

� Set up the kinematics: express position, velocity and

acceleration (rotational and translational) of each

body in terms of q and its first and second time

derivatives

� Express the forces in terms of q, its time derivatives

and time t

� Build the differential equations of motion

� Numerical treatment of the equations

GraSMech – Multibody 36

Equations of motion

How to get (in a systematic way now) the equations of

motion from

�Kinematics

�Applied efforts on each body

The theorem of virtual power (d’Alembert) is particularly

well suited

for any virtual motion and even

for any admissible virtual motion (principle of VP)

9

GraSMech – Multibody 37

Virtual power of applied forces

� Kinematically admissible motion

as kinematic step includes all the joints

� Power developed by applied forces

GraSMech – Multibody 38

Virtual power of inertia forces

� Power developed by inertia forces

with mi and ΦGi the mass and tensor matrix of body i

GraSMech – Multibody 39

Equations of motion

Globally, the expression

becomes

10

GraSMech – Multibody 40

Equations of motion

� Equations of motion=second-order ordinary differential equations (ODE)

� with the mass matrix

� the Coriolis and centrifugal terms

� and the contribution of applied forces

GraSMech – Multibody 41

Equivalent vector form

Equations of motion can also be obtained from partial

velocities

with for example for the mass matrix

GraSMech – Multibody 42

Applicability of minimal coordinates

Equations of motion can be written from kinematics and

applied efforts !

But ... is the method applicable in practice ?

Yes -> Team of Prof. Manfred Hiller (University of

Duisburg, Germany), A. Keczkemethy,

M. Anantharaman

11

GraSMech – Multibody 43

Practical implementation

� Classical organization of a MBS software

Application 1

Generals

olver

Results 1

Application 2

Application 3

Results 2

Results 3

Data

files

� Organization with minimal coordinates

General

library

Results 1Dedicated program 1

Results 2

Results 3

Dedicated program 2

Dedicated program 3

GraSMech – Multibody 44

Components of the library

� Routines to express motion (composition of

movements along a kinematic chain)

� Routines to solve constraints

� Routines to express forces (springs, dampers, tires,

contact,…)

� Routines to build equations of motion from kinematics

and applied forces

� Routines for the numerical treatment of equations of

motion (integration, static equilibrium, linearization,

computation of poles,…)

GraSMech – Multibody 45

Principle for generalization (Hiller)

Inside a loop, the motion is described in terms of

minimal coordinates (loop=kinematic transformer)

Independent configuration parameters

Dependent conf. parameters

Expression of motion

Solving of constraints

Basic ideas: constraints solved in advance and by loops

12

GraSMech – Multibody 46

Generalization - example

Example: slider-crank mechanism

And so on for velocities and accelerations !!

GraSMech – Multibody 47

Kinematic transformer (Hiller)

Loop=kinematic transformer

Different strategies to solve loops: typical pair of joints,

minimal polynomial equation, automatic gneration of

closed-form solutions

GraSMech – Multibody 48

Industrial example

Not limited to simplistic systems !

30 bodies

40 joints

13 loops

25 dof

13

GraSMech – Multibody 49

Other implementation: EasyDyn

GraSMech – Multibody 50

Components of EasyDyn

GraSMech – Multibody 51

Using EasyDyn (C++ only)

The user must a provide a C++ program with

� Routine SetInertiaData() specifying the inertia properties of all bodies

� Routine ComputeMotion() implementing

� Routine AddAppliedEfforts() describing the efforts on each body (eventually with the help of available routines)

� A main routine for initialization and call of integration routines

The user can rely on the vec module for kinematics and efforts

14

GraSMech – Multibody 52

CAGeM

GraSMech – Multibody 53

Using EasyDyn with CAGeM

Mupad script with

� Dimensions

� Inertia properties

� Kinematics (position)

� Gravity

� Initial conditions

� options

Core C++ program

� Kinematics (velocity

and acceleration)

� External forces

(gravity only)

� Typical simulation

(time integration)

CAGeM

Body i: TOG[i]=Trotz(q[0])*Tdisp(q[1],0,0)…

q[j]= configuration parameter

Number of configuration parameters=number of degrees

of freedom (minimal coordinates- no constraints)

GraSMech – Multibody 54

Using EasyDyn with CAGeM (2)

Core C++ program

� Kinematics (velocity

and acceleration)

� External forces

(gravity only)

� Time integration

Add other forces

� Available routines

(spings, dampers,…)

� Vector library

Add other differential

equations (electrical,

pneumatic,

hydraulic,…)

Adapt simulation (static

equilibrium,

poles,discrete-time

operations)

15

GraSMech – Multibody 55

Double pendulum in MuPAD

GraSMech – Multibody 56

Double pendulum in MupAD

GraSMech – Multibody 57

Some interesting features of CAGeM

16

GraSMech – Multibody 58

Slider-crank mechanism

GraSMech – Multibody 59

Robot

3D doesn’t make any difference !

GraSMech – Multibody 60

Interest of CAGeM

17

GraSMech – Multibody 61

Efforts of actuators

vectors

action

reaction

GraSMech – Multibody 62

Walking robot AMRU5

AMRU: Autonomy of Mobile Robots in Unstructued

environments

AMRU5: hexapod robot built by RMA, ULB and VUB

•18 degrees of freedom

•hierarchical control:

central controller

+one controller per leg

(Microchip PIC)

•about 30 kg

•Diameter about 1 m

GraSMech – Multibody 63

Leg of AMRU5

Mechanism of the leg=pantograph

Horizontal and vertical motions of the

foot are driven independently

-> gravitationally decoupled actuation

18

GraSMech – Multibody 64

Mechanics of the leg

Nut-screw

Motor-gearbox-encoder

Axis of rotation

GraSMech – Multibody 65

Model of AMRU5

� Contact with the ground introduced as external forces

� Total of 24 degrees of freedom

T0G[0]=Tdisp(q[0],q[1],q[2])

*Trotx(q[3])*Troty(q[4])*Trotz(q[5])

GraSMech – Multibody 66

Kinematics of the pantograph

The situation of each body must be expressed from the 2

configuration parameters

19

GraSMech – Multibody 67

Kinematics of the pantograph

GraSMech – Multibody 68

Summary of the model

� 49 bodies

� The central body

� 8 bodies per leg (support part, 4 leg members and 3 rotors)

� 24 configuration parameters(and second-order differentialequations) for the mechanical part

� PID Controllers

� 36 differential equations in continuous time (test only)

� Algebraic expressions in discrete time (actual controller)

� First-order model of DC motors

� Contact force derived from relative motion with respect to the ground (nonlinear elastic with damping)

Input of the simulation: targets of the controllers

GraSMech – Multibody 69

Interest of the model

The main interest of the model is to improve the gait

generation => softer and less energy consumption

20

GraSMech – Multibody 70

Let’s have it walk !

Bad gait Good gait

Climbing

GraSMech – Multibody 71

Example: human walking

Interest of EasyDyn in Biomechanics

� Particular kinematics (not classical joints)

� Particular forces

�Contact forces (foot-ground)

�Resistive joint torques

�Muscle modelling

Rustin Cédric, F.S.R.-FNRS PhD student

University of Mons (UMONS)

7000 Mons (Belgium)

GraSMech – Multibody 72

Human lower limbs and walking process

� Kinematics : Delp's model

� 14 bodies :

− Torso-head

− Pelvis

− 2 femurs

− 2 patellas

− 2 tibias-fibulas

− 2 talus

− 2 calcaneus

− 2 sets of toes

21

GraSMech – Multibody 73

Human lower limbs and walking process

� Kinematics : Delp's model

� 11 joints and 23 dof :− 6 for the pelvis

− 3 orientation angles for the torso-head

wrt the pelvis

− 3 orientation angles for each thigh

wrt the pelvis

− the knee angle for each calf

wrt each thigh

− the ankle angle for each talus

wrt each calf

− the angle for each calcaneus

wrt each talus

− the angle for each set of toes

wrt to each calcaneus

GraSMech – Multibody 74

Human lower limbs and walking process

Human articulations are not classical

mechanical joints

For instance, for the femur-(tibia-fibula)

joint (one dof joint)TrefG[R_TIBIAFIBULA]:=

*Tdisp(g5_(q[R_KNEE_ang]),

g6_(q[R_KNEE_ang]),

R_tibia_fibula_kinematicstranslation_z)

*Trotz(q[R_KNEE_ang])

*…

GraSMech – Multibody 75

Human lower limbs and walking process

Passive joint moments: results form

the resistance and damping

generated by the skin, soft

tissues, cartilages, muscles and

tendons wrapping the joint.

Amankwah's model: passive

moment described by a

differential equation

22

GraSMech – Multibody 76

Human lower limbs and walking process

Muscles (particular actuator)

� 88 muscles for the 2 lower limbs

� Can be modelled with the virtual

muscle Brown and Loeb’s models

6 ODE's per muscle

� the excitation and activation

processes

� the F-L and F-V filters

� the properties of the slow and

fast fiber types

� the yield and sag phenomena

� ...

GraSMech – Multibody 77

Human lower limbs and walking process

Foot-ground contacts: 6 ellipsoids of contact

Non linear contact force expressed in terms of penetration

and penetration rate

GraSMech – Multibody 78

Present work: dynamic simulation of walking

Presently input data = joint angles and velocities

Soon (hopefully) input data = muscles activation history

Input data must be adapted by optimzation for a stable

walking

23

GraSMech – Multibody 79

Conclusion

� The approach based on minimal coordinates requires

a dedicated kinematics from the user

�Advantage: freedom

�Drawback: laborious, risk of mistakes

� It is not limited to simplistic systems (with a good

library)

� No constraints in the equations of motion

� It is well adapted to education