Simuleren kun je leren

Bij Batenburg JB Systems ontwikkelen we 3D simulaties ter ondersteuning van alle fases van de projecten die we samen met onze klanten doen. Een bewegende 3D simulatie laat duidelijk de werking van een machine zien aan alle stakeholders.

1. Concept

In de concept fase van een project maken onze 3D’s een heldere communicatie mogelijk en verschaffen ons en onze klanten inzichten die zonder 3D visualisatie veel lastiger te verkrijgen zijn. Meer dan eens hebben klanten een ontwerp omgegooid op basis van de verkregen inzichten.

2. Implementatie

Het ondersteunt in de implementatie fase, waarin onze engineers precies kunnen zien hoe hun software interacteert met het te besturen systeem en hierdoor beter in staat worden gesteld kwalitatieve software te leveren.

3. Acceptatie tests / HIL tests

Tijdens acceptatie tests stelt een 3D simulatie ons in staat om snel aan de klant en/of certificeringsinstantie duidelijk te maken dat wij voldaan hebben aan de gestelde specificaties.

4. Training

Gedurende de levensduur van een machine kunnen (nieuwe) operators ‘vlieguren’ maken op een manier waarbij de machine beschikbaar blijft en waarbij uitzonderingssituaties en safety scenario’s getraind kunnen worden.

Machine learning: De simulatie laten leren

Voor het maken van deze 3D’s simulaties maken wij gebruik van de game engine Unity. Recentelijk heeft Unity Technologies een Machine Learning toolkit uitgebracht die het mogelijk maakt om de game omgeving van Unity te koppelen met het machine learning platform van Google, Tensorflow. Dit opent een deur naar nieuwe mogelijkheden voor 3D simulaties. Indien de getrouwheid van de simulatie hoog genoeg is, is het mogelijk om middels Reinforcement Learning optimalisaties te doen. Hierbij kan gedacht worden aan een regelaar van complexe niet-lineair systemen of aan het optimaliseren van paden of routes.

Om dit concept in werking te zien hebben wij een student gevraagd om dit principe aan te tonen op de inverted pendulum, een niet-lineair systeem.

Inverted pendulum (omgekeerde slinger)

Bij de inverted pendulum kan een massa over een rail bewegen en aan deze massa is een slinger bevestigd die geheel rond kan draaien. Het doel is om de slinger in staande positie te houden door de massa over de rail te laten bewegen.

Voor het maken van een regelaar voor de inverted pendulum is gebruik gemaakt van Reinforcement Learning. Deze techniek werkt op basis van rewards. De slinger begint in hangende positie en hoe dichter de slinger bij de staande positie komt, hoe hoger de reward die het lerende algoritme krijgt. Door heel vaak te trainen in de gesimuleerde omgeving wordt er een model aangeleerd dat uiteindelijk in staat is om de slinger zo op te slingeren dat deze in staande positie komt en daar ook blijft.

 

TensorFlow, the TensorFlow logo and any related marks are trademarks of Google Inc.