Periode | Project | Functie |
Februari 2005 -
heden |
Plato |
Senior software
designer |
Project omschrijving |
Plato is een
software team van ongeveer 30 man dat software
ontwikkeld voor het Plato systeem. Het Plato systeem is een embedded
digitale harddisk recorder die tot maximaal 16 analoge en 32
digitale video camera's kan opnemen. Het bevat een 1 GHz processor,
maximaal 5 video DSP's (Texas Instruments: TMS320DM642) en maximaal 2
audio DSP's (Texas Instruments: TMS320C6205). De video DSP's hebben als
voornaamste taak het opnemen en analyseren van de analoge video
signalen. Tevens moeten ze opgenomen video signalen weer kunnen
afspelen waarbij ze meerdere camera's op dezelfde monitor moeten kunnen
weergeven. De audio DSP's hebben dezelfde taken, maar dan voor audio
signalen. Ik heb als software designer meegewerkt aan het uitbreiden van het framework dat ik voor Dito gemaakt heb. Het framework biedt nu uitgebreide communicatie mogelijkheden voor software componenten verspreid over verschillende processoren. Tevens kan het framework de software componenten dynamisch aanmaken en met elkaar verbinden. Dankzij het framework hoeven de software componenten niks van de andere componenten te weten. Dit bevordert modulariteit en herbruikbaarheid van die software componenten. Plato is doorgestart onder de naam Felix met een software team van ongeveer 8 man. Voor Felix heb ik bovenop mijn framework een applicatie gemaakt met flexibiliteit naar de verschillende hardware platformen (DiBos en Plato hardware). |
Werkzaamheden |
|
Systemen/pakketten/talen | |
Ontwikkel omgeving | Windows 2000,
CE, XP |
Paketten | Texas
Instruments : Code composer studio Microsoft Visual C++ |
Programmeertalen | C, C++ (beide embedded en PC) |
Periode | Project | Functie |
September 2003
– Februari '05 |
DiTO | Senior software
designer |
Project omschrijving |
DiTO is een
software team van ongeveer 9 man dat software
ontwikkeld voor het Vicam bord. Het Vicam bord is ontwikkeld voor Dibos
8.0, een digitale harddisk recorder die tot maximaal 30 analoge en 32
digitale video camera's kan opnemen. De voornaamste taak van het Vicam
bord is het opnemen en analyseren van de analoge video signalen. Per
Vicam kaart kunnen maximaal 6 analoge camera's verbonden worden. De
meeste software is ontwikkeld voor de DSP processor (Texas Instruments:
TMS320DM642). Ik heb als software designer meegewerkt aan het ontwerpen, implementeren en testen van het framework die communicatie tussen de verschillende software componenten mogelijk maakt. Tevens heb ik enkele (test)componenten gemaakt voor in dat framework. Naast mijn werk ben ik op eigen initiatief begonnen aan het ontwikkelen van debug tools zoals een DSP logfile analyser. Hiermee kan de software in ongeveer 30 seconden tijd tot een half miljoen regels logging produceren zonder veel verlies in prestatie of afwijkend runtime gedrag. Deze tools zijn zeer nuttig geweest tijdens de test en debug fase, wat ook erkend is in het getuigschrift. |
Werkzaamheden |
|
Systemen/pakketten/talen | |
Ontwikkel omgeving | Windows 2000 |
Paketten | Texas Instruments : Code composer studio |
Programmeertalen | C, C++ (beide embedded) |
Periode | Project | Functie |
Juni 2003 –
Augustus 2003 |
ViGeo | Software ontwikkelaar |
Project omschrijving |
ViGeo is een
project met als doel de productie van televisies
goedkoper
te maken. Dit kan bereikt worden door de dure maskers te vervangen door
goedkopere dunne maskers. Dit heeft echter als nadeel dat als zo'n
masker
te veel energie (fotonen straling) ontvangt op een bepaalde plek dan
gaat
het masker daar uitzetten en zie je vervormingen op het beeldscherm. Om
dit te voorkomen is er electronica ontwikkeld die de hoeveelheid
energie
kan beperken die naar een bepaalde plek op het masker gaat.
Ik heb als software ontwikkelaar meegewerkt aan het testen van de functionaliteit van de processor (Hitachi : H8S 2148) en aan het programmeren van de processor. De processor moet real-time gegevens kunnen inlezen van een andere processor (FPGA). Tevens moet de processor berekeningen uitvoeren zodat bepaald kan worden wanneer de energie toevoer beperkt moet worden. De resultaten moeten via het I2C protocol teruggestuurd worden naar de FPGA. |
Werkzaamheden |
|
Systemen/pakketten/talen | |
Ontwikkel omgeving | Windows 2000 |
Paketten | Hitachi compiler |
Programmeertalen | C (embedded) |
Periode | Project | Functie |
September 2002 – Maart 2003 | VCR Simulator | Software ontwikkelaar |
Project omschrijving |
De VCR
simulator is een elektronisch bord dat aangestuurd kan
worden
door een PC. De bedoeling van dat bord is het simuleren van onder
andere
video signalen en met name specifieke fouten in die signalen. Een
voorbeeld
van zo'n fout is de tweekops fout bij video recorders. Het voordeel van
de VCR simulator is dat deze de fout iedere keer op exact dezelfde
manier
kan reproduceren. Dit is zeer handig bij het testen van bijvoorbeeld
DVD
recorders. DVD recorders moeten in staat zijn video signalen correct op
te nemen, zelfs als er bepaalde fouten in die signalen aanwezig zijn.
Ik heb als software ontwikkelaar gewerkt aan het verder ontwikkelen van een script taal die gebruikt wordt voor het specificeren van het te genereren signaal. Een van de uitbreidingen van de script taal is de ondersteuning van parameters en constraints. De parameters kunnen door de gebruiker worden aangepast terwijl het script gebruikt wordt. Constraints zorgen ervoor dat als een parameter veranderd wordt door de gebruiker, andere parameters automatisch mee veranderen. Tevens zorgen constraints ervoor dat parameters geen illegale waardes kunnen krijgen. Als parameters veranderen, dan veranderdt het gegenereerde signaal ook. De overname van de nieuwe waardes voor de parameters gebeurt zodanig dat het oude signaal naadloos overloopt in het nieuwe signaal. Om het gebruik van de script taal te vergemakkelijken heb ik een script editor gemaakt die de gebruiker ondersteunt en waarschuwt als er fouten in het script aanwezig zijn. Daarna heb ik een aantal scripts gemaakt die specifieke fouten in video signalen kunnen simuleren. Tevens heb ik software geschreven die het inlezen van het nieuwe type scripts mogelijk maakt. Ook heb ik alle software geschreven voor het gebruik van de parameters en constraints, van user interface en constraint waarborging tot en met het versturen van de gewenste aanpassingen naar het bord en het gebruiken van die ontvangen aanpassingen op het bord zelf. Uiteraard is alles afgeleverd met voldoende documentatie. |
Werkzaamheden |
|
Systemen/pakketten/talen | |
Ontwikkel omgeving | Windows NT |
Paketten | MS Visual Studio, MS Visio, Borland Delphi |
Programmeertalen | Delphi, MS Visual C++ |
Periode | Project | Functie |
September 2001 – Mei 2002 | Image segmentation and depth reconstruction | Software ontwikkelaar |
Project omschrijving |
Als afstudeer
project heb ik vanaf september 2001 tot en met
mei 2002
gewerkt als software ontwikkelaar voor Philips Natlab in Eindhoven. Ik
heb daar gewerkt bij de afdeling Digital Signal Processing (DSP), waar
ik software heb ontwikkeld voor het vinden van diepte informatie in
videobeelden.
Ik heb me hierbij toegespitst op beeld segmentatie en diepte
reconstructie.
Beeld segmentatie probeert een beeld zodanig op te delen in segmenten
dat
de grenzen van objecten in de werkelijke wereld overeen komen met de
grenzen
van de segmenten. Vervolgens gebruikt de diepte reconstructie deze
segmenten
samen met de verplaatsingen van de camera om aan ieder segment een
diepte
functie toe te kennen. Deze diepte functies kunnen gebruikt worden om
voor
ieder pixel in het beeld de diepte te berekenen.
Ik ben begonnen met al eerder ontwikkelde software en heb gekeken waar de software verbeterd kon worden. Daarna heb ik zelf algoritmes ontworpen om deze verbeteringen te realiseren. Dit resulteerde in een nieuw algoritme voor beeld segmentatie waardoor oversegmentatie verminderd kan worden, en een verbeterd algoritme voor diepte reconstructie dat complexere diepte functies kan vinden. Philips is aan het bekijken of er voor deze algoritmes een octrooi of patent kan komen. |
Werkzaamheden |
|
Systemen/pakketten/talen | |
Ontwikkel omgeving | Unix, Solaris |
Programmeertalen | (ansi) C |
Periode | Project | Functie |
Juli 2000 – December 2000 | Lineaire motoren en processor analyse | Software ontwikkelaar |
Project omschrijving |
Ik ben begonnen bij Anorad met 2 maanden vakantie werk. Deze 2 maanden werden vervolgd door 3 maanden stage. Anorad is een bedrijf gespecialiseerd in machines met lineaire motoren erin. Tijdens mijn vakantie werk heb ik meerdere programma’s geschreven in Visual Basic voor het aansturen van die lineaire motoren door middel van een PC met insteekkaart of seriële poort. In mijn stage heb ik vervolgens de capaciteiten van twee processoren (Texas Instruments: TMS320F240 & TMS320LF2407) geanalyseerd die zelfstandig de motoren aan kunnen sturen door middel van feedback van de motoren en een vooraf ingesteld programma. Dit programma moest te wijzigen en te sturen zijn door een PC via de seriële poort. De software voor de analyse van de processoren is geschreven in C en DSP Assembler. |
Werkzaamheden |
|
Systemen/pakketten/talen | |
Ontwikkel omgeving | Windows, WindowsNT |
Paketten | Texas Instruments : Code composer studio |
Programmeertalen | Visual Basic, C, DSP Assembler |
Periode | Project | Functie |
Oktober 1998 – Juni 1999 | Eurobot | Software ontwikkelaar |
September 1999 – Februari 2000 | EffiTrein | Software ontwikkelaar |
Project omschrijving |
Uit interesse
heb ik op de Technische Universiteit Eindhoven
meegedaan
aan het project Eurobot. Later bleek dat ik dit mocht laten tellen als
een stage. Eurobot is een jaarlijks terugkerende wedstrijd die in
Frankrijk
gehouden wordt, waarbij autonome robots tegen elkaar strijden om een
bepaald
doel te bereiken. Voor ons was het doel het verdedigen van ons kasteel
en tegelijk het aanvallen van het vijandelijke kasteel. Het veld
bestond
uit een groen vlak met witte lijnen erop, een gracht met twee bruggen
daarover
en twee kastelen bestaande uit houten cilinders.
Ik heb voor deze wedstrijd de software geschreven voor de routeplanning van de robots over het speelveld. Deze software was geschreven in Pascal en draaide op een PC. Op de PC kon men grafisch een aantal doelen aangeven en het programma berekende een efficiënte route en gaf daarvoor een C code uit die geupload kon worden naar de robots. Voor oriëntatie maakte de robots gebruik van een bekende startpositie, verplaatsing van de robot, en de witte lijnen op het speelveld. Naast Eurobot heb ik ook nog meegedaan aan EffiTrein. Hiervoor had de TU/e een treinbaan gebouwd en was de vraag om een programma te ontwikkelen in JAVA voor de aansturing van de treinen, met daarbij een goede route planner die efficiënt baanvakken aan treinen toekende en vrijgaf gegeven een aantal eisen voor de treinen. In beide projecten werd de software ontwikkeld door een groep van ruim 10 man. Het Eurobot team bestond uit een multi-disciplinair team. Bij EffiTrein moest worden gewerkt op CMM level 2 (Repeatability), gebruik makende van OMT en het waterval model. |
Werkzaamheden |
|
Systemen/pakketten/talen | |
Ontwikkel omgeving | Windows |
Paketten | Rational Rose |
Programmeertalen | Pascal, C, JAVA |
Periode | Club | Functie |
1992 - 1997 | Computerclub AvDC | Cursussen geven (Pascal) |
1997 - 2000 | Computerclub PTCC | Cursussen geven
(Windows, Internet) Homepage beheren Problemen oplossen |
Project omschrijving |
In 1992 heb ik
samen met een vriend een computerclub
opgericht op de
onze middelbare school waar we cursussen gaven in Pascal voor
medestudenten.
Ook gaven we tijdens open dagen van die middelbare school demonstraties
met computer aangestuurde lichteffecten en LEGO robotjes, alles
uiteraard
zelf gemaakt.
In de periode van 1997 tot en met 2000 was ik actief lid van de PTCC. Hier heb ik cursussen gegeven in Windows en Internet voor beginners aan oudere en gepensioneerde mensen. Daarnaast heb ik de homepage van de computerclub gemaakt en onderhouden en heb ik gefungeert als probleem oplosser voor leden van de computerclub. Hierbij ging het om problemen met de PC in het algemeen waaronder software, hardware en Internet. |