News

Soundbyte 6: If I needed you

21 augustus 2011

Sorry, this entry is only available in Nederlands.
Vandaag was weer eens zo’n heerlijke zomerse dag. We hebben de middag doorgebracht in het Sonsbeekpark, waar de, voor dit seizoen alweer laatste editie van Park Open plaats vond. Voor degenen die het niet kennen, gratis concerten op de zondagmiddag in de Ronde Weide. Klapstoeltjes mee omdat ’t ’s ochtends nog wat geregend had en het gras daardoor nog wat drassig was en genieten maar! De eerste band, Shannon Lyon Townes Trio vond ik vandaag de leukste, vandaar dat zij dit keer de soundbyte van zijn broodnodige sound mogen voorzien. Lang leve het internet, want dezelfde avond staat er al een opname van een van hun nummers on-line: “If I needed you”.

Vakantie

Tijdens mijn twee weken vakantie heb ik de ontwikkelingen binnen Luminis even niet op de voet gevolgd. Maandag laat ik me dan ook weer verrassen door alles wat er gebeurd is!

Een deel van mijn vakantie heb ik besteed aan één van mijn hobby’s: simracen. Een dag of tien geleden ben ik op bezoek geweest bij Niels, die zich al een aantal jaren bezig houdt met het maken van zo realistisch mogelijke physics voor gesimuleerde auto’s. Daar gaat hij heel ver in.

Racing Physics

Zo ontwierp en bouwde hij een tijd geleden al zijn eigen pedalen, inclusief een voor die tijd uniek idee om voor de rem geen potmeter te gebruiken, maar een load cell. Immers, een rem in een auto werkt voornamelijk op druk (hoe harder je trapt hoe sterker hij remt) en niet op de stand van het pedaal. Ook een shifter werd zelf ontwikkeld, en hij deed uitgebreid onderzoek naar verschillende monitoren om te bepalen welke minste vertraging had. Je moet weten dat in tegenstelling tot de oude CRT monitoren, alle “flat screens” een ingebouwde vertraging hebben tussen het moment waarop ze het beeld ontvangen en het moment waarop het getoond wordt. Dat is voor simulaties, waar elke vertraging de feedback loop tussen ogen en handen beïnvloed, funest. Sommige schermen hebben een speciale “game mode” waarin de vertraging minder is, maar die werkt ook niet altijd even goed. De beste manier om het te meten is om met een high speed camera, laptop en stuur de winkel in te gaan en alle schermen te filmen en dan later beeldje voor beeldje terug te kijken hoeveel frames er zaten tussen het moment waarop je het stuur naar links bewoog en het moment waarop dat op het scherm zichtbaar is. Een van de nieuwste toevoegingen is een stuur met force feedback. Hierbij heeft hij een servomotor uit een robot gebruikt en daar direct een stuur op gemonteerd. Dat geeft de meest directe en sterke feedback. Consumenten sturen maken allemaal gebruik van kleinere motoren met een overbrenging. Overbrengingen hebben echter altijd speling en daardoor vertraging, wat diezelfde feedback loop weer niet ten goede komt.

Tyrell P34

Om aan te geven wat Niels bereikt heeft met zijn hobby, hij heeft tegenwoordig een Formule 3 en een GP2 team als klant en maakt voor hun een simulator. Ik heb telemetrie data bekeken en zijn physics zijn zo goed, dat er doorgaans minder dan 1% afwijking is in die data. Daarbij kunnen die teams ook zelf nieuwe onderdelen toevoegen aan de simulatie, zoals nieuwe anti roll bars of een ander merk bump rubbers. De specificaties zijn zo in te voeren en er rollen bijbehorende physics uit. Indrukwekkend! ’s Avonds zijn we met een aantal andere simracers een hapje gaan eten. Eentje ervan, Remco, heeft zichzelf leren lassen om een 1 op 1 model te kunnen maken van de cockpit van een van zijn favoriete F1 auto’s aller tijden, de Tyrell P34 (de enige F1 auto ooit met 6 wielen). Hij is er nog druk mee bezig, maar een vriend postte onlangs een paar foto’s van zijn voortgang (hier en hier). Prachtig!

Endurance Racing

Zelf ben ik bezig geweest met software om on-line races beter te kunnen regisseren. Vooral voor de langere endurance evenementen, waarbij we in teams van 2 tot 4 man per auto in races tussen de 6 en 24 uur rijden, is het belangrijk dat je voldoende controle hebt over zo’n evenement. Dat betekent dat je straffen moet kunnen uitdelen, mensen die hun verbinding zijn kwijtgeraakt weer laat verder rijden en netjes een stand bijhoudt die ook door de andere mensen in het team te zien is. Uiteraard heb ik dat hele project als open source beschikbaar gesteld en je kunt het inmiddels terugvinden op de Luminis Open Source Server onder de naam rFactor. Ik heb tijdens het project weer aardig wat opgestoken van C++, JavaScript en HTML5 (RaphaelJS is echt een waanzinnig handige library voor animerende vector graphics en jquery-stream maakt het werken met streaming data een stuk eenvoudiger).

Nieuwtjes

Zoals twee weken geleden ook nu weer een aantal opmerkelijke nieuwtjes van internet. We beginnen dit keer met een tweetal filmpjes die allereerst laten zien hoe je met een Kinect een 3D scan kan maken van je omgeving. Er ontstaat daarmee een point cloud waarmee een omgeving gemodelleerd kan worden waarmee je allerlei vormen van interactie kunt hebben. Het tweede filmpje laat, als je een beetje door de marketing bla bla heen prikt, zien hoe je op basis van zo’n point cloud een omgeving kan maken die vele malen meer gedetailleerd is dan de huidige 3D omgevingen. Ergens is dit ook weer niet helemaal nieuw, want het renderen van een 3D wereld op basis van voxels is al iets wat bestaat sinds de PC game “Comanche” uit de vorige eeuw hiermee werd uitgerust (de eerste versie en een meer recente). Desalniettemin, als we straks zo snel onze wereld kunnen “scannen” kan ik me voorstellen dat er zeer gedetailleerde versies van Google Earth gaan ontstaan en nog allerlei dingen die we ons nu nog niet voor kunnen stellen.

Een tweede nieuwtje was de release van Emscripten, een compiler die van LLVM bytecode JavaScript code kan maken. Simpel gezegd kun je hiermee allerlei C/C++ code in je browser laten draaien, maar ook bijvoorbeeld scripttalen als Python (door de hele python runtime om te zetten naar JavaScript). Een tijd terug riep ik nog dat de beste manier om Java te draaien op iOS was om een JavaScript versie van de JVM te maken. Welnu, inmiddels kan dat gewoon! Wat kun je er verder mee? Enkele demo’s: een text to speech converter (pas op, je wordt ge-rick-rolled, ehh, wat rick-rolled?), een freetype engine waarmee je fonts in je browser kan laten zien die de gebruiker niet geinstalleerd heeft of een raytracing engine.

Marrs
Vandaag was weer eens zo’n heerlijke zomerse dag. We hebben de middag doorgebracht in het Sonsbeekpark, waar de, voor dit seizoen alweer laatste editie van Park Open plaats vond. Voor degenen die het niet kennen, gratis concerten op de zondagmiddag in de Ronde Weide. Klapstoeltjes mee omdat ’t ’s ochtends nog wat geregend had en het gras daardoor nog wat drassig was en genieten maar! De eerste band, Shannon Lyon Townes Trio vond ik vandaag de leukste, vandaar dat zij dit keer de soundbyte van zijn broodnodige sound mogen voorzien. Lang leve het internet, want dezelfde avond staat er al een opname van een van hun nummers on-line: “If I needed you”.

Vakantie

Tijdens mijn twee weken vakantie heb ik de ontwikkelingen binnen Luminis even niet op de voet gevolgd. Maandag laat ik me dan ook weer verrassen door alles wat er gebeurd is!

Een deel van mijn vakantie heb ik besteed aan één van mijn hobby’s: simracen. Een dag of tien geleden ben ik op bezoek geweest bij Niels, die zich al een aantal jaren bezig houdt met het maken van zo realistisch mogelijke physics voor gesimuleerde auto’s. Daar gaat hij heel ver in.

Racing Physics

Zo ontwierp en bouwde hij een tijd geleden al zijn eigen pedalen, inclusief een voor die tijd uniek idee om voor de rem geen potmeter te gebruiken, maar een load cell. Immers, een rem in een auto werkt voornamelijk op druk (hoe harder je trapt hoe sterker hij remt) en niet op de stand van het pedaal. Ook een shifter werd zelf ontwikkeld, en hij deed uitgebreid onderzoek naar verschillende monitoren om te bepalen welke minste vertraging had. Je moet weten dat in tegenstelling tot de oude CRT monitoren, alle “flat screens” een ingebouwde vertraging hebben tussen het moment waarop ze het beeld ontvangen en het moment waarop het getoond wordt. Dat is voor simulaties, waar elke vertraging de feedback loop tussen ogen en handen beïnvloed, funest. Sommige schermen hebben een speciale “game mode” waarin de vertraging minder is, maar die werkt ook niet altijd even goed. De beste manier om het te meten is om met een high speed camera, laptop en stuur de winkel in te gaan en alle schermen te filmen en dan later beeldje voor beeldje terug te kijken hoeveel frames er zaten tussen het moment waarop je het stuur naar links bewoog en het moment waarop dat op het scherm zichtbaar is. Een van de nieuwste toevoegingen is een stuur met force feedback. Hierbij heeft hij een servomotor uit een robot gebruikt en daar direct een stuur op gemonteerd. Dat geeft de meest directe en sterke feedback. Consumenten sturen maken allemaal gebruik van kleinere motoren met een overbrenging. Overbrengingen hebben echter altijd speling en daardoor vertraging, wat diezelfde feedback loop weer niet ten goede komt.

Tyrell P34

Om aan te geven wat Niels bereikt heeft met zijn hobby, hij heeft tegenwoordig een Formule 3 en een GP2 team als klant en maakt voor hun een simulator. Ik heb telemetrie data bekeken en zijn physics zijn zo goed, dat er doorgaans minder dan 1% afwijking is in die data. Daarbij kunnen die teams ook zelf nieuwe onderdelen toevoegen aan de simulatie, zoals nieuwe anti roll bars of een ander merk bump rubbers. De specificaties zijn zo in te voeren en er rollen bijbehorende physics uit. Indrukwekkend! ’s Avonds zijn we met een aantal andere simracers een hapje gaan eten. Eentje ervan, Remco, heeft zichzelf leren lassen om een 1 op 1 model te kunnen maken van de cockpit van een van zijn favoriete F1 auto’s aller tijden, de Tyrell P34 (de enige F1 auto ooit met 6 wielen). Hij is er nog druk mee bezig, maar een vriend postte onlangs een paar foto’s van zijn voortgang (hier en hier). Prachtig!

Endurance Racing

Zelf ben ik bezig geweest met software om on-line races beter te kunnen regisseren. Vooral voor de langere endurance evenementen, waarbij we in teams van 2 tot 4 man per auto in races tussen de 6 en 24 uur rijden, is het belangrijk dat je voldoende controle hebt over zo’n evenement. Dat betekent dat je straffen moet kunnen uitdelen, mensen die hun verbinding zijn kwijtgeraakt weer laat verder rijden en netjes een stand bijhoudt die ook door de andere mensen in het team te zien is. Uiteraard heb ik dat hele project als open source beschikbaar gesteld en je kunt het inmiddels terugvinden op de Luminis Open Source Server onder de naam rFactor. Ik heb tijdens het project weer aardig wat opgestoken van C++, JavaScript en HTML5 (RaphaelJS is echt een waanzinnig handige library voor animerende vector graphics en jquery-stream maakt het werken met streaming data een stuk eenvoudiger).

Nieuwtjes

Zoals twee weken geleden ook nu weer een aantal opmerkelijke nieuwtjes van internet. We beginnen dit keer met een tweetal filmpjes die allereerst laten zien hoe je met een Kinect een 3D scan kan maken van je omgeving. Er ontstaat daarmee een point cloud waarmee een omgeving gemodelleerd kan worden waarmee je allerlei vormen van interactie kunt hebben. Het tweede filmpje laat, als je een beetje door de marketing bla bla heen prikt, zien hoe je op basis van zo’n point cloud een omgeving kan maken die vele malen meer gedetailleerd is dan de huidige 3D omgevingen. Ergens is dit ook weer niet helemaal nieuw, want het renderen van een 3D wereld op basis van voxels is al iets wat bestaat sinds de PC game “Comanche” uit de vorige eeuw hiermee werd uitgerust (de eerste versie en een meer recente). Desalniettemin, als we straks zo snel onze wereld kunnen “scannen” kan ik me voorstellen dat er zeer gedetailleerde versies van Google Earth gaan ontstaan en nog allerlei dingen die we ons nu nog niet voor kunnen stellen.

Een tweede nieuwtje was de release van Emscripten, een compiler die van LLVM bytecode JavaScript code kan maken. Simpel gezegd kun je hiermee allerlei C/C++ code in je browser laten draaien, maar ook bijvoorbeeld scripttalen als Python (door de hele python runtime om te zetten naar JavaScript). Een tijd terug riep ik nog dat de beste manier om Java te draaien op iOS was om een JavaScript versie van de JVM te maken. Welnu, inmiddels kan dat gewoon! Wat kun je er verder mee? Enkele demo’s: een text to speech converter (pas op, je wordt ge-rick-rolled, ehh, wat rick-rolled?), een freetype engine waarmee je fonts in je browser kan laten zien die de gebruiker niet geinstalleerd heeft of een raytracing engine.

Marrs

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *