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.
|