Method for generating commands for a vehicle driving simulation system.
The method optimizes vehicle simulation commands in the frequency domain, addressing space constraints and motion sickness by decoupling yaw and other movements, ensuring realistic and efficient simulations.
Patent Information
- Application Number
- FR2022009263
- Authority / Receiving Office
- FR · FR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-09-14
- Publication Date
- 2024-12-20
- Estimated Expiration
- 2042-09-14
AI Technical Summary
Existing motor vehicle simulation systems, particularly mobile platforms, face limitations in simulating realistic vehicle movements due to physical space constraints, leading to inconsistent sensations and potential motion sickness, and existing optimization methods are computationally intensive and inefficient.
A method for generating commands that transforms a vehicle movement scenario into actuator commands using a cost function optimization in the frequency domain, considering vestibular and visual perceptions, with decoupled optimizations for yaw and other degrees of freedom, and incorporating constraints to ensure realistic and consistent simulations.
The method provides fast and realistic vehicle simulations that minimize perception gaps between visual and vestibular cues, reducing motion sickness and improving training effectiveness while optimizing computational efficiency.
Smart Images

Figure 00000035_0000 
Figure 00000036_0000 
Figure 00000037_0000
Abstract
Description
Title of the invention: Method for generating commands for a driving simulation system for a motor vehicle.
[0001] The invention relates to a method for generating commands for a motor vehicle simulation system. The invention also relates to a method for using a motor vehicle simulation system. The invention also relates to a computer program implementing one of the methods mentioned. The invention finally relates to a recording medium on which such a program is recorded.
[0002] The objective of a car driving simulator is to reproduce both a virtual environment representing a real environment in which the vehicle is moving, the vehicle's control station and the perception of the vehicle's movement. The simulator therefore generally comprises a driving position placed at the centre of an audiovisual device allowing a driver to be immersed in a very realistic artificial environment.
[0003] There are two types of simulator: - a first type of simulator called a motionless or static simulator, which does not reproduce the inertial sensations of vehicle movements, and - a second type of simulator which uses a mobile simulation platform to reproduce movements and in particular accelerations of the simulated vehicle.
[0004] Static simulators have the disadvantage of generating motion sickness in the user using them, in particular dizziness, nausea or vomiting. These sensations are linked to the inconsistency between the simulated vehicle movement expected by the driver and an inertial force of movement not reproduced in a static simulator. The sensation of inertial force is particularly detrimental when it comes to training drivers or pilots to react quickly to a type of situation, checking motor vehicle architectures or presetting the parameters of AD / AD AS control laws (AD AS being an acronym for the English expression "Advanced Driver-Assistance Systems").
[0005] In the second type of simulator, the platform is mobile and capable of reproducing more realistically the sensations felt by a driver of a vehicle in a real situation. A simulator of the second type can be used in particular to evaluate control laws or suspension systems of the motor vehicle from an early phase of a project.
[0006] When a simulator of the second type is used for driving simulation tests, in particular of an autonomous vehicle, the simulator must then provide the user a feeling as close as possible to a feeling he would have perceived if the simulation environment had been real.
[0007] However, in the field of mobile platforms for simulating automobile driving, the duration and extent of the cabin movements are physically limited by the space allocated to the platform. To overcome this limitation, various techniques are used to trick the brain. For example, to simulate a lasting acceleration, gravity effects due to an inclination of the simulation cabin can be combined with a planar movement of the cabin.
[0008] Thus the simulation of a scenario requires a transformation of the movements of the vehicle during the scenario into commands applicable to actuators of the platform, so that a user placed in the cabin of the simulator perceives a movement identical to that described by the scenario, the applicable commands taking into account the limitations of the space allocated to the platform.
[0009] However, to make such a transformation possible, different algorithms have been developed, such as classical filtering algorithms, or optimal control or predictive control calculations.
[0010] More generally, there are two main families of algorithms: real-time optimization algorithms and offline optimization algorithms. An offline optimization algorithm presents a much better result of motion restitution than real-time optimization. Offline optimization applies to repetitive test scenarios or testing of an autonomous vehicle, i.e. in passive driving. Offline optimization of a control sequence can extend to the entire set of signals relating to the movements to be rendered. Such optimization requires significant computing power, often incompatible with the limitation of the processing capacities of the simulator.
[0011] A known offline optimization method is based on the principle of a so-called "direct multi-shot" method. This method is characterized by a division of the time horizon into integration subintervals, including a calculation by iteration over the intervals. The result obtained and the calculation time are highly dependent on the initial values, as described in the article "Driving Simulators with Hexapod Motion System: Adding a Yaw Tumtable", Olivari M., Frank M. Drop, Mikhail Katliar, Heinrich H. Bülthoff - 2018, DSC Europe 2018 proceedings, Antibes, France. This method therefore penalizes the optimization of the transformation.
[0012] The aim of the invention is to provide a device and a method for generating commands for a simulation system of a motor vehicle which overcomes the above drawbacks and improves the devices and methods for generating commands for a simulation system known from the prior art. In particular, the invention makes it possible to carry out a method for generating commands for a simulation system simulation of a motor vehicle that is fast, that results in a realistic simulation, and that allows generation of the controls of a complete scenario.
[0013] To this end, the invention relates to a method for generating commands for a motor vehicle simulation system. The simulation system comprises a cabin equipped with a screen intended to display images simulating a visual perception of a user of the cabin, and actuators capable of moving the cabin according to a set of degrees of freedom. In addition, the method comprises a step of transforming a cabin movement scenario into a series of actuator commands.Furthermore, the transformation step comprises an optimization, according to at least one given degree of freedom among said set of degrees of freedom, of a cost function defined in the frequency domain, and defined according to a calculated difference, for each at least one given degree of freedom, between on the one hand a first displacement defined by the projection of images on the screen according to the at least one given degree of freedom, and on the other hand a second displacement determined according to a feeling by the inner ear of a user located in the cabin according to the at least one given degree of freedom.
[0014] In one embodiment, the cabin has a center of rotation and a first axis perpendicular to a floor of the cabin and passing through the center of rotation, and the at least one degree of freedom comprises a rotation of the cabin about the first axis.
[0015] In one embodiment, the calculated deviation is calculated over a total duration of the cabin movement scenario.
[0016] In one embodiment, the simulation system has cabin movement limits and the command generation method comprises: - a so-called quasi-optimal optimization of the cost function comprising an optimization step which does not take into account the displacement limits of the cabin, the optimization step being followed by an adjustment step, as a function of the displacement limits of the cabin, of the series of actuator commands obtained at the end of the optimization step, and / or - a so-called optimal optimization of the cost function including an optimization step taking into account the cabin movement limits.
[0017] In one embodiment, the optimization step of the optimal optimization comprises a resolution in quadratic programming of the cost function defined in the frequency domain with integration of the constraints specified in the time domain and converted into the frequency space.
[0018] In one embodiment, the limits of displacement of the cabin comprise: - a maximum amplitude of translational displacement of the cabin, and / or
[0019] - a maximum angle of a tilting movement of the cabin, and / or - a maximum speed of the cabin tilting movement, and / or - a maximum acceleration of the tilting movement of the cabin, a tilt angle of the cabin being determined to reproduce an effect of a linear acceleration of the cabin.
[0020] In one embodiment, the second displacement is calculated by applying a filter modeling a perception of said second displacement by an otolithic system, and / or by semicircular canals of an auditory system of the user of the cabin.
[0021] The invention further relates to a method of using a simulation system, characterized in that it comprises: - a method for generating commands according to the invention, transforming a cabin movement scenario into a series of actuator commands capable of moving the cabin, and - a method for simulating the movement of an autonomous vehicle, a user being passive in the cabin of the simulation system, the method moving the cabin according to the series of actuator commands.
[0022] The invention also relates to a device for generating commands for a motor vehicle simulation system, the simulator being equipped with a simulation platform comprising a cabin, a yaw table, a hexapod, rails, a set of actuators, the device comprising hardware and / or software elements implementing the method according to the invention.
[0023] The invention further relates to a computer program product comprising program code instructions recorded on a computer-readable medium for implementing the steps of the method according to the invention.
[0024] The invention also relates to a data recording medium, readable by a computer, on which is recorded a computer program comprising program code instructions for implementing the method according to the invention.
[0025] The invention also relates to a signal of a data medium, carrying the computer program product according to the invention.
[0026] The attached drawings represent, by way of example, an embodiment of a generation device according to the invention and an embodiment of a generation method according to the invention.
[0027] [Fig.l] represents a simulation system equipped with a command generation device.
[0028] [Fig.2] illustrates one embodiment of a simulation platform.
[0029] [Fig. 3] is a flowchart of a method for generating commands according to the invention.
[0030] [Fig.4] is a flowchart of a first embodiment of a method for optimizing a cost function according to the invention.
[0031] [Fig.5] is a flowchart of a second embodiment of a method for optimizing a cost function according to the invention.
[0032] [Fig.6] is a flowchart of a method of using a simulation system comprising a command generation device according to the invention.
[0033] [Fig.7] is a second flowchart of a method of using a simulation system comprising a command generation device according to the invention.
[0034] [Fig.8] is a third flowchart of a method of using a simulation system comprising a command generation device according to the invention.
[0035] An example of a simulation system 100 equipped with a command generation device 10 is described below with reference to [Fig.l].
[0036] In addition to the command generation device 10, the simulation system 100 mainly comprises a simulation platform 20.
[0037] An embodiment of a simulation platform 20 is described with reference to [Fig.2],
[0038] The simulation platform 20 mainly comprises - a cabin 21, - a lace table 22 supporting the cabin 21, - a hexapod 23 comprising 6 jacks supporting the cabin 21 and the yaw table 22, - a first set of rails 24 guiding a translational movement of the hexapod in a first direction XI, - a second set of rails 25 guiding a translational movement of the hexapod in a second direction Yl, perpendicular to the first direction XL
[0039] A third direction ZI is defined so that the reference frame (XI, Yl, Zl) forms a direct orthonormal reference frame Rg, defining a terrestrial reference frame.
[0040] Other references are also used in the rest of the document: - a Ry marker attached to the lace table 22, - an Rh marker placed at the level of a user's head, or more precisely at the level of the eyes of a user located in cabin 21 or in a vehicle.
[0041] The simulation system 100 comprises a screen intended to display images simulating a visual perception of a user of the cabin 21 during the first movement.
[0042] In the embodiment presented, the cabin 21 is surmounted by a dome 26 comprising a projection screen 27. As a simulation progresses, the driving scene is projected at 360° onto the projection screen 27, and acoustic effects are advantageously transmitted by loudspeakers installed in the cabin 21. Low-frequency boxes and vibrating pots can be installed in different locations in the cabin 21 to simulate vibrations emitted by a real vehicle.
[0043] The set of degrees of freedom EDL of the platform can comprise up to nine degrees of freedom, including three degrees of freedom in rotation and three degrees of freedom in translation for the hexapod 23, one degree of freedom in rotation for the yaw table 22 and one degree of freedom in translation for each of the rails 24, 25.
[0044] The cabin 21 has a center of rotation and a first axis perpendicular to a floor of the cabin and passing through the center of rotation, and the set of degrees of freedom EDL comprises a rotation of the cabin around the first axis.
[0045] As a note, the yaw table 22 is not shown in [Fig. 2]. It appears as a flat surface interposed between the hexapod 23 and the cabin 21.
[0046] The set of degrees of freedom EDL makes it possible to apply to the cabin 21 translational, pitching, rolling and yaw movements of a real vehicle.
[0047] In the remainder of the document, - denotes a yaw angle, measured relative to the RY reference point attached to the yaw table 22, the yaw being a rotational movement around an axis perpendicular to the yaw table 22, -6 is the pitch angle of the hexapod, measured relative to the conductive reference frame Rh -0 is the roll angle of the hexapod, measured relative to the conductive reference frame Rh
[0048] The set of degrees of freedom EDL also makes it possible to overcome the physical limits of the platform by deceiving the perception system of a user of the cabin 21. For example, thanks to the set of degrees of freedom of the platform, it is possible to create perceptions of sustained accelerations or continuous braking with a technique called "tilt-coordination" called in the remainder of the document "tilt technique". This technique consists of tilting the cabin 21 below a threshold of perception of rotational movements by the human perception system, in particular around an axis transverse to an axis of movement of the simulated vehicle. This produces in a user of the cabin 21 a sensation similar to that perceived during acceleration or deceleration.The angle of inclination applied to the cabin 21 to produce the sensation of acceleration (or braking for negative acceleration) by the tilt technique is called the "tilt angle".
[0049] In an embodiment presented later in the document, the command generation method according to the invention is based on decoupling the movement of the cabin 21 in - a first component corresponding to a yaw movement of the cabin 21, measured relative to the RY reference mark attached to the yaw table 22, - a second component corresponding to a movement according to the other degrees of freedom of the cabin 21 measured in relation to the Rh reference point.
[0050] The second component is determined by the following variables: - a rail position prail, , a rail speed vrdii and a rail acceleration uraU defined relative to the terrestrial reference frame Rg - and a hexapod angle ^nuet a hexapod angular velocity ^tnt for the tilt technique, measured relative to the Rh reference attached to the eyes of a user of the cabin 21
[0051] The platform 20 further comprises a set of actuators EA making it possible to control the movements of the cabin 21 via the movements of the hexapod 23 and the yaw table 22.
[0052] The set of actuators EA may in particular comprise, - six actuators controlling each of the six cylinders of the hexapod 23, - an actuator controlling the rotation of the yaw table 22, - an actuator controlling a translation of the hexapod 23 in the first direction XI, and an actuator controlling the translation of the hexapod 23 in the second direction Yl.
[0053] The command generation device 10 makes it possible to transform a driving scenario S1 contained in the memory 1 into a series of commands of the actuators of the platform 20 to implement a first movement of the cabin 21 which is in accordance with the driving scenario SL. In the embodiment of the invention, the generation of the series of actuator commands is carried out upstream of the running of the simulation.
[0054] For this purpose, the simulation system 100 comprises a first memory 1 in which a scenario SI of movement of the cabin 21 is recorded. In a first step, the device 10 retrieves the scenario SI of movement of the cabin 21 in the memory 1 and transforms it into a series of commands of the actuators EA. The device 10 then records the series of commands of the actuators in a second memory 2 of the simulation system 100. Alternatively, the series of commands of the actuators could be recorded in the memory 1.
[0055] Then, in a second step, the actuator control series is recovered from the memory 2 and used by a simulation method A2 to simulate the scenario SI of movement of the cabin 21. For this purpose, the platform 20 further comprises a microprocessor 29, making it possible to read data from the memory 2 and to execute the simulation method A2 which will be described later in this document.
[0056] The device 10 comprises a microprocessor 11, a local electronic memory 12 and communication interfaces 13 allowing the microprocessor 11 to read data in the memory 1 and to write data in the memory 2.
[0057] In one embodiment, the microprocessor 11 makes it possible to execute software comprising the following modules, which collaborate with each other: - an initialization module E0 which collaborates with memory 1, - a first optimization El module which collaborates with memory 2, - a second optimization E2 module which collaborates with memory 2.
[0058] An embodiment of the command generation method is described below with reference to Figures 3 to 5.
[0059] Step E0 is a step of preprocessing the data before their optimization.
[0060] Step E0 comprises a sub-step of reading in the memory TBC a scenario S1 to be simulated.
[0061] Step E0 further comprises a sub-step of decoupling between - on the one hand the movements of the cabin 21 according to the yaw angle, and - on the other hand the movements of the cabin 21 according to the other degrees of freedom, in particular translational movements according to the directions XI, Y1 and Zl, as well as rotational movements around the axis XI (called roll) or the axis Y1 (called pitch) in order to generate a movement resulting from the roll and pitch angle corresponding to the movements in the driver's frame of reference Rh.
[0062] Decoupling the cabin movements makes it possible to simplify the optimization of the cost function. Indeed, by considering that the restitution of yaw movement is predominant compared to the rest of the stimuli to be reproduced, the strategy for the restitution of yaw movement is independent of the strategy for the restitution of other movements.
[0063] Two subsets of scenario data are then obtained, a first subset DSI comprising the yaw movement data relating to the scenario SI, and a second subset DS2 comprising the movement data according to the other degrees of freedom of the cabin 21.
[0064] The first and second subsets of data DSI, DS2 are then optimized independently of each other: - in a step E1, a first optimization relating to the DSI data makes it possible to obtain a first set of commands CMD1 of the set of actuators EA, the first set of commands CMD1 making it possible to simulate the yaw movements of the cabin 21 reproducing the scenario SI, as well as the vestibular sensations associated with these yaw movements, and - in a step E2, a second optimization relating to the data DS2 makes it possible to obtain a second set of commands CMD2 of the set of actuators EA, the second set of commands CMD2 making it possible to simulate the movements of the cabin 21 according to the other degrees of freedom to reproduce the scenario SI, as well as the vestibular sensations associated with these movements other than yaw.
[0065] Steps E1 and E2 comprise a common optimization method OPT.
[0066] In addition, the invention relates to two embodiments of the OPT method, - a first OPT 100 mode determining an optimal solution without constraints, using a technique called tilt angle saturation (described later in this document), a proportionality factor to manage workspace constraints and iterative optimization on the weighting coefficients to manage tilt speed., - and a second OPT200 mode determining an optimal solution with constraints.
[0067] As a note, the first embodiment OPT100 is advantageous because it is particularly fast.
[0068] The two embodiments OPT 100, OPT 200 can be used alternately or simultaneously. In other words, - step E1 may comprise the steps of the OPT method according to the OPT 100 embodiment and / or the steps of the OPT method according to the OPT200 embodiment, and - step E2 may comprise the steps of the OPT method according to the OPT 100 embodiment and / or the steps of the OPT method according to the OPT200 embodiment.
[0069] In the embodiment OPT100, the optimization method OPT comprises steps E101 to E112. The method notably comprises an iteration over steps E104 to E110.
[0070] The steps of the OPT optimization method are described with reference to [Fig.4], and to the mathematical formulas gathered later in the document.
[0071] In step E101, a cost function J is defined in the frequency domain.
[0072] The cost function J is defined in the frequency domain and as a function of a calculated difference DD, for each at least one given degree of freedom of the EDL set, between on the one hand a first displacement defined by the scenario SI according to T at least one given degree of freedom, and on the other hand a second displacement felt according to T at least one given degree of freedom by a user located in the cabin 21.
[0073] The second displacement is calculated by applying a filter modeling a perception of said second displacement by an otolithic system, and / or by semicircular canals of an auditory system of the user of the cabin 21.
[0074] The cost function J characterizes the difference between: - on the one hand, a movement defined by the projection of images on the screen. Indeed, the scrolling of images on the screen defines a set of accelerations (longitudinal, transverse, vertical, roll, pitch, yaw) that the user expects to feel. It is therefore a feeling "by sight", and - on the other hand, a movement defined by the accelerations felt by the user via his inner ear due to the movements of the cabin.
[0075] The perceived gap may be a signal integrating a vestibular model.
[0076] The vestibular model has the function of modeling the perceptions of a human vestibular system, more specifically of an otolith system for the perception of linear movement and of a semicircular canal system for the perception of rotation. One embodiment of a vestibular model is provided by formulas Math 4, for the otolith model, and Math 5, for the semicircular canal model.
[0077] Alternatively, the first term of the cost function may not incorporate a vestibular model.
[0078] The cost function J further comprises a second term measuring an effort required to minimize the first term. The second term expresses a displacement of the hexapod, a speed and an acceleration of the cabin 21.
[0079] Weighting factors are incorporated into the first and second terms in order to establish a compromise between minimizing the deviation in the perception of movement (corresponding to the first term) and the effort required to achieve this (corresponding to the second term).
[0080] One embodiment of the cost function J is expressed by the formula Math 2. In the formula Math2, the weighting coefficients are the variables ô' ^U-
[0081] Adjusting these coefficients can take time, hence the need to propose a rapid optimization process implemented in steps E101 to E112.
[0082] In step E102, the cost function J is expressed in the form of a quadratic optimization problem, in which all the state variables of the modeled system are expressed from the input variables of the system, i.e. as a function of the commands to be optimized.
[0083] In step E103, the calculation time step is increased (in other words, the signal sampling frequency is decreased) in order to reduce the size of the model, which leads to a reduction in the calculation time. According to one of the particularities of the method proposed in the invention, the optimization of the result is not influenced by the calculation time step provided that the maximum frequency of the signal of interest is covered by that of the calculation time step. For example, optimization with a sampling step equal to 50 milliseconds can determine commands similar to those obtained with a sampling step ten times smaller. The maximum frequency of the signal is bounded by Shannon's sampling law, i.e. twice the maximum frequency of the signal. In practice, the sampling frequency can be four to five times higher than the maximum frequency of the signal of interest.
[0084] Steps E104 to E110 implement an iterative method for optimizing the weighting coefficients of the cost function J, comprising - unconstrained optimization (steps E104 to E107), - scaling of the movement commands according to the rails in order to respect the system constraints (step E108), and - a saturation of the tilt angle generated by the hexapod (step E109).
[0085] In step E104, weighting coefficients of the cost function J are specified.
[0086] Then in step E105, a model of the simulator is generated which takes into account the weighting coefficients, the sampling frequency of the calculation, as well as the integration of the vestibular model of the driver and a double integrator model for the different actuators of the set of actuators EA. A fast Fourier transform algorithm is also used to reduce the calculation time.
[0087] Then in step E106 the frequency spectrum to be optimized is possibly reduced. If certain frequencies to be optimized are higher than those of interest to us, these frequencies can be ignored for the calculation of the optimal solution. The number of control variables in the frequency domain is thus reduced, which leads to a reduction in the calculation time for an optimal solution.
[0088] Then, the unconstrained optimization step E107 makes it possible to obtain a minimal solution of the cost function J corresponding to a zero derivative of the cost function J.
[0089] In step E108, the optimal unconstrained solution obtained following step E107 is adjusted so that it respects the constraints of the system.
[0090] The constraints of the system relate to limits of movement of the cabin 21, among which: - a maximum amplitude of translational movement of the cabin 21, and / or - a maximum cabin tilt angle 21, and / or - a maximum cabin tilt speed of 21, and / or - maximum cabin tilt acceleration 21 translational movement and / or inclination which can simulate acceleration using the tilt technique.
[0091] For example, the optimal solution without constraints obtained in step E107 may result in crossing the travel limit of a rail in the X and / or Y direction. Braking is then necessary to keep the mobile platform within the limits of its physical space. This phenomenon generates a movement felt as abnormal by the driver. In order to avoid this situation, one solution consists of multiplying the rail position command(s) by a proportionality factor less than or equal to 1.
[0092] In step E108, the different combinations of the weighting coefficients are therefore adjusted by determining a proportionality factor which is - as close as possible to 1 in order to remain close to the optimal solution without constraints, and - which allows the physical constraints of the simulator to be respected both for the position of the rail as for the speed of the hexapod.
[0093] Step E109 is the counterpart of step E108, with regard to the tilt angle. A saturation sub-step on the tilt angle can be implemented if the optimal value calculated in step E107 exceeds the limit of the tilt angle of the hexapod. In this case, a quasi-optimal solution can exist by limiting the tilt angle to a maximum angle authorized by the hexapod in order to generate a maximum tilt force of the simulator for the restitution of a linear movement. In other words, in step 109, it is ensured that the tilt speed does not exceed a maximum value. Indeed, the saturation of the tilt angle can generate, at certain times of the simulation, a high tilt speed. In order to overcome this problem, step E109 comprises a smoothing of the tilt angle.
[0094] A method of smoothing the tilt angle is described in particular in the Math 20 formula.
[0095] As a note, the saturation of the tilt angle gradually reduces the sensation of optimized movement which is a slow movement, therefore less perceptible by humans. It is possible to compensate for this loss of sensation by breaking down the rail travel into two components, a first component allocated to the tilt technique and another component allocated to compensating for the loss of perception of movement due to the saturation of the tilt angle.
[0096] Then, in a step El 10, the performance of the simulator is evaluated. Various performance criteria can be used. For example, - correlation indices can be calculated between the perception of the movement generated by the simulator and the perception of the reference of the simulated vehicle at different frequencies or, - we can calculate durations of occurrences of signals likely to cause simulator sickness.
[0097] At the end of the iteration on steps E104 to E110, the quasi-optimal solution retained is the one whose weighting coefficients provide the best level of amplitude and phasing coherence of the movement to be reproduced.
[0098] Then we move on to step El 11, in which we generate the commands with a calculation time step corresponding to that of the real-time system.
[0099] Then we move on to step E112, in which we optimize the cost function again without constraints, then we determine actuator commands in the time domain by applying an inverse calculation of the Fourier transform, then we check again that the commands obtained respect the constraints described in steps E108 and E109.
[0100] The results thus obtained in the OPT100 embodiment of the OPT method are very close to optimal results.
[0101] In the embodiment OPT200, the OPT optimization method comprises steps E201 to E210. The method notably comprises an iteration over steps E204 to E210.
[0102] Steps E201 to E203 are respectively identical to steps E101 to E103.
[0103] In steps E204 to E207, an iterative method is used to determine weighting coefficients defining an optimal cost function J, the optimization method taking into account the constraints of the simulation system.
[0104] To do this, a quadratic programming resolution method, called QP Solver in the rest of the document, is applied to each given set of weighting coefficients. In one embodiment, the QP Solver complies with Karush-Kuhn-Tucker optimization conditions, which are necessary and sufficient conditions for the optimality of a convex optimization problem of a linear system. The Karush-Kuhn-Tucker optimization conditions allow a generalization of Lagrange multipliers to solve optimization problems under nonlinear inequality constraints.
[0105] In step E204, the weighting coefficients 204 are specified.
[0106] Then, in step E205, a model of the simulator is generated which takes into account the co efficient weighting, computational sampling frequency, as well as the integration of the driver's vestibular model and a double integrator model for the different actuators in the EA actuator set. A fast Fourier transform algorithm is also used to reduce computation time.
[0107] Then in step E206 the frequency spectrum to be optimized is possibly reduced. If certain frequencies to be optimized are higher than those of interest to us, these frequencies can be ignored for the calculation of the optimal solution. The number of control variables in the frequency domain is thus reduced, which leads to a reduction in the calculation time for an optimal solution.
[0108] This spectra reduction step is particularly important in the OPT200 embodiment, because the use of a QP solver generates a polynomial complexity calculation problem.
[0109] Then in step E207, the minimum solution of the cost function is obtained in the frequency domain by using a QP solver based on an iterative process.
[0110] Then in step E208 an inverse Fourier transform is applied to convert the optimal solution of the controls expressed in the frequency domain into an optimal solution of the controls expressed in the time domain.
[0111] Then, in step E209, a new calculation time step is specified which this time corresponds to that of the real-time system. If the dimension of the model thus generated is too large, the calculation time becomes impractical to find the optimal solution. In this case, an interpolation calculation of the optimal solution provided at the end of step E208 can be considered.
[0112] Then, in step 210, the cost function is optimized with the constraints, then commands are reconstructed in the time domain by performing an inverse calculation of the Fourier transform.
[0113] In the remainder of the document, a mathematical implementation of the steps of the methods previously described is described. In the remainder of the document, the variables appearing in the mathematical formulas are defined when they appear for the first time in a formula.
[0114] By applying an Euler transformation matrix, the inertial forces experienced by a motor vehicle respectively in longitudinal, lateral and vertical directions are projected respectively onto the X, Y and Z axes of a terrestrial reference frame G according to the formula Math 1:
[0115] [Math.l] sin --L - sin îsç. 1' S 45 St : : y
[0116] where the indices “G”, “Bhed” and “T” respectively mean that a measurement is made relative to a terrestrial reference frame Rg, relative to a reference frame Rh placed at the level of a driver’s eyes, and relative to a reference frame Ry attached to the yaw table, then - Yiongi is the longitudinal acceleration of the vehicle measured relative to the reference frame of the vehicle body at the level of the driver’s head - ^lat is the lateral acceleration of the vehicle measured relative to the vehicle body reference point at the driver's head level - K is the vertical acceleration (taking into account the force of gravity of the vehicle) measured relative to the reference point of the vehicle body at the level of the driver's head, - is the yaw angle, -9 is the pitch angle of the hexapod, is the roll angle of the hexapod.
[0117] In the Math 2 formula, we define a cost function J that we seek to minimize.
[0118] [Math.2] JJ t0 ( ^TQ£ + + ^ds^ds ) dt
[0119] e = cjc(t) - r(t)
[0120] x _ ïp vg 1' ZAj IJ. f'tiif fCtll HU J
[0121] UDS = [wra;7 a>n7J
[0122] where - x is the state vector of the system which contains the vestibular model and the mobile platform of the simulator, - e represents the error of the perception of the movement between the simulator, cx(t), and the reference of the perception of the movement of the simulated vehicle, r(t), - xds is a simulator state vector including a rail position, a rail speed and a hexapod angle to reproduce a movement axis by the tilt technique, - ^ds represents a simulator command including an acceleration uraii for the rail and the rotation speed ^tiit for the hexapod.
[0123] In the formula Math 2, - the expression “eT.Qe” represents a difference to be minimized between a movement of the simulator and the movement of the simulated vehicle., and - the expression “+” represents the effort required for achieve the objective of minimizing the gap to be minimized.
[0124] The deviation may be a signal incorporating the vestibular model; alternatively, the signal may contain only the inertial forces of the vehicle and the simulator.
[0125] The restitution of movement of the simulator to reproduce the perception of the movement of a vehicle is a problem of optimization of the cost function J defined in the formula Math 2. The optimization is carried out by optimization of the so-called weighting factors of the formula Math 2, that is to say the optimization of the factors & Rd and *u-
[0126] One embodiment of a model of the simulation platform is provided by the formula Math 3.
[0127] [Math.3] XDS ~ ^DS^DS + Bdsmds
[0128] '0 1 0' ro 0' Ads= 0 0 0 BDS = 1 0 .0 0 0. Lo 1.
[0129] _ lh-ail 1 UDS - / ,)
[0130] where - xds is the simulator state vector including a rail position, a rail speed and a hexapod angle to reproduce a motion axis by the tilt technique, and - uds represents a simulator command including an acceleration uraii for the rail and the rotation speed ^tut of the hexapod.
[0131] One embodiment of the modeling of a vestibular system is provided by the formulas Math 4 and Math 5. The vestibular model consists of an otolith system for the perception of linear motion, modeled by the formula Math 4, and a semicircular canal system for the perception of rotation, modeled by the formula Math 5.
[0132] [Math.4] Xoto ^oto-^oto + Bot <rUDS
[0133] f —
[0134] Xoto ~ [ XOtO t Xoto2 Xato3 ]
[0135] ■ ï ri 1 rLrs tlts u ^oto —__L 0 ^oto — n rLT< rLr^ TLrs V . 0 0 0 Loi.
[0136] c„to= [1 o 0]
[0137] où is the specific force which takes into account both the inertial force and acceleration and that of the contribution of gravity perceived by the driver, - T! ■ Ts ^oto are the parameters of the otolith model, - xoto is the state vector of the otolith system, - Cota is the output matrix to extract the specific force in the state vector of the otolith system.
[0138] [Math.5] 4scc AXcC.Xsce + Bscc^DS
[0139] m = Csccaxcc
[0140] Xscc = [Y! Xscc2
[0142] where - (to is the rotational movement perceived by the system of semicircular canals, - T0, Tl, T2 and T3 are the parameters of the semicircular canal model. - xœe is the state vector of the semicircular canal system, - Cscc is the output matrix for extracting the specific force in the state vector of the semicircular canal system, - uds represents a simulator command including an acceleration ur«a for the rail and the rotation speed ^tilt for the hexapod.
[0143]
[0144]
[0145]
[0146]
[0147]
[0148]
[0149]
[0150]
[0151]
[0152] The state of the set of systems is given by the formula Math 6 [Math.6] lDS = Cx "I ■oto Or - x is the state vector of the system which contains the vestibular model and the mobile platform of the simulator, - J is the specific force felt by the simulator. - is the perceived rotation speed of the simulator. - Cote is the output matrix for extracting the specific force in the state vector of the otolith system, SCC is the observation or output matrix for extracting the force specific in the state vector of the semicircular canal system, - *jcc is the state vector of the semicircular canal system, - xoto is the state vector of the otolith system, - xns is the simulator state vector including a rail position, a rail speed and a hexapod angle to reproduce a motion axis by the tilt technique, and - uds represents a simulator command including an acceleration uraU for the rail and the rotation speed ^tüt for the hexapod. Math equation 7, obtained by applying the Laplace transform to Math equation 6, allows us to obtain the solution of x in the Laplace domain. [Math.7] X(s) ^FU(s)+GXQ with F = and G = sl-A sl-A Or - s is the Laplace variable, - Xo is the initial condition of the system. For a complete signal, we can consider that the initial condition Xo is equal to zero, - U is the Laplace transform of the command u(t) - F is an application matrix allowing to deduce the control transform U in that of the state system. - G is an action matrix allowing to take into account the initial conditions of the system in the Laplace transform of the state system. - A is the state matrix. - B is the control matrix. -1 is the unitary matrix which has the same dimension as A.
[0153] Taking into account the simulator performance, the following constraints are added during optimization. Math expression 8 translates the limits of the workspace, Math expression 9 translates the limit of the rail speed, Math expression 10 expresses the limit of the rotation perception during an implementation of the tilt technique, and Math expression 11 expresses the limit of the acceleration or jerk control.
[0154] [Math. 8]
[0155] where - rail is the rail position used, and Plliax is the maximum rail length of the simulator - ^tiit is the tilt angle used, and 0max is the maximum tilt angle of the hexapod.
[0156] [Math.9] 1 L laughed I —
[0157] where - true is the rail speed used, and vmax is the maximum speed of the simulator
[0158] [Math. 10]
[0159] where - Mtilt is the rotation speed of the hexapod tilt for implementing the tilt technique, - wseuU is an average perception threshold not detectable by the vestibular system, for example threshold = 3° / s
[0160] [Math. 11] ! 'Arr jfiïi I—
[0161] where, - uaee rail is the rail acceleration used, - umax is the maximum rail acceleration.
[0162] To determine the minimum of the cost function J(U), all the equations are discretized.
[0163] We are looking for a solution for minimizing the cost function over a complete horizon of the signal, i.e. over the entire duration of the simulation SI scenario. To do this, we can divide the complete time horizon into N time sub-segments. Then, in each time sub-segment, the state values can be interpolated or considered as constant. Finally, by increasing the numbers of unknown variables at the beginning of each sub-segment, the entire system has been optimized by an iterative process to find a minimal solution. This is the method known as multiple firing. However, this solution does not allow us to obtain the best optimization results if we do not have a priori an approximate solution of the minimal value. It is advantageously replaced by a resolution technique in the frequency domain, described by the formulas Math 12 to Math 36.
[0164] In order to reduce the optimization processing time, instead of minimizing the cost function in the time domain, the cost function in the frequency domain is minimized.
[0165] For this purpose, a Fourier transform is applied according to the formula Math 12 to solve the optimization in the frequency domain.
[0166] [Math. 12] v .-5 J1—35 ■' $ »• 'b'Sv / Ct) = — I _ Ffits). ■ • -I
[0167] where - co is the impulse which is equal to 2ir times the frequency (=2irf). - F(co) is the function of the Fourier transform of the signal f(t).
[0168] By applying Parseval's theorem, according to which the sum of the energies in the time domain is equal to the sum of the energies in the frequency domain to within a constant, we obtain the expression Math 13.
[0169] [Math. 13] “■ ~s,“' '
[0170] where F( û) ) is the function of the Fourier transform of the signal f(t).
[0171] By discretizing the equations, we obtain the equations Math 14.
[0172] [Math. 14] x ( n ) =
[0173] where - N is the number of discretized points and n varies from 1 to N, - is the frequency resolution defined by:
[0174] - X is the spectrum of x calculated by:
[0175] X(k) = X(iœ) = with a)-nw0 &
[0176] where - N is the number of points of the discretized Fourier transform and n varies from 1 to N, - x(n) is the discretized time sequence and X(k) the corresponding discretized Fourier transform and - T is the sampling or discretized time step.
[0177] The energy relationship between x(n) and X(k) is written according to Math 15.
[0178] [Math. 15]
[0179] When N is a multiple of 2, the so-called Fast Fourier Transform (FFT) algorithm can be used in the calculation of the Fourier transform and the inverse calculation of the Fourier transform.
[0180] Thus the complexity of the fast Fourier transform calculation is reduced to N(log(N)).
[0181] As a note, the complete signal can also be cut into several segments, particularly when there are zeros present in the signal in order to reduce the value of N.
[0182] Thus, the cost function J can be expressed according to the nature of the signals by the formula Math 16:
[0183] [Math. 16] Jj.Js * '"A v A v
[0184] where - the first integration term is the deviation from the objective to be minimized, r the reference of the signal to be tracked and Qy being a weighting matrix.
[0185] - the second term of the integration is the difference between the state of the system and the reference of the system p which is generally zero with a weighting matrix of Qk.
[0186] - the last integration term corresponds to the energy of the simulator command with a weighting matrix R.
[0187] Taking into account the time function of the formula Math 12 (f(t) = 0, for t less than or equal to 0), we obtain the equality Math 17 thanks to Parseval's theorem:
[0188]
[0189]
[0190]
[0191]
[0192]
[0193]
[0194]
[0195]
[0196]
[0197]
[0198]
[0199]
[0200]
[0201]
[0202]
[0203]
[0204] [Math. 17] So the minimum of is also that of The Math 18 formula expresses the search for a minimal cost function J in the case of an unconstrained solution, i.e. according to the OPT100 embodiment of the optimization method. [Math. 18] J ( U ) = + UTKul + const Or - U is the Fourier transform of the command and UT is the transpose of U. - Kui is a vector that acts directly on the command U and Kll2 is a weighting matrix on the quadratic term of U. The minimum value of the cost function J is obtained by solving dJa,(u^u2^.MN) _ said; “U OR _ uq, u >. ... uN sonl |cs discretized tilt-coordination uDS commands at each frequency. either U = au2 with Or - R represents the spectra of the Fourier transform of the reference signal in acceleration and rotation speed. - F is the state system control transition matrix in the frequency domain. - the indices i,j in F(-^ indicate the corresponding terms in the matrix F. - Vxoryi is the spectrum of the vehicle's accelerations, or x( a?) is the spectrum of the vehicle's rotation speed, - Kul is the vector that acts on the control of U, Ku2 is a weighting matrix on the quadratic control of the simulator in the frequency domain. - rail is the weighting coefficient of the rail control in the cost function, tut is the weighting coefficient of the hexapod tilt control. , - is the weighting coefficient of the perceived movement deviation in acceleration in the cost function, - cst the weighting coefficient of the difference between the tilt miss speed of the hexapod and the tilt reference. - CUp r is a passage matrix allowing to calculate Kul which acts on the reference ■ Cv Xüp 8x2 is a passage matrix allowing to calculate Kul which acts on the initial condition, - Q is the weighting matrix on the state of the system.
[0205] By modifying the weighting coefficients in the cost function, a solution that meets the simulator performance requirement can be obtained.
[0206] However, this solution is based on an optimization without taking into account the limits of the cabin movement. Thus, the optimal solution obtained may correspond to a state in which the travel is saturated, which may generate perceptions for the simulator driver that are not consistent with the simulated SI scenario. Thus, a rail movement control solution very close to the limit of the maximum travel of the simulator is already an optimal solution. As for the limit of the tilt angle, the optimal solution must be analyzed more judiciously.
[0207] In the expression Math 19, we apply the Lagrange multiplier method.
[0208] [Math. 19] + 01^ - + + - ftœ + s*x) +
[0209] where - is the tilt angle movement whose discrete sequence corresponds to a linear combination of the discrete Fourier transform, ' ^max is 'the limit of the tilt angle, - Su is the relaxation term of the gap between <p(t)et <Pmax, - S12 est le terme de relaxation de l’écart entre -< / 0)et- ^> nuix, - z, and A are respectively the Lagrange coefficients.
[0210] The Lagrange method leads to examining the solution with a saturated tilt angle. The tilt angle saturation operation will generate high peaks for the rotation speed. Therefore, the tilt angle must be smoothed.
[0211] In order to smooth the tilt angle, we propose two solutions in this patent:
[0212] The first solution consists of applying a smoothing function, for example by introducing a smoothing coefficient, which is defined by the expression Math 20:
[0213] [Math.20] 1 “ ^smo )
[0214] with / x [l+to»A(5r)] . . . _ J hmo\l ) 2 ' L Vb vsmo ““ v 1
[0215] A second solution is to use a simplified predictive control (or anticipatory correction) which smooths the tilt angle with a limited tilt speed.
[0216] The previous solution, which is based on the equations Math 18 to Math 20, provides a quasi-optimal and fast solution.
[0217] Other equations of the system make it possible to obtain an optimal solution of the cost function which takes into account the constraints of the system, as illustrated by the expressions Math 21 to Math 36. This processing is implemented in the second embodiment OPT200 of optimization of the cost function J.
[0218] In this so-called optimal resolution mode, we use a quadratic programming resolution method, called QP Solver, which takes into account the constraints of the system.
[0219] The QP Solver does not allow optimizing a cost function with complex numbers. Therefore, the control variables of the 2-dimensional Fourier transform will be decomposed into a 4-dimensional vector. The optimization problem deals with both the real and imaginary parts of the numbers.
[0220] [Math.21] jj _ & Un r + i . tilt r tilt i.
[0221] WHERE - U is the transform of the simulator command in tilt-coordination, Ulin r is the real part of the Fourier transform of the rail command, -Uiini is the imaginary part of the Fourier transform of the rail command, Utilt r is the real part of the Fourier transform of the tilt command on the hexapod, -Ufati is the imaginary part of the Fourier transform of the tilt command on the hexapod,
[0222] [Math.22] ' TJ ■ lin r U tilt r V= U U lin i . tilt i .
[0223]
[0224]
[0225]
[0226]
[0227]
[0228]
[0229]
[0230]
[0231]
[0232]
[0233]
[0234]
[0235]
[0236] OR - jj is the command of the Fourier transform formed by the real variables of the real part and the imaginary part [Math.23] mast J mat U ri oio L0 1 0 i -i 0 . 0 -i. Thus the cost function in the frequency domain can be described in Math 24 expressions by the new control variable U: [Math.24] (w)- UTKu22x2U + 2JJTKui2xï + const- UC^„atKu22x2C„,atU+ 2U C^nalKui +const = V T K ui = Ù T C T " M K ut = VC TM C UmtR R ii^ i R 1! CUcMj R 12 Ro(o ( s ) uamj R 21 CUamjR22. . . 0 -i M-eonî R So we get the expression Math 25: [Math.25] z, aT J [ to ) = U Mu2 4à-4^ + 217 .Mu 14xl + const where - is 'c quadratic term of the new order - 4xl is a vector acting directly on the command of - ^ui 4x4 is a weighting matrix on the quadratic terms. Knowing that J (të) represents an energy, it therefore corresponds to a real value, is also a variable expressed by a real number. The imaginary parts of the Mui 4xl, Mu2 4x4 matrices can therefore be ignored. The problem of minimizing ) is then expressed according to the expressions Math
[0237] [Math.26] j(u^ = U [real(Mu2)+imag(Mu2)i]U+ 2.U .[real(Mui) +imag(Mui)i] +const
[0238] is equivalent to
[0239] dd [reai(+ 2.U .[real(Mul)]+const
[0240] The constraints are then integrated into the model. Since the constraints are expressed in the time domain, they must be converted into the frequency domain. To do this, the inverse formula of the Fourier transform can be used.
[0241] By expressing the rotation speed control according to a linear combination of its spectra, we thus obtain the equality Math 27 expressing the constraint of the tilt threshold in rotation speed:
[0242] [Math.27] »>«,(«) =
[0243] where ' Utilt(k) is 'c sPcctrc of the tilt command, ù)tut(n) is the time command in tilt
[0244] Taking into account the symmetric property of the fast Fourier transform for a number of multiples of 2, the number of calculations can be reduced by half according to the expression Math 28:
[0245] [Math.28] ■^00=^^—— xX / y + 4 Y - & +• 1)). Z—t ---~ ILîd* + t). -- £ 1)). U * v----------
[0246] Or - real and imag represent the mathematical operators to extract the real part or imaginary of a complex number.
[0247] - conj is the mathematical conjugate operator of a complex number
[0248] Then, by applying the properties of Math 29, we obtain the formula Math 30
[0249] [Math.29] g2sri-(Nk).(nl)lN — conjÇe2m{k\(n-ï)lN'j aV€Ck= 1,2, . ..y-1
[0250] Utilt(Nk + 1) =conj(Utilt(k+ 1) ) with k= 1,2, ... 4 -1
[0251] [Math.30]
[0252] The application of the rotational speed tilt threshold limit condition is described by inequality Math 31.
[0253] [Math.31] SV® « = X 2,N J 4— 7 [reaif£Z,n>(k + 1)1 re«I(j - -F 1)). LL;ï< (4+ 4-——^----------< 37$
[0254] For the set of with n=l,2,.. .N, we can express this constraint according to the expression Math 32:
[0255] [Math.32] ^tilt vek& — vel max
[0256] WHERE - ^tnt vel is a matrix acting on the U command to translate the Math 31 formula, - eight vel max is a vector that represents the limit of the rotation speed.
[0257] As regards the tilt angle constraint, we start from the fact that the tilt angle is an integration of the tilt velocity. Therefore, in the Laplace domain, it can be calculated from the tilt velocity according to the Math 33 equations.
[0258] [Math.33] [02591
[0260] where - ®tut is the tilt angle, - &HU is the derivative of the tilt angle which is equal to cotiit.
[0261] By applying an initial condition on the tilt angle equal to zero, we obtain the equalities cited in Math 34.
[0262] [Math.34] 3 1 1)) - 1)) — — y 4- zi i -ii.;. JV i »1 3. 'W ITT f * J / & ......v •■' :< ' V j?** z 2 r®a*(«2'Ki,(fe:'^^ î)) - uU(& + 1) / ï«) M'e " * ÂF
[0263] where ' ^tilt(n ) is the angle of the tilt, 0ffttilt is the spectrum of the angle of the tilt calculated by FFT.
[0264] Thus the condition of the angle limit of the tilt has as expression the inequality Math 35.
[0265]
[0266]
[0267]
[0268] Afilt angle-U bfUt ang nmx OR " btnt ang max is a vector containing the limit of the tilt angle, ■ Atnt angle is a matrix acting on the U command to translate the Math 34 formula. Another constraint to be incorporated into the model concerns the position of the rail. This constraint is expressed in Math 35 formulas. [Math.35] ~ 1)) — £ jh a # ( e2 wz ,v / ii» ). imag ( J ( & + -0 / ■ ■■ JW IV
[0269]
[0270]
[0271]
[0272]
[0273]
[0274]
[0275] Or - n (n} is the discretized rail position, - Abruti a matrix acting on the U command to translate the formula Math 35, ■ b not rail max cst a vector of the maximum position of the rail authorized. Similarly, one can also specify the rail speed limitation in the cost function optimization. The rail speed violation is very unlikely. Generally, it is not necessary to add this constraint in order to reduce the computation time. Thus, the global constraints can be specified by the equation Math 36: [Math.36] A £ b Or In order to yel Atilt (Arail b tut vd b tilt I brail ang pos. Or - A is a matrix used to translate the set of boundary conditions of the system, b is a vector of the limit of the simulator or of the movement in tilt.
[0276] Using a QP solver, the optimal solution of the y command in the frequency domain can be found. The inverse of the Fourier transform then makes it possible to find the optimal commands in the time domain.
[0277] The invention further relates to a method of using a simulation system described by Figures 6 to 8.
[0278] The method of use comprises: - a first step A1 comprising a method for generating commands according to the invention, transforming a scenario SI for moving the cabin 21 into a series of actuator commands capable of moving the cabin 21, and - a second step A2 comprising a method for simulating a movement of an autonomous vehicle, a user being passive in the cabin of the simulation system, the method moving the cabin 21 according to the series of actuator commands.
[0279] The first step A1 takes place according to steps E0 to E2 of the command generation method.
[0280] The second step A2 comprises a step 301 of reading, in a memory 2, data relating to the scenario SL
[0281] The data relating to the SI scenario include in particular: - information on terrain characteristics, e.g. road geometry, ground grip and roughness, road surface materials, and also road signs - information relating to the environment of a vehicle moving according to the SI scenario, for example trees, buildings, safety bars, weather conditions, etc. - a traffic model describing traffic-related events: presence of pedestrians, bicycles, sudden stopping of the vehicle, etc. - a description of the vehicle movement simulated by cabin 21: driving speed, piloting maneuvers, sequence of events, etc.
[0282] In a step 302, commands of the simulated vehicle are generated. Step 302 implements AD / AD AS autonomous control functions of the simulated vehicle. The generation of the vehicle commands takes into account the information collected in step 301.
[0283] In a step 303, the dynamic behavior of the vehicle receiving the commands from step 302 is simulated.
[0284] Step 303 implements a digital model of the vehicle, and at the end of step 303, the movements of the simulated vehicle are obtained.
[0285] From the movements of the simulated vehicle resulting from step 303, in step 304 a visual and acoustic perception of the simulator is created. Step 304 comprises a projection of the driving scenes onto the dome screen in 360°. Step 304 comprises also the implementation of acoustic effects generated by loudspeakers installed in the simulator cabin, and possibly by low-frequency boxes and vibrating pots to reinforce the vibration sensation of the vehicle.
[0286] In parallel with steps 301 to 304; steps 305 and 306 are executed.
[0287] In a step 305, the commands of the actuators are read from the memory 2. placement of platform 20 and they are transmitted in real time to the simulation platform.
[0288] In a step 306, the platform moves according to the actuator commands from step 305.
[0289] The synchronized sequence of steps 304 to 306 thus constructs a multi-sensory perception of the simulated driving scene.
[0290] [Fig.7] represents a flowchart of a method for processing the first subset of scenario data DS 1 comprising the yaw movement data relating to the scenario SL
[0291] [Fig.8] represents a flowchart of a method for processing the second subset DS2 comprising the movement data according to the other degrees of freedom of the cabin 21.
[0292] In each of these flowcharts we find the steps 301 to 306 previously described, as well as a step 307 of synthesis of sensory perceptions from steps 304 and 306 by the user.
[0293] In [Fig.7], in step 308, a reference 401-DSI of the acceleration and yaw rate signals to be reproduced is determined from the data of step 303. Step 309 represents the operation of the semicircular channels making it possible to convert the difference between a movement to be simulated 401-DS1 defined in step 303 and a simulated movement 402-DS1 into a quantity DD-DS1 actually perceived by humans. This difference in perceived movement must be minimized by the OPT method.
[0294] In [Fig.8], in step 308, a reference 401-DS2 of the acceleration and speed signals to be reproduced on the degrees of freedom other than yaw is determined from the data of step 303. Step 309 represents the operation of the otolith system making it possible to convert the difference between a movement to be simulated 401-DS2 defined in step 303 and a simulated movement 402-DS2 into a quantity DD-DS2 actually perceived by man. This difference in perceived movement must be minimized by the OPT method.
[0295] Finally, the method for generating commands according to the invention makes it possible to minimize a difference between a simulated movement defined in a scenario and a movement felt by a user of a simulation platform running the scenario.
[0296] To do this, it implements methods for optimizing a cost function defined in the frequency domain, and not in the time domain, which makes it dif- feat of existing order generation processes.
[0297] The effect of this difference is to significantly reduce the calculation time of the optimization, which makes it possible to apply the optimization of the cost function over the total duration of a simulation. Thus, in the method according to the invention, it is no longer necessary to segment the total simulation duration into time intervals and to optimize the cost function on each segment taken individually, as is the case for optimization in the time domain.
[0298] The method according to the invention thus improves the quality of the optimization of the cost function by taking into account the entire simulation.
[0299] Thanks to the improvement in the optimization of the cost function, the method for generating commands according to the invention makes it possible to generate commands of a simulation platform which restore to a user of the platform sensations of movements consistent with the movement scenario of the simulated vehicle, in particular consistent with the visual perceptions projected in the simulation cabin.
Claims
Claims
1. Method for generating commands for a simulation system (100) of a motor vehicle, the simulation system (100) comprising a cabin (21) equipped with a screen intended to display images simulating a visual perception of a user of the cabin (21), and actuators (EA) capable of moving the cabin (21) according to a set of degrees of freedom (EDL), the method comprising a step of transforming a scenario (SI) of movement of the cabin (21) into a series of commands of the actuators (Ea), characterized in that the transformation step comprises an optimization (OPT), according to at least one given degree of freedom among said set of degrees of freedom (EDL), of a cost function (J) defined in the frequency domain, and defined as a function of a calculated difference (DD), for each at least one given degree of freedom, between on the one hand a first displacement defined by the projection of images on the screen according to the at least one given degree of freedom,and on the other hand a second movement determined as a function of a feeling by the inner ear of a user located in the cabin (21) according to at least one given degree of freedom.,
2. Method for generating commands according to the preceding claim, the cabin (21) having a center of rotation and a first axis perpendicular to a floor of the cabin and passing through the center of rotation, characterized in that the at least one degree of freedom comprises a rotation of the cabin around the first axis.
3. Method for generating commands according to one of the preceding claims, characterized in that the calculated deviation (DD) is calculated over a total duration of the scenario (SI) of movement of the cabin.
4. Method for generating commands according to one of the preceding claims, the simulation system (100) having displacement limits of the cabin (21), characterized in that it comprises - a so-called quasi-optimal optimization (OPT 100) of the cost function (J) comprising an optimization step (E107) which does not take into account the displacement limits of the cabin (21), the optimization step (E107) being followed by an adjustment step (E108), as a function of the displacement limits of the cabin (21), of the series of actuator commands obtained at the end of the optimization step (E107), and / or - an optimization (OPT200) called optimal of the cost function (J) comprising an optimization step (E207) taking into account the travel limits of the cabin (21).
5. Method for generating commands according to the preceding claim, characterized in that the optimization step (E207) of the optimal optimization (OPT200) comprises a resolution in quadratic programming of the cost function (J) defined in the frequency domain.
6. A method of generating commands according to claim 4 or 5, characterized in that the displacement limits of the cabin (21) comprise: - a maximum amplitude of translational displacement of the cabin (21), and / or - a maximum angle of a tilting movement of the cabin (21), and / or - a maximum speed of the tilting movement of the cabin (21), and / or - a maximum acceleration of the tilting movement of the cabin (21), a tilting angle of the cabin being determined to reproduce an effect of a linear acceleration of the cabin (21).
7. Method for generating commands according to one of the preceding claims, characterized in that the second displacement is calculated by applying a filter modeling a perception of said second displacement by an otolithic system, and / or by semicircular canals of an auditory system of the user of the cabin (21).
8. Method for using a simulation system, characterized in that it comprises: - a method for generating commands according to one of the preceding claims, transforming a scenario (SI) of movement of the cabin (21) into a series of actuator commands capable of moving the cabin (21), and - a method for simulating a movement of an autonomous vehicle, a user being passive in the cabin of the simulation system, the method moving the cabin (21) according to the series of actuator commands.
9. Device (10) for generating commands for a simulation system (100) of a motor vehicle, the simulator being equipped with a simulation platform (20) comprising a cabin (21), a yaw table (22), a hexapod (23), rails (24, 25), a set of actuators (EA), the device comprising hardware and / or software elements (11, 12, 13, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212) implementing the method according to one of claims 1 to 7, in particular hardware elements (11, 12, 13) and / or software designed to implement the method according to one of claims 1 to 7.
