Table of contents [309584]

Table of contents

1. Vehicle Motion Simulators. Aims and Objectives. 2

2. Road Vehicle Motion Simulators in the Present 3

3. Vehicle Dynamics 6

3.1. Vehicle Motion Types 6

3.2. Areas of Studying of Vehicle Dynamics 8

3.3 System Approach 9

3.4 The Dynamics of the Main Movement 14

3.5. The Parasitic Movements 15

3.6. Generating Vehicle Dynamics Motion Equations 16

4. Simulators 22

4.1. Automotive Simulators 24

4.2. Classification of Automotive Simulators 24

4.2.1. High-level Road Vehicle Motion Simulators 24

4.2.2. Mid-level Road Vehicle Motion Simulators 25

4.2.3. Low-level Road Vehicle Motion Simulators 27

4.3. Applications…….. 29

4.4. Vestibular System 30

5. Vehicle Dynamics Used in Motion Simulation 33

5.1. Longitudinal Model 33

5.2. Lateral Model 39

6. Software Packages Used in the Development of the Vehicle Motion Simulator .43

7. Design of the Vehicle Motion Simulator 60

8. Kinematics of the Vehicle Motion Simulator 64

8.1 Obtaining the Controller Function of the Vehicle Motion Simulator. 64

8.2 Testing the Results. 68

9. Actuating System of the Vehicle Motion Simulator. 70

10. Conclusions 77

References 78

1. Vehicle Motion Simulators. Aims and Objectives.

In today's [anonimizat]. [anonimizat]. [anonimizat].

[anonimizat]. [anonimizat], even from the point of view of trying new technologies without making dangerous tests with drivers.

Car simulators have a [anonimizat] a toy. Also, in motor sports such as Formula 1 [anonimizat] a [anonimizat] a low-level road vehicle motion simulator. [anonimizat]. We analyze the physical structure and movement of a simple simulator using DS SolidWorks. We will explore a possible way to move the structure using Arduino bases.

2. [anonimizat] 100 large-[anonimizat], [anonimizat]. [anonimizat], neither a standardized technique nor an international legislator exist to assess validity in terms of the specific characteristics of the many and varied subsystems that make up an individual driving simulator.

[anonimizat]. This has led to rise in the application of driving simulators. [anonimizat].

[anonimizat]kswagen and it had 3 degrees of freedom. This simulator was used in the 1970’s. This simulator simulated the roll, pitch and yaw motions. As visual part, one single flat monitor was used.

In the year of 1985, Mazda built a 4 degree of freedom vehicle motion simulator. The purpose why Mazda created this simulator was to decrease the number of accidents. They used a half car, and it can simulate pitch, yaw, roll and sway motions.

The innovation was brought in 2002 by the North American Driving Simulator, the NADS-1. It has 9 degrees of freedom. The motion is generated by six hydraulic arms. It has a dome, with a full car inside. This dome can also rotate independently from the chassis. This simulator has a so-called XY table. This table ensures a significant mobility for the simulator, which uses this to generate the more realistic feeling of driving a vehicle.

fig. 2.1. – NADS-1 (N. Beni, 2013)

One famous road vehicle simulator is the Toyota Driving Simulator, built in Toyota’s Higashifuji Technical Center, Sosuno City. This simulator is bigger than the NADS-1, but the most important difference between the two simulators is that in the Toyota Driving Simulator the car is yawing inside the dome, while in the NADS-1 the dome is making this motion. This simulator is used to reproduce events that are too dangerous to try in real world. This simulation consists of simulating illness, fatigue, inattentiveness, intoxication, sleepiness.

The Washout Algorithm

The washout algorithms are used to represent the driving dynamics of a real vehicle in a constraint space for a driving experience as realistic as possible. Such as the motion simulators, they were used firstly in aerospace industry. Because of the developing process of new vehicle models there was demanded an algorithm which represents the driving dynamics of a real vehicle.

Washout algorithms are used because of motion cues one to one is not possible, so we need to filter and reduce the cues.

Many algorithms were developed, but we can classify them as follows:

classical;

adaptive;

optimal;

predictive model algorithm.

Modeling a classical washout algorithm

The classical washout algorithm was introduced by Stewart in 1965. It was modeled to figure out the motion cueing algorithms for a hexapod motion platform. It was firstly used in the aerospace domain but because of the usage range it is used also in automotive domain.

The figure below shows how the classical algorithm is working. It is used in a six degree of freedom vehicle motion simulator. It concludes the vertical and lateral dynamics and the corresponding inclinations, and tilts.

fig. 2.1 – Classical washout algorithm (B. Aykent, 2011)

In the other hand, low-cost motion simulators have appeared in the market. We can daily meet them when we are going to a mall, where children can try their ability of driving a vehicle, or simply we can buy it and use it home, like an entertainment tool.

3. Vehicle Dynamics

3.1. Vehicle motion types

If a vehicle has a motion on its own path in a road, the vehicle has a planned chronological movement. The property of this motion is that this motion is basically an advanced movement. To reach this movement or motion we need to add vehicle machineries that generate traction and braking forces.

In the proper operation of vehicles we distinguish the following types of movements:

Main movement: this is an advanced movement by a path

Parasite movement: excited swinging motion, which can have the following sources:

driving impacts (drive and brake control of the driver)

excitements generated by the environmental influences (inclination of the road, inclination of the rail, wind, atmospheric turbulences, water waves, or other external or internal influences)

In order to understand the cycle of the main movement we use the so called indicated diagrams. These diagrams can vary in terms of the ideal or realistic driving cycle as in the figures below:

a) ideal driving cycle b) realistic driving cycle
fig. 3.1 – ideal and realistic driving cycle motion – and force time function (I. Zombory, 2011)

The parasitic motion patterns, in accordance with the six degree of freedom of the vehicle, are translational or transverse to the three perpendicular directions of the space. As the rotational movements around the axes of the coordinate system describe each direction, are superimposed for the main movement of the vehicle. Most parasitic movements tend to be responsive to some excitatory effect. A big part of these excitatory effects are the consequences of driver interventions related to the operation of an engine or a braking device built into the vehicle. The other part of the excitatory effects comes from the various forces and movements resulting from the vehicle's working environment. For example, in case of cars the geometrical roughness of the road, in case of the airplanes the surface of the runway, or the effects of wind, or atmospheric turbulence, and in the case of boats this effects are caused by waves of water. In most cases these effects are unpredictable stochastic influences which need to be handled by the vehicles. (I. Zombory, 2012)

Control of the traction and braking power of vehicles is the result of control impacts. Therefore, as it is known, the vehicle driver in the vehicle dynamics will give the following two controls at an appropriate pace to ensure the traction and braking power requirement:

Engine control: u1

Braking control: u2

Both control effects applied by the driver occur over time, so we are talking about time-dependent control functions, where u1 = u1(t) and u2 = u2(t). In order to understand how the pulling forces of a vehicle is composed, we can see the figure below:

fig. 3.2 generation of traction power by an engine

where:

u1(t): engine control

v(t): velocity of the vehicle

Fv(t): traction power

Vehicle dynamics can reverse the processes of the drive system. An example of this is the case with wheeled vehicles where the vertical wheel variations of the vehicle (hence the changes in the size of the tractive force to be exerted) re-elicit the elastic, oscillating propulsion system. Thus, we can say that the vertical oscillations of the vehicle can revert to the dynamic processes.

The primary objective of the study of vehicle dynamics is to study and harmonize the conditions that ensure that the vehicle can be delivered under the appropriate controls by carrying out the intended main course of movement under the given ascending and directional conditions and within a given time from the starting point A to the target B point. It is no less important that the quantitative characteristics of further motion and force processes resulting from various excitatory effects can be derived by dynamical methods, primarily by simulation techniques. This is essential for both the functional and strength dimensioning of the structural parts of vehicles and the assessment of operational conditions.

3.2 Areas of Studying of Vehicle Dynamics

In order to understand vehicle dynamics we have to know that the word dynamics comes from the greek word dynamikos, which means powerful. In a more general sense, we say that changes in time are also dynamic characteristics. For example we use this expression: "the dynamics of economic development". Here we consider the natural growth or decrease of the economics in time, the period where this process is happen or simply the presence of cycles in economics.

In vehicle dynamics we have to take in to consideration the following problems:

Determination of forces affecting vehicles movement (resistance force, traction and braking force) by specifying the state of motion, their indirect time dependence on control and their possible direct dependence on time;

Developing different dynamic models of good approximation to study phenomena and processes in vehicles;

Understand the basic fundamentals of dynamic simulation techniques for the computerization of force and motion processes;

Examination of the excitatory effects on the vehicles, their mathematical characterization to reduce parasitic movements;

3.3 System Approach

Vehicle as a technical object is a behavioral system. Behavior means driving a specific impact on a vehicle (its specific subsystems) by providing a well-defined specific (structured) response to the dynamic system. Here, thinking about the main motion process, we can examine the vehicle with the drive and braking system as a complex dynamic system. For example, with the propulsion system, exerting traction power on the vehicle, it moves in a well-defined way (obedient to its motion equation). If a vehicle with a given speed is operating with the braking device with a sufficient braking force, the vehicle will slow down as it is desired. As the dynamical processes of a vehicle are formed by the cooperation of several subsystems, the resultant system response is resulting from the examination of a complete vehicle as a single complex unit is created by the connection of processes in the subsystems. Our negotiation requires devices that are common and capable of mapping and modeling a vehicle as a behavioral system as a whole or in parts.

Basic Models

The simplest behavior dynamic system is characterized by a block diagram with the one excitation input and one output (system block) as shown in the figure below. The transfer properties of the system are displayed by the system operator R.

y(t)=R*x(t)

fig.3.3 – the simplest dynamic system model

Firstly we are dealing with the main vehicle movement process. As we have already mentioned in our previous discussion, the main movement of the vehicle is formed by the operation of two subsystems, the drive system and the braking system, with the use of appropriate control functions. The drive system can be identified as a subsystem for two inputs and a response function. The two inputs are the control function of the drive u1(t) and the velocity function v(t) of the vehicle. This is due to the interrelation of the folding system due to these two time functions, then the time force function Fv(t) on the vehicle is formed. The effect conditions of the drive system are shown in Figure 3.3.

fig. 3.4 – Drive system block diagram

Observation:

u1(t): motion control

v(t): velocity of the vehicle

Fv(t): traction

The braking system can also be identified as a subsystem for two inputs and a response function. The two inputs are the control function of the braking function u2(t) and the velocity function v(t) of the vehicle. This is due to the interrelation of the braking device due to these two time functions, then the Ff(t) braking force time function on the vehicle is formed. The effect conditions of the braking system are shown in the block diagram depicted in Figure 3.5.

fig. 3.5 – the representation of the braking system

Observtion:

u2(t): braking control

v(t): velocity

Ff(t): braking force

The speed of the vehicle plays a fundamental role in the formation of the base resistor force. Thus, in this case, a single-input, one-output block diagram can be used to describe the effect transfer. The parameters are shown in block diagram of Figure 1.6.

fig. 3.6 the block diagram of the resistor force

The "assembly" of the drive system, the braking system and the basic resistor generating subsystem is characterized by a flat, straight-running vehicle.

We denote that block V represents the driver of the vehicle. Three basic (continuous line arrows) and three uncertain (dashed line arrows) inputs influencing the driver shape the two control functions that determine the driving conditions of the vehicle: u1(t) drive control and brake control u2(t). The role of the other signal forming blocks in the sketch is Newton II. law and no further explanation is required on the basis of the integral relationship of the kinematic characteristics.

With respect to the figure, it is recalled that the actor's three main inputs are marked with c by the external control (eg, indications), the time-consuming driving time (eg, the driving time retention) indicated by τ and the random traffic position the required r-action was displayed with time-dependent input characteristics. The output characteristic of the model is the s(t) time function of the vehicle's path. The three dotted line uncertain feedbacks indicate that the driver has information on the vehicle's acceleration, speed, and position, but this information is only subject to a certain probability of more than one in actual control operation.

fig. 3.7 -A system model for the main motion of a flat, straight-running vehicle (I. Zombory, 2011)

We are moving into the dynamic processes of parasitic movements. Figure 3.8 illustrates a simple dynamic starter model of a vehicle with a geometric unevenness in a track that is already capable of studying the excited shakes caused by a vehicle's scramble. In the model, the vertical displacement of z(t) of the center of gravity of the vehicle and the c(t) angular clearance around the axis of the plane passing through the center of gravity give the examined free coordinates. Due to the geometrical unevenness of the traffic path, the first spring underneath the vehicle is g1(t), and under the back g2(t) is time-dependent excitation (springtime movement constraint).

fig.3.8.1 – the excitation track

fig.3.8.2 – the bounce and sway moves of the dynamic model

z(t) – bounce

c (t) – sway

fig. 3.8.3 – Block diagram of the dynamic model

For this model, two excitation input functions and two motion response functions can be identified. The initial operation of the vehicle dynamics tests is the identification of the input characteristics and response characteristics of the dynamic model used. The following typical model variant is used in vehicle dynamics depending on the number of inbound and outbound features:

Single input, single output (SISO)

Single intput, multiple output (SIMO)

Multiple input, single output (MISO)

Multiple input, multiple output (MIMO)

3.4. The Dynamics of the Main Movement

The main movement was interpreted as the intended movement along the traffic path. The vehicle moving along the traffic path can be considered to be the center of gravity concentrated in the center of gravity of the head movement, ie the center of gravity as a material point is applied to Newton II. law. The purpose of the test is to determine the characteristics of the progressive pathway. At this point, in line with the previous studies (General Vehicle, Vehicles and Mobile Machines, Vehicle Systems, Mechanics), it should be emphasized again, considering the progressive movement of the track, it is important not to forget about the masses rotating at angular velocity proportional to the velocity of movement in the vehicle. (A. Hamish, 2010)

The required torque demand and the kinetic energy content of the rotating masses. In the case of wheeled vehicles, naturally there is a need to provide power and energy to turn the wheels around. If we accept that rolling of the wheels and the support surface (road surface, rail surface) is achieved by slippage clear rolling, the mechanical effects of the wheels and their associated drive and braking masses can be traced back to the mechanical characteristics of the otherwise-underdeveloped moving movement. For most of the questions (running time, traction force, braking power requirement, traction work and braking force development, etc.) the assumption of pure rolling is acceptable and we will continue to test our assumption.

In relation to the above findings, the following considerations should be made regarding the mass of the vehicle:

1.) For dynamical tests, we must know the weighing weight of the vehicle, its signal, unit of measure: [m] = kg.

2.) For the acceptance of clean rolling, the inertia torques of the masses rotating at angular velocity proportional to the speed of the vehicle shall be examined and the different angular speed components individually taken into account, taking into account the modifications to their vehicle wheel, shall be reduced to the periphery of the vehicle wheel based on. The kinetic energy of the ith pincering mass at the angular velocity rotation wj is defined as:

(1)

In view of the angular velocity of the vehicle wheel wk, a torque of inertia ρ must be added to the inertia torque of the vehicle wheel whose kinetic energy is equal to Ej with the angular velocity of the wheel wk. (P. Sathishkumar, 2014)

3.5. The Parasitic Movements

Concerning the development of parasitic motion processes, record that the interlocking system of both the individual vehicle and the vehicle is the swinging dynamism of the vehicle fleet. In the course of their intended use, the vehicles go through various oscillating conditions due to the various excitatory effects coming from the outside. The sources of the excitatory effects that induce vibrations can be grouped as follows:

A.) Controlled (time-dependent) traction and braking force – longitudinal dynamics

B.) Course Resistance Changes (Waywise Curve-Length Coordinate-dependent) – Functions e(s) and G(s)

C.) The excitatory effects of the environment

fig. 3.9 – The parasitic movements

According to c), excitations on wheeled vehicles (rail vehicles, road vehicles, off-road vehicles and aircraft before or after landing on the runway) occur mainly due to the unevenness of the traffic path. In the case of aircraft, wind turbidity and atmospheric turbulence cause excitatory effects due to pressure variations on the body surface. In the case of craft, the excitatory effects are the natural flow of water. Due to the presence of waves. However, it should be emphasized that wind and atmospheric turbulence can be identified as sources of excitatory effects both in land and in water. Since movements triggered by excitatory effects are not desirable in many ways (structural fatigue, passenger comfort, price security, etc.), these are called "parasitic" movements.

The body of the vehicle, like the rest of the vehicle parts, is basically divided into two classes of parasitic movements. The two classes are given by moving (translational) movements or rotating (rotational) movements. Figure 1.5 illustrates a vehicle enclosure along with a right-angled coordinate system in the center of gravity. The Dy (t) swing along the longitudinal axis (x direction) axis (x direction) is Dy (t) swinging along the transverse axis (y axis) along the vertical axis (z direction)) swing is called shaking. The Dψ (t) tangent around the longitudinal (x-axis) axis around the longitudinal (x-axis) axis is called Dψ (t) sway around the vertical axis (z direction) around the transverse axis (y axis) ) is called snake.

3.6. Generating Vehicle Dynamics Motion Equations

Synthetic Derivation of Motion Equations

The determination of the motion equations of dynamic models for both the main movement of the vehicle and its parasitic movements is mostly determined by Newton II. axiom. In the case of a purely translational movement vehicle mass m, when determining the components of the control, motion state and time dependent forces in the direction of the coordinate axes, these coordinates are to be equal to the weight of the corresponding acceleration of the movement under consideration:

; ; (2)

In the case of masses with a pure rotation or rotation movement, the motion equations, based on displacement, result in the resulting torque around the coordinate axes as the product of the acceleration of the rotation around the coordinate axis and the moment of inertia on the axis of rotation:

; (3)

In the case of masses with a pure rotation or rotation movement, the motion equations, based on displacement, result in the resulting torque around the coordinate axes as the product of the acceleration of the rotation around the coordinate axis and the moment of inertia on the axis of rotation:

fig. 3.10 – Vehicle dynamic model with 4 free coordinates

Since in many cases the masses in the vehicle are rotated or rotated, therefore, in many cases, the motion state dependence of the force components influencing the progressive movement also displays the rotations or the rotations. The motion state dependence of rotation-influencing torque components also includes advanced motion characteristics so that motion equations describing the rotating motion can also be coupled. (P. Shatishkumar, 2014)

The motion equations are set up for the plane model shown in Figure 3.6. The wheels are sprinkled through a spring for the excitatory effect caused by the vertical unevenness of the traffic path (road surface or rail surface) as a function of length coordinate.

In the model, the wheels can only move vertically, and the vehicle superstructure (vehicle cabinet) can perform vertical and nodular oscillations. Indicate the vertical displacement z1 and z2 measured from the rest position of the wheels in the gravity field. Indicate the vertical swing of the center of gravity of the vehicle body from the equilibrium position, and indicate the nose angle displacement defined by the rotation around the center of the cabinet c. Vertical displacement on the wheel rods indicates trajectory g1 and g2.

If the traffic path profile is given by the a g*(x) function, the time-dependent vertical excitation outlines on the wheels in the longitudinal direction x given the center of gravity of the cabinet in the case of the vehicle speed v are given by g1(t) = g*(vt-L1) and g2(t) = g*(vt+L2) functions (t=0, the center of the cupboard's center of gravity is at x=0). The functions g1(t) and g2(t) are considered to be the input functions of the dynamic model. The characters L1 and L2 represent the horizontal distance from the center of the wheel cabinet to the center of gravity. To set motion equations, it is necessary to specify the vertical displacement and velocity of the two springs of the vehicle enclosure back to the center of movement of the cabinet z and c. Vertical motion characteristics applied to the spring attachment points are approximated by the following linearized ( in case of small angles sina=tga) which combine the vertical movement characteristics of the center of gravity of the cabinet with the characteristics of the angle movement of the cabinet around the center of gravity:

(4)

First, the equations for the vertical movement of the two wheels are written. The springs and dampers included in the model are linear, i.e., the force transmitted on the springs is a linear function of the relative displacement of the spring ends, and the damping force is the linearity of the relative velocity of the attenuation points of the attenuator. Positive forces are directed upward. The motion equations of the wheels thus develop in the following system of equations:

(5)

Motion equations for the vertical bounce and sway of the vehicle enclosure will be as follows when the upward displacement and counterclockwise angular rotation are positive:

During the writing of the torques, the center of gravity of the flame retardant force Fl on the vehicle body was also taken into account. Looking back on our method, we can conclude that the system of motion equations has been synthesized by the equations obtained after the individual equations of motion of each mass, so the method used is also called the generation of motion equations by "synthesis".

The standard form of the motion equation is given below with a matrix statement:

(6)

By introducing the matrix M "mass matrix", D "attenuation matrix", and S "rigidity matrix" and the x = [z c z1 z2]T vector the above equation will have the following form:

(7)

It is important to note that from the originally kinematic excitation system we have got a formally induced system with the above transformations, since the vector vector function on the right side of the equation already contains force coordinates. The second coordinate gives the center of gravity of the elastic force considered constant in the constant travel speed. In the third and fourth coordinates, the elastic and dissipative "base" transmitted through the excitatory unevenness of the transport path, with the vertical displacement and velocity of the masses m1 and m2, with stiffness and damping, is added to the line at the right side of the equation effective measurable forces for masses. However, by solving this form of the differential equation system, we get the desired displacement and velocity functions correctly.

We note that the matrices in the vector equation are symmetrical and have non-negative elements in their main eigenvectors. If the springs and dampers in the model were nonlinear, the connecting forces involved could no longer be expressed in matrix form as described above (assuming linear motion state dependence). In this nonlinear case, the motion equations of the ordinary inhomogeneous differential equation system of the four differential equations are given explicitly by the nonlinear right functions of f1, f2, f3 and f4 only the dependence of accelerations on motion and excitation.

Analytical Derivation of Motion Equations

Another important way of determining motion equations is to generate "analytic" equations. In this process we start from the dependence of the energy forms in the dynamic system in the motion state and apply the principle of energy conservation. Dynamic system masses store kinetic energy depending on their speed state, and flexible elements store potential energy (deformation work) depending on their deformation state.

Depressors in the system dissipate depending on their speed state (loss energy is placed outside the system) while external forces or energy operating on the system are introduced (eg drive) or dissipate (eg dissipative braking, shock absorbers, etc.).

For an overview of the energetic conditions, suppose that t and t + Dt examine our dynamics system at times. We assume that time is positive but very small. Consider the total energy content of the system at time t and Δt. At the time t + Δt, the sum of the kinetic energy E (t + Δt) stored in the moving masses in the dynamic system and the potential energy U (t + Δt) stored in the elastic elements is the energy (T) potential energy and the ΔW (t, Δt) energy leaving the system during dissipation during the Δt time and the time Δt The expression ΔL (t, Δt) as input from outside the system in the following form:

(8)

The expression of work from outside was put to the right side of the equation:

(9)

If we divide both sides with Δt and Δt tends to 0:

(10)

The differentiated differential function show energy streams (unit of measure Nm/s), i.e., the energy flows (outputs)

(11)

must be valid at all times. From this energy flow we can already determine the differential equation system describing the movement of the examined dynamic system. We take the systematic account of the movement state dependency of the members in the equation and calculate the selected derivates.

In the following, we denote n discrete masses in the vehicle dynamic system examined by [m1, m2, …, mn]. If there are masses of rotating motion in the system, instead of the masses, the inertia moments must be included in the corresponding index positions. (I. Zombory, 2012)

4. Simulators

Simulation is the imitation of real things, status, or process. The act of simulating something, in general, entails the representation of the key features of certain behaviors or of a physically or abstractly selected system.

Simulation is used in several contexts, including modeling natural systems or human systems, to gain insight into their functioning. Other contexts include technology simulation for performance optimization, safety engineering, testing, training and education. Simulation can be used to demonstrate the potential effects of the alternative condition and action courses.

The key issues in simulation include purchasing the source of valid information on the relevant selection of key features and behaviors, using and simplifying approximations, creating hypotheses within simulation, fidelity and the validity of simulation results.

Motion simulators was firstly used to simulate the flight where trying out new technologies was costly and very risky. Also training the pilot is a mean thing. The first simulator was made in the first part of the 20th century. The importance of feeling the experience of flying and the importance of training has been recognized. The first flight simulator was developed in France, where pilots can be trained to fly with the Antoniette VII monoplane. This motion simulator was developed by the French Antoniette company in 1910 and has the name Antoniette Learning Barrel. The simulator consisted of stacked half-barrels that were moved by assistants while the pilot was sitting on a chair and tried to balance the machine. We can see a replica of it in the Airbus Training Centre in Toulouse, France.

fig. 4.1. – Antoinette Learning Barrel (www.simulationifnormation.com/education/early-history-flight-simulation)

4.1. Automotive Simulators

An automotive simulator provides an opportunity to reproduce the characteristics of real vehicles in a virtual environment. It tries to reproduce the external conditions and factors with which a vehicle interacts in the world. Using automotive simulators the driver can feel as sitting in a real cab of a vehicle. Every event and scenario can be reproduced with sufficient reality and the driver can feel the real situations he can forget about he isn’t in a real vehicle or only viewing it as an educational experience. (N. Garrett and M. Best, 2012)

4.2 Classification of Automotive Simulators

We can classify road vehicle motion simulators based on their fidelity, usability, complexity and costs (N. Beni, 2013). Taking into consideration these important properties of a road vehicle motion simulator, we can classify them into three main group:

high-level;

mid-level;

low-level road vehicle motion simulators.

4.2.1 High-level Road Vehicle Motion Simulators

High-level road vehicle motion simulators offer the highest level of usability for a specific application. They have a hybrid structured platform and they offer the highest level of fidelity on reproducing of all of motion, visual, auditory and force feedback cues. They can reproduce the full vehicle dynamics simulation. They are mounted in a minimum of six degree of freedom motion platform, with large motion envelope. The cab of the simulator is a complete cab with all functionality.

fig. 4.2 : A high-level road vehicle motion simulator with 13 degrees of freedom motion platform with large motion envelope. It can simulate sustained acceleration and braking maneuvers, interacting with a large type of road surfaces. It also simulates movement across multiple lines of traffic. University of Iowa with National Highway Traffic Safety Administration. Iowa, USA. NADS-1. (N. Beni, 2013)

These high level road vehicle motion simulators are used by vehicle manufacturers. These simulators are used to help in design, test and validation of new systems. The NADS-1 is used to help in developing new active safety systems. High level road vehicle motion simulators are used in developing vehicle stability control systems (VSC) and adaptive cruise control (ACC). The most important this type of high level road vehicle simulators are the National Advanced Driving Simulator in Iowa, USA; Daimler-Benz Driving Simulator in Sindelfingen, Germany; Toyota Driving Simulator in Susono, Japan; Renault Driving Simulator – Ultimate in Technocentre Renault, France.

4.2.2. Mid-level Road Vehicle Motion Simulators

Mid-level road vehicle motion simulators are used because of the high-level of utility. They can be used in various situations. They are well known of their universal application and the high level of fidelity in reproducing of some of inertial, visual, auditory and force feed-back cues. These mid-level road vehicle motion simulators have a simple structure than the high-level road vehicle motion simulators. Their structure consists of a universal and partial cab with other relevant subsystems incorporated into a motion platform.

Because of the lower cost of design and development, the mid-level road vehicle motion simulators are popular in research applications. This type of motion simulator is used in several research centers instead of high-level road vehicle motion simulators.

This type of motion simulator can reproduce:

high frequency vibration;

vehicle cornering behavior.

A mid-level road vehicle motion simulator has the Deakin University, Australia. This motion simulator consists of a six degree of freedom serial robot, which is highly customized. It has a large motion envelope, high resolution kinematic control, two axes of continuous rotation and realistic acceleration. These properties make the Deakin University’s motion simulator eager to simulate various maneuvers and the capability to simulate the most unusual vehicle motion including response to varying terrain and weather conditions, large tilt angles, large vertical displacements, slipping and rollover. Because of the simulators industrial robot arm, it ensures a low life-cycle costs and high reliability.

The system uses detailed vehicle dynamics which can be changed for different type of vehicles and terrain modeling in order to replicate many vehicle types. The simulator also has a 3d-capable head-mounted display, head tracking capability, a 36 camera motion capture and tracking system. This simulator also has the capability to monitor heart rate and brain activity. This way we can see the driver’s physical reactions to different driving situation in a controlled environment.

“In fact, the UMS is the first hectically-enabled robot-based motion simulator in the world." – Dr. Nelson, the projects founding father said.

fig. 4.3: Universal Motion Simulator, Deakin University, Australia

(http://www.deakin.edu.au/iisri/our-research/motion-simulators)

4.2.3 Low-level Road Vehicle Motion Simulators

The low-level road vehicle motion simulator usually consists of a personal computer, a projection screen, coupled with a simple cabin with a limited rotation and motion capabilities. In this type of simulator the level of realistic immersion is the least. For the low-level road vehicle motion simulator the most important part is the projection screen. With introducing 3d-capable screens the actual feeling of the real driving has increased and it can offer an eligible real driving sensation.

There are many of this type of motion simulator because of their low cost, but it can’t be used for research.

A very well-known low-level motion simulator is the SimXperience Full Motion Racing Simulator. It has the industry leading motion engine software, named Sim Commander 3, and the most powerful motion engine between its rivals. Because of the three degrees of freedom motion capability, it can simulate a vehicles rear traction loss. It is optimized for use of virtual reality headsets.

The SimXperience about their motion engine: “A Motion Engine software is the key differentiator among motion simulators. The motion engine determines how the telemetry / physics data is interpreted and turns it into movement instructions. In short, it's the brains that give a motion simulator motion. This software determines the overall performance and tunability of the motion simulator. When comparing motion simulators, we suggest that you examine the motion engine software as closely as you would the engine of a car.

In the past, motion simulators required a cluster of multiple PC's or extremely costly custom rack mount workstations. Those that didn't provide this type of computing power typically offered arcade style performance, but no more. An industry first, our Sim Commander Motion engine offers an extremely advanced, low latency, parallel tasking motion engine that takes full advantage of today's multi-core PC's such as the Intel Core i7. Utilizing this technology, we're able to considerably outperform $50,000 rack mount simulation systems at a fraction of the cost.’’

fig. 4.4: SimXperience Stage 5 motion simulator

(http://simxperience.com/en-us/products/completesimulators/stage5racingsimulator.aspx)

The SimXperience offers 5 different stages of their simulator. In the picture above we can see their most realistic motion simulator, which costs about $26.000.

This motion simulator uses a variety of techniques to generate the real car-driving feeling. The motion simulator manipulates the inner ear / sense of balance to create a sense of motion. This is combined with minute body pressure cues by creating just enough roll and pitch to utilize the body weight to create these pressures. Finally, it combines the body pressure and sense of balance manipulation with kinesthesia (skeletal and muscle pressure manipulation).

The standard simulation signals crossing in the SimXperience can be written as:

fig. 4.5: Standard simulation signal crossing

As we can see, the SimXperience uses three important type of sensing generator: a speaker, a monitor and motion devices. In our project we will discuss about the motion devices.

4.3. Applications

Working with simulators has a very large range of applications. We can learn driving in driving schools with such a simulator we can meet with them in psychological research centers or amusement parks. Car manufacturers also use them. These types of simulators are very expensive but in the same time they can very precisely simulate the behavior of an autovehicle in specific conditions. In this situation despite of the high price of the simulator the car manufacturers can save money and before implementing new technologies in their prototypes they can find different issues and understand a new parts behavior. Simulators allow engineers to focus on a specific design parameter faster and with greater than can be achieved in real vehicle tests.

Motion simulators used in automotive design has to offer a high level of fidelity and accuracy in order to obtain realistic and reliable vehicle test result. There are a big range of virtual constants implemented in the software of the simulator which allows the needed precision for the car manufacturers. These primarily include motion, visual, sound, and haptic cues, which are tuned with respect to reduced motion clearance and human perception thresholds.

In this project we will discuss about a two degree of freedom motion simulator, which has two electromotors as actuator of the chair and one Hook joint which allows the free motion. We have to take a close look to the actuating system of the project. Using such a system we have to calculate the motion of the chair when the electromotors are making their rotational motions.

In this motion simulator the actuator system consists of an Arduino-controlled electromotor, and an arm which moves the whole cab. Between the arm and the electromotor and between the arm and the frame of the cab we have to use spherical joints in order to assure the two degree of freedom of the simulator.

To understand the relation between the rotational motion of the motors and the motion of the cab we have to make a three dimensional model. In the project we did it in DS SolidWorks. We chose this program because of its intuitive user interface, the simplicity of creating complex assemblies. Another very important aspect is the compatibility to import the three dimensional model into the Matlab’s Simscape toolbox. Using this toolbox we can simply edit the input data, such as the initial point of the frame, the rotational speed of the electromotors etc.

4.4 Vestibular system

Known as the balance organs of the inner ear, the vestibular system constitutes our sixth sense. Three roughly orthogonal semicircular canals sense rotational movements and two otolith organs (the utricle and the saccule) sense linear accelerations. Vestibular afferents are continuously active even at rest and are strikingly sensitive for signaling motion accelerations asour head translates and rotates in space. Even when we remain motionless, the otolith organs sense the pull of gravity (a form of linear acceleration). The signals from the semicircular canals and the otolith organs are complementary; their combined activation is necessary to explore and comprehend the enormous range of physical motions experienced in everyday life. Also signals from muscles, joints, skin, and eyes are continuously integrated with vestibular inflow.

Sensing of inertial motion

The vestibular system constitutes an inertial sensor, i.e., it encodes the motion of the head relative to the outside world. However, this is not precisely true when considering signals separately from the semicircular canal and otolith organs. There exist two problems in interpreting information from the peripheral vestibular sensors. First is the rotation problem, which arises because vestibular sensors are physically fixed in the head. During rotation, semicircular canal afferents detect endolymph fluid motion relative to the skull-fixed bony ducts (Goldberg & Fernandez 1975), coding angular velocity (the integral of angular acceleration) in a head centered reference frame but providing no information about how the head moves relative to the world.

The second problem, referred to as the linear acceleration problem, is due to a sensory ambiguity that arises because of physical laws, namely Einstein’s equivalence principle: tolith afferents detect net linear acceleration but cannot distinguish translational from gravitational components.

Whereas each of the two sets of vestibular sensors alone is chaotic, the brain can derive a reliable estimate of both attitude and motion relative to the world by appropriately combining semicircular canal and otolith signal.

fig. 10.1 – Vestibular system (D. Angelaki, 2008)

Sensing acceleration in a road vehicle motion simulator

In order to reach a car simulator to make the driver's senses fully transcend and feel that they are sitting in a car, special solutions are needed. First, the fluid in the vestibular system of the inner ear should make the same movement as when it actually sits in a car. To achieve this feeling, in case of high-level vehicle motion simulators the engineers use rails to help with. The simulator has a big space to make a translational movement. At the same time, the parasitic movements of the car have to be imitated, so it is important to have the quickest reaction available in the simulator's moving structure. It is worth doing this with gas springs due to the rapid response time and simple control of the gas springs.

Also, next to stimulation of the vestibular system with translational and rotational moves, a very popular solution to reach the real car driving feeling is the minute body pressure cues by creating just enough roll and pitch to utilize the body weight to create these pressures.

One of the leading low-level road vehicle motion simulator makers states the following:

‘’The fact is that no simulator can provide the full G-Forces, torque, etc.. that an actual vehicle can, therefore a simulator must fool the brain into perceiving these effects in an immersive manner.’’ (SimXperience, 2018)

5. Vehicle Dynamics Used in Motion Simulation

Equations of motion, based on Newtonian dynamics were developed for botha longitudinal and lateral model of the vehicle. This models are usually written in a Matlab/Simulink code, which regenerates the physics and the dynamics of a vehicle. The input data of these codes can be easily changed so it can be used for various type ofvehicles, even for trucks or heavy duty machines.

These codes are written by engineers after a deep investigation of many car types behaviour. In order to the implementation of a new vehicle data can be done easily, the code is divided by the main parts of a vehicle.

fig. 5.1 – Vehicle dynamics model

In order to have the required accuracy of a dynamics model, we have to take into consideration the longitudinal and the lateral dynamics principles.

5.1. Longitudinal Model

The longitudinal model describes the translational motion of the vehicle in the x and z axes along with rotational motion around the y axis in pitch. It characterises the behaviour of the vehicle in performance and ride.

Control Inputs

In general, the driver has three longitudinal control inputs available:

accelerator position

brake pedal effort

transmission control

The input data is sent to the vehicle dynamics model to the motion simulators PC network.

Engine Model

Different vehicles has different type of engines. In this section we can change the data of the vehicles engine. This data can contain all of the data which can be gathered from engines. The most important of this data is:

power

rotation/minute

vibration of the engine.

High-level vehicle motion simulators can handle engine maps, which gives us an accurate description of a given engine.

fig. 5.2 – Engine map (R. Khaddar, 2014)

Transmission Model

The transmission model consists of sub-models simulating the behaviour of the torque converter or a mechanical clutch, the gearbox and the differential.

The transmission model gets the information (torque) from the engine model and it converts to data which simulates power losses and other losses which in the torque converter or in the mechanical clutch happen.

The gearbox also magnifies the torque delivered to the differential at the expense of speed. This reduction in speed is proportional to the gear selected.

The transmission model was developed by Salaani and Heydinger (1998).

Longitudinal Slip

In order to calculate longitudinal slip angle for each of the four tyres within the longitudinal vehicle model, it is important to develop the forces and moments acting at each wheel to develop the torque balance.

fig. 5.3 – longitudinal slip, forces and moments acting on the wheel (A. Hamish, 2014)

The wheel is moving from the right to the left side with a longitudinal velocity vx which is the velocity of the vehicle.. The tractive torque acting at the wheel from the transmission model is represented by Mt. We also have to take into consideration the braking torque, which is estimated as a function of the position of the brake pedal. The longitudinal tyre force, developed from the later tyre model is denoted by Fx and rolling radius of the wheel is given by R.

Angular velocity is denoted by ω. Angular velocity can be calculated from the differential equation:

(12)

where lw is the polar moment of inertia of the spinning wheel.

The longitudinal tyre slip (K) required by the tyre model to calculate the longitudinal force acting at each wheel. It is normally defined as:

(13)

where ωo is the zero slip angular velocity of the wheel:

(14)

Longitudinal slip was determined by Bernard and Clover (1995).

Longitudinal Suspension Model

During braking and acceleration, the load transfer of the sprung mass (the portion of the vehicles total mass that is supported above the suspension) is the measurable change of load borne by front and rear wheels. In order to manage the vertical loads at each wheel (Fz). This load transfer is managed by the suspension system. The suspension model usually is containes a simple spring/damper system. The front and the rear spring stiffnesses are different values, they are denoted by Kf (front) and Kr (rear). The front and the rear shock absorbers also have different stiffnesses, denoted by Cf and Cr.

fig. 5.4- a widely used longitudinal suspension model

In the figure 5.4 we can find the following:

Cf and Cr: shock absorber stiffnesses;

Kf and Kr: spring stiffnesses;

h: center of gravity height;

Lf and Lr: front and rear wheel contact;

ϴ: sprung mass pitch angle;

Fzf and Fzr: vertical tyre loads.

Longitudinal tyre model

The primary forces acting on the vehicle are developed at the four pneumatic tyre contact patches. Calculating these shear forces arising between the tyre and the ground is fundamental to the modelling of the stability, control and guidance of the vehicle. SAE J670 (SAE, 2008) also defines a tyre axis set representing the forces and moments acting on the tyre.

fig. 3.5 – longitudinal tyre axis system – SAE J670 (A. Hamish, 2014)

This tyre axis system is widely used by the vehicle motion simulator makers, like the Magic-Formula tyre model developed by Pacejka and Besselink in 1997. (Pacejka, 2002)

This vehicle tyre model is used because of the big versatility and the high range customizablity of it. It uses 120 parameters and 20 scaling factors that can be changed so we can reach the any imaginable tyre properties. But also many times we can meet the fact that every car tyre developer and manufacturer uses their data and their coefficients for tha Magic-Formula confidential. This is the reason why we use Pacejka’s general formula.

In the figure 3.5 we can see:

α – lateral slip angle;

Fz – vertical load;

Fx – longitudinal/tractive tyre force;

My – rolling resistance moment.

As Jamsons (2010) experiment show:

’’ However, as the wheel starts to slip either due to excessive acceleration (positive slip) or lock-up due to disproportionate braking (negative slip), then the ability of the tyre to maintain force starts to diminish in a nonlinear fashion upto full slipping. The addition of lateral slip from vehicle handling further reduces the tyres ability to develop longitudinal force.’’ (A. Hamish, 2010)

fig. 3.6 – nromalised longitudinal force as a function of longitudinal and lateral slip angle (Pacejka, 2002)

Equations of motion

Usually the equations of motion used in automotive motion simulators are based on Newtonian dynamic analysis. They are applied for the translational and rotational systems, too.

5.2 Lateral Model

The lateral model of the vehicle is related totranslational motion in the lateral y axis along with rotational motion around the x axis in roll and around the z axis in yaw. It characterises the behaviour of the vehicle in handling, stability and control.

Control Inputs

The single lateral control input available in the lateral model to the driver is the steering angle. As for the longitudinal control inputs, this is recorded and delivered to the vehicle dynamics model within the simulators PC network.

The Steering Model

Rack-and-pinion steering system, along with the power steering assistance, are implemented in such simulators.

In the figure below we can see a schematic model of a Jaguar Land Rover simulator.

fig. 5.7 – rack and pinion steering system with power assist

As description of this model, we can find the following:

’’ The steering wheel angle held by the simulator driver (An_SteWhl) is used as the angular input to the top of the steering column. The column is modelled as a second order, spring-damper system whose output, the angle of lower column at the interface with the torsion bar (An_SteLoColCnnctTorsnBar), is fed into another second order spring-damper mimicking the torsion bar. The output from the torsion bar model is the steering pinion angle (An_StePinion) and the deflection of torsion bar An_SteTorsnBarDflct). Using a look-up table describing the relationship between pinion position and gear ratio, the rack Chapter 3 80 The University of Leeds Driving Simulator travel (L_SteRack) and hence the steered angle of each front wheel is calculated. In order to simulate steering feel, the steering model is also responsible for evaluating the torque feedback at the steering wheel (Tq_SteWhlFdback). This value is used to command the TRW-Conekt Active Steering Wheel System motor that is directly linked to the physical steering wheel in the simulator cab. The complete set of tyre forces and aligning moments resulting from the tyre model are assembled as the force felt by the steering rack (F_ChaRackFdck) using a model developed by Salaani, Heydinger & Grygier (2002). The power steering model culminates in the assist force felt by the steering rack (F_HydRackAssist), counteracting the force on the rack from the chassis and hence reducing the steering torque felt by the driver.’’ (A. Hamish, 2010)

Lateral Slip

In vehicle handling, particularly at high speeds, the turning movement of thevehicle generates a lateral acceleration and hence a sideslip velocity. This sideslip deflects the tread of the tyre that is in contact with the ground and allows the tyre to develop a lateral force to counteract the lateral acceleration. Due to the elasticity of the tyre, the tread will distort developing the lateral slip angle (α), the angle between the tread in the contact patch and the direction the wheel is turned.

fig. 5.8 – wheel turning left, lateral slip angles (A. Hamish, 2014)

Lateral Suspension Model

A change in lateral acceleration will cause a shift in load from the tyres on the inside of the turn to those on the outside. Load transfer can significantly reduce the vertical force on the inside tyres and hence their ability to develop a lateral force due to their respective slip angles. This can significantly affect handling in terms of under or over-steer.

Within the vehicle model, the lateral suspension model corresponds to the longitudinal suspension attempting to manage tyre vertical load (Fz). It is also modelled as a spring-damper system with identical spring stiffnesses and shock absorber damping ratios as in the longitudinal plane. With knowledge of the height of the roll centres of the front and rear suspension along with Fz the suspension model results in the body roll angle (ϕ).

Lateral Tyre Model

The Magic Formula tyre model (Pacejka, 2002) with the parameter set given in Pacejka (2005) is also used in the lateral plane. With reference to the SAE J670 tyre axis set (figure 5.5), the lateral tyre model is predominantly responsible for calculation of each tyre’s lateral or cornering force (Fy) and aligning moment (Mz), the moment arising from the tyre’s natural tendency to self-straighten. In addition the less significant overturning moment (Mx) is also estimated.

We have to take into consideration the tyre’s inclination angle. This also has an influence on the overall lateral tyre force and moments and it is included within Pacejka’s Magic Formula model.

fig. 5.9 – normalised lateral force as a function of longitudinal and lateral slip angle (Pacejka, 2002)

Equations of Motion

Just as in the longitudinal direction, the calculated tyre forces, along with other lateral forces such as those associated with road elevation are summed and Newton’s Second Law applied to calculate the acceleration of the vehicle in ts lateral y axis. Similarly, the sum of the moments acting around the vehicle’s longitudinal x axis are summed to calculate the rotational yaw (heading) angle of the complete vehicle and the roll angle of the sprung mass. A further set of Direction Cosine Matrices transform the motion of the vehicle with respect to its SAE J670 body-fixed vehicle axis system to the set of earth-fixed planar axes used by the visualisation system.

6. Software Packages Used in the Development of the Vehicle Motion Simulator

Arduino

Arduino is very popular in electronics and robotics at the hobby level, because it is very easy to use. The Arduino is an Italian brand which is using free software and an open source electronic development platform, generally a microcontroller. It is designed to make electronic devices more accessible and manageable in different projects. The Arduino platform is very varied with different types of microcontrollers. Here we can find microcontrollers which have RJ45 input/output channel which can be important for users to connect their platform to the internet, and control other electronic devices with this easy-to-get microcontroller. The Arduino company is also producing 3D printers, but in our case this type of development platform is not interested. These microcontrollers are available in many online shops, by different manufacturers, being an open-source platform.

The most popular entry- level microcontroller of the company is the Arduino UNO. The company says this board is the best board to get started with electronics and coding.

fig.6.1 Ardunio UNO R3

The Arduino UNO is a microcontroller based on ATmega328P which is a high-performance 8-bit microchip. This microchip has a 32 kilobytes ISP flash memory (it be programmed while installed in a complete system – other flash memories requires the chip to be programmed to installing it into the system). The microchip has also 1024 bytes of EEPROM (electrically erasable programmable read-only memory) which means that the memory can be erased and rewritten electronically. The microcontroller has 23 general purpose I/O lines. This microchip operates between 1.8 – 5.5 volts. An important benefit of this microcontroller is the low power consumption and the high processing speed, having an outstanding 16 Mhz clock speed in the world of microcontrollers.

The Arduino UNO microcontroller has 14 digital input/output pins. 7 of these pins are PWM pins, which mean that the output data from these PWM pins can vary in time. We have another 6 analog input pins, USB connection, a reset button, and a power jack – here we can connect a 12 Volts AC/DC adapter or battery. The digital and analog pins can be interfaced to a high number of expansion boards, also called shields. An interesting thing is that the Arduino UNO has a built-n LED, named as port 13, which can be used in order to test if our microcontroller is in good condition or not. (www.store.arduino.cc/genuino-uno-rev3)

The microcontroller can be connected to a computer by a USB cable to load the programs but this USB port can also be used as a power source. By using our computer as a power source, we have a limited 5 Volts in hand. Other microcontrollers are typically using C++ and C programming languages. Arduino is using an integrated development environment (IDE) based on the Processing language project. The programming language used is a simplified C++ programming language. The program can be downloaded free from the Arduino official website, www.arduino.cc. Here we can see the user interface of the Arduino program:

fig. 6.2 – IDE developing environment

In order to program the Arduino panel, you do not need to know the detailed operation of the AVR microprocessor on it because the development environment is hiding the hardware. This makes it very easy for beginners to work, because it is not necessary to have a high level knowledge of microcontrollers and their integrated peripheral devices to get started with robotics. The use of peripherals is usually done with a few simple commands. Another important benefit of this microcontroller is that the shields and electric motors don’t have to be soldered to the input/output line, they can be simply connected with the so-called jumpers which are basically simple wires with connection pins in the end.

When we connect our Arduino UNO to the PC, in the Arduino program we have to choose the developing board we use. After opening the program we select the Tools button. The next step is to choose the Board option. Here will show up all the microcontrollers made by Arduino. Here we have to choose our board, the Arduino/Genuino UNO.

After selecting our board, we have to choose the serial port, which will communicate with the microcontroller.

fig. 6.3 selecting the board and port we use

In the toolbar we can see six options: verify, upload, new, open, save and serial monitor.

verify: before starting to load our program to the microcontroller we can make sure that our program has errors or not

upload: here we can load our project to the board

new: creating new program

open: we can load saved projects

save: saving our project

serial monitor: we can verify our serial data live in a new window

The Arduino programs has 3 main parts: entering variables, setup () – general settings, loop () – main program.

Entering variables:

The variables used in the Arduino program and their type must be given here. For instance any Arduino foot can be renamed and later in the program we can refer to this unique name.

Setup:

The code in the setup part runs only once before our main program starts. Therefore, in the setup() section you can specify the main settings and general instructions, device initializations for example here we can specify wich pins to be in – or outputs. Here we can also specify the speed of the communication. By default, each foot is input so usually we have to define only the output pins.

Loop:

This function is the main program. Here we can specify what the Arduino will do. This function starts after the setup() function and it is running repeatedly until the Arduino panel is switched on. Each time the program reaches the end of the loop() function, it will jump back to the beginning of the cycle and starts over again.

Analog and digital signals:

The Arduino can receive and emit different type of signals. These signals can be analog or digital signals. The digital signal can have to different values: 0 volts or 5 volts. The analog signal can have values between 0 and +5 volts.

Digital signals in Arduino:

The Arduino Uno microcontroller has 14 digital in – and output pins. These pins are denoted by D0-D13. In the Setup part every single digital pin can be defined to input or output pin. Using the Arduino the digital signals can have logical HIGH or logical LOW values. Regardless of whether the pin is output or input, when the pin is at a voltage level of 5V, is interpreted as a high logical level and if it is 0V (ground), then it is considered a logical low level.

It has to be taken into consideration that the Arduino can handle 40 mA in every pin. This means that we have to choose other components to our project that can Arduino use. For instance we can not connect to it high-power devices.

The very first lesson to get familiar with the Arduino products is blink the built-in light-emitting-diode. (www.arduino.cc/en/Tutorial/Blink)

fig. 6.4 – blinking built-in LED program

using commands pinMode we can define the pins to be input or output pins

using command digitalWrite we can add digital values to the pin

using command delay we can define the time value when the digitalWrite expression is active in milliseconds.

Mathworks Matlab

MATLAB (matrix laboratory) is a multi-paradigm numerical computing environment. A proprietary programming language developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages, including C, C++, C#, Java, Fortran and Python.

Although MATLAB is intended primarily for numerical computing, an optional toolbox uses the MuPAD symbolic engine, allowing access to symbolic computing abilities. An additional package, Simulink, adds graphical multi-domain simulation and model-based design for dynamic and embedded systems.

As of 2017, MATLAB has roughly 1 million users across industry and academia. MATLAB users come from various backgrounds of engineering, science, and economics. (www.mathworks.com/products/matlab.html)

fig. 6.5 – Mathworks Matlab interface

Cleve Moler, the chairman of the computer science department at the University of New Mexico, started developing MATLAB in the late 1970s. He designed it to give his students access to LINPACK and EISPACK without them having to learn Fortran. It soon spread to other universities and found a strong audience within the applied mathematics community. Jack Little, an engineer, was exposed to it during a visit Moler made to Stanford University in 1983. Recognizing its commercial potential, he joined with Moler and Steve Bangert. They rewrote MATLAB in C and founded MathWorks in 1984 to continue its development. These rewritten libraries were known as JACKPAC. In 2000, MATLAB was rewritten to use a newer set of libraries for matrix manipulation, LAPACK.

MATLAB was first adopted by researchers and practitioners in control engineering, Little's specialty, but quickly spread to many other domains. It is now also used in education, in particular the teaching of linear algebra, numerical analysis, and is popular amongst scientists involved in image processing.

The MATLAB application is built around the MATLAB scripting language. Common usage of the MATLAB application involves using the Command Window as an interactive mathematical shell or executing text files containing MATLAB code.

A MATLAB program can produce three-dimensional graphics using the functions surf, plot3 or mesh.(https://www.mathworks.com/help/matlab/creating_plots/example-choosing-a-graph-type.html)

For example:

[X,Y] = meshgrid(-10:0.25:10,-10:0.25:10);

f = sinc(sqrt((X/pi).^2+(Y/pi).^2));

mesh(X,Y,f);

axis([-10 10 -10 10 -0.3 1])

xlabel('{\bfx}')

ylabel('{\bfy}')

zlabel('{\bfsinc} ({\bfR})')

hidden off

This code produces a wireframe 3D plot of the two-dimensional unnormalized sinc function:

fig. 6.6 – 3D plot generated in Matlab

Interfacing with other languages

MATLAB can call functions and subroutines written in the programming languages C or Fortran. A wrapper function is created allowing MATLAB data types to be passed and returned. MEX files (MATLAB executables) are the dynamically loadable object files created by compiling such functions. Since 2014 increasing two-way interfacing with Python was being added.

Libraries written in Perl, Java, ActiveX or .NET can be directly called from MATLAB, and many MATLAB libraries (for example XML or SQL support) are implemented as wrappers around Java or ActiveX libraries. Calling MATLAB from Java is more complicated, but can be done with a MATLAB toolbox which is sold separately by MathWorks, or using an undocumented mechanism called JMI (Java-to-MATLAB Interface), (which should not be confused with the unrelated Java Metadata Interface that is also called JMI). Official MATLAB API for Java was added in 2016.

As alternatives to the MuPAD based Symbolic Math Toolbox available from MathWorks, MATLAB can be connected to Maple or Mathematica.

Libraries also exist to import and export MathML.

Simulink

Simulink, developed by MathWorks, is a graphical programming environment for modeling, simulating and analyzing multidomain dynamical systems. Its primary interface is a graphical block diagramming tool and a customizable set of block libraries. It offers tight integration with the rest of the MATLAB environment and can either drive MATLAB or be scripted from it. Simulink is widely used in automatic control and digital signal processing for multidomain simulation and Model-Based Design. (www.mathworks.com/products/simulink)

Add-on products

MathWorks and other third-party hardware and software products can be used with Simulink. For example, Stateflow extends Simulink with a design environment for developing state machines and flow charts.

MathWorks claims that, coupled with another of their products, Simulink can automatically generate C source code for real-time implementation of systems. As the efficiency and flexibility of the code improves, this is becoming more widely adopted for production systems, in addition to being a tool for embedded system design work because of its flexibility and capacity for quick iteration. Embedded Coder creates code efficient enough for use in embedded systems.

Simulink Real-Time (formerly known as xPC Target), together with x86-based real-time systems, is an environment for simulating and testing Simulink and Stateflow models in real-time on the physical system. Another MathWorks product also supports specific embedded targets. When used with other generic products, Simulink and Stateflow can automatically generate synthesizable VHDL and Verilog.

Simulink Verification and Validation enables systematic verification and validation of models through modeling style checking, requirements traceability and model coverage analysis. Simulink Design Verifier uses formal methods to identify design errors like integer overflow, division by zero and dead logic, and generates test case scenarios for model checking within the Simulink environment.

SimEvents is used to add a library of graphical building blocks for modeling queuing systems to the Simulink environment, and to add an event-based simulation engine to the time-based simulation engine in Simulink.

Therefore in Simulink any type of simulation can be done and the model can be simulated at any point in this environment.

Different type of blocks can be accessed using the Simulink library browser. And therefore the benefit could be taken out from this environment efficiently.

Also, in the Simulink Library Browser we can find every type of block we want to use. It has a big scale of blocks used in physics, robotics, mechanics etc. (H. Halvorsen, 2016)

fig. 6.7 – Simulink Library Browser

Simscape

Simscape enables to rapidly create models of physical systems within the Simulink environment. With Simscape, we can build physical component models based on physical connections that directly integrate with block diagrams and other modeling paradigms. We can model systems such as electric motors, bridge rectifiers, hydraulic actuators, and refrigeration systems, by assembling fundamental components into a schematic. Simscape add-on products provide more complex components and analysis capabilities.

(https://www.mathworks.com/help/physmod/smlink/ref/linking-and-unlinking-simmechanics-link-software-with-solidworks.html)

Simscape helps us to develop control systems and test system-level performance. We can create custom component models using the MATLAB based Simscape language, which enables text-based authoring of physical modeling components, domains, and libraries. We can parameterize your models using MATLAB variables and expressions, and design control systems for your physical system in Simulink. To deploy our models to other simulation environments, including hardware-in-the-loop (HIL) systems, Simscape supports C-code generation.

In the following figure, we can see a pendulum model in Simscape.

fig. 6.8 – Block diagram of the pendulum

We can see the shaft2_1RIGID block which is the shaft of the pendulum in which is the main part hanging. The next block is the Revolute block. This represents the link between the two parts. So, the main part (Part2_1_RIGID) can rotate on the shaft2_1_RIGID.

This assembly was created in DS Solidworks. Afterwards there was generated the Second Generation Simscape model, which is used in the presentation above.

Because of having the 3D model of the assembly, in the Simscape we also can see the three dimensional model shown in the figure below.

fig. 6.9 – 3D model in Simscape

DS SolidWorks

DS SolidWorks is a solid modeling computer-aided design (CAD) and computer-aided engineering (CAE) computer program that runs on Microsoft Windows. DS SolidWorks is published by Dassault Systèmes.

According to the publisher, over two million engineers and designers at more than 165,000 companies were using DS SolidWorks as of 2013. Also according to the company, fiscal year 2011–12 revenue for DS SolidWorks totalled $483 million.

fig. 6.10 – DS SolidWorks user interface

History of DS SolidWorks

DS SolidWorks Corporation was founded in December 1993 by Massachusetts Institute of Technology graduate Jon Hirschtick. Initially based in Waltham, Massachusetts, United States, Hirschtick recruited a team of engineers with the goal of building 3D CAD software that was easy-to-use, affordable, and available on the Windows desktop. In 1997 Dassault, best known for its CATIA CAD software, acquired DS SolidWorks for $310 million in stock. SolidWorks currently markets several versions of the DS SolidWorks CAD software in addition to eDrawings, a collaboration tool, and DraftSight, a 2D CAD product.

Market presence

DS Solidworks Corp. has sold over 3.5 million licenses of DS SolidWorks worldwide. This includes a large proportion of educational licenses.

The Sheffield Telegraph comments that DS Solidworks is the world's most popular CAD software.

Directly competitive products to DS SolidWorks include PTC Creo Elements/Pro, Solid Edge, and Autodesk Inventor. DS SolidWorks also partners with third party developers to add functionality in niche market applications like finite element analysis, circuit layout, tolerance checking, etc. DS SolidWorks has also licensed its 3D modeling capabilities to other CAD software vendors, notably ANVIL.

Useful add-in tools in DS SolidWorks

Besides 3D modeling, DS SolidWorks offers a whole range of other options which are very useful in engineering. One of the options that make this program very popular is the management of the assemblies. It offers to make assemblies from parts, make measurements on the behavior of the assembly. Using this measuring tool we can see how our 3D model will behave in the real life.

Another important add-on which was used in the projecting of the motion simulator is the opportunity to convert our 3D model into Simulink block diagrams. Here we have to possible ways to work with the model: we can convert it to SimMechanics Second Generation or into SimMechanics First Generation. In the project we used the SimMechanics Second Generation.

fig. 6.11 – Converting 3D SolidWorks model into Matlab’s SimMechanics Second Generation

7. Design of the Vehicle Motion Simulator

In the project we will use one of the simplest plan to realize the vehicle motion simulator, which has two electromotors as actuator of the chair and one Hook joint which allows the free motion.

As an actuator, another good opportunity is to use gas springs instead of electromotors. The reason why we used electromotors is the controlling system, which is easier to use and program. Another argument besides the electromotor is the cost-effectiveness. The electromotor tested costs about $10, while the gas springs has a significantly higher price.

The electromotor and the simulators cab is connected with two rods which are connected together with spherical joints. These spherical joints allows to the simulator to have the free rolling motions. To understand the relation between the rotational motion of the motors and the motion of the cab we have to make a three dimensional model. In the project we did it in DS SolidWorks.

fig. 7.1 – 3D model of the vehicle motion simulator

As we can see in figure 7.1, the chassis of the motion simulator is a simple block, which is 750 mm long. This length is suitable for the chassis, we can easily build our cab on it. The width of the simulator is 400 mm. This chassis is a massive base to our simulator.

The two rockers were designed to get an easy-to-use simulator after assembly. Therefore, the rocker's minimum position is 10 degrees from the vertical Y axis, while the maximum position is 40 degrees from it. This allows the sudden change of direction required for the simulator.

fig. 7.2 – The rocker of the simulator

The next part of the simulator which connects the rocker to the cab has a design to allow the motion to the simulator. It has two spherical surfaces. One is connecting the part to the rocker and one is connecting the part to the simulators cab.

fig. 7.3 – Coupler of the motion simulator

To assure the free motion of a vehicle motion simulator we have to use a joint between the chair and the chassis. The simplest and the cheapest solution is to implement a Hook joint. This joint will assure the freedom to the chair in every direction.

To allow a big minimum and maximum rotation, we try to use a Hook joint which has thin arms, and thin cross in the middle.

fig. 7.4 – Hook joint

Now we have to duplicate the number of this part, and design a cross which perfectly fits. In the figure 7.4 we can see the designed cross, after that we can see the Hook joint assembly in figure 7.5.

fig. 7.5 – Hook joint’s cross

fig. 7.6 – Hook joint used in the vehicle motion simulator

8. Kinematic Model of the Vehicle Motion Simulator

8.1

After having the full three dimensional model, we can import it to Matlab/Simulink’s Simscape. We can do this by an add-in of the DS SolidWorkds, having the name SimMechanics Link.

fig. 8.1 – Exporting 3D model to SimMechanics Second Generation

After exporting the 3d model to SimMechanics, we can see the model as in the figure 8.2. Here we have block diagrams, which represents every part of the simulator, but also we can see the joints between them.

fig. 8.2 – The imported 3D model to Matlab/Simulink

Here we can recognize the motion simulators parts: chassis, Hook joint, cross, the rockers, the arms moved connected to the rockers and the spherical joints. Between every part we can see the connection. We have to types of connection: revolute or spherical. The target why we realized the block diagram model is to simulate the simulators moves. We can do it by connecting other blocks to the system. In order to connect the actuators to the joint we have to right click on the joint, select actuator, for the torque select ‘’Automatically computed’’, for the motion select ‘’Provided by input’’. Now we can move our joint. But we also have to define the movement of the joint. For testing the model we select a Sine Wave generator. The amplitude is set to pi/4. We have to connect a signal converter to the Sine Generator having the name Simulink – PS Converter. To analyze the motion of the joint we can connect a Scope to it.

fig. 8.3 – Block diagram model with actuators and scope

8.1 Obtaining the Controller Function of the Vehicle Motion Simulator

In order to perfectly understand the relation between the rockers rotational move and the chairs linear displacement, we measure the displacement at maximum and the minimum rotational points using SolidWorks. The reference points will be the top of the chassis and the top of the chair. We rotate the rocker from its resting position to 45 degrees. In order to do this, we have to apply two motors to the 3d model as shown in the figure 8.4. We have to activate the SolidWorks motion add-in, after that we set the motors to the rockers.

fig. 8.4 – Setup of the motor

Now we can start the motion study, after that we can plot the results.

fig. 8.5. – Displacement of the motion simulators chair

This is necessary to find the function between the rockers rotation and the displacement. Here we can select 3 points to find the function of the diagram. After calculating the function, we obtain:

(I)

This function calculates how the displacements changes in function of the rotation of the rocker. Now we can calculate the rotation of the rocker in function of the displacement:

(II)

Now we can predict the simulators cab displacement if we know the rotation of the rocker and vice versa.

8.2 Testing the results

Let’s simulate pitch and roll movement of a car. We add the command to in-built electromotors in Soldiworks, which looks like this:

fig. 8.6 – Commandig the virtual motors in SolidWorks

We rotate the electromotors simultaneously from 0 to 40 degrees in order to reach the wanted pitch movement. After applying it, we can see the simulation in the SolidWorks Motion Study.

fig. 8.7 – Simulating pitching motion.

We plot the chairs displacement:

fig. 8.8 – Pitching motion. Displacement between the chassis and the chair.

We can do the same simulations for the rolling motion.

fig. 8.9 – Rolling motion

After simulating the motions and plotting the results, we can verify the function I and function II exactness.

9. Arduino System in the Vehicle Motion Simulator

Vehicle motion simulators need to have very precisely controlled propulsion. This is why we are using Arduino controlled motors. When a motor is rotating we can program it how many milliseconds it has to move. We can also set the speed of the motor. To have the most precise motor possible we use stepper motors to be the propulsion motor. Advantage of the stepper motors are the precise control in two directions, low costs. The minimal rotation that can a stepper motor handle is 1,8 degrees.

fig 9.1 – The stepper motor used

The motors connecting wires from the upper side to downside:

M1

GND

C1

C2

3.3 V

M2

The M1 and M2 wires are used to control the motors rotation direction and speed.

C1 and C2 are used to transmit the motors Hall sensor signals, which in our project is not needed no be used. Hall Sensors can detect the number of rotations which the motor makes. In our case this number is zero.

The 3.3 V wire gives the energy supply for the motors Hall Sensors.

GND is the ground.

The microcontroller used for the experiment is an Arduino Uno R3. It is connected to an L298N motor driver/shield. The Arduino board is connected to the motor shield, as in fig. 9.2:

fig. 9.2. Arduino board

The connections used are the following:

GND – ground

Vin – energy supplier of the motor and shield

Pin8

Pin9 – Analog signal pins, we send the rotation signals via this two pins

power jack

The signals from Arduino board are sent to the motor shield, which looks like the following:

fig. 9.3. – Motor driver

Out1

Out2 – Here we send the signals to the motor

12V+ – The shield here receives the energy

GND – ground

In1, In2 – signal receiving pins

To have an overview of the actuating system, we have figure 9.4:

fig. 9.4 – Actuating system of the vehicle motion simulator

One advantage of the Arduino system is the several programs we can freely download. We used such a free-to-use program as the base of the controlling program. We had to modify the initialization part and the commanding part. After the modifications, the final program looks like in the figure 9.5.

The initialization part:

int ena = 9;

int in1 = 8;

int in2 = 7;

int outputA = 10;

int outputB = 11;

In this part we assign the connection pins to the commands we use in the program. In1 and In2 are used to assign the motors rotation direction, while outputA and outputB are analog signal pins, which are responsible for the rotations speed.

The other important part of the program is the following:

void rotateCW() {

digitalWrite(in1,LOW);

digitalWrite(in2,HIGH);

analogWrite(ena,250);

delay(15);

digitalWrite(ena,LOW);

delay(350);

}

void rotateCCW() {

digitalWrite(in1,HIGH);

digitalWrite(in2,LOW);

analogWrite(ena,250);

delay(15);

digitalWrite(ena,LOW);

delay(350);

Here we assign the demanded motion to the motor. When digitalWrite(in1, ) is set to LOW and digitalWrite(in2, ) is set to HIGH, the motor will rotate counter-clockwise. If we set digitalWrite(in1, ) to HIGH and digitalWrite(in2, ) to LOW, it will rotate in the other direction.

The analogWrite(ena, ) command is responsible for the period of time when the motor is rotating. The measuring unit is in milliseconds.

fig. 9.5 – The Arduino controlling program

10. Conclusion

In the project was modeled a low-level road vehicle motion simulator which can be controlled by an Arduino program.

The simulator can reproduce the motions of a car’s seat which is going in a well-known, predetermined road. In order to represent these motions, the functions needed to calculate the demanded rotation of the rocker were calculated. Also a function which can calculate the displacement between the simulator’s chair and chassis were extracted. Both forward and backward kinematics in the vehicle motion simulator was computed.

Therefore, this system is a flexible tool which can stimulate the drivers vestibular system to achieve the desired effect.

References:

[1] Zombory István: Járműdinamika és hajtástechnika, Budapest, 2012

[2] https://en.wikipedia.org/wiki/Simulation#Automobile_simulator

[3] Andrew Hamish, John Jamson: Motion Cueing in Driving Simulators

for Research Applications, Leeds, 2010

[4] R. Khaddar: Driving Simulator Project, Las Vegas, 2014

[5] P. Sathishkumar: Mathematical modelling and simulation quarter car vehicle suspension, Chennai, 2014

[6] https://www.simulationinformation.com/education/early-history-flight-simulation

[7] Nikhil J I Garrett and Matthew C Best: Driving simulator motion cueing algorithms, a survey of the state of the art, Leicestershire, 2012

[8] Nicolai Beni: Realization of a soft-real-time automotive simulator with human interaction, Milano,2013

[9] http://www.racer.nl/reference/pacejka.htm

[10] https://store.arduino.cc/genuino-uno-rev3

[11] https://www.arduino.cc/en/Tutorial/Blink

[12] https://www.mathworks.com/products/matlab.html

[13]https://www.mathworks.com/help/matlab/creating_plots/example-choosing-a-graph-type.html

[14] https://www.mathworks.com/products/simulink.html

[15] H. Halvorsen: Introduction to Simulink, Sweden, 2016

[16] https://www.mathworks.com/help/physmod/smlink/ref/linking-and-unlinking-simmechanics-link-software-with-solidworks.html

[17]http://simxperience.com/enus/products/completesimulators/stage5racingsimulator.aspx

Similar Posts