En què consisteix el nostre projecte?

L’entrenament virtual és una tècnica que s’està aplicant cada cop més i més avui dia, de forma més o menys avançada segons l’àmbit en el que ens trobem.

En el cas de l’entrenament motociclista no podia ser diferent, i precisament en això consisteix el nostre projecte, que tracta d’integrar un suport visual a un simulador de MotoGP amb una pantalla on es reprodueixen vídeos de pilots corrent voltes en circuits de MotoGP.

Amb una pantalla integrada a una moto en escala real i amb l’ajuda d’un PLC (Controlador Lògic Programable) i una Raspberry, podem llegir la inclinació de la moto i indicar per pantalla amb la Raspberry les dades necessàries per al pilot, sobreposant-les al vídeo utilitzant el sistema de capes que disposa Raspbian, el sistema operatiu de Raspberry.

També assistim a l’usuari amb el que anomenem una “volta perfecta”, que és el conjunt de les dades de la inclinació de la moto en tot el circuit proporcionades per un pilot de MotoGP que l’usuari té de referència en tot moment per tal d’obtenir una bona puntuació.

Les dades de la “volta perfecta” es mostren en pantalla a temps real en una “moto fantasma”, una icona d’una silueta d’una moto situada a sota de la icona de la moto del pilot. El resultat d’un càlcul entre la inclinació d’aquesta moto fantasma i la del pilot serà la puntuació final.

D’on ha sorgit aquest projecte?

Aquest projecte sorgeix de la necessitat de mostrar aquestes dades que proporciona la moto per pantalla per tal de donar retroacció visual a l’usuari, així ajudant al pilot a millorar eficientment i poder veure la puntuació final per determinar quin rendiment ha mostrat durant tot el circuit.

Des del primer semestre que aquest projecte s’està desenvolupant amb la Raspberry per tal de poder mostrar per pantalla les dades necessàries per al pilot i que la mida de la finestra del programa sigui adaptable.

Amb l’ajuda d’una aplicació feta amb Unity que estan desenvolupant els nostres companys de projecte, podrem seleccionar el pilot, circuit, introduir el pes de l’usuari i la inclinació màxima en angles des d’una tablet.

D’aquesta forma una altra persona pot introduir les dades i començar la simulació i no ho ha de fer el pilot. Això farà que sigui més còmode analitzar les dades i interaccionar amb la moto i també ajudarà en el cas que s’utilitzi per exposicions amb ús prolongat.

Com es desenvolupa?

Per poder fer aquest projecte hem utilitzat una Raspberry Pi 3 amb Raspbian Stretch. Aquesta ha estat configurada per tal d’aprofitar certes característiques de la GPU i del sistema i per poder fer una xarxa Wi-Fi on es connecta la tablet per tal de facilitar l’intercanvi de dades via sockets.

Tota la informació que es mostra per pantalla és gràcies a Python 2.7, un llenguatge de programació interpretat de ràpida velocitat, i a Kivy 1.9.1, una llibreria de Python que permet fer aplicacions.

El nostre programa de Python consta de diverses classes que fan que l’HUD i el simulador funcioni, rebi les dades del PLC per després poder interpretar-les, crea el servidor que es connecta amb la tablet i envia dades a aquesta també.
Per una altra banda, el programa també engega l’OMXPlayer, un reproductor de vídeo que consumeix pocs recursos i permet col·locar el vídeo en diferents Dispmanx layers (capes de visualització), de forma que el podem posar per darrere de l’HUD fet amb Kivy.

Leave a Reply

Your email address will not be published. Required fields are marked *

Post comment