[ followme ]
 
 
software
 
  hardware
   
  mathware
   
  home
 
wat is Followme?
 
Met de term 'Followme' bedoelen we in dit project het volgen van een persoon of object op de toneelvloer. Dergelijke systemen bestaan al enige jaren en zijn in een aantal lichttafels geïntegreerd. Helaas zijn dit de tafels in het hogere marktsegment, of met andere woorden, deze tafels beginnen zo rond de 15.000 euro. Een dergelijke tafel is erg uitgebreid en kan voor veel doeleinden worden ingezet, maar is niet weggelegd voor gezelschappen met een wat kleiner budget. Bovendien is de 'followme' functie in zo'n tafel vaak lastig te gebruiken omdat de functionaliteit diep weggeborgen in de tafel zit.
 
PragmaLab zoekt de oplossing voor het volgprobleem niet in de lichttafel zelf, maar als een uitbreiding op een tafel.
 

 
DMX
De lichttafel stuurt dimmers en bewegend licht aan dmv een gestandaardiseerd protocol, het DMX 512-protocol genaamd. Dit relatief eenvoudige protocol gebruikt voor de hardware layer het RS485 protocol en de communicatie layer gebruikt pakketten van 512 bytes om de informatie van de lichttafel bij de lampen te krijgen.
Ieder lamp gebruikt een aantal van deze 512 bytes voor zijn besturing. Dit zijn de DMX-kanalen van de lamp. Welke bytes voor de lamp van belang zijn, wordt bepaald door het startadres van de lamp, dat per lamp (en op de lamp zelf) moet worden ingesteld. Zo zal een lamp met 10 kanalen op startadres 100 uit de 512 bytes precies de bytes 100-109 halen en daamee zijn functies besturen. Een functie van een lamp kan een dimmer zijn, of een kleur of natuurlijk de richting van de bundel. De richting van de bundel wordt met behulp van 2 parameters bepaald, te weten 'pan' voor de horizontale beweging, en 'tilt' voor de verticale beweging.
 

 
pan en tilt
Zoals gezegd kan een lichttafel voor iedere lamp deze pan en tilt besturen. Vaak gebeurt dit door het bedienen van een joystick of een trackball. Wanneer meerdere lampen tegelijk bestuurd worden, zullen alle lampen tegelijk dezelfde beweging gaan maken: allemaal evenveel in de pan-richting en evenveel in de tilt-richting. Vandaar dat het niet zonder meer mogelijk is een object te volgen: de ene lamp zal naar het object toe bewegen, de ander er juist vanaf. We kunnen ten hoogste 1 lamp vanaf de tafel het object laten volgen. Deze lamp zullen we de master noemen. Alle andere lampen die moeten volgen zullen we slaves noemen.  
       
Het followme concept moet er voor zorgen, dat de pan- en tilt waardes voor de slaves zodanig worden gemanipuleerd dat het effect is, dat de bundels van de slaves naar het punt gericht worden waar ook de master naar gericht staat. Op die manier 'kijken' alle bundels naar hetzelfde punt op de toneelvloer. Wanneer we de master dus besturen vanaf de lichttafel, zullen de slaves de bewegingen van deze master blijven volgen.
Wanneer we de master pan/tilt waardes als invoer voor het algoritme beschouwen, dan zijn de slave pan/tilt waardes de uitvoer.
 
Om de pan/tilt waardes voor de slave te manipuleren, onderbreken we de datastroom naar de lampen, het DMX-signaal. Daar hebben we hardware voor nodig en die ontwikkelt PragmaLab in de vorm van de 'Followme-box'. Het DMX-signaal dat normaal gesproken van de tafel naar de lampen voert, wordt nu eerst aan de box aangeboden. Deze stuurt alle kanalen netjes
1-op-1 door naar de lampen zodat het nog steeds lijkt alsof er sprake is van een directe verbinding tussen de tafel en de lampen. Ook de pan/tilt waardes voor de master worden door de box rechtstreeks doorgestuurd, maar deze master waardes worden tegelijkertijd ook doorgestuurd naar een PC.
 
 

 
kalibratie
Vervelende praktische bijkomstigheid van het algoritme is, dat ieder lamp die in het volgsysteem meedoet, tevoren gekalibreerd moet worden. Het algoritme kan alleen de slave-waardes uitrekenen, als het een idee heeft waar de betreffende lamp zich bevindt in de ruimte ten opzichte van de master. Kalibreren houdt in, dat iedere lamp op 4 punten op de toneelvloer gericht moet worden en dat van ieder punt de bijbehorende pan/tilt waardes genoteerd worden. Deze 4 punten vormen tesamen het kalibratie-grid en dit grid dient vooraf op de toneelvloer uitgezet te worden. De vorm van het kalibratie-grid is een rechthoek waarbij de hoekpunten de punten zijn waarop de lamp gericht dient te worden (de kalibratie punten).
 

Op de PC draait het followme-programma en hiermee is het mogelijk om per lamp de kalibratie procedure te doorlopen. Bij het richten van de lampen (wat zo nauwkeurig mogelijk dient te gebeuren), kan men gebruik maken van 2 encoderwheels op de followme-box. Met deze encoder-wheels, 1 voor de pan- en 1 voor de tiltbeweging, kan men zeer precies de bundel naar het kalibratie punt sturen.

Behalve de encoderwheels kan men ook de trackball van de PC gebruiken om de lampen te richten bij het kalibreren of het volgen.

 
       
Een muis is overigens niet bruikbaar voor het richten of volgen. Muisbewegingen sluiten niet voldoende aan bij het soort bewegingen dat men moet maken om een bundel te sturen in een 3D-ruimte. Het bereik van een muis (afmetingen muismatje) is een ander bezwaar tegen het gebruik van een muis bij het volgen. Een trackball daarentegen werkt in alle gevallen 'relatief'. Dat wil zeggen dat er geen begin of einde zit aan het werkbereik. Een trackball staat altijd klaar in een positie om vanuit te gaan volgen, terwijl een muis bij wijze van spreken al aan de rand van het muismatje kan liggen waardoor een beweging verder in die richting niet mogelijk is. Men zal dan eerst de muis moeten optillen en in het midden van de muismat moeten zetten. Dit is bij het volgen erg ongewenst.
 

 
volgen...

Eenmaal gekalibreerd kan men met het programma een object op de toneelvloer gaan volgen. Hiervoor maakt de gebruiker een willekeurige selectie van lampen die op dat moment moeten meedoen. Een klik op het control-window laat de lampen vervolgens de lampen de trackball-bewegingen volgen. Welke lamp onder de geselecteerde lampen de master is, doet voor de gebruiker niet terzake. Alle geselecteerde lampen volgen immers simultaan de bewegingen van de gebruiker.

Naast het handmatig maken van een selectie, kan men ook werken met zogeheten 'acties' in het programma. Tijdens een show heeft de light-operator in de regel weinig tijd om zaken voor te bereiden. Het volgen is daar geen uitzondering op.
Om nu met 1 druk op de knop een volgactie te starten, kan de gebruiker in het programma een actie voorbereiden, waarbij men aangeeft welke lampen er bij die actie meedoen, welke beginpositie ze moeten gebruiken (de positie van de bundels op de toneelvloer van waaruit gevolgd zal gaan worden), welke iris-grootte ze moeten gebruiken en in hoeverre ze gedimd moeten staan. Bovendien mag men bij een actie aangeven met welk control-device de lampen gevolgd moeten gaan worden: met het control-device van de lichttafel, of met de trackball van de PC. Het is zelfs mogelijk om de pan en tilt draadloos op afstand te besturen dmv een RC-servo besturing.

Wanneer nu in een show een actie gestart wordt, dan heeft de light-operator direct de controle over de aangegeven lampen en is aan alle beginvoorwaarden voldaan.

 

 
hoogte
Zoals gezegd is het idee voor het ontwikkelen van het followme systeem geboren achter de lichttafel tijdens een circusshow. Speelt een theatervoorstelling zich bijna altijd alleen op de toneelvloer af, in een circus gaan de acts regelmatig de hoogte in. Het algoritme is dan ook zodanig ontwikkeld dat de hoogte waarop de bundels elkaar moeten kruisen, instelbaar is. Zonder deze optie zouden de bundels elkaar immers altijd kruisen op de hoogte waarop gekalibreerd was: de toneelvloer. Door de hoogte echter als variabele in het algoritme op te nemen, kan men tijdens het volgen de hoogte variëren. Voorwaarde is dan wel dat men via de PC het systeem bedient. Daar is immers een trackball voorhanden met een scrollring (of scrollwheel). De beweging van de bal zal de pan en tilt besturen, de scrollring bestuurt de hoogte. Het systeem is dus in te zetten voor de het volgen van de clowns in de piste, maar net zo goed voor het volgen van de trapezeartiesten in de nok.
 

 
iris
De laatste variabele die in het algoritme wordt meegenomen, is de grootte van de lichtbundel. De lichtbundel grootte wordt door de iris-functie van de lamp geregeld. Het doel van de iris-regeling in het algoritme is, ervoor te zorgen dat de bundelgrootte van de afzonderlijke lampen gelijk gehouden wordt. Volgt men een object, dan zal dat voor de ene lamp een object ver weg zijn, voor een ander juist dichtbij. De afstand tot het object bepaalt normaal gesproken de bundelgrootte: een bundel wordt groter naarmate hij 'verder weg schijnt'. De iris-regeling 'knijpt' de bundel van de lamp die verder weg moet schijnen, en vergroot de bundel van de lamp die dichtbij schijnt. Het bereik van de iris bepaalt in hoeverre deze regeling effectief is.