# Validation of the odometric model for the purpose of the numerical analysis

Edern Ollivier

► To cite this version:

Edern Ollivier. Validation of the odometric model for the purpose of the numerical analysis: A pool of trajectories for the engineers of the automation of the fair and automated vehicle. 2020. hal-02977289v4

HAL Id: hal-02977289

https://hal.science/hal-02977289v4

Preprint submitted on 28 May 2021

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Validation of the odometric model for the purpose of the numerical analysis

Edern Ollivier, Member, IEEE

edern.ollivier.fr@ieee.org

17 RUE DE L'AMIRAL HAMELIN at Paris 16 (75116)

*Abstract*—The odometric model is validated herein. We have been starting to simulate, integrate, explain and then to validate the odometric model. The model of validation is to be programmed in the Python language, with the help of a bridge for RTMaps 4.6.2. The matrix of command is to be added with the matrix of state to be also given to the interpreter, or maybe to the compiler, because it is used to be a difficulty for RTMaps 4.6.2 itself to multiply the matrices one by one, please see at https://intempora.com/licenses/python_3.8.0.txt.

*Index Terms*—Odometry; Vehicle location and navigation systems; Mobile positioning systems; Trajectory; Discretization of a model; Control of a vehicle; Stability analysis.

## I. INTRODUCTION

As one introduction, I could say that the odometric model is well known now and that everything is shaped for the validation to be executed under RTMaps 4.6.2.

This platform of validation has been developed by the CAOR with Mister Bruno Steux, Mister Olivier Meunier and Mister Nicolas du Lac, and then is intensively and fluently used by Renault SA for developing the laws of control of the components of their vehicle, and then used as a standard to validate the behaviour of such an autonomous vehicle.

## II. VALIDATION

I want here to do the validation because the set of equations is now available as the document "Simulation, integration and explanation of the odometric model for the purpose of the numerical analysis", [1], and ready to be programmed. There is a version of

RTMaps named 4.6.2 which is fully offered free of duty to me with the bridge for Python under the commercial licence ... So that my informational support is based on the Intempora SA team of support of engineers at Issy-les-moulineaux, headed by Mister Nicolas du Lac, the CEO of Intempora SA. I should underline that RTMaps is a major key product coming from the School of the Mines of Paris previously headed by Mister Claude Lurgeau, retired from the laboratory of the CAOR, and actually headed by a famous professor and also sometimes researcher in the field of the probabilities.

<figure><img src="image_2.png" /><figcaption>Figure 1: Diagram of validation under RTMaps 4.6.2</figcaption></figure>

My mathematical background is coming from the course of mathematics of PSI*, the class to improve the knowledge in the industrial field of mechanics, automatics, mathematics, and also based on the book of Mister Jean François Ruaud, as a professor of mathematics at Lakanal in PSI* and then at Saint Louis in MP, who published "Mathématiques 2ème année" to compile all the course of MP, PC and PSI,
[2], with the work of colleagues at School of
preparation of the high Schools of engineering
such as the ENS Ulm/Cachan, Polytechnique,
Centrale, the Mines and the ENSI.

### III. EXAMPLE OF THE MULTIPLICATION OF TWO
MATRIXES

Here is an example of the multiplication of two
matrixes given free of charge to me from the
support of Intempora SA.

```python
#This is a template code. Please save it in a
proper .py file.
import rtmaps.types
import numpy as np
import rtmaps.core as rt
import rtmaps.reading_policy
from rtmaps.base_component import
BaseComponent # base class
```

```python
# Python class that will be called from
RTMaps.
class rtmaps_python(BaseComponent):
    def __init__(self):
        BaseComponent.__init__(self) # call base class
        constructor
```

```python
def Dynamic(self):
    self.add_input("in1", rtmaps.types.MATRIX) #
    define input
    self.add_input("in2", rtmaps.types.MATRIX) #
    define input
    self.add_output("out", rtmaps.types.MATRIX)
# define output
```

```python
# Birth() will be called once at diagram
execution startup
def Birth(self):
    pass
```

```python
# Core() is called every time you have a new
input
def Core(self):
    ioeltin1 = self inputs["in1").ioelt
    ioeltin2 = self inputs["in2").ioelt
```

```python
matrix1 = ioeltin1.data
matrix2 = ioeltin2.data
ioelt_out = rtmaps.types.Ioelt()
ioelt_out.data = rtmaps.types Matrix()
ioelt_out.ts = ioeltin1.ts
```

```python
ioelt_out.data.matrix_data =
matrix1.matrix_data.dot(matrix2.matrix_data)
self outputs["out").write(ioelt_out) # and write
it to the output
```

```python
# Death() will be called once at diagram
execution shutdown
def Death(self):
    pass
```

<figure><img src="image_3.png" /><figcaption>Figure 2: Multiplication of two matrices</figcaption></figure>

So that I can get the values in a table format.

<figure><img src="image_4.png" /><figcaption>Figure 3: Table of values for the multiplication of two matrices</figcaption></figure>

I have to thank the support of Intempora SA
for his kindness.
## IV. INTEGRATION OF THE CONTROL OF THE LINEARIZED ODOMETRIC MODEL

I integrate the equations of the linearized odometric model in a script of Python, also interpreted by the motor of calculus of RTMaps 4.6.2, this is easy and absolutely free of charge.

... Well I have done the scheme of validation under RTMaps 4.6.2, the issue is well known now, just that I cannot create the matrix with the given values of it, also in the diagram of validation, such as the matrix of state for the odometric model to be fully integrated, I should complain a lot about it, asking to the team of support of Intempora SA.

<figure><img src="image_5.png" /><figcaption>Figure 4: Diagram of validation without the matrix of state</figcaption></figure>

Sure, it has to be developed, as far as I can understand and pick up the data_matrixer's component in RTMaps 4.6.2, I don't see it in the menu and I have to improve the panel of component.

Well I should do it in the Python's component, it will be a bit interesting to show the feed back of it. I think that it can be done also in the Python's component with the bridge.

## V. STABILITY

The stability has been proven by the example as follow, it has been given by the solver of the MapleSim solver which is the next to the Maple suite of developments, which is one of the best known of his class of resolution, and finally it has been done with the odometric model detailed in the figures below.

<figure><img src="image_6.png" /><figcaption>Figure 5: Model of the odometry with the Tan, Sin and Cos subsystems</figcaption></figure>

<figure><img src="image_7.png" /><figcaption>Figure 6: X, Y and Phi</figcaption></figure>

The stability is ensured by the integrator in the given model of the odometry, this is a proven theorem from the course of automatics of the PSI* from the preparation of the high schools of engineering, and more it is to say that the margins of gains and phase are given by the figures below.

<figure><img src="image_8.png" /><figcaption>Figure 7: From the linearized Tan subsystem</figcaption></figure>

Please see the gain here.
<figure><img src="image_9.png" /><figcaption>Figure 8: From the linearized Sin subsystem</figcaption></figure>

Please see the phase here.

<figure><img src="image_10.png" /><figcaption>Figure 9: From the linearized Cos subsystem</figcaption></figure>

All these figures are given for proving the stability of the odometric model, I can explain that the transfert function should not go under zero at the point of minus one hundred and eighty degree of phase in the Bode diagram of stability. The Cos subsystem is majored by one multiplied by the speed of the vehicle here.

## VI. EXAMPLE OF THE SIMULATION OF THE ODOMETRIC MODEL

Here I have implemented a new resolution of the system of the differential equations with the respect to the parameter delta and v, that is to prove again the stability of such a system of differential equations, with a parameter given as t, the time of the simulation. The curve of the solution is really continued and turn because of the value given with the steering angle as delta. The speed of the vehicle is given as v. I have chosen the t/100 *sin(t/100)

function of validation as delta for getting an example of such a resolution of an ordinary differential system of equations. I am not fond of the numerical resolution given with Maple 2021 but at least this is really an interesting method for the resolution of it. Normally such a resolution is given with the exponential function in the analytic area. I can explain a lot about the form of the solution of a differential equation of the first order without a member of the right. The sum of this can become the real solution.

<figure><img src="image_11.png" /><figcaption>Figure 10: From the numerical resolution</figcaption></figure>

I can also approve all the benefits of the numerical solver of Maple 202, which has been going very fast and well for the simulation of the odometric model.

First of all, I have been writing the differential equations of the odometric model as a system of two differential equations.

Secondly, the command dsolve has been using for solving such a system of equations.

Finally, these plots have been done and displaying to see the result of the solution for such an odometric model. The time of the simulation has been given to the solver in the application of Maple 2021.
## VII. CONCLUSION

As one conclusion, I could say that the odometric model is well known now and that everything is done for the commands of a model of automation to be validated with the odometric model.

## ACKNOWLEDGMENT

The computer where the simulation has been provided has got the RTMaps 4.6.2 suite and MapleSim 2020 for the simulations to be executed.

I would like to thank the team of support of Intempora SA, leaded by the CEO of Intempora SA.

I would also thank Mister Nicolas Cottereau for the support given with the Maplesoft products which are Maple and MapleSim.

## REFERENCES

[1] **Edern Ollivier.** Simulation, integration and explanation of the odometric model for the purpose of the numerical analysis: A pool of trajectories for the engineers of the automation of the fair and automated vehicle. 2019. (hal-02162501v8) ;

[2] **Claude Deschamps, André Warufsel, JFR, FM, JCS, AM, Mathématiques 2ème année. Cours et exercices corrigés. 2ème année MP, PC, PSI. Dunod.**

<figure><img src="image_12.png" /></figure>

**Edern Ollivier** was born in Paris XI, Paris, France in 1977. He received M.S. degrees in automation from the ENSMM, Besançon, in 2001 and the M.S. degrees in computer engineering from the FH of Karlsruhe, Karlsruhe, Germany, in 2001.

From 2001 to 2004, he was an Expert Engineer with the Inria of Rocquencourt. His research interests include the development of the Cybercars, SLAM, EKF and Front End Electronics.