Acessibilidade / Reportar erro

Advances in modelling of mechatronic systems: the toolset FASIM_C++ for the simulation of vehicle dynamics

Abstract

The increasing complexity of controller systems, applied in modern passenger cars, requires adequate simulation tools. The toolset FASIM_C++, described in the following, uses complex vehicle models in three-dimensional vehicle dynamics simulation. The structure of the implemented dynamic models and the generation of the equations of motion applying the method of kinematic differentials is explained briefly. After a short introduction in methods of event handling, several vehicle models and applications like controller development, roll-over simulation and real-time-simulation are explained. Finally some simulation results are presented.

Vehicle Dynamics; Multibody Dinamics; Modelling of Mechatronic Systems


Advances in Modelling of Mechatronic Systems: The Toolset FASIM_C++ for the Simulation of Vehicle Dynamics

Dirk Adamski

Institut für Mechatronik

IMECH GmbH

Moers Germany

Christian Schuster

Ford-Werke AG

Köln Germany

Manfred Hiller

Fachgebiet Mechatronik

Univ. of Duisburg

Duisburg, Germany

Abstract

The increasing complexity of controller systems, applied in modern passenger cars, requires adequate simulation tools. The toolset FASIM_C++, described in the following, uses complex vehicle models in three-dimensional vehicle dynamics simulation. The structure of the implemented dynamic models and the generation of the equations of motion applying the method of kinematic differentials is explained briefly. After a short introduction in methods of event handling, several vehicle models and applications like controller development, roll-over simulation and real-time-simulation are explained. Finally some simulation results are presented.

Keywords: Vehicle DynamicsMultibody Dinamics, Modelling of Mechatronic Systems

Introduction

The sophisticated goal to improve the safety of vehicles and to reduce the number of accidents necessitates an increasing complexity of the implemented controller systems. Developing systems like antilock-braking systems (ABS), traction control systems (TCS) or vehicle dynamics control (VDC) requires an appropriate simulation tool. FASIM_C++ is a product of the co-operation between the Department of Mechatronics of the University of Duisburg and the Robert Bosch GmbH, Stuttgart. Whereas systems like ABS or TCS consider only the longitudinal vehicle dynamics, one of the newest developments of controller systems, the VDC, considers additionally the lateral vehicle dynamics (Erhardt and van Zanten, 1995).

The Simulation Environment Fasim_C++

The aim of developing vehicle controllers, requires an appropriate model of the vehicle dynamics, included in a versatile simulation environment. This simulation environment has to be able to simulate different vehicle types or models without any recompilation. The vehicle model has to have a modular form, so that single components of the vehicle may be exchanged depending on the simulation tasks. Thus, models of the vehicle dynamics on different levels of complexity can be stated covering correspondent physical effects in the desired accuracy. The modular structure of a vehicle model in FASIM_C++ is shown in Figure 2 by the example of a semitrailer truck.


Fig. 1 Model of a semitrailer truck

Fig. 2 Topology of a semitrailer truck

The presented structure does not show the details of construction of the modules, e.g. which kind of front axle is used. During the initialisation this is not important for FASIM_C++, because the required information for generating the equations of motion is part of the modules and just in the beginning of simulation it is evaluated. The topology of the vehicle, which describes the kinematical structure of the individual modules, is shown in Fig. 2. This particular model is equipped with rigid axles and the implemented elasticities are replaced by rotational joints with torsion bar springs. For the reasons of clearness the modules engine, engine suspension, power train, braking system, driver and environment are not shown (Hiller et al., 1997).

The presented concept has been realised using the programming language C++. In this way it is possible to decide during runtime, which configuration of a vehicle is used without any recompilation of the program. FASIM_C++ contains a large library of different vehicle modules like wheel suspensions, tyre models, power trains, engines, engine suspensions, controllers, sensors, elasticities, a rigid or flexible car body, several hydraulic braking systems, a driver and an environment model. The similar structure of the modules makes it easy to expand the library by new modules.

Modelling

The first step before simulating the dynamical behaviour of a vehicle is to state an appropriate model by dividing the modelling process into four main steps:

  • generating the physical model (abstraction),

  • generating the mathematical model,

  • generating the source code for implementation and

  • validation of the model.

During the abstraction the physical model of a real vehicle is generated. The kind of the physical model depends on the later simulation tasks; therefore in this step it is very important to specify exactly the later requirements. To transform the physical model into a mathematical one, appropriate procedures for solving the differential equations have to be found. Then, the system of equations is transformed into source code in C++. One of the most important steps is the validation of the model using results of measurements of real vehicles as reference data. It is one of the tasks of the development engineer to state corresponding criteria for evaluating the simulation results.

The mechanical part of the vehicle is simulated as a spatial multibody system whereas the overall vehicle including brake hydraulics, sensors, controllers, etc. is a typical example of a mechatronic system. More detailed information about multibody simulations can be found in Hiller et al., 1994a, Haug, 1989 and Schiehlen, 1990. The vehicle system is bound with a fictive joint with six degrees of freedom to inertial reference frame, so that all degrees of freedom of a rigid body can be taken into consideration.

Generating the Equations of Motion

The equations of motion are based on D'Alembert's principle

(1)

with:

nB number of mass-endowed bodies,

mi, QSi mass and inertia tensor of body

Si acceleration of c.o.g.,

Fi, TSi applied force and torque,

drSi, dFi virtual linear and angular displacement.

Due to the constraints in the system, the virtual displacements in Eq. 1 are not independent. To generate the equations of motion in minimal coordinates the choice of f independent generalised coordinates q1,...,qf is necessary, corresponding to the number of degrees of freedom of the system. The equations of motion of the mechanical system in minimal coordinates then write as

(2)

with the notations and dimensions:

M[ f x f ] generalised mass-matrix,

q [ f x l ] generalised coordinates,

b [ f x l ] generalised gyroscopic forces,

Q [ f x l ] generalised applied forces.

Applying the principle of kinematic differentials the elements of the equations of motion are calculated expressing partial derivatives by kinematical terms.

(3)

(4)

(5)

with

mi mass of body

Qi inertia tensor

Fl applied force

Tl applied torque

wi real angular velocity.

The pseudo velocities , and pseudo accelerations (Hiller and Kecskeméthy, 1989) are defined as follows:

(6)

Due to the modular structure of the matrices and vectors in Eqs. 3-5, their elements can easily be calculated from the corresponding modules. For this reason, Eqs. 3-5 are subdivided into an inner sum, inside the module l considering all its bodies nB and in an outer sum considering all modules nM.

(7)

Applying the kinematics of the vehicle model, the necessary pseudo velocities and pseudo accelerations can be calculated. Regarding the tree-typed structure of the model, this is a substantially faster method than the analytical computation. The modular structure of the mass matrix is shown in Figure 3 with the example of the formerly explained model of a semitrailer truck1 1 Several modules are combined, because the description of all 32 degrees of freedom would be too comprising. .

Fig. 3 Scheme of the mass matrix

Due to the symmetry of the mass matrix, only one half has to be calculated as shown in Fig. 3. The computation of single elements of the mass matrix is done in a blockwise manner and only non-zero elements are regarded automatically, avoiding almost all zero operations. Regarding for example the wheel rotation of the third trailer axle, it is obvious that their coordinates are influenced by the movement of the third trailer axle itself, both trailer elasticities, the coupling, the car body elasticity and the car body itself, but not influenced by the movement of all other modules.

The outer model structure contains no kinematical loops2 2 except of the power train, which is handled separately , while the modules themselves contain closed loops like steering mechanism or wheel suspensions. These loops have to be solved internally with special methods. The computation of the kinematics and the dynamics is done module by module starting at the root (car body) and following the tree typed structure. The dynamics of the vehicle mode is computed in reverse direction.

Event Handling

Numerical integration of the equations of motion of multibody systems requires an adequate event handling, which distinguishes between time, step and state events (Otter, 1995). Figure 4 describes the implemented step size and event control.

Fig. 4 Integrator Control

A state event for example is the blocking of the wheels. Step events are caused by discrete-time systems like sensors, controllers or output modules. These events are studied next.

Systems with a Time Varying Structure

Depending on the simulation task and the implemented model it may be necessary to change the number of degrees of freedom or the transfer function of single modules during the simulation. In this case, a restart of the simulated system and the integrator at the time of the event is necessary. The blocking of a wheel for example causes a reduction of the number of degrees of freedom, so that the system has to be reconfigured. If the wheel rotates again, the system has to be reconfigured a second time, because the degree of freedom has to be reactivated.

For this reason an event function g(q, t) is defined, which depends on state vector and time. An element of an event vector represents a single event (blocking of wheels, gear shifting, ...). This vector is transmitted to the integrator to detect a sign change of an element of the vector. Depending on the event the number of degrees of freedom is adapted or the system is re-initialised and the integrator is restarted. A simple example for a system with a time varying structure is regarded in a model of an overrun brake, which is established for a caravan model and is explained later. Another example for such a system is also demonstrated later, in which rollover simulations caused by impacts on the wheel rim are presented.

Discrete-Time Systems

Sensors and digital controllers are discrete-time system components, so the integration has be controlled, depending on the step size of the controllers and sensors. For this reason it is important to stop the integration exactly in time to call the discrete-time system, which is implemented in a task list. After checking the discrete-time task, the control is given back to the integrator. The task list contains models for controllers, sensors and the output mechanisms for simulation data and animation data.

Examples for Vehicle Modelling

One of the aims of FASIM_C++ is to improve the flexibility in modelling structurally completely different vehicles. The next sections will show the easy way to enlarge the vehicle library, illustrated with examples of a passenger car with and without a caravan, and a semitrailer truck.

Passenger Car

Figure 5 presents the typical topology of a common passenger car.

Fig. 5 Topology of a passenger car

A comprehensive library of different mechanical and nonmechanical modules enables the user to assemble a large variety of different vehicles. So, for example, different kinds of power trains for front-, rear- and four-wheel driven vehicles can be utilised. As another example the library of front suspensions in FASIM_C++ contains in this time:

  • double wishbone suspension,

  • double pivot strut suspension,

  • McPherson suspension,

  • four link suspension and

  • rigid axle3 3 Only for the semitrailer truck. .

One example of a vehicle model is the Mercedes Benz W140 (Fig. 6), supplied with a double wishbone axle with three degrees of freedom and a five-point wheel axle with two degrees of freedom. The power train is implemented with an automatic gear. The wheel is divided up into a rim, belonging to the power train, and the tyre. The rim considers the wheel rotation as degree of freedom and the mass influences of the wheel. The tyre contains one of several tyre models, which are chosen depending on the simulation task. A detailed explanation of the vehicle model is given in Schmitz, 1994.

Fig. 6 Topology of a passenger car

Table 1 Kinematical structure of a passenger car

Passenger Car with a Caravan

Another topic in the field of vehicle dynamics simulation, is the simulation of vehicles with trailers, especially passenger cars with caravans (Fig. 7). A simple model is described here.


Fig. 7 Sketch of a passenger car with a caravan


In Germany caravans generally have to be supplied with overrun brakes (Uffelmann, 1980). The brake is an example of a system with a time varying structure, which is explained in the following.

Due to the relative motion of the caravan towards the car while braking, a force in the drawbar, which is transversally movable, is applied. Then, different mechanisms can be applied to transform this force into a braking-torque at the wheels of the caravan. The drawbar between vehicle and caravan is in a limited area adjustable in longitudinal direction, so that while braking the caravan shifts the drawbar against a spring-damper-system. This motion is limited by two stops. If one of the stops is reached, the transversal degree of freedom will be deactivated (frozen). Although it is possible to calculate exactly all necessary parameters, in this special case an approximation of the forces can be applied, which improves computing performance. For making the decision of freezing the d.o.f. or not, the transversal caravan force FA

(8)

with

FA transversal caravan force [N],

mA caravan mass [kg],

aabs acceleration in absolute coordinates [m/s2],

and the spring force FF of the spring supplied in the drawbar

(9)

with

FF spring force [N],

cF spring coefficient [N/m],

xBmax displacement [m].

have to be calculated.

As long as FA· FF, which means that the force of deceleration is less then the spring force, the d.o.f. is active. The stops are adjusted in a way that under small accelerations or decelerations due to aerodynamic forces and rolling resistance the rear stop is reached. In this case the d.o.f. is deactivated and the computing time decreases.

Semitrailer Truck

Contrary to the previous example of the caravan, the coupling between truck and trailer (Fig. 9) is arranged behind the rear axle of the truck, so that the dynamical behaviour of the vehicle is completely different. The structure of the semitrailer truck with 32 degrees of freedom was already shown in Fig. 1. The simple model mentioned above is able to demonstrate the principal dynamical behaviour of a heavy vehicle in a sufficient manner. Additionally, regarding a vehicle with large dimensions (length 15 m, weight 30 t) it is impossible to model it only using rigid bodies. To simulate the flexible frame of truck and trailer, the vehicle and trailer body are modelled using several rigid bodies connected by concentrated elasticities. Furthermore, the implementation of FE-elements is possible. Finally, some selected simulation results are presented in further ahead.

Fig. 9 Sketch of a semitrailer truck

The object-oriented design of FASIM_C++ allows an easy adaptation of different extensions of the vehicle model. On the one hand side this leads to a remarkable variety of "conventional'' vehicles to be simulated. On the other hand side the extension of the vehicle model in modular structure is easy to manage, additional mechanical or non-mechanical components (e.g. controllers, sensors) can easily be appended. In co-operation with the Robert Bosch GmbH in Stuttgart different projects in the area of automotive engineering were realised basing on a conventional vehicle model. In general, the following applications will be presented in this chapter:

  • development of vehicle controllers,

  • adaptive cruise control,

  • simulation of rollover manoeuvres and

  • real-time simulation.

Development of Vehicle Controllers

The simulation of vehicle dynamics incorporating controllers like ABS, TCS or VDC requires beneath sufficient accuracy the provision of suitable interfaces between vehicle model and controller source code. Furthermore, as already described before, a control algorithm for the numerical integration has to be assigned. This algorithm should care of discrete time controller and sensor pulses. For a deeper description of the development of vehicle controllers the reader should refer to van Zanten et al., 1995 and van Zanten et al., 1996. Alternatively the design of a fuzzy traction control system is described in Hiller et al., 1994b.

Adaptive Cruise Control

Adaptive Cruise Control systems (ACC) extend common cruise control systems (''Tempomat'') with the capability to follow automatically a preceding vehicle. Necessary components of ACC are presented in Fig. 10.

Fig. 10 Components of an ACC system (Winner et al., 1996)

According to Fig. 10 the ACC system is built as a distributed system using common controllers like ABS, TCS or VDC and only one additional controller containing the range sensor and the ACC controller. Controller, sensors and actors are connected via CAN data bus.

The detailed simulation of controlled braking manoeuvres in the low velocity range requires a large amount of extensions of the conventional vehicle model. In detail, the following extensions are necessary:

  • Simulation of frictional effects in the disk brakes,

  • Detailed modelling of elastic joints in the suspensions,

  • Incorporation of the dynamical behaviour of the damper (hydraulics, elasticity and frictional effects) and

  • A tyre model suitable for extremely low velocities.

The presented extensions allow the realistic simulation of different manoeuvres as for example breaking until standstill. The accuracy of the model covering a wide frequency range allows a restricted prediction of the ride-comfort of the vehicle.

Impact Models for Rollover Manoeuvres

To incorporate the possible collision between vehicle and different obstacles (Fig.11), e.g. between wheel rim and kerbstone, the original model of the power train has to be completed with an impact model. A well known and simple impact model, suitable for vehicle dynamics simulation, is the Kelvin-Voigt Model (Goldsmith, 1960) which consists of a parallel array of a spring and a damper element connected to an impact mass.


For the present application, the mass m corresponds roughly to the mass of the wheel carrier and the wheel, and the stiffness contains effects of the contact zone as well as effects from the bushings. The mass of the chassis is not considered here, as the vehicle is assumed to move only slowly with respect to the wheel. Assuming that the chassis does not move for the period of impact, one obtains the following equation for the rate of deflection of the impact mass:

(10)

where xa is the rate of deflection at start of impact and

(11)

Thus, at end of impact, i.e., for t = p / w , it follows

(12)

Now, by Newton's impact hypothesis

(13)

where e is the coefficient of restitution. Hence damping coefficient d can be established as

(14)

With this model it is possible to incorporate impact effects in the simulation environment of FASIM_C++, because it is possible to combine this model with each vehicle which was already designed, even including trucks. Improvements of the demonstrated model, e.g. the incorporation of frictional effects, eccentric impacts and plastic deformations using the regularised impact model (Kecskeméthy and Lüder, 1996) will be done in the future. The simulated manoeuvre is presented in Fig. 12.

Fig. 12 Collision with a kerbstone

Realtime Simulation

Testing hardware components which were developed using the simulation techniques mentioned above has gained increasing importance. Two concepts for the testing process are possible: on the one hand side, road tests with controlled vehicles are imaginable, on the other hand side, separate components can be analysed using a specialised test-bench. Both methods include disadvantages:

  • Recognising the influence of separate components on the complete vehicle in road tests is very difficult and the results can hardly be reproduced.

  • Test-benches do not allow the investigation of the feedback of the component to be analysed to the dynamical behaviour of the vehicle.

"'Hardware-in-the-Loop''-Simulation (HIL) provides a convenient way to examine the influence of components like controllers, sensors etc. on the driving behaviour. Here, hardware components can be analysed using test-benches, but additionally an ''online'' stimulation using a vehicle dynamics simulation program becomes possible. A schematic overview on the HIL test-bench using the simulation program FASIM (Hiller et al., 1991)4 4 FASIM is the predecessor of FASIM_C++ and written in FORTRAN. is given in Fig. 13.

Fig. 13 Overview on the HIL test-bench

The retroaction of the single component to the dynamical behaviour of the vehicle can be obtained by a feedback of its output signals to the simulation program. Accordingly this strategy leads to high requirements for the simulation program and the computer hardware, because the dynamic equations have to be solved and the inputs for the test-bench have to be dumped within the sampling rate.

The development and testing of security software represents one possible application of HIL-Simulation. Here it is possible to inspect if a defect in the controller can be detected by the security software and if the controller is switched off correctly. Such a test can only be realised with the real hardware or with the help of HIL-Software. Fig. 14 illustrates the advantages and disadvantages of test procedures which were demonstrated in this section.

Fig. 14 Advantages and disadvantages of test procedures

Simulation Results

The application of modelling techniques of the preceding section to the analysis of ''real-world'' vehicle development is illustrated by the simulation of a braking manoeuvre of a semitrailer truck in a turn. The uniform deceleration of the truck and the trailer is of great importance for the stability of braking manoeuvres of semitrailer trucks. In the present simulation, a leakage of the pneumatic braking system is assumed, so that the possible braking force decreases. If the deceleration forces at the front truck are larger than those at the trailer, the semitrailer may buckle due to the pushing forces of the trailer onto the truck. In the other case, the trailer may skid with blocking wheels. One of those effects will be shown in the regarded simulation. In the present simulation the braking torque amounts to only 10 per cent of the braking torque of an intact brake system.

The initial velocity of the vehicle is v0 = 10 m/s. At t = 0,5 s the steering angle increases during 0,5 s to 5 degrees. At t = 3.0 s the braking pressure increases during 0,3 s to 6 bar (Figs. 15-16).


Fig. 15 Steering angle

Fig. 16 Braking pressure

Conditionally on the reduced braking torque of the trailer the stopping distance of the vehicle increases. Figure 17 shows, that the defect vehicle stops 1,5 s later, than the intact one. The brake deceleration of 7 m/s2 of the intact vehicle is twice as much as the defect one with 3,5 m/s2 (Fig. 18).


Fig. 17 Vehicle velocity

Fig. 18 Brake decelaration

The velocity and the steering angle of the semitrailer truck are chosen as small values, to show that the described effect may occur in normally non critical situations. The yaw angle (Fig. 19) and the yaw rate (Fig. 20) of the semitrailer display a significant difference between the intact and the defect configuration. This is in part due to the thrust of 22 tons heavy trailer.


Fig. 19 Yaw angle

Fig. 20 Yaw rate

Due to low velocity, the vehicle stops buckling. With a higher velocity or a larger steering angle the vehicle may overturn.

Conclusions

In this paper, the object-oriented program FASIM_C++ was described, focussing on the flexibility even towards changes of the architecture of the system or on model extensions for new tasks. The examples discussed in this paper have shown, that the object-oriented design offers the possibility to extend given models easily with new features. So, for example, the normal model of a passenger car could be easily extended to a semitrailer truck. In a further example, the model of the wheel rim was extended with a simple impact model to cope with collisions with obstacles, e.g. the kerbstone. For the future, the open design of FASIM_C++ offers new possibilities to extend the simulation package towards new approaches in the field of vehicle dynamics simulation.

Presented at DINAME 97 - 7th International Conference on Dynamic Problems in Mechanics, 3-7 March 1997, Angra dos Reis, RJ, Brazil. Technical Editor: Agenor de Toledo Fleury.

  • Erhardt, R. and van Zanten, A. T.,1995, "Die Regelung der Fahrdynamik im physikalischen Grenzbereich", volume 1224 of VDI-Berichte, pp. 423-438. VDI-Verlag, Düsseldorf.
  • Goldsmith, W., 1960, "Impact: The Theory and Physical Behaviour of Colliding Solids". Arnold, London.
  • Haug, E., 1989, "Computer Aided Kinematics and Dynamics of Mechanical Systems". Volume I: Basic Methods. Allyn and Bacon Series in Engineering. Allyn and Bacon, Boston.
  • Hiller, M., Angeles, J., Luca, A. D., Kecskeméthy, A., and Roth, B., 1994a, "Kinematics and Dynamics of Multi-Body Mechanical Systems". CISM Course, Udine, Italy.
  • Hiller, M. and Kecskeméthy, A., 1989, "Equations of Motion of Complex Multibody Systems Using Kinematical Differentials". In Transactions of the CSME, volume 13(4), pages 113-121.
  • Hiller, M., Schnelle, K.-P., and van Zanten, A., 1991, "Simulation of Nonlinear Vehicle Dynamics with the Modular Simulation Package Fasim". 12th IAVSD Symposium, Lyon/France.
  • Hiller, M., Schuster, C., and Adamski, D., 1997, "FASIM_C++ - A Versatile Developing Environment for Vehicle Dynamics Simulation". Int. Journal of Crashworthiness, 2(1):91-105.
  • Hiller, M., Schuster, C., and Schmitz, T., 1994b, "Investigation of Stability and Robustness of a Fuzzy Traction Control System". In Furuhashi, T., editor, Advances in Fuzzy Logic, Neural Networks and Genetic Algorithms, Selected Papers of the IEEE/Nagoya University WW Workshop, Nagoya/Japan.
  • Kecskeméthy, A. and Lüder, J., 1996, "Rigid and Elastic Approaches for the Modeling of Collisions With Friction in Multibody Systems". In Gesellschaft für angewandte Mathematik und Mechanik: ICIAM'95.
  • Otter, M., 1995, "Objektorientierte Modellierung Mechatronischer Systeme am Beispiel Geregelter Roboter". PhD thesis, VDI-Verlag GmbH, Düsseldorf.
  • Schiehlen, W., editor 1990, "Multibody Systems Handbook". Springer-Verlag, Berlin, Heidelberg, New York.
  • Schmitz, T., 1994, "Modellbildung und Simulation der Antriebsdynamik von Personenwagen". Fortschrittberichte VDI Reihe 12 Nr. 224. VDI-Verlag, Düsseldorf.
  • Uffelmann, F., 1980, "Berechnung des Lenk- und Bremsverhaltens von Kraftfahrzeugzügen auf rutschiger Fahrbahn". PhD thesis, TU Braunschweig.
  • van Zanten, A., Erhardt, R., Lutz, A., Neuwald, W., and Bartels, H., 1996, "Simulation for the Development of the Bosch-VDC". SAE, (960486).
  • van Zanten, A., Erhardt, R., and Pfaff, G., 1995, "VDC, The Vehicle Dynamics Control System of Bosch". SAE, (950759).
  • Winner, H., Witte, S., Uhler, W., and Lichtenberg, B., 1996, "Adaptive Cruise Control - System Aspects and Development Trends". SAE, (961010).
  • 1
    Several modules are combined, because the description of all 32 degrees of freedom would be too comprising.
  • 2
    except of the power train, which is handled separately
  • 3
    Only for the semitrailer truck.
  • 4
    FASIM is the predecessor of FASIM_C++ and written in FORTRAN.
  • Publication Dates

    • Publication in this collection
      11 Oct 2001
    • Date of issue
      Dec 1999
    The Brazilian Society of Mechanical Sciences Av. Rio Branco, 124 - 14. Andar, 20040-001 Rio de Janeiro RJ - Brazil, Tel. : (55 21) 2221-0438, Fax.: (55 21) 2509-7128 - Rio de Janeiro - RJ - Brazil
    E-mail: abcm@domain.com.br