English
Efficient bepalen van een route voor automatisch geleide voertuigen
Reijer Idema

Plaats van afstuderen:
FROG navigation systems
Krommewetering 21
3543 AP Utrecht

start van afstuderen: oktober 2004

In februari 2005 is de scriptie verschenen en een presentatie gegeven.

De afstudeeropdracht is in augustus 2005 afgerond met het schrijven van het afstudeerverslag. Huidige adresgegevens etc. zijn te vinden op onze alumnipagina.

Korte omschrijving van de afstudeeropdracht:

Frog Navigation Systems BV, gevestigd te Utrecht, maakt automatisch geleide voertuigen, inclusief bijbehorende besturingscomputer en een overkoepelend supervisory systeem. We hebben hiervoor veel software ontwikkeld, en zijn ook steeds aktief om de systemen uit te breiden of te vernieuwen. Een van de laatste vernieuwingen is het gebruik van NURBS voor routedefinitie.

Automatische besturing van een stadsbus


Zie ook: de aankomst van Phileas bij een station, 1.5 MB en een testrit met Phileas 2.1 MB.

Frog Navigation Systems heeft een tekentool ontwikkeld, waarmee routes getekend kunnen worden, die dienen als geleiding voor de voertuigbesturingssoftware. Hierbij is al een operationele situatie bereikt op dit moment, maar er zijn nog vele wensen voor de toekomst. Middels een afstudeeropdracht wil Frog de oplossingsrichtingen voor die wensen verkennen. Een aantal aspecten worden hieronder beschreven. De afstudeerder zal in de startfase deze onderwerpen moeten analyseren om samen met Frog tot een meer gedetaileerde omschrijving van het afstudeerwerk te komen.

  1. NURBS curve synthese op basis van voertuigmodel.

    Voor soepel rijgedrag van het voertuig is het nodig dat de routedefinitie dusdanig is, dat de bijbehorende stuurwielbeweging begrensd is qua uitslag en snelheid, en misschien ook wel in volgende afgeleiden. We zouden nu een NURBS curve willen synthetiseren, die een bepaalde fysieke bocht beschrijft, waarbij de stuurwielbeweging in alle afgeleiden geminimaliseerd wordt. Anders gesteld, we willen een curve kunnen parametriseren aan de hand van constraints in plaats van via de ligging en het gewicht van de 'knots' van een NURBS.

  2. Kritieke secties bepalen in een layout.

    Om te voorkomen dat voertuigen botsen, dient de ruimte waar voertuigen elkaar passeren gealloceerd te worden. Op basis van de set NURBS routes en het voertuigmodel moeten alle secties bepaald worden waar hull-curven van de voertuigen overlappen.

  3. Synthetiseren van NURBS routes obv de definitie van beschikbare ruimte.

    Het invoeren van een exacte route met gedefinieerde curven op alle kruispunten blijft een bewerkelijke klus. Waar we naartoe willen, is dat alleen de beschikbare vrije ruimte gedefinieerd hoeft te worden, en dat automatisch de beste route gesynthetiseerd wordt, waarbij het voertuig zo snel en comfortabel mogelijk kan rijden, zonder buiten de vrije ruimte te komen.

  4. Hull curve bepalen bij geleiding van een voertuig met twee control points over een NURBS curve.

    We kunnen een voertuig als punt met orientatie over een route geleiden, maar ook door twee punten simultaan over een route te geleiden (dat kan alleen met voertuigen met twee sturende assen). Alleen voor de eerste situatie kunnen we nu een omhullende bepalen. Voor het tweede geval willen we dat ook kunnen.

  5. Approximatie van een NURBS route over een serie gelogde punten.

    Soms is het wenselijk een route te definieren door de afgelegde route in manual mode gereden, op te slaan. Om die route dan automatisch te reproduceren, moet een NURBS route gesynthetiseerd worden, die de gelogde punten zo goed mogelijk volgt. Daarbij moet het mogelijk zijn om randvoorwaarden op te geven (voertuigmodel, maximale stuurhoeken, stuursnelheden, snelheid, laterale versnelling) waaraan voldaan moet worden.

  6. Reparameteriseren van NURBS curves van u naar afgelegde weg 's'.

    Op voertuigbesturingsniveau is het setpoint (x, y, orientatie) gedefinieerd als functie van de afgelegde weg 's' van een strategisch punt van het voertuig-frame. Een NURBS is gedefinieerd als een functie van een variabele 'u', lopend van 0 tot 1, die niet evenredig is met de koordlengte. Er moet uitgezocht worden hoe dit in elkaar overgezet kan worden.

  7. Voertuig-orientatie onafhankelijk van positie definieren met hogere dimensie NURBS.

    Sommige voertuig-platforms kunnen onafhankelijk van elkaar transleren en roteren. Er moet een methode bedacht worden om zulke complexe bewegingen (als hogere dimensie NURBS?) te definieren. Voor de entertainment-applicatie, waar zulke bewegingen extreem worden uitgebuit, dient ook een user interface bedacht te worden voor het invoeren van die definities.

  8. NURBS bibliotheek uitbreiden in C++.

    Voor de verwezenlijking van al het bovenstaande zal de bestaande bibliotheek van NURBS functies in C++ uitgebreid moeten worden.

Contact informatie: Kees Vuik

Terug naar de home page of de afstudeerpagina van Kees Vuik