Le robot utilisé dans le ChallengeTuxae2024 est une base différentielle équipée de deux roues motrices indépendantes. Pour avancer tout droit, les deux roues tournent dans le même sens à la même vitesse, tandis que pour tourner sur lui-même, les roues peuvent tourner à des vitesses différentes ou dans des sens opposés.

Les données à votre disposition ont été simulés avec [Pybullet](https://pybullet.org), un moteur de physique open-source. Le code source complet est accessible sur GitHub à l'adresse suivante : https://github.com/Tuxae/ChallengeTuxae2024.

Toutes les valeurs sont exprimées en mètres pour les dimensions et en radians dans le sens trigonométrique pour les angles.
![image](https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F5343199%2Fda7a2f6cc60c4dd964fb4217ef5716d4%2FRobotDifferentiel.png?generation=1708646154144945&alt=media)
![image](https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F5343199%2F93ffe9d44fb3fc04e7795897cec31650%2Frobot_refait.png?generation=1708647354842229&alt=media)
## La simulation
Les mesures de données ont été réalisées toutes les secondes à partir du temps initial, avec une position et un angle initiaux de (0.225, 0.225, 0). A vous d'estimer, à chaque seconde, le plus précisément possible les trois valeurs : $$ (x, y, \alpha) $$

Les données mesurées sont les suivantes : 
 - *vx* et *vy* sont les vitesses en m/s sur les axes respectifs *x* et *y*.
- *vrz* est la vitesse de rotation en rad/s autour de l'axe *z*.
- *rot_g* et *rot_d* sont les angles de rotation en rad des moteurs depuis le début de la simulation respectivement gauche et droit.
- *image* est le nom du fichier image.
Les données sont fournies au format CSV, où l'indice de la ligne correspond au temps en secondes auquel la mesure a été réalisée. Le format de prédiction attendu est également un CSV avec le même nombre de ligne et les valeurs *x*, *y*, *alpha*.  

Voici un exemple d'entrée fournie et de prédiction attendue :
![image](https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F5343199%2F6e0e0870e8178edaf3dbccdb8897df10%2FExemple_tableau.png?generation=1708647246663026&alt=media)
![image](https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F5343199%2Fa58c3535f168f67c88c4cc50defb356e%2FExemple_tableau_res.png?generation=1708647644474638&alt=media)
# Le Calcul du score
Vous savez que :  
$$ 0 < x < 3 $$
$$ 0 < y < 2 $$
$$ 0 < \alpha < 2\pi \ \ mod \ \ [2\pi] $$

Le  taux d'erreur se calcule donc :  
$$erreur =  (\frac{|x-\hat{x}|}{3} + \frac{|y-\hat{y}|}{2} + \frac{|\alpha - \hat{\alpha}| mod [\pi]}{\pi})/3$$

Votre score affiché en pourcentage sur le leaderboard est donc : 
$$ 100\times (1-erreur) $$