![](https://7424624.fs1.hubspotusercontent-na1.net/hub/7424624/hubfs/Oracle%20Simulator.png?width=350&height=200&name=Oracle%20Simulator.png)
In Juli 2023 heeft Oracle zijn 'Race Data Experience Centre' in Utrecht geopend. Het centrum biedt een interactieve ervaring met racesimulatoren en workshops, waardoor klanten, partners, scholen en ondernemers kunnen ontdekken hoe Oracle Cloud Infrastructure (OCI) bijdraagt aan verbeterde prestaties en efficiëntie door het optimaliseren van datagebruik en het versterken van besluitvormingsprocessen.
Momenteel heeft het Experience Centre de beschikking over zes schermen waar er slechts drie van worden gebruikt. Binnen Oracle was er de wens om op de overige 3 schermen interactieve informatie te tonen met Advanced Analytics of Data Science om de simrijders die een rondje op het circuit van Zandvoort rijden meer inzicht en advies te kunnen bieden over hun rijstijl en auto-setup. Full Orbit heeft hiervoor een data applicatie ontwikkeld met 2 dashboards en een aanvullend beheerdashboard voor de data applicatie.
Voordat dashboards kunnen worden gemaakt, moet de data worden verkregen en opgeslagen. De data komt rechtstreeks van de racesimulator en omvat ronde data, bewegingsdata en telemetriedata. De benodigde data voor de dashboards kan worden onderverdeeld in verschillende categorieën. Ten eerste zijn er twee datasets op het niveau van frames die 20 keer per seconde worden gegenereerd door de simulator:
Op rondeniveau is er nog een derde dataset, met onder andere ronde- en sectortijden, delta's en de potentieel snelst mogelijke rondetijd.
In OCI zijn twee triggers ontwikkeld. De eerste trigger controleert of er een nieuwe ronde is gereden binnen de gebruikerssessie. Indien dit het geval is, wordt de nieuwe data verzonden en opgeslagen in de eerdergenoemde datasets in een database in OCI. Vervolgens wordt een procedure gestart om de dataprocessing te initiëren. De data van de gereden ronde wordt gebruikt als input voor een OCI-functie. Deze functie leest eerst de secrets om toegang te krijgen tot de data in de database. Nadat de data is ingelezen en verwerkt, wordt gecontroleerd of de gereden ronde de snelste is binnen de sessie en of het de snelste ronde ooit is. Indien dit het geval is, wordt de snelste telemetriedata aangepast. Daarnaast wordt visueel advies gegenereerd. De afbeeldingen worden opgeslagen in buckets in object storage binnen OCI. Bij eventuele fouten tijdens deze processen wordt een foutmelding verzonden naar de ontwikkelaars via een Slack-integratie, zodat er direct actie kan worden ondernomen.
De tweede trigger controleert of er een nieuwe sessie is gestart. In dat geval moeten ook de historietabellen worden bijgewerkt met alle data van de laatst gereden sessie.
Applicatieflow aan het einde van een sessie:
De nieuwe ronde trigger en OCI-functie vormen de basis voor het eerste dashboard, bedoeld om de prestaties tijdens de sessie bijna in realtime te volgen. Het lap performance dashboard is onderverdeeld in drie secties. Bovenaan staan alle KPI's van de meest recente of geselecteerde ronde: het rondenummer, sectortijden, delta's ten opzichte van de snelste ronde uit de sessie, en de snelste, traagste en potentieel snelste ronde.
Verder zijn er lijngrafieken die de snelste ronde uit de sessie vergelijken met de geselecteerde ronde op gebieden zoals snelheid, gas, rem, stuur en versnelling. Hieronder wordt de lijngrafiek voor de rondetijd getoond, waar de gebruiker ook kan inzoomen op specifieke sectoren of bochten van het circuit.
Het derde gedeelte betreft het advies. Voor de gereden ronde worden twee afbeeldingen gegenereerd voor gas en rem. Deze telemetriedata wordt vergeleken met de snelste ronde ooit over het gehele circuit. De 1600 datapunten van de gereden rondes zijn hiervoor de bron, maar zijn niet voldoende om de vergelijking te maken. Daarom moet voor elk punt op het circuit eerst data beschikbaar worden gemaakt met behulp van interpolatie. Zodra voor ieder punt op het circuit de telemetriedata bekend is, kan er een kleur worden gekoppeld aan de actie die ondernomen moet worden om te verbeteren. Bijvoorbeeld, rood geeft in de onderstaande afbeelding aan waar meer gas moet worden gegeven en blauw geeft aan waar juist minder gas moet worden gegeven. Op het plaatje is in licht grijs de gereden lijn te zien van de snelste rijder.
Het tweede dashboard is bedoeld voor analyse nadat de sessie is beëindigd. Zodra de einde-sessie-trigger is afgegaan, kan de sessie worden geanalyseerd. Net als het lapperformance dashboard bevat dit dashboard een sectie voor de KPI's: de snelste, traagste en potentieel snelste ronde. Ook zijn er weer lijndiagrammen en adviesafbeeldingen. Het verschil is dat meerdere rondes met elkaar worden vergeleken in dezelfde grafiek. In de extra filtersectie boven aan het dashboard kunnen namelijk meerdere rondes worden geselecteerd voor vergelijking. Bovendien zijn er filters voor de sector, het bochtnummer en of het een geldige ronde is.
Het laatste dashboard is niet bedoeld voor de simracer, maar voor de beheerder/ontwikkelaar. Het beheer dashboard maakt het gemakkelijk om fouten op te sporen. Er zijn meerdere filters beschikbaar, zoals sessienummer, sessieperiode, applicatie en logstatus. Op basis van deze filters wordt een staafdiagram gegenereerd dat laat zien hoe vaak een bepaalde logstatus voorkomt in de loop van de tijd. Alle details met betrekking tot de logging worden ook bijgehouden in een tabel, waardoor het mogelijk is om gedetailleerd te achterhalen wat de fouten inhouden.
Om succesvol en effectief over te gaan naar een digitale en innovatieve organisatie is er meer nodig dan alleen het ontwikkelen en gebruik van data-applicaties. Bij Full Orbit helpen we organisaties om de digitale transformatie te starten met de juiste kennis, strategie en oplossingen. Dit doen we door middel van een stapsgewijze aanpak die past bij het tempo van de specifieke organisatie.
Wil je meer weten over het ontwikkelen van Data-Applicaties? Download dan de whitepaper "Data-applicaties: Succesvol realiseren, beheersen en groeien"
Wij delen graag onze kennis en ervaringen.