• Nem Talált Eredményt

Advanced Solutions  in Object‐Oriented  Mechatronic Simulation

N/A
N/A
Protected

Academic year: 2023

Ossza meg "Advanced Solutions  in Object‐Oriented  Mechatronic Simulation"

Copied!
24
0
0

Teljes szövegt

(1)

   

Budapest University of Technology and Economics  Dept. of Control Engineering and Information Technology 

   

Advanced Solutions   in Object‐Oriented   Mechatronic Simulation 

     

Summary of PhD Theses   

Tamás Juhász   

 

Supervisor:   Dr. László Vajta, associate professor,  

Dept. of Control Engineering and Information Technology   

Budapest, 2008 

 

(2)

 

Contents 

 

1.  Introduction... 3 

2.  Aims of research ... 4 

3.  Chosen methods and tools ... 4 

3.1.  The Pro/ENGINEER CAD system... 4 

3.2.  Modelica, the object‐oriented physical modelling language... 5 

3.3.  The Dymola simulator ... 5 

4.  Scientific outcome... 6 

4.1.  Automated model generation based on a CAD construction ... 6 

4.1.1.  Source of information... 6 

4.1.2.  Building a tree structure ... 6 

4.1.3.  Assigning geometry to bodies in F... 7 

4.1.4.  Creating a Modelica model based on the scene graph structure... 8 

4.1.5.  Extending the model with subsequent active components... 8 

4.2.  Extending Modelica models with contact processing... 10 

4.2.1.  Mechanical interactions ... 10 

4.2.2.  Tasks of contact processing ... 11 

4.2.3.  Determining the contact parameters ... 11 

4.2.4.  Contact response calculation ... 12 

4.2.5.  A case study... 15 

4.3.  Spatial visual feedback in teleoperation training... 17 

4.3.1.  Posing the problem... 17 

4.3.2.  Design of the experiment... 18 

4.3.3.  Results ... 20 

4.3.4.  Conclusion ... 21 

5.  Summary... 22 

6.  Acknowledgement ... 22 

Related publications ... 23 

Other publications ... 23 

Bibliography ... 24 

   

List of theses 

  Thesis 1... 6

Thesis 2.1... 11

Thesis 2.2... 14

Thesis 3... 17

(3)

1. Introduction 

The  virtual  engineering  methods  applied  in  the  computer‐aided  product  development  can  yield  to  a  synergic  outcome:  the  planning,  analysing  and  optimizing of a product in virtual reality can be carried out faster in multiple  engineering domains at the same time. This is emphasized as approximately 70‐80  percent  of  the  final  production  costs  are  determined  during  the  product  development. During the first phase there is a possibility to analyse the behaviour  and optimize various parameters of a mechatronic system using its functional  model, before any physical prototype would be manufactured. 

Nevertheless, today’s widely spread CAD‐construction systems do not allow  integrated testing of the product being developed by any means of multi‐domain  simulation. Based on large amount of data the functional simulation model of the  product can be created manually: the more detailed this model is, the better it can  approximate the real world behaviour. So far such modelling tasks demanded  tremendous amount of manual calculations from a human expert. 

In order to describe and simulate a functional model of a system, a big number  of  descriptive  languages  and  simulation‐environments  exist  already.  Such  a  simulation model has to be both syntactically and semantically correct, which  requires extreme attention if it is created manually. As the development process is  usually iterative (e.g.: changes in the requirements, varying some parameters  during optimization) the continuous tuning of the model multiplies the risk that  the human modeller can fail. This explains that there is a large demand for a  computerized  solution  for  the  translation  from  a  construction  model  to  a  multibody simulation model. With this help all the relevant physical parameters  of a construction can be embedded largely automated in the simulation. 

In majority of the simulation cases the contacts between moving mechanical  parts and / or the environment has to be detected and their physical effect must be  taken into account. The simulation of industrial manipulators or mobile robots  lays stress on the performance and accuracy of this contact processing task. 

One  practical  application  of  mechatronic  simulation  is  the planning  of  a  teleoperation  [7]  mission  of  a  mobile  platform  by  means  of  virtual  reality  techniques (e.g.: for training purposes). In such cases the proper visual feedback is  very important for the human operator. During the real‐time visualization of a  mechatronic simulation it can be taken into account that the relative motion and  the changing occlusions in the sight have already a strong depth clue, which can  assist the operator to navigate in the virtual reality quite well. The binocular  techniques using auxiliary devices for stereoscopic visualization can also help, but  these have usually more disadvantages: wearing extra glasses can be inconvenient  and the simulator‐sickness (because of the eyes’ lack of ability to focus on any  virtual object) can occur already after 10‐15 minutes of usage. 

 

(4)

 

4/24 Summary of Theses

2. Aims of research 

The  dissertation  emphasizes three  scopes  of virtual engineering problems  introduced in the previous section: 

• A solution is needed for automating the task of creating a functional simulation  model directly out of a mechanical CAD construction plan and offering the  possibility to extend the model with other mechatronic elements. 

• The imperfection of the chosen multi‐domain simulation environment – having  lack of support for contact processing – has to be solved and the virtual contact  model needs to be compared with real world contact problems. 

• A mechatronic simulation in an interactive virtual environment can be used for  virtual teleoperation trainings. It is known that in general the communication  bandwidth between the remote system and the operator can be rather low,  limiting the (visual) information being transmitted. The usage of monocular  visualization  (demanding  less  bandwidth  than  the  binocular  stereoscopic  methods) can be an alternative way, in case we assure that it presents enough  depth information for a human operator navigating in the 3D environment. 

 

3. Chosen methods and tools 

During my research I followed the sequence of literature overviews, problem  definition, program‐, system‐ and experiment design, early implementation tests,  approval tests, evaluation and case studies comparing real system behaviour. 

The Pro/ENGINEER CAD system and  the  Dymola simulator  are  the two  software tools that define the start and end of my presented automated model  translation task. These are chosen for multiple good reasons. 

3.1. The Pro/ENGINEER CAD system 

The PTC (Parametric Technology Corporation [13]) is a partner of such major  international  automotive  manufacturers  as  Audi,  Volkswagen,  Skoda,  Seat,  Maserati, Porsche or Toyota. 

The Pro/ENGINEER system is very popular in Hungary with both the local  affiliates of multinational companies and the national supply chain enterprises. 

Audi Hungaria Motor Kft., the company with the largest export production in  Hungary, and the third largest engine manufacturer in the world is one of the  biggest Hungarian Pro/ENGINEER users. They are planning further investment  and will continue to increase their weight in Hungary, as a result of their recently  announced joint research and development project with the BME University. As  Pro/E is a trend‐setter in the Hungarian industry, I chose it as the source CAD  system for the model translation process. 

(5)

3.2. Modelica, the object‐oriented physical modelling language 

The synergic outcome that was mentioned in the introduction is promoted by  the object‐oriented  modelling  paradigm.  It was  infiltrated  from the  software  engineering also to the modelling of physical system behaviour. This concept  allows reusing and integration of acquired knowledge of previous projects and  modelling  domains.  By  choosing  the  modelling  language  (Modelica)  and  its  supporting simulation environment (Dymola) I focused on the complexity and  diversity of mechatronic systems I would like to simulate. 

The Modelica standard is developed continuously for almost 10 years by an  international non‐profit association [14]. This modern, object‐oriented modelling  language  allows  describing  a  complex  mechatronic  system  over  multiple  engineering domains. It is based on bi‐directional mathematic equations, whereby  the causal relations are only determined by the direction of information flow. 

Besides process and control system‐oriented components it supports modelling of  mechanical‐,  electronic‐,  hydraulic,  pneumatic  and  thermal  subsystems  of  a  complex mechatronic system. 

The Modelica description is based on ordinary differential equations (ODE)  and differential‐algebraic equations and it can also contain state machines or Petri‐

nets [15]. The building blocks in Modelica can connect to each other with uni‐ or  bi‐directional connectors, too. The latter types of connectors implicitly define the  Kirchhoff‐laws on connecting nodes (the value of potential‐variables are the same  and the sum of flow‐variables equals to zero in each connected node). 

The  bi‐directional  information‐flow  between  the  components  and  the  declarative mathematical description of Modelica is emphasized: in comparison to  that, Matlab / Simulink system supports causal description with assignments only. 

3.3. The Dymola simulator 

The Dymola (Dynamic Modelling Laboratory) simulator is a highly developed  commercial  environment for Modelica‐based  multi‐domain simulation [16]. It  utilizes the complete Modelica standard, thus allowing mechatronic simulation  based  on  a  general  mathematical  description  of  mechanical,  electrical,  thermodynamic, hydraulic, pneumatic, thermal, power and control components. 

As Dymola automatically manipulates the equation system of a complex model,  the number of equations and the rank of the system can be significantly reduced,  thus the non‐linear solver can simulate the model in real‐time, too.  

Moreover there is a possibility for embedding a complete Modelica model into  a Simulink block, integrating the advantages of both simulation environments. 

 

(6)

 

6/24 Summary of Theses

4. Scientific outcome 

According to the presented motivation, my research can be divided into three  main parts: I summarize these in the following main sections. 

4.1. Automated model generation based on a CAD construction 

In order to analyse the dynamic behaviour of macroscopic multi‐body systems  in advance, there is a need for functional simulation models. These can be used  already in the early product development phase in order to detect construction  problems, thus can spare costs before any physical prototype is manufactured. 

At this time the creation of such models based on a CAD construction is a  challenging manual problem for modelling engineers. My first statement relates to  the automation of the model translation process: 

 

Thesis 1  [1][2][3] – Chapter 2 of the dissertation 

a) I have created a new, automated method that translates a CAD construction plan  into a consistent mechanical model in Modelica language. During this method I  build a special, hierarchical graph structure: on the one hand it eases handling  kinematical loops, and on the other hand it can also be used later in the effective  visualization of the hierarchical model. 

b) In my extended method active components can be chosen from a multi‐domain  model library interactively, and these parametric models can be assigned to the  nodes of my mechanical model’s hierarchical graph. This extended method can  serve the complete functional mechatronic model of the CAD construction. □ 

4.1.1. Source of information 

In Pro/ENGINEER the geometry information of the original construction  (hierarchy, transformations and shapes) stay also in VRML format at our disposal. 

The kinematical (initial poses, joint axes) and dynamic (centres of mass, masses,  inertias) parameters are temporally stored in a hierarchical XML file. These files  are the source of information during the model translation process. 

4.1.2. Building a tree structure 

In my new method I create a new F tree graph, the nodes of which refer to the  original components of K (they are either joints or rigid bodies). The edges of  represent the relations  between these components  (including  the hierarchical  structure). All of these relations are extracted directly out of the XML data. 

Preserving the original kinematical structure of K asked for attention. As the F  graph is a tree, it cannot contain a cycle. However in there could be more  kinematical loops: these have to be cut along special joints (refer to cutJoint in the  thesis) into multiple branches of F. The cutJoints are located always in leaf‐nodes 

(7)

of F and are detected during the construction of F. These joints have a reference to  their second original neighbour node in the graph with a special virtual edge. In F  these virtual edges close the original kinematical loops of K. 

The following example can help to understand the cutJoint concept: 

 

Figure 1: Example construction (8 bodies + 9 joints) and its F graph 

Two kinematical loops in this example articulated structure are cut by the „D‐‐

C”  and  „F‐‐G”  revolute  joints  forming  a  tree  with  two  main  branches  and  introducing two virtual edges. 

4.1.3. Assigning geometry to bodies in F 

For rigid body models there is an obvious need for geometries in order to  visualize the construction during a simulation. They are also  essential when  contact processing (including  collision  detection) is  also considered  (refer  to  section 4.2). 

The scene graph – that I interposed in the translation process – yields to a  spanning tree of the components in K. The T subset of nodes in F refers to the rigid  bodies in the K construction. So far these are point‐mass objects only. Besides the  XML description, there are VRML files originated from the CAD construction  (section  4.1.1),  the  structure  of  which  follow  exactly  the  hierarchy  of  CAD  assemblies and parts. 

Storing multi‐body information in such a tree structure has a performance advantage  during  visualization (section  4.3), as  the  most  graphical  APIs  support  hierarchical  transformations on the objects being visualized. For example it can be enough to rotate a  revolute joint’s axis to transform all child‐segments connecting to that certain joint. 

As it is described in my work, I can assign VRML nodes to the respective point‐

mass bodies in T. As the VRML description of geometries is also hierarchical, such  an assigned geometrical node might also have subordinate child geometries. If at  that node the VRML hierarchy is deeper than the XML hierarchy, there can be  multiple geometrical shapes associated to the same body, as well. 

This multiple geometry‐association possibility carries also a great advantage: as there is  a possibility to model a concave shape with multiple, adjoined convex ones (refer to  concaveÆconvex partitioning in [24]), the geometrically more robust, highly developed  convex collision detection algorithms can be used in the contact processing (see section  4.2), allowing a more stable simulation. 

(8)

 

8/24 Summary of Theses

4.1.4. Creating a Modelica model based on the scene graph structure 

In  case  of  the  target  Modelica  language  description  each  node  of  is  transformed to a respective model instance in the mechanical model. All the  necessary parameters for these instances are originated from the XML description. 

The example graph on Figure 1 has 17 nodes, which translate to 8 rigid body  instances and 9 abstract revolute joint instances.  

The original topology (kinematical structure) of K must be represented by flat  point‐to‐point connect equations in M. In other words: while processing the edge  list of F (also including the virtual edges), for both nodes at the endpoint of each  edge the associated Modelica model instances’ frame connectors must be connected  with an ideal rigid junction element’s two frame connectors. A connect(X, Y)  equation operator in Modelica is used to define Kirchhoff laws on both related X  and connectors implicitly: the potential variables are equal, while the flow  variables sum to zero in connectors. 

By extending the F tree with its virtual edges, you can get the F’ graph, which  is isomorph to the topology of K. Using a breadth‐first search of F’, the C set of  kinematical loops of K can be found: each loop in C has to be analysed. Each cycle  in F’ must contain a cutJoint, as there is no cycle in the F tree, and – by definition –  a cutJoint cuts a cycle in F’ into two branches in F. 

Although the equation system in the background has an algebraic loop in case  of structures having kinematic loops, Dymola is able to resolve this problem in the  background (without the user’s intervention), as long as these loops are not planar  ones. In a planar kinematic loop (e.g.: consisting 4 revolute joints, where all joint  axes are parallel to each other) the contained joints have only a single degree of  freedom. Within mechanical systems containing planar kinematic loops there is no  longer a unique mathematical solution and the symbolic algorithms of Dymola  will fail. At such a case one has to use a special planarCutJoint instance explicitly at  exactly one joint in the planar loop in order to support the solver of Dymola. 

 

My cutJoint detection rule negotiates between the normal and the planarCut joint  instances in a kinematic loop (based on its planar status), thus there is no need to correct  the final model manually. My new, completely automated model translation procedure  allows building a consistent M dynamic model in Modelica language, which can represent  the functional behaviour of the original K construction. 

4.1.5. Extending the model with subsequent active components 

It is obvious that the passive M mechanical model by itself cannot be analysed  remarkably: in order to inspect its dynamic behaviour, there must be an external  source of energy that sets the system in motion. This can be achieved when the  components of the pure mechanical model (more precisely the contained joint  instances) are extended with an set of active elements of other engineering  domains (e.g.: with electromagnetic actuators). A superior control system can 

(9)

influence the behaviour of these new active elements. By adding the A set to M, the  derived result of my method is the final M’ mechatronic model. M’ will be the  multi‐domain model that is simulated in Dymola environment. 

As the M’ Modelica model inherits the base M mechanical model, a containing  relation exists between their set of equations:  HMHM' The inheritance allows  the M’ and  models  to  keep  some  level of  independence:  in  my thesis  I  distinguished between two major conditions to represent this phenomenon: 

• As long as remains unchanged (both the structure and the names of all  components are constant), the elements in the set can be freely replaceable  and M’ can be recreated without affecting M (thus keeping it intact). 

• If a parameter of is varied only, it influences M exclusively. As long as the  topology of F’ (the structure of K) stays the same, there is no need to recreate  M’.  

 

Concrete examples: 

• By designing servo‐drives the fine‐tuning of electrical parameters (changes in  A) won’t require to recreate M, as only M’ will be updated (via A). 

• Varying  some  material  parameters  in  relates  to  changes  of  dynamic  parameters (masses, inertias). If A is kept constant, the changes in K trigger only  the recreation of M, so the old M’ can be reused with the new M, as they remain 

“compatible”. 

 

The conditional independency of and M’ in my extended method is emphasized:  

this way the individual domains of a mechatronic system can be optimized separately. 

(10)

 

10/24  Summary of Theses

4.2. Extending Modelica models with contact processing 

The Modelica.Multibody library [17] contains the models that are used in the  standard Modelica implementation of mechanical multi‐body simulation. At the  present time only the models of ideal rigid bodies and joints with permanent  degrees of freedom stay at our disposal. The new elements I had to create for the  model translation process (which is related to my Thesis 1) are also based on these  standard implementations. 

Surprisingly there is no standard support in the library for collision processing  between the mechanical models. According to the lack of any retaining forces the  standard  bodies  can  interpenetrate  freely  into  each  other.  There  have  been  multiple suggestions to solve contact problems in special cases in a Modelica  environment  (e.g.: for tyre +  road  contact),  but  these neither give a  general  solution,  nor  build  on  standard  models.  The  standard  support  for  collision  response needs a solution for many years.  

Three years ago a proposal appeared in the literature for solving the general  problem [18], but it was not mature enough. The solution I present in my thesis is  different from all previously discussed ones. 

4.2.1. Mechanical interactions 

There are  two  major groups of possible  interactions  within a  mechanical  system: 

• The  mechanical  joints  define  continuous  constraints  between  the  relative  movements of their coupled mechanical elements. 

• A mechanical contact occurs when surfaces of multiple bodies are touching. Two  phenomena can be distinguished according to the duration of interaction: 

o During a resting / sliding contact static and dynamic friction forces arise,  the duration of which can be the whole inspected time 

o A  collision  contact  is  usually  only  a  temporal  reaction  between  two  colliding bodies  

 

In  majority  of  the  dynamic  multi‐body  simulation  cases  the  handling  of  mechanical contacts (both  contact detection and contact response calculation)  between the virtual bodies is a key importance task. Between the performance and  accuracy of a simulation a golden middle way has to be found, especially when  real‐time simulation and interactivity is demanded (e.g.: in virtual teleoperation,  refer to section 4.3, Thesis 3). 

(11)

4.2.2. Tasks of contact processing 

The general handling of mechanical contacts in a virtual environment bases on  multiple subtasks: 

• The solution has to be backwards compatible with the standard Modelica  description of rigid body mechanics, in order to give models of older projects a  fair chance to introduce it by easily replacing some basic elements with their  extended counterparts. 

• A central task is to trace the pose of all possible colliding mechanical parts  (including their motion) and in case of each overlapping contact, extract all  necessary information for the contact model (contact points, penetration depth  and  ‐direction,  relative  velocities,  cross‐section  area  or  ‐volume,  etc.).  For  determination of most of these contact features there are mathematical libraries  (both free and commercial ones) available on the market. 

• Based  on  the  available  contact  information,  a  response  reaction  has  to  be  introduced in the system. According to the actual material properties of all  pairs of bodies in contact, the magnitude and direction of corrective forces must  be calculated in order to prevent further interpenetration. 

 

Thesis 2.1  [2][3] – Chapter 3 of the dissertation 

In Modelica environment I separated the description of the standard rigid body model  from multiple optional collision shapes. Joining upon Thesis 1, this new method  allows the decomposition of complex shapes (being extracted from a CAD system)  into  multiple  convex  geometries,  creating  better  basis  for  more  stable  –  geometrically more robust – collision processing. □ 

4.2.3. Determining the contact parameters 

There are a few articles about detecting the status of overlapping between  spatial shapes with various accuracy, however the majority of which is not related  to Modelica at all. There are some analytical results [20][23], but mostly only  approximations  are  considered  [21][22][25],  as  they  can  improve  simulation  performance a lot. As a result of these researches there are multiple free and  commercial software libraries on the market that support collision detection. They  offer well‐defined C or C++ interfaces, thus I could integrate some of those into  Modelica environment. 

 

In order to unify the calculation of contact features in Modelica environment I created  a common wrapper interface that allows reusing software packages of various researchers. 

(12)

 

12/24  Summary of Theses

4.2.4. Contact response calculation 

I discussed two major well‐known methods for handling mechanical collisions: 

the impulse‐ and the force‐based theories. After introducing these methods and  pointing out the disadvantages of the impulse‐based technique, I chose the force‐

based calculation. 

Following  the  force‐based  technique  keeps  the  physical  background  of  mechanical contacts: a body conveys energy to its colliding pair, during a finite  time of compression and decompression phases. Meanwhile the work of the  retraining F collision force – that prevents the bodies from further penetration –  consumes energy and produces heat. There are some (boundary) conditions on F: 

• Before and after the contact the magnitude of the vector F is zero. 

• During the whole contact time F is directed to separate the bodies (no adhesion  is modelled) 

• After the collision the relative speed of the bodies is decreased: the overall  energy of the system decreases after each contact event, because some amount  of kinetic energy is transformed to heat. 

• When two point‐mass bodies are colliding ideally, the impulse‐preservation  law must be valid 

• If a T body is resting on a horizontal plane, the system balances its mg weight  with an opposite direction, but same magnitude F=‐mg reaction force. 

 

The method I discuss in my dissertation applies virtual, interim spring and  damper elements between the contacting bodies: 

 

Figure 2: Contact model based on spring and damper forces 

In  the  following  paragraphs  I  describe  the  collision  case  of  two  elastic,  isotropic, homogenous bodies (A and B), which are separated by an F responsive  force having a normal and a tangential component. 

Let’s take a contact point pair (pA és pB) between bodies and B. Note that  when there are more contact point pairs between those, the simple vector‐sum of  the calculated Fi forces yield to the result F force. There is a p penetration vector  between these contact points (pA–pB), the magnitude of which relates to the  penetration depth: the shortest distance and can be separated along that  direction. The collision detection step I mentioned before can serve this vector for  various primitive and triangular mesh geometries. 

(13)

 

Figure 3: Determining the normal direction 

The direction of p matches the normal direction of F: it will act in the pB point  on body B and -F will act in the pA point on body A, respectively (see Figure 3). 

The magnitude of F needs to be calculated. 

As I investigated the function F(p), I proved that (the penetration normal)  alone is not enough contact feature information to determine F. By introducing a  common  ε restitution factor (which depends on the materials of both A and B) I  could confirm that besides the penetration depth and normal, the relative speed of  the contact points is also essential to calculate the normal component of F. 

The pA and pB contact points have a relative velocity vrel, its projection in the  tangential plane is: 

(

rel

)

rel t

rel v e e v

v = − nn• (1)

where en is the (unit length) normal direction vector of the penetrating contact: 

it is defined at t=0 to be parallel to the vector pA–pB. The tangential contact speed 

t

vrelis the magnitude of the (bold written) velocity vector: 

t rel t

vrel = v (2)

If this speed is greater than zero, a frictional force arises in the contact’s  tangential direction: along an et unit length vector in Cartesian space: 

t rel t rel

t v

e = v (3)

In my model the static and dynamic friction forces are switched at a relative  tangential speed limit:vrelt,lim, which is dependent on the contacting materials. A  force acts along the et tangential direction as either static or dynamic friction. Until  the tangential relative speed limitvrelt,lim, a virtual spring from a fixed anchor point  causes an increasing static friction arising between the colliding bodies. 

     

Figure 4: Static and dynamic friction effects with interim springs 

If the colliding bodies in the tangential plane have larger relative velocity  thanvrelt,lim, a dynamic friction force will replace the static one, and the “anchor” 

point is sliding together with the actual contact point in the tangential plane. 

 

(14)

 

14/24  Summary of Theses

Thesis 2.2  [5] – Chapter 3 of the dissertation 

For calculating the normal‐ and tangential reaction forces in simulated mechanical  contacts in Modelica environment, I introduced a coupled spring + damper material  model based on new material properties: 

Normal contact force: 

 

⎪⎩

⎪⎨

⎟⎟ >

⎜⎜ ⎞

⎛ + −

=

0 ) ( , 0

0 ) ( , ) ( )

1 ( ) 1

( 0

t x

t x t x S

t t x

FNORMAL ν ε & CONTACT

ε

(4)

where ν0 is the normal component of the relative collision impact speed at the start of a  contact, SCONTACT is a common spring stiffness factor [N/m], ε is the restitution factor  (both depend on the materials of A and B), x is the penetration depth and x& is the  normal component of the relative velocity of the  contact points. 

 

Tangential contact forces: 

 

A static friction force is caused by a virtual spring having stiffness SFRIC that is  anchored in the contact point and extends to the following length: 

τ

=

v t dt t

t l

t t

rel( ) , 0 )

(

0

( )

otherwise v v F if

t l t S

F

t rel t NORMAL rel

static static FRIC

FRICTION

lim

0 ,

, 0

),

( ) min

( < <

⎩⎨

⎧ ⋅ ⋅

= μ

 

(5)

(6) At larger relative tangential velocities the dynamic friction force replaces the static one. 

Using a material‐dependent μdynamic dynamic friction coefficient: 

otherwise v F v

t F

t rel t NORMAL rel dynamic

dynamic FRICTION

lim ,

, 0

) ,

( >

⎩⎨

⎧ ⋅

= μ

(7) The final contact response is the vector sum of the normal component along en and the  two (alternative) tangential forces along et, which also acts as torques on the (cA, cBcentres of mass: 

( )

⎩⎨

>

+

⋅ +

= ⋅

otherwise t

F

v t

F t F

t t F

NORMAL

t rel dynamic

FRICTION static

FRICTION t

NORMAL CONTACT

, )

(

0 ,

) ( )

( )

) ( (

n n

e

e F e

( )

(

B B

)

CONTACT B

A A CONTACT

A

t t

t t

CONTACT CONTACT

p c F

τ

p c F

τ

×

=

×

=

) ( )

(

) ( )

( □

(8)  

 (9)

(15)

4.2.5. A case study 

A complex case study of my thesis is the six‐legged mobile robot – Anton,  which is developed in the RobotsLab [19] of the Otto‐von‐Guericke University of  Magdeburg together with the Fraunhofer Institute IFF. 

I created the complete mechatronic model of the robot using my automated  process stated by Thesis 1 (on page 6). On the left side of next figure there is a  photorealistic rendered image of Anton’s construction in the CAD system, while  on the right side a screenshot of Dymola can be seen, presenting the virtual contact  forces during a simulation: 

   

Figure 5: The construction and the simulation model of Anton 

In order to analyse the motions of the robot I had to implement the onboard  control  system  in  Modelica  environment,  including  the  motion‐planning  algorithms with inverse kinematics – the details of these tasks can be read in the  dissertation. 

One of the inspected motions was a forward walk with tripod‐gait mode on a  horizontal plane, started from the stable base stance. I compared the results of the  simulation with the data of the real contact force sensors in the feet. The next  figure shows the normal component of both the virtual and the real contact forces,  respectively: 

(16)

 

16/24  Summary of Theses

  Figure 6: Simulation and real sensor data of a tripod gait of Anton 

On this figure it can be observed that the weight of the “ant‐robot” Anton is  balanced in a way that the front and middle legs carry a little bit more load than  the rear ones, because on the head there are two (stereoscopic) cameras mounted. 

As the Start command was executed after 0.5 seconds, it can be seen that the  load on each feet started to change periodically. The robot was walking forwards  in  a  tripod‐gait  mode:  triple‐support  way  of  insect‐like  walking,  using  the  following way: while three legs are pushing the body forward they are supporting  the complete weight of the robot (approx. 7,8 kg) the other legs (lifted in the air)  can swing forwards rapidly. Because of the relocation of the robot’s centre of mass,  the load on the rear feet is always decreasing while it is increasing on the front  ones. As the other three legs accelerate during swinging forward, small peaks can  be observed in the force values. During the swing phases of the observed three  feet  (the  front  /  rear  left  and  the  middle  right  ones)  there  is  no  relevant,  measurable contact force, of course. 

Figure 6 compares my simulation results with the real robot’s behaviour,  validating my contact model that I introduced in Modelica environment with  Thesis 2.2, showing a very good match to the reality. 

0  5  10 15 20  25

-5 0 

5 

10 

15 

20 

25 

30 

35 

40 

45  ANTON - Simulation

time [s]

Force [N] 

0  5  10 15 20  25

-5 0 

5 

10 

15 

20 

25 

30 

35 

40 

45  ANTON - Sensors

time [s]

Force [N] 

 

Front Left Middle Right Rear Left

(17)

4.3. Spatial visual feedback in teleoperation 

Generally the phrase “teleoperation” can indicate circumstances in which a  device or machine is operated by a person from a distance. Before a teleoperation  mission  involving  expensive  robot‐systems  would  start,  it  is  often  that  the  operating personal does some training in a simulated environment. This is a high‐

level application of mechatronic simulation (refer to Thesis 1 and 2), which must  be also real‐time and interactive. 

Nevertheless the 3D visual feedback is also very important in teleoperation. 

The human operator must be able to navigate in the virtual reality by interpreting  a large amount of visual information. For navigation the correct localisation of  possible obstacles demands significant visual depth information, as well. 

The human visual depth perception has multiple components that can be  grouped in two sensory categories of either monocular or binocular effects: 

• The monocular effects can be perceived also by a single eye: linear perspective,  size‐consistency, occlusion / overlapping, aerial perspective, shading / shadows  and motion parallax. 

• All  binocular  clues  are  based  however  on  the  retinal  disparities  of  both  concurrently stimulated eyes. 

 

The superposition of multiple monocular and binocular effects leads to a  complex depth perception process in our brain. The relative strength of some  binocular and some static monocular clues have already been analysed [28][29]. 

4.3.1. Posing the problem 

The amount of visual information that can be sent during a teleoperation  mission can be limited by the capacity of the transmission channel. In comparison  to the binocular methods, the monocular ones need definitely fewer resources. 

Therefore the use of pure monocular visualization can be considered, if it can  present adequate depth information that is necessary for the task. 

The  most  people  are  able  to  navigate  a  vehicle  in  a  dynamic  virtual  environment by using monocular information exclusively. The motion‐parallax  effect – meaning a steady change of angular position of two observations of the  same object projected to the retina while the observer and the environment have a  relative velocity – is established to present a relatively strong depth clue: 

 

Thesis 3  [4][6] – Chapter 4 of the dissertation 

Proceeding from the important role of motions during the interactive simulation of  mobile mechatronic systems I recognized that besides the monocular visualization  requires less resource compared to the binocular stereoscopic techniques, it has also  enough strength in creating adequate depth impressions in the operator. □ 

(18)

 

18/24  Summary of Theses

During my literature research I did not find any relevant articles about the  quantitative analysis of the intrinsic depth effect caused by the motion. For the  applicability in mobile teleoperation a measurement was demanded: thus it can be  assured  whether  the  monocular  visualization  has  enough  strength  for  that  purpose. 

In Chapter 4 of my thesis I present a series of psychophysical experiments that  were done at the department. These experiments involved 44 voluntary student of  the University, and were organized by our 3DMR laboratory with the help of my  colleagues,  Tamás  Urbancsek  and  Dr.  Ferenc  Vajda.  The  purpose  of  the  experiments was the measurement of the intrinsic (objective) quality of depth  information presented by the conventional rendering technique including the  optional usage of auxiliary stereoscopic devices: 

• Anaglyph spectacles 

• LCD shutter glasses 

• Polarization goggles   

I combined all of these enumerated techniques with two known camera models  and an optional relative motion (introducing the motion‐parallax effect). For each  possible combination all voluntary students are prompted to give subjective scores  during a 10 minute experiment (pro person) judging its strength to reproduce  depth sensation.  

Using a full‐factorial analysis I could extract a quantitative measure for the  strength of motion‐parallax in 3D visualization: 

4.3.2. Design of the experiment 

As  depth  perception is  a  subjective  quantity,  one  can  have  the  question  whether it is measurable at all or the measurements delivered by two different  scenes are really comparable. Hereafter it is shown that it is possible to build an  appropriate measurement model. 

The first problem is that the attendants cannot quantize exactly their depth  experiences even on an exactly defined scale, thus it can happen that one estimates  the same experience differently at a later time. A bigger issue is that the same  scene generates different depth sensation level to the observer under the same  circumstances but at a later time. The first impression with a novel technique may  cause over‐estimation of the experience. 

Therefore, the measured value depends on the preceding scenes viewed by the  experimental person. This effect can be modelled with an internal state of the  observer person. 

 

Def.:  Constellation:  the  measurement  arrangement  that  includes  the  visualization technique, the presented 3D scenario and the environment (related  later to the x input vector). The observer person is separated from that. 

(19)

                 

Figure 7: Model of a series of experiments 

x denotes the parameters of the scene arrangement  (which technique is used, is  the virtual camera moving, depth clues). 

denotes all the other parameters of the measurement arrangement, which  affect the intrinsic depth perception level and had to be set to constant during  the series of experiments. 

is the intrinsic depth perception level. I want to estimate this value at the  different scene arrangement parameter values (x). 

u influences the initial q0 state of the observers (e.g.: they were always told the  same a‐priori information), it can be taken also constant during an experiment. 

values are the direct answers of the observer (absolute and relative depth  sensation levels). 

• Every person has his internal habits: a personal bias (b, the liability to use  higher numbers on a scale) and a personal interpretation of scale (a, a tendency  to exaggerate).  

 

The expected values of the a and b factors are 1 and zero, respectively. It was  assumed  that  these  factors are  constant  for  each  individual  observer. These  individual properties are treated as a linear transformation of the intrinsic depth  sensation. The x input vector of the constellations has three factors: 

 

• Applied 3D technique (x1

o Spectral separation (anaglyph): A 

o Time‐shared technique (with LC shutters): S  o Polarization‐based: D 

o Conventional technique: M   

• Camera model (x2

o Monocular, central: 0  o Binocular, convergent: T  o Binocular, parallel: P 

input  factors 

Constellation   

I = F(x, c)  intrinsic

effect 

Observer (O) z = a(I +  ξ) + b 

a(O), b(O)   ξ (O, q(t),u(t)) 

 

Internal state: q(t)

measured effect  uexternal factors

c constant parameters 

ξ noise 

(20)

 

20/24  Summary of Theses

x3

N R

x1 

A S D

0 T

P x2

0 1

2 3

4 5

6 8 7

9

10 11

12 13

14 15

16 17

18 19

Figure 8: The GX constellation‐graph 

• Dynamism (x3

o Moving scene: R  o Static scene: N   

Four combinations of x have no  meaning, thus there are 20 possible  constellations that are represented  by the nodes of the GX graph on  Figure 8. The adjacencies between  the nodes are due to the following  requirement:  each  person  must  evaluate  all  constellations  once,  and  between  two  adjacent  cases  only a single factor of the input  should  change.  An  edge  in  GX 

shows that the connected constellations differ only in either x1 or x2 or x3 factor. 

The requirement of adjacent constellation sequences during the experiments  demanded Hamiltonian paths (HPs) in GX: such a path contains 19 edges and  passes each node in the graph only once, by definition. The start node of each path  had to be selected randomly for a given observer, thus a heuristic algorithm had to  be created that searches HPs in GX. It can be proven that there are less than  enough independent HPs in the graph, thus I allowed my algorithm to skip one  edge, resulting a quasi Hamiltonian path that uses only 18 real edges of GX. 

Using an electronic questionnaire each person had to score two depth effect  levels for each of the 20 constellations on a scale in the [1, 9] interval: the absolute  zabs subjective and the zrel relative quality of depth (comparing always to the  previous scenario). 

4.3.3. Results 

The answers of each observer have been logged by the application I created to  conduct these experiments. I did the pre‐processing and evaluation of the results  using the statistical toolbox of Matlab for the two main questions: 

 

Absolute Z values: 

 

First I eliminated the distortion of the individual factors (a and b) from the  absolute answers (zabs) using a linear transformation (normalization). 

In the next step I determined the I=F(x,c) function for each node of the GX   graph  (x0…x19)  by  fitting  normal  distribution  functions  for  the  normalized  answers.  By  determining  the  mean  values  (presented  in  Table  1),  I  chose  confidence intervals at 90% confidence level: 

   

(21)

Table 1: Intrinsic depth perception levels  F(X1,X2,N)  F(X1,X2,R)

3.08  4.24 4.40 A 5.23 5.82 5.93  3.32  5.29 5.83 S 5.99 6.78 7.17  3.87  6.44 6.64 D 5.38 7.13 8.10 

2.97  ‐  ‐  M 4.79 ‐  ‐ 

 

On a scale from 1 to 9 the motion (M0NÆM0R) improves +1.8 units in the  depth perception levels compared to a still scene. Using auxiliary goggles the  F(X1,X2,R) – F(X1,X2,N) differences lay at +1,8±0,9 units.  

Due to the bigger distance between the observers and the canvas, the parallel  camera model was more suitable: the difference caused by binocular information  using the projection model (F(X1,0,N) – F(X1,P,N)) is at +2,5±1,2 units. Thus it  can be seen that the visual depth information presented by the motion‐parallax  technique is in many cases as big as that of the binocular visualization methods. 

It is also obtained that by simply wearing a “placebo” auxiliary spectacle (in A,  or modes) the observer might have an illusion he / she perceives binocular  information, although only a central 0 camera model was used in six constellations  covering this psychic effect (e.g.: S0N or A0R). These constellations gained in  average +0.4 units more with “placebo” goggles than without one. 

 

Relative answers: 

 

The zrel answers gave me a balanced set of information about the edges of GX. 

Although my heuristic (quasi)Hamiltonian path‐search algorithm used random  start nodes, each observer could score only 18 real edges in GX, while it has 52  edges altogether. Nevertheless the  comparison of adjacent  constellations was  directly possible using these answers, as each edge of GX relates to a single factor  change in the x input vector of constellations. The mean value of the scores of the  10 edges related to the change of the x3 factor (NÆR) gave the result that the  motion‐parallax  effect scored +2,05 (± 0,39 @ 90%) more units in the quality  improvement level of depth perception. Similarly, by analysing the x1 factor, the  usage of binocular visualization improves +1,91 (± 0,56 @ 90%) units in the quality. 

4.3.4. Conclusion 

Using statistical analysis of measurements gained from a series of psychophysical  experiments I determined the quantitative strength of the motion among the depth clues of  various visualization techniques. 

Consequently,  in  a  dynamic  environment  the  motion  parallax  effect  can  compare to the effect of real stereoscopic visualization methods in creating depth  impressions, thus in the application field of teleoperation the support of this  monocular technique can be satisfactory. 

(22)

 

22/24  Summary of Theses

5. Summary 

I put the guide‐line of my thesis along a straight path of virtual engineering. It  starts from the subtask of automated translation of a mechanical Pro/Engineer  construction to functional mechatronic simulation models described in Modelica  language (Thesis 1), which is extended by handling mechanical contacts (Thesis 2),  and leads to a sensory assessment of visualization techniques during virtual  teleoperation mission trainings (Thesis 3). I created an integrated mechatronic  model authoring and visualization tool to encompass all of my research results  under a common software environment. My system allows real‐time visualization  of an interactive mechatronic simulation. 

In our days the digital engineering becomes more important in the lifecycle of a  product,  including  computer‐aided  design,  ‐production  planning  and  

‐manufacturing,  allowing  a  broad  spectrum  of  analysis  and  optimization 

techniques in these areas. The competition induced by the digital revolution  challenges the small‐ and medium sized enterprises (SME), as well. It is rather  often  that  these  companies  don’t  have  enough  expertise  on  modelling  and  simulation of complex mechatronic systems, though they are usually contractors  with big enterprises that can demand such knowledge from the suppliers. 

The solutions discussed in my work can make the workflow between the  design and the optimization more effective for the SME, thus they can be more  competitive on the digital market of today. For example the smaller companies in  the supply chain can have better interoperability with the larger enterprises,  because they can send electronically a verified / optimized virtual model much  earlier. All the supplied components can be virtually integrated into the final  digital product, which can also be optimized along given criteria before any  physical production would start. 

 

6. Acknowledgement 

Hereby I would like to express my sincere gratitude and appreciation to my  director of studies and adviser, Dr. László Vajta, for his expert guidance and  mentorship,  his  corrective  suggestions  for  this  dissertation  and  for  his  encouragement and continuous support at all levels since my undergraduate years  and during my PhD studies. 

I would like to thank my colleagues at the Department of Control Engineering  and Informatics: Dr. István Loványi, for generously providing the advanced 3D  visualization hardwares and Dr. Ferenc Vajda and Tamás Urbancsek for their kind  assistance  in  organizing  and  conducting  the  psychophysical  experiment  and  nonetheless for Miklós Vogel, who was my adviser for the master’s thesis in  informatics for his suggestions on the direction of research on mobile robotic  simulator systems. 

(23)

Moreover I am very thankful for my Marie Curie programme‐supervisor, Prof. 

Ulrich Schmucker that he offered me the opportunity to gather great experience  on the research field of multi‐domain modelling and simulation as a fellow in the  Early‐Stage Research Training mobility programme of the European Commission  at the Virtual Engineering Expert Group of the Fraunhofer Institute for Factory  Operation and ‐Automation in Magdeburg. 

 

Related publications  

[1] Juhász,  T.;  Schmucker,  U.:  “From  Construction  CAD  to  Modelica  model:  Structural  Manipulations throughout the Translation Process”; Proc. of 11th IFF Science Days, 25th‐26th  June 2008, Magdeburg, Germany 

[2] Juhász,  T.;  Schmucker,  U.:  “CAD  to  SIM:  CAD  Model  Conversion  for  Dymola‐based  Mechatronic Simulation”; Proc. of 10th International Conference on Computer Modelling and  Simulation, 1st‐3rd April 2008, Cambridge, England, ISBN 0‐7695‐3114‐8 

[3] Juhász, T.;  Schmucker,  U.:  “Automatic  Model  Conversion  to  Modelica  for  Dymola‐based  Mechatronic Simulation”; Proc. of 6th International Modelica Conference, 3rd‐4th March, 2008,  Bielefeld, Germany, Vol. 2, pp. 719‐726. 

[4] Vajta,  L.;  Urbancsek,  T.;  Vajda,  F.;  Juhász,  T.:  “Comparison  of  Different  3D  (Stereo)  Visualization Methods ‐ Experimental Study”; Proc. of 6th Eurosim Congress on Modelling and  Simulation, 9th‐13th September 2007, Ljubljana, Slovenia, Vol‐1 (abstracts), p. 351. 

[5] Juhász, T.; Konyev, M.; Rusin, V.; Schmucker, U.: “Contact Processing in the Simulation of  CLAWAR”; Proc. of 10th CLAWAR International Conference, 16th‐18th July 2007, Singapore,  pp. 583‐590. 

[6] Vajta, L.; Juhász, T.: “The Role of 3D Simulation in the Advanced Robotic Design, Test and  Control”; International Journal of Advanced Robotic Systems – Cutting Edge Robotics 2005,  ISBN 3‐86611‐038‐3, pp. 47‐61. 

Other publications 

[7] Juhász,  T.:  “Áttekintés  telerobotikáról  és  dinamikus  robot  modell  paramétereinek  identifikációjáról”; MicroCAD 2004 Nemzetközi Tudományos Konferencia, 2004. március 17‐

18, ISBN 9‐636‐61619‐1, Miskolc, Hungary, Vol. K, pp. 211‐216. 

[8] Juhász, T.;  Urbancsek, T.: “Beyond the limits of kinematics in planning keyframed biped  locomotion”; Proc. of 6th Eurosim Congress on Modelling and Simulation, 9th‐13th September  2007, Ljubljana, Slovenia, Vol‐1 (abstracts), p. 78. 

[9] Juhász,  T.:  “Behavioral  Simulation  for  the  Fast  and  Flexible  Manufacturing  Enterprise”; 

Production Systems and Information Engineering 2004, Volume 2, University of Miskolc,  Hungary, pp. 121‐129. 

[10] Juhász, T.: “Graphics Acceleration Techniques for a Mobile Robot Simulator”; Proc. of 7th Central  European Seminar on Computer Graphics, CESCG ’03, 22nd‐24th April, 2003, Budmerice,  Slovakia, pp. 147‐156. 

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

The next part of the paper is the numerical examination of nonlinear oscillators, like the Duffing-Holmes oscillator and a mechatronic semi-active suspension

Furthermore, systems view is important in the application of mathemati- calmodels, especially in the application of planning models in those cases where the task of planning is

In this paper the flutter performance of di ff erent bridge deck sections was investigated by using numerical flow simula- tion.. The detailed comparison of the aerodynamic behaviour

better efficiency in the nozzle direction can also be observed. Indeed at high pressure drops, the volume flow ratio is better for a about 40° in the nozzle direction than at

The method discussed is for a standard diver, gas volume 0-5 μ,Ι, liquid charge 0· 6 μ,Ι. I t is easy to charge divers with less than 0· 6 μΐ of liquid, and indeed in most of

The mononuclear phagocytes isolated from carrageenan- induced granulomas in mice by the technique described herein exhibit many of the characteristics of elicited populations of

These fractions were examined—as described above—by gas chromatography and spectroscopy; the same gas chromatographic fractions were cleverly used for the measurement of

Concerning the simulation experiments in this paper, by a causal summary of a simulation run we mean the causal partition vectors representing the final values of