wie en wat?
ZSB
wat doen wij?
hoe pakken wij het aan?
materialen en methode
labjournaal
waarnemingen
resultaat
broncode
waarnemingen / conclusies

W a a r n e m i n g e n :

We hebben ondervonden dat het koppelen van een reeds bestaand pakket (een 3D-engine in dit geval) veel moeite kan kosten. In eerste instantie bleek het aardig wat werk om meerdere pakketten in functionaliteit te analyseren en onderling te vergelijken. Het was daarbij belangrijk om te achterhalen in hoeverre welk pakket de vooraf gestelde eisen het beste wist te benaderen.
We zijn wel blij dat we uiteindelijk een goede 3D omgeving (een omgeving met een redelijk krachtige ondersteuning voor matrix algebra) hebben kunnen importeren in onze eigen software. Hoewel dit proces bij elkaar een ruime dag in beslag heeft genomen, zouden we meer tijd kwijt zijn geweest wanneer wij zelf een 3D-engine hadden moeten implementeren. Waar we in het begin een voor ons vreemde engine wilde gaan gebruiken (3D Studio of de UNREAL engine) zijn we blij dat we voor een Java pakket gekozen hebben; dit heeft ons waarschijnlijk alsnog veel tijd bespaard - en het uitvoeren van verdere doelstellingen niet onmogelijk gemaakt.

We hebben menig maal de structuur van de virtuele robot veranderd en de klassen van de gewrichten aangepast om het geheel efficiënt binnen de weergavemogelijkheden van de 3D-engine te kunnen passen. Dit heeft ertoe geleid dat we vooraf bedachte overervingsstructuren (standen en constraints van gewricht naar gewricht) hebben omgezet in overervingen binnen de weergave in het univsersum van de 3D-engine; De 3D-engine bleek een krachtige omgeving voor het plaatsen van orthogonale ruimtes binnen reeds getransformeerde othogonale ruimtes. Hierdoor hebben we elk nieuw gewricht van de robotarm via een enkele 4x4 matrix (zoals beschreven op blz. 94 van de literatuur klapper van L. Dorst) kunnen toevoegen aan reeds aanwezigen gewrichten.

Concessies hebben we vooral moeten doen beteffende de interface van onze applicatie. Steeds weer tijdens overleg tussendoor kwamen wij tot de conclusie dat de aanwezigheid van bepaalde functies bóven het bedieningsgemak van de interface diende te komen. Deze afweging was vooral het gevolg van het korte tijdsbestek waarbinnen we zoveel mogelijk wilde proberen te bereiken. We hebben ons lang beperkt tot een textuele omgeving, om in het laatste halve dagdeel het universum van de 3D-engine te gebruiken.

Het resultaat van onze progressie is dat er een eenvoudige, doch doeltreffende, orthogonale ruimtelijke omgeving is waarbinnen men elke mogelijke robotarm kan visualiseren die beschreven wordt volgens de Denavit Hartenberg conventie. Een beperking is echter dat er (vooralsnog) geen parallele gewrichten kunnen worden ingevoegd; het geheel moet een seriële aaneenschakeling van gewrichten betreffen (zoals bij de UMI-rtx robot).

De applicatie beschikt zelfs over de mogelijkheid om de robotarm te besturen, zij het via het update van een op tekst gebaseerde interface.