Week 4,5,6: Designen: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
No edit summary
Line 276: Line 276:


WAT WORDT WELKE KLEUR??
WAT WORDT WELKE KLEUR??
= Algorithmic Design =
In dit hoofdstuk zullen we de verscheidene algoritmen beschrijven die kunnen komen kijken bij een robot als de onze. We zullen voor ieder van de problemen die de algoritmen kunnen oplossen voor de robot de beschikbare algoritmen beschrijven en tegen elkaar afwegen.
== Pathfinding ==
Met de lijnen die op de vloer van het MetaForum geplaatst dienen te worden om onze robot te laten functioneren is de omgeving van de robot voor de robot met betrekking to het vinden van routes te vereenvoudigen tot een simpele graaf met een beperkt aantal knooppunten en gewogen zijdes. De knooppunten van deze graaf zijn de punten waarop de robots eten bezorgen en punten waarop de lijnen zich splitsen en weer samenvoegen. De lijnen tussen deze punten zijn de zijden van deze graaf. Omdat het een graaf betreft zijn er voldoende algoritmen beschikbaar om over deze graaf te navigeren.
=== Basisalgoritme ===
Omdat het MetaForum een simpele en eindige omgeving is zou het mogelijk zijn om van alle knopen de snelste route naar alle andere knopen een maal te berekenen en de robots uit te rusten met deze dataset. Op basis van deze dataset zouden robots dus de snelste route eenvoudig kunnen vinden. Hoewel dit een voordehandliggende oplossing zou zijn is deze niet praktisch. Het introduceren van meerdere robots en omgevingsinvloeden als rondlopende mensen en andere obstakels zorgt er namelijk voor dat een statische dataset ongeschikt is voor ons scenario. Het zou namelijk zo kunnen zijn dat een robot op een lijn rijdt waarop een andere robot in de tegengestelde richting rijdt. Nu zouden de robots langs elkaar kunnen rijden, maar dit maakt de breedte van de rijbaan die onze robots nodig hebben twee maal groot.
Een betere oplossing zou zijn om het alom bekende A* algoritme te gebruiken om de robots in real-time de snelste route te laten vinden. Door het gebruiken van een real-time algoritme zijn de observaties van de robot ook te verwerken in het interne model (de graaf) die de robots van de wereld (het MetaForum) hebben. De data dit de robots hebben kan onderling gedeeld worden om een nog completer beeld van de wereld te verkrijgen en daardoor dus nog efficiënter te werken. Het gewicht van de zijden in de graaf is de tijd die de robot nodig heeft om over de zijde te bewegen. In het begin kan dit een gok zijn. Zodra de robot in dienst is kan de robot het voortschrijdend gemiddelde van de daadwerkelijke tijden gebruiken. Zo optimaliseert de robot zichzelf tijdens het bedrijf en zal hij om kunnen gaan met veranderende omstandigheden. Ook zou het kunnen voorkomen dat er een recht stuk van de route van robot A op dit moment in beslag wordt genomen door een robot B die in de tegenovergestelde richting rijdt. Robot A kan nu met robot B communiceren en de tijd die robot B nog nodig heeft om het rechte stuk af te leggen op te vragen en dit in het gewicht van de zijde verwerken. Zo kan robot A beslissen om een andere route te nemen om het gebied waar robot B rijdt te vermijden, of om te wachten tot robot B van de route af is als dat tot een snellere bezorging zal leiden. De robots profiteren bij het delen van data dus niet alleen van data over de omgeving, maar ook data over de locatie van de robots zelf.
Hoewel de lijnen waarover onze robot navigeert natuurlijk impliceren dat mensen er niet op moeten gaan staan en er geen objecten op moeten achterlaten is het negeren van deze mogelijkheid natuurlijk niet verstandig. Als robots een obstakel detecteren dat niet te omzeilen is kunnen ze dit naar de andere robots communiceren. Alle robots kunnen dan de bijbehorende zijde in hun model een oneindige waarde geven om dit obstakel te mijden. Bestellingen naar bestemmingen die door dit obstakel onbereikbaar gemaakt worden zouden naar de catering geretourneerd kunnen worden en nieuwe bestellingen kunnen worden afgewezen. De catering kan dan van dit obstakel op de hoogte worden gesteld waarna ze actie kunnen ondernemen.
=== Formele beschrijving algoritme ===
TODO
== Scheduling ==
TODO

Revision as of 17:05, 11 October 2015

Terug naar: PRE2015_1_Groep2

Algemeen

Soort robot

Een van de eerste beslissingen die wij hebben genomen was dat wij moesten kiezen tussen bijvoorbeeld een rijdende robot of een drone. De reden dat wij niet voor de drone hebben gekozen is dat deze veel lawaai maken en dus de rust in het Metaforum kunnen verstoren. Bovendien hebben deze voertuigen onnodig veel energie nodig. Een ander idee was om de robot aan een rails in het plafond te hangen zodat bezoekers van het Metaforum minder last hebben van de robot. Dit zou echter veel problemen veroorzaken met betrekking tot de infrastructuur. Naast dat dit systeem aangelegd zou moeten worden en dit afdoet aan het architectonische ontwerp van het Metaforum en de robot ook verschillende verdiepingen zou moeten begaan, leent het dak van Metaforum zich niet goed voor een rails aan het plafond. Er zitten namelijk veel hoogteverschillen in het dak. Daarnaast zou een systeem met rails veroorzaken dat de robot alleen op specifieke plekken kan komen. Om deze redenen hebben wij dus gekozen voor een rijdende robot.

Vorm

Uit de enquête bleek dat mensen voorkeur hebben voor een niet humanoide robot. Om deze reden en hebben wij voor de vorm van de robot gekozen voor een balk. Omdat wij gaan werken met een systeem met kastjes (zie privacy) is dit de meest efficiënte vorm. Des te kleiner de robot, des te minder last mensen hier van hebben. Daarentegen is een grote robot weer opvallender wat ook voordelen heeft. Mensen hebben een grote voorkeur voor een robot van ongeveer 80cm. Dit is dus het formaat waar we naar gaan streven. Dit zal echter afgewogen moeten worden tegen onder andere de omgevingen waarin de robot zou moeten kunnen rijden (moet de robot tussen tafels door?) en de hoeveelheid voedsel die in dit geval mee genomen kan worden.

Inlogsysteem

Bovenop de robot komt een schermpje waar mensen op kunnen inloggen of een systeem waar mensen hun campuskaart voor kunnen houden. Zie Veiligheid voor een uitgebreide uitleg over dit onderwerp.

Extra's

Uit de enquêtes bleek dat veel mensen nog zaten met het probleem dat afval nog steeds weggebracht moest worden. Dit is ook de reden dat voedsel uit de kantine verboden is in de bibliotheek. Hierom overwegen wij ook een prullenbak bij de robot te voegen waar mensen hun afval direct kwijt kunnen.

Daarnaast moet de kantine onder andere bestek, peper, zout en servetten aanbieden. Hier voor moet dus ook ruimte is de robot gereserveerd worden.

Wettelijke eisen

Het eerste belangrijke aspect waar in het design rekening mee moet worden gehouden zijn wettelijke eisen. Deze staan vermeld in de Nederlandse Voedselveiligheidseisen. Deze eisen staan overzichtelijk vermeld in een document van ServSafe International. Sommige van deze wetten zijn van belang bij het ontwerpen van de robot. Deze hebben voornamelijk te maken met het vervoer en de temperatuur van het voedsel. Hieronder zijn de belangrijkste regels vermeld onder het hoofdstuk waarin zij in dit document te vinden zijn.

Nederlandse Voedselveiligheidseisen

  • Voedsel met verhoogd microbiologisch risico is het hoogst tussen de 7 en 60 graden Celcius. Dit wordt de temperaturengevarenzone genoemd, omdat pathogenen in dit temperatuurbereik groeien.
  • Vooral gebruikt: Kerntemperatuurthermometer (verplicht voor temperatuurregistratie)
  • Verboden: Infraroodthermometer.
  • Warme producten worden bij een temperatuur van ten minste 60 graden Celsius geserveerd.
  • Koude producten worden bij een temperatuur van maximaal 7 graden Celsius geserveerd.
  • In bediende gekoelde presentaties mogen producten die geheel van de gast zijn afgeschermd tot 2 dagen worden bewaard, waarbij de eerste uitgiftedag niet meetelt. Met uitzondering van risicovolle producten, deze mogen slechts 1 dag worden verstrekt. Warme producten mogen maximaal gedurende een hele dag worden aangeboden in de bain marie. Mag tot 2 uur worden bewaard mits het voedsel: op 7 graden Celcius is voor het uit de koelruite wordt gehaald, een etiket heeft met verwijderingstijd/weggooitijd.
  • Restaurant (HORECA): Na bereiding moeten de producten gekoeld worden bij 7 graden Celsius of kouden. De 2-uursborging moet altijd aanvangen bij een temperatuur van 7 graden Celsius of kouder. Zelfbereide producten mogen ten hoogste 1 dag na bereiding worden gepresenteerd. Zelfbereide producten worden bijvoorbeeld geborgd met behulp van kaartjes op de (om)verpakking met daarop een tijdstip of codering. Verpakte producten moeten onuitwisbaar worden gemerkt. Onder borging gepresenteerde producten mogen niet uit het buffet gehaald worden om later nogmaals te worden gepresenteerd. Producten die nog in de terugkoelfase zitten en producten die na bereiding direct ongekoeld worden gepresenteerd hoeven niet aan de temperatuureis te voldoen.
  • Registratie (tenzij presentatie korter is dan 2 uur en restanten worden weggegooid) moet aantoonbaar zijn: datum, naam product, aantal of hoeveelheid product, begin en/of eindtijd, aantal of hoeveelheid derving, naam medewerker.
  • Bij presentatie van etenswaren op een buffet is een ademschot verplicht.
  • Bij uitgifte van onverpakte producten ligt serveerbestek.
  • Als uitgifte aan de gebruiker plaatsvindt in ruimten waar de voedingsmiddelen aan vervuiling bloot staan, dienen producten te worden afgedekt.
  • Alle producten moeten na presenteren worden weg gegooid.
  • Indien nodig moeten vervoermiddelen die worden gebruikt voor het vervoer van levensmiddelen, die levensmiddelen op de vereiste temperatuur houden en de mogelijkheid bieden om die temperatuur te bewaken.
  • Vervoermiddelen die worden gebruikt voor het vervoer van levensmiddelen moeten schoon zijn en goed worden onderhouden om de levensmiddelen tegen verontreiniging te beschermen en moeten, indien nodig, zo zijn ontworpen en geconstrueerd dat zij goed kunnen worden schoongemaakt en/of ontsmet.
  • Ruimten in voertuigen en/of containers mogen niet voor het vervoer van andere goederen dan levensmiddelen worden gebruikt indien zulks tot verontreiniging kan leiden.
  • In vervoermiddelen die terzelfdertijd worden gebruikt voor het vervoer van andere producten dan levensmiddelen of voor het vervoer van verschillende levensmiddelen tegelijk moeten de producten, indien nodig, afdoende van elkaar gescheiden zijn.
  • Vervoermiddelen die worden gebruikt voor het vervoer van andere producten dan levensmiddelen of voor het vervoer van verschillende levensmiddelen moeten tussen de verschillende vrachten afdoende worden schoongemaakt om verontreiniging te vermijden.
  • Levensmiddelen in vervoermiddelen moeten zo worden geplaatst dat het risico van verontreiniging tot een minimum wordt beperkt.

Conclusie

Belangrijk is dus dat in de bezorgrobot de temperatuur gecontroleerd kan worden. Warme producten moeten bij een temperatuur van minimaal 60 graden bij de gebruiker bezorgd worden, koude producten bij maximaal 7 graden.Voor het meten van deze temperatuur is een infraroodthemperatuurmeter verboden. Het voedsel wordt bezorgd door heel Metaforum dus moet rekening gehouden worden met verontreiniging. Na elke levering moeten de lades schoongemaakt worden, daarnaast moeten verschillende voedingsmiddelen gescheiden van elkaar vervoerd worden.

USE aspecten

User enquête

Zie: Week 3: User enquête

Interview Eurest

Planning

Duidelijke uitleg idee.

Schetsen.

Zou u geïnteresseerd zijn in dit product?

Wat voor formaat heeft uw voorkeur? Om welke reden (meer gebruiker gericht / hoe veelheid en soort voedsel erin past / enz)?

Zou u willen dat alle producten met deze robot te bezorgen zijn of zijn er producten die u liever alleen in de kantine verkocht wil hebben?

Zijn er wetten of regels van Eurest waar wij in het ontwerpen van de robot rekening mee moeten houden? (tijd / temperatuur / enz)

(Hoe ziet u de banenshift voor u? (hier misschien rekening mee houden bij het interviewen van de medewerkers) Hoe ziet de baan van medewerkers er uit?)

Hoe veel mensen zijn er dagelijks in de kantine om eten te halen? Hoe veel hiervan komen er in de pauze langs?

Interview Richard Cornelissen

Na een duidelijke uitleg over het project en het laten zien van een aantal schetsen van het design is de eerste reactie vanuit Eurest positief. Cornelissen noemt het een mooi initiatief en vraagt zich af hoe we op het idee zijn gekomen. Volgens hem zou het een mooie aanvulling zijn op de huidige service die Eurest biedt en is dus zeker geïnteresseerd in de robot ook al ziet hij vele praktische moeilijkheden voor zich.

Eurest heeft zelf geen speciale regels voor de robot. Wel moeten zij zich houden aan de Nederlandse Voedselveiligheidsvoorschriften. Dit staat ook vermeld in een contract met de TU/e. Zo zijn zij bijvoorbeeld verplicht alles te registreren, van schoonmaaklijsten bij houden tot het registreren van temperaturen.

Een praktisch probleem dat Cornelissen voor zich ziet is het warm houden van het voedsel. Isoleren neemt namelijk een probleem met zich mee waar wij nog niet aan gedacht hadden. Door het voedsel in een gesloten ruimte te plaatsen gaat het namelijk condenseren. En een gevolg hiervan is dat het voedsel een slechtere kwaliteit krijgt. Dit moet voor Eurest zo veel mogelijk voorkomen worden. Cornelissen schat dat voedsel in een geïsoleerde ruimte binnen 5 minuten bij de klant moet zijn. Toch noemt hij dat wij dit ook moeten navragen bij de medewerkers omdat zij meer verstand hebben over dit onderwerp. Ook zouden zij meer informatie kunnen verschaffen over welk soort voedsel wel en niet vervoerd kan worden met deze robot. Over het idee om voedsel te verwarmen is hij meer enthousiast. Zeker als dit in combinatie is met ventilatie. In dit geval schat Cornelissen dat het voedsel in ongeveer 5 tot 10 minuten bezorgd moet worden. Met Richard Cornelissen hebben wij ook gesproken over de grootte die de robot zou moeten krijgen. Het liefst zou hij de robot zo groot mogelijk willen hebben. Cornelissen noemt verschillende voordelen van dit idee. Ten eerste komt het de bekendheid van Eurest ten goede. Daarnaast kan er op deze manier zo veel mogelijk voedsel vervoerd worden en dus zo veel mogelijk klanten bediend worden. Ten slotte noemt Cornelissen de veiligheid. Een grotere robot springt meer in het oog waardoor er minder kans is op ongelukken met omstanders, aangezien deze de robot zien aankomen.

Interview medewerkers eurest

Planning

Duidelijke uitleg idee.

Schetsen.

Uitleg hoe hun baan eruit zou zien. (met behulp van antwoord Eurest)

Hoe staat u tegenover dit idee? (geïnteresseerd, voelt vervangen) Zou u met deze robot willen werken?

Hebt u eisen / wensen voor het ontwerp van de robot die uw taken makkelijker maken? (medewerker – robot)

Wat vindt u belangrijk aan uw taak dat de robot ook zou moeten kunnen? (robot – klant)

Interview mederwerkers (oa Lindy van Rooij)

De eerste reacties van medewerkers op dit idee zijn positief. Zo wordt er ‘Super!’ en ‘Geweldig!’ geroepen. Ook vanuit medewerkers van Eurest is er dus zeker interesse in het gebruiken van een bezorgrobot.

De eerste wens die medewerkers voor de robot hebben is een prullenbak. In Metaforum zijn op dit moment verschillende prullenbakken. Echter lijken deze prullenbakken op dit moment erg snel vol omdat mensen afval niet aanduwen. Dit ziet er erg slordig uit en het is de taak van Eurest om dit te voorkomen. Dit heeft als gevolg dat medewerkers op het drukste moment van de dag (in de pauze) met een kar naar boven moeten om dit afval op te ruimen. En dit gaat ten koste van het bedienen van klanten in de kantine.

Met de medewerkers hebben wij het ook gehad over het warm houden van het voedsel. Lindy van Rooij is het niet eens met Richard Cornelissen over de maximale tijd waarin voedsel bezorgd moet worden. In een geïsoleerde ruimte zou voedsel binnen 3 minuten bij de klant moeten zijn. Bij het gebruik van een warmtelamp en/of ventilatie is deze tijd iets langer. Een probleem dat wel komt kijken bij het gebruik van een warmtelamp is korstvorming bij bijvoorbeeld kaas en saus. Dit heeft als gevolg dat de maximale bedieningstijd als nog rond de 5 minuten ligt.

Volgens Van Rooij komen er per dag gemiddeld 1600 klanten langs in de kantine. Het drukste moment van de dag is de lunchpauze. Tussen 12 uur en half 2 komen er gemiddeld 600 klanten langs. Daarnaast zijn er veel mensen die ’s ochtends koffie halen of ’s middags een snack.

Naast een prullenbak heeft het personeel een voorkeur voor kastjes boven lades. Naast dat dit veel ruimte bespaart, is dit ook makkelijker schoon te maken. Ten slotte zouden medewerkers graag zien dat de robot in staat is door middel van spraak (en indien mogelijk spraakherkenning) te communiceren met de klanten om de robot klantvriendelijker te maken. Zo zou de robot kunnen zeggen ‘Hier is uw bestelling. Eet smakelijk!’ als deze het voedsel aflevert. Tijdens het interview met de medewerkers hebben wij het ook over de lift gehad. Dit heeft als reden dat de liften in Metaforum rond de pauze op dit moment al erg druk zijn. Een robot die mede gebruit zou gaan maken van deze liften zou dit probleem alleen maar verergeren. Een oplossing op dit probleem is de dienstlift van Eurest. Deze gaat vanaf de keuken van Eurest naar de eerste verdieping. Volgens het personeel is het mogelijk om deze te gebruiken voor de robot, al zou deze wel aangepast moeten worden. Op dit moment kan de lift namelijk alleen bediend worden door medewerkers. Wel zou er genoeg ruimte voor de robot in deze lift en in de keuken moeten zijn. Tijdens dit gesprek hebben wij ook de kans gehad om de maten van de lift op te nemen. Deze zijn hieronder te vinden.

Het enthousiasme van het personeel bleek ook uit de afronding van het gesprek. Er was namelijk veel interesse om met verschillende medewerkers in een pauze nog eens te brainstormen. Mochten hier nog resultaten uit komen, zouden deze naar ons gemaild worden. Daarnaast zou het personeel graag de simulatie willen zien.

Afmetingen lift

Breedte: 85 cm

Diepte: 130 cm

Hoogte: 141 cm

Maximaal gewicht: 500 kg

Breedte schacht: 118 cm

Afstand tafel-wand: 104 cm. Wel is het mogelijk deze tafels eenmalig te verschuiven voor de robot.

Veiligheid

Voedselveiligheid

Uit de Nederlandse Voedselveiligheidseisen konden we het volgende concluderen:

"Belangrijk is dus dat in de bezorgrobot de temperatuur gecontroleerd kan worden. Warme producten moeten bij een temperatuur van minimaal 60 graden bij de gebruiker bezorgd worden, koude producten bij maximaal 7 graden.Voor het meten van deze temperatuur is een infraroodthemperatuurmeter verboden. Het voedsel wordt bezorgd door heel Metaforum dus moet rekening gehouden worden met verontreiniging. Na elke levering moeten de lades schoongemaakt worden, daarnaast moeten verschillende voedingsmiddelen gescheiden van elkaar vervoerd worden."

In het stuk Uiterlijk en Functionaliteit zal besproken worden hoe de temperaturen gewaarborgd worden.

Na het interview met de medewerkers van Eurest zijn wij tot de conclusie gekomen dat wij beter kunnen werken met kastjes in plaats van laden. In dit geval is aan de eis dat kastjes na elke bestelling kort schoongemaakt moeten worden goed te voldoen. Door kastjes van verschillende formaten te maken kan ook aan de eis dat verschillende soorten voedsel gescheiden vervoerd moeten worden voldaan worden.

Veiligheidssysteem robot

Op het gebied van veiligheid rond autonome voertuigen is al veel onderzoek gedaan. Over het algemeen moet een zelfrijdende robot de volgende drie eisen voldoen:

  • Het herkennen van fouten, storingen of andere gevaren.
  • De gevolgen van deze gevaren evalueren.
  • Een beslissing nemen op basis van deze gevolgen.

Neem nu bijvoorbeeld KARIS. KARIS is een robot die in de industrie autonoom allerlei producten kan bezorgen. Door middel van twee laser scanners, een traagheidssensor, een gyrosensor en een ingebouwde roadmap kan de robot autonoom zijn route door het gebouw vinden.

Om een botsing met een mens te voorkomen wordt gebruik gemaakt van laser scanners. Deze scanners spannen een ‘protected field’ op en zodra er een mens binnen dit gebied komt stopt de robot. Om de grootte van dit ‘protected field’ te bepalen is de remweg van de robot van belang. Nu is het zo dat de robot een niet al te grootte versnelling mag hebben. Dit heeft namelijk als gevolg dat het voedsel dat de robot mee voert niet goed blijft en dat het drinken gaat morsen. Maar omdat de veiligheid van mensen boven voedselveiligheid gaat kijken we eerst naar het geval waarin dit niet van belang is. In dit geval geldt:

[math]\displaystyle{ a_{rem}=u \cdot g \hbox{ m/s}^2 }[/math]

U is in dit geval de minimale wrijvingscoëfficiënt en g de gravitatiekracht. Een materiaal dat veel gebruikt wordt voor wielen is vulkollan. De minimale wrijvingscoëfficiënt van dit materiaal op verschillende vloeren is 0.425. De zwaartekracht op aarde is [math]\displaystyle{ 9.81 \hbox{ m/s}^2 }[/math]. Dus geldt:

[math]\displaystyle{ a_{rem}=0.425 \cdot 9.81 \hbox{ m/s}^2=4.17 \hbox{ m/s}^2. }[/math]

Nu geldt:

[math]\displaystyle{ s_{rem}=\frac{v^2}{2\cdot a_{rem}} }[/math]

Dit levert de volgende grafiek:

Remweg bij maximale remversnelling.jpg

In dit geval gaan we er dus wel vanuit dat een robot alles in het bereik van de scanners kan zien. Zo bijvoorbeeld ook spullen die laag op de grond liggen. Merk hierbij op dat de remversnelling maximaal [math]\displaystyle{ 4.17 \hbox{ m/s}^2 }[/math] is. Om deze reden zijn er ook enkele plots gemaakt voor lagere remversnelling:

Remweg bij verschillende remversnellingen.PNG

De remweg is dus de straal van het gebied dat de scanners zouden moeten opspannen. Echter moeten hiervoor afwegingen gemaakt worden. Een hogere snelheid heeft als gevold dat de robot een grotere remweg heeft en dus sneller voor mensen moet stoppen. Evenzo moet een afweging gemaakt worden tussen een hogere remversnelling (maar minder goed voedsel) en een lagere remversnelling (en dus vaker moet stoppen).

Om obstakels op de vloer extra goed te observeren kan ook een techniek genaamd ‘Blind Man Stick’ helpen. In dit geval meet de robot continu de afstand tot de vloer een stuk voor hem. Als deze afstand afwijkt van wat deze zou moeten zijn ligt er dus een obstakel op de vloer.

Het veiligheidssysteem dat KARIS gebruikt zou ook voor onze bezorgrobot gebruikt kunnen worden. Maar dit is niet de enige optie waar onderzoek naar is gedaan. Zo zijn er dus vele veiligheidssystemen die geschikt zijn voor onze robot.

Grootte robot

Naast dat de robot een botsing probeert te ontwijken is het ook mogelijk dat mensen dit zelf doen. Een mens loopt ongeveer 1 m/s, maar kan zeker sneller. Als de robot deze snelheid dus aan houdt als maximum in het geval dat er mensen in de buurt zijn, zijn mensen dus altijd in staat de robot te ontwijken. Hiervoor is het wel van belang dat mensen de robot opmerken. Hiervoor zijn meerdere oplossingen.

Het eerste is geluidsfeedback. Uit de interviews met het personeel van Eurest bleek dat zij spraak wensten bij de robot om klantvriendelijkheid te verhogen. Het vermogen van de robot om te spreken of om geluid te kunnen maken zou gebruikt kunnen worden door de robot om opgemerkt te worden.

Daarnaast is het uiterlijk van de robot van belang. Niet alleen wordt een grotere robot eerder opgemerkt, een kleur kan de robot ook opvallender maken. Denk hierbij aan bijvoorbeeld gele vlakken op de robot. Naast dat de robot hierdoor herkenbaarder wordt, past deze daarmee ook goed in de omgeving van het Metaforum.

Uiterlijk en Functionaliteit

Grootte robot/kastjes

Gewenste formaat

Afbeelding uit de enquête
Afbeelding uit National Geoghaphic

Het design van de robot is sterk afhankelijk van de maximale grootte van de robot. Uit de enquête is gebleken dat een gemiddelde hoogte, het meest gewenst is onder de users. Gekeken naar de gebruikte afbeelding, zou dit rond heuphoogte van een gemiddeld mens zijn. Gebruik makende van de afbeeling uit National Geographic zou dit tussen de 0.80 en 1 meter hoog zijn. Wij streven dus naar een robot met deze hoogte.

Daarnaast moet de robot door het Metafurum rijden en dit levert ook enkele eisen op de grootte van de robot. Het belangrijkste hiervoor is de grootte van de lift. Zoals eerder genoemd zal de robot gebruik maken van de dienstlift van Eurest. Dit met de reden dat de normale liften in Metaforum zeker in de pauze zeer druk zijn en wij niet meer druk op dit systeem willen uitoefenen. Daarnaast is de gang van de kantine naar de gewone liften zó smal dat dit zeer strenge esen zou leggen op het formaat van de robot. In de keuken van Eurest (waar de dienstlift uit komt) is echter voldoende ruimte. Dit heeft als gevolg. De robot hoeft niet tussen tafels door (de robot zal het eten aan het uiteinde van de tafel bezorgen) en dus levert dit geen extra eisen op voor de grootte van de robot. De afmetingen van de lift zijn als volgt:

Breedte: 85 cm
Diepte: 130 cm
Hoogte: 141 cm

Omdat de robot autonoom de lift in en uit moet rijden is het verstandig om wat speling tussen de robot en de lift te hebben. Dit zal uiteindelijk ook minder beschadigingen aan de robot opleveren. Als een lift omhoog of omlaag gaat zal deze namelijk is trillen en als de robot tegen de wand aan staat kan dit schade veroorzaken aan de robot. Om deze reden zijn de maximale afmetingen van de robot gelijk aan:

Breedte: 75 cm
Diepte: 120 cm
Hoogte: 135 cm

Kastjes

Er is gekozen voor het gebruik van kastjes voor het voedel. Ten eerste is omdat de berging van het voedsel beveiligd moet zijn tegen diestal gekozen voor een afgesloten ruimte waarin het voedsel vervoerd wordt. Deze ruimtes gaan open met behulp van een inlogsysteem. (Zie Veiligheid voor meer informatie.) Daarna was er de keuze tussen laden en kastjes. Ons eerste idee om laden te gebruiken is ons afgeraden door Eurest. Naast dat het veel ruimte in neemt, moeten zij na elke bezorging zorgen dat de bergingsruimte van het voedsel schoon is. Echter is het voor medewerkers van Eurest lastiger om deze laden schoon te houden dan kastjes. Om deze redenen hebben wij dus voor kastjes gekozen om het voedsel tijdens het bezorgen in op te bergen.

Soorten voedsel

Voordat naar de grootte van de laden gekeken kan worden is van belang welke soorten voedsel vervoerd kunnen worden met de serveer robot. Mede door de strenge eisen over de bezorgtijd van Eurest is ervoor gekozen om niet alle soorten voedsel te bezorgen. Wij zullen warme maaltijden die niet lang in een afgesloten ruimte mogen liggen dus niet bezorgen. Wél heeft Eurest op dit moment panini"s en kleine broodjes zoals sucijzenbroodjes en worstenbroodjes op dit moment ook voor langere tijd onder een warmtelamp liggen. Omdat de kastjes aangepast zullen worden op het soort voedsel hebben wij er dus voor gekozen om de volgende soorten voedsel te bezorgen die in het huisige assortiment van Eurest (in metaforum) zitten:

Koude dranken (denk hierbij aan flesjes water, cola, fanta etc)
Warme dranken (zoals koffie en warme chocolademelk)
Soep
Belegde stokbroden
Panini's
Kleine broodjes zoals sucijzenbroodjes en worstenbroodjes (de broodjes die dus wel voor langere tijd in een afgesloten ruimte kunnen liggen.

Het voordeel van het beperken van het aantal soorten voedsel dat de robot bezorgt, heeft nog meer voordelen. Ten eerste wordt de druk op de robot kleiner. Als alle 600 mensen die normaal in de pauze eten uit de kantine halen, nu de robot zouden gebruiken zou de druk hierop te groot worden. Op deze manier verminderen wij de druk. Daarnaast hoeven er bijvoorbeeld geen vriesvakjes in de robot omdat Eurest ook ijs verkoopt terwijl dit bijvoorbeeld in de winter amper verkocht wordt. Zo'n vriesvakje koelen zou veel energie kosten en naast dat dit verspilling is, zouden deze vakjes ook veel ruimte innemen in de robot. Daarnaast hebben deze soorten voedsel allemaal vaste afmetingen. Zo variëert het formaat van een flesje drinken niet veel en komen soep en warme dranken altijd in dezelfde bekertjes. De formaten van de soorten voedsel zijn als volgt:


!!!


Soorten kastjes

De formaten die de kastjes zullen krijgen zijn speciaal aan deze formaten aangepast. Ten eerste zijn er de warme en koude dranken. Voor deze soorten voedsel zijn de formaten van de kastjes als volgt: 25x10x10cm. Op deze manier passen alle soorten drinken in deze vakjes. Deze vakjes zullen nog wel gesplitst moeten worden in twee soorten: koude en warme kastjes. Deze kastjes zijn type 1. Voor de belegde stokbroden en panini's zijn de formaten als volgt: 20x15x10cm. Ook van deze kastjes zullen twee soorten gemaakt moeten worden. Alleen hoeft er in dit gevoel geen voedsel gekoeld te worden maar blijven de stokbroden het lekkerst op kamertemperatuur. Deze kastjes heten type 2. Het laatste soort kastje, type 3, is voor de kleine broodjes en de soep en heeft het volgende formaat: 20x15x10cm. Dit soort broodjes zal allemaal verwarmd moeten worden.

Kastensysteem

Eerder in deze sectie zjin de gewenste en uiterlijke grootte van de robot vermeld. In deze ruimte zullen zo veel mogelijk kastjes geplaatst worden om zo veel mogelijk mensen van eten te voorzien. Dit levert het volgende: aan alke zijwand (dus linker er rechter zijwand) van de robot liggen ten eerste 6 kastjes van Type 1, daarnaast 4 kastjes van type 2 en ten slotte 8 kastjes van type 3. Dit ziet er als volgt uit:

Schets2.png

De wanden tussen kastjes en de buitenwanden zijn elk 2 cm dik. Hierin kan bijvoorbeeld bedrading komen mocht dit nodig zijn voor sloten etc. Daarnaast leverten deze wanden van 2 cm een isolatielaag waardoor de robot minder energie nodig heeft om het voedsel warm of koud te houden. De robot heeft dus een totale hoogte van 74 cm en het gedeelte van de laden heeft dus een lengte van 90 cm. Aan de voor en achterkant van de robot komen nog wel kreukelzones voor het geval dat er een botsing op treedt. Deze ruimte zal een bolle vorm hebben om schade door hoeken en scherpe randen te voorkomen en zal een dikte hebben van 15 cm. De totale lengte van de robot wordt dus 120 cm.


Naast het kastensysteem aan de zijkant van de robot komen er ook nog 4 kastjes op de bovenkant. Hiervan zijn er 2 van type 1 en 2 van type 2. Dit ziet er dus als volgt uit:

Schets3.png

Ten slotte moet de temperatuur in elk van deze kastjes bepaald worden. Het warme voedsel moet bewaard worden bij een temperatuur van 60 graden en het koude voedsel bij een temperatuur van 5 graden.

  • Type 1: In de kastjes van type 1 komen de warme dranken en koude dranken en in het geval dat er ruimte over is ook soep. Deze kastjes moeten dus verdeeld zijn in kastjes met een warme en kastjes met een koude temperatuur. Deze verdeling is ongeveer half om half (afhankelijk van de tijd van de dag). Er zijn dus 7 warme kastjes en 7 koude kastjes.
  • Type 2: In deze kastjes komen de stokbroden en de panini's. Ook hier verwachten we een verdeling van ongeveer half om half. Er zijn dus 5 warme kastjes en 5 koude kastjes.
  • Type 3: In deze kastjes wordt alleen warm voedsel geserveerd. Indien nodig kan hierin ook warme soep vervoerd worden.

Om energieverspilling te voorkomen is het het beste om warme kastjes bij elkaar te plaatsen. Om deze reden is besloten de kastjes op de volgende manier in warm en koud te verdelen:

Schets4.png

Extra's

Naast dat er in de robot ruimte moet zijn voor de laden zitten er in de robot onder andere ook accu's, verwarmingselementen etc. Hiervoor is ruimte overgelaten in het midden van de robot, tussen de laden aan de linker en rechter zijde van de robot. Maar naast dat er in dit gedeelte elektrische componenten zitten moet er ook ruimte zijn voor enkele wensen van Eurest. Ten eerste biedt Eurest bij het voedsel servetten, bestek en zout en peper aan. Hiervoor is ruimte aan de bovenkant van de robot gereserveert. Deze ruimte heeft een afmeting van 12x40cm en is 10cm diep. Deze bak kan bijvoorbeeld als volgt ingedeeld worden:

Bestekbak.png

In dit geval zijn de formaten van elke bak als volgt:

  • Servetten: 12x25cm. De servetten van Eurest zijn 24x24cm en passen dus precies staand in deze bak. Een ander idee is om de servetten nog maals dubbel te vouwen en als een stapel in deze bak te leggen. Eurest kan hierin zelf beslissen waaraan zij voorkeur geven.
  • Lepels, messen en vorken. Elk van deze bakken is 5x8cm. Dit is veel kleiner dan de bakken die Eurest op dit moment heeft staan voor bestek. Toch zouden deze bakken ruim voldoende moeten zijn om het bestek voor één levering in te zetten. Na elke levering kunnen deze bakken bijgevuld worden.
  • De bakken voor zout en peper hebben de volgende afmetingen: 4x7.5cm. Dit klinkt klein maar omdat de bakken 10cm diep zijn, is er genoeg ruimte voor zout en peper.

Naast ruimte voor servetten, bestek, zout en peper maakte de medewerkers van Eurest ook duidelijk dat zij behoefte hebben aan ruimte voor een prullebak in de robot. Om deze reden is er aan de binnenkant van de robot ook ruimte overgelaten voor een vuilniszak. Aan de bovenkant is er ruimte waar het afval in gegooid kan worden. Daarnaast kan dit gedeelte van de robot geopend worden aan de bovenkant om de vuilniszak te vervangen.

De bovenkant van de robot ziet er uieindelijk dus als volgt uit:

Bovenkant.png

Totale grootte

In de sectie kastensysteem stond al beschreven dat de robot een totale lengte zal hebben van 120cm en een hoogte van 74 centimeter. Om daarnaast genoeg ruimte te hebben voor onder andere de bestekbak, prullenbak en elektronische onderdelen zal de robot een breedte krijgen van 70cm.

Beveiliging

Veiligheid vs gemak

In de enquête is de volgende vraag gesteld: 'Wat vind je belangrijker in deze robot, weerstand tegen diefstal of meer gemak bij het openmaken?' Het resultaat was dat van de 150 mensen 57% een voorkeur heeft voor veiligheid boven gemak. Toch is er nog 43% dat liever meer gemak heeft bij het openmaken. Dit betekent dat wij een systeem zoeken waarbij de kasten afgesloten zijn, om diefstal te voorkomen. Het openen van de kastjes moet echter niet te moeilijk zijn. Om deze reden hebben wij gekozen voor het systeem wat de printer op de TU/e op dit moment ook gebruiken. Dit systeem werkt als volgt: Bij het eerste gebruik logt een student in op de printers met zijn/haar s-nummer en het bijbehorende wachtwoord. Daarna houdt de student zijn/haar studentenpas voor de scanner. Op dit moment koppelt de printer het s-nummer aan de studentenpas. Als de student daarna vanaf zijn/haar (persoonlijke) laptop print, hoeft hij/zij alleen nog maar zijn/haar studentenpas voor een willekeurige printer te houden en de documenten worden hierop geprint. Omdat de meeste studenten wel eens gebruik gemaakt hebben van dit systeem zijn de meeste s-nummers dus ook al aan studentenpas gekoppeld.

Het systeem dat de printers op dit moment gebruiken willen wij als volgt toepassen op onze robot: Een student zal zich eenmalig moeten aanmelden om gebruik te maken van deze service. Eurest staat namelijk los van de TU/e en heeft dus geen inzicht in de wachtwoorden van de TU/e. Een oplossing hiervoor is dat bij het aanmelden een activatiemail gestuurd wordt naar de studentenmail van de student. De naam van een student kan namelijk wel aan zijn/haar s-nummer gekoppeld worden. Als op de link in de activatiemail wordt geklikt kan een wachtwoord ingesteld worden. Vanaf dit moment kan de student op de site/app inloggen met zijn/haar s-nummer en zelfgekozen wachtwoord. De volgende stap is om een studentenkaart te koppelen aan het s-nummer. Voor de meeste studenten zal dit al gebeurt zijn bij gebruik van de printers. Het is niet de bedoeling dat dit koppelen ook op de robot kan. Dit kan namelijk veel tijd kosten terwijl mensen op hen eten zitten te wachten. Daarnaast is een scherm op de robot overbodig, kost veel geld, en heeft een grote kans op schade op te lopen. Een student zal dit dus nog steeds bij de printers moeten doen. Een andere optie is dat bij de kantine een paal komt te staan waarop een student zijn campuskaart aan zijn/haar s-nummer kan koppelen. Nadat een campuskaart gekoppeld is aan het s-nummer van de student is het mogelijk om via de site/app in te loggen, eten te bestellen en dit op te halen bij de robot door de campuskaart voor de scanner te houden. Als de scanner een campuskaart herkent zullen vervolgens de deurtjes van de kastjes, waarin het voedsel van de student zich bevindt, opengaan.

Gevolgen Eurest

Het gebruik van dit veilige en gebruiksvriendelijke systeem heeft wel gevolgen voor de medewerkers van Eurest. Zij zullen dus niet alleen op een scherm te zien krijgen welke bestellingen gedaan zijn, maar ook in wel vakje welke bestelling moet.

Hoe dichtbij levert de robot het voedsel af bij de gebruiker? (Nog niet volledig uitgewerkt)

Wensen gebruikers

Uit de enquête blijkt dat een afhaalafstand van ongeveer 5 meter het meest wenselijk is. Is dichtbij mogelijk?

Hoe en wanneer wordt de robot opgeladen? (Nog niet volledig uitgewerkt)

Bij het cafetaria komt een laadstation en wachtruimte voor de robots, waar de robots kunnen opladen en wachten tot ze weer nodig zijn. Het laadsysteem gaat via een contactplaat aan de onderkant, waarmee contact gemaakt wordt met elektrische circuits in de grond van het laad station.

Uiterlijk

Zoals eerder genoemd heeft de robot een totale grootte van 120x70x74cm. Dit is echter zonder de wielen mee gerekend. Aan de voor en achterzijde van de robot heeft de robot een zogenaamde 'kreukelzone'. Deze loze ruimte is bol gevormd zodat een mens bij een botsing zo min mogelijk schade op loopt. Scherpe randen en hoeken hebben namelijk een veel grotere impact dan een afgeronde vorm. Verder zal de robot naast afgeronde randen een redelijk de vorm van een balk behouden.

Voor de kleur van de robot hebben wij op twee dingen gelet: veiligheid en omgeving.

  • Veiligheid: Des te feller de robot gekleurd des te beter deze opvalt in zijn omgeving tussen mensen. En dit zorgt ervoor dat mensen de robot beter opmerken waardoor de kans op een aanrijding kleiner wordt.
  • Omgeving: Het gebouw heeft na zijn transformatie van W-hal naar Metaforum meerdere architectonische prijzen gewonnen waaronder de LEAF Award 2013. De Tu/e is zeer trots op dit gebouw en dus zou het mooi zijn als de robot, bijvoorbeeld qua kleur, goed bij dit gebouw past.

Dit beide is mogelijk door de kleurcombinatie geel-blauw te gebruiken. Donkerblauw is een kleur die naast geel op dit moment in veel details voor komt in het Metaforum. Denk hierbij bijvoorbeeld aan de wegwijzerbordjes. Geel is daarnaast ook een opvallende kleur. Een compleet gele robot zou echter té veel worden. Studenten zouden hierdoor bijvoorbeeld afgeleid kunnen worden en geel is een kleur die snel vies wordt. Om deze redenen zijn donker blauw en geel dus goede kleuren voor de robot.

WAT WORDT WELKE KLEUR??

Algorithmic Design

In dit hoofdstuk zullen we de verscheidene algoritmen beschrijven die kunnen komen kijken bij een robot als de onze. We zullen voor ieder van de problemen die de algoritmen kunnen oplossen voor de robot de beschikbare algoritmen beschrijven en tegen elkaar afwegen.

Pathfinding

Met de lijnen die op de vloer van het MetaForum geplaatst dienen te worden om onze robot te laten functioneren is de omgeving van de robot voor de robot met betrekking to het vinden van routes te vereenvoudigen tot een simpele graaf met een beperkt aantal knooppunten en gewogen zijdes. De knooppunten van deze graaf zijn de punten waarop de robots eten bezorgen en punten waarop de lijnen zich splitsen en weer samenvoegen. De lijnen tussen deze punten zijn de zijden van deze graaf. Omdat het een graaf betreft zijn er voldoende algoritmen beschikbaar om over deze graaf te navigeren.

Basisalgoritme

Omdat het MetaForum een simpele en eindige omgeving is zou het mogelijk zijn om van alle knopen de snelste route naar alle andere knopen een maal te berekenen en de robots uit te rusten met deze dataset. Op basis van deze dataset zouden robots dus de snelste route eenvoudig kunnen vinden. Hoewel dit een voordehandliggende oplossing zou zijn is deze niet praktisch. Het introduceren van meerdere robots en omgevingsinvloeden als rondlopende mensen en andere obstakels zorgt er namelijk voor dat een statische dataset ongeschikt is voor ons scenario. Het zou namelijk zo kunnen zijn dat een robot op een lijn rijdt waarop een andere robot in de tegengestelde richting rijdt. Nu zouden de robots langs elkaar kunnen rijden, maar dit maakt de breedte van de rijbaan die onze robots nodig hebben twee maal groot.

Een betere oplossing zou zijn om het alom bekende A* algoritme te gebruiken om de robots in real-time de snelste route te laten vinden. Door het gebruiken van een real-time algoritme zijn de observaties van de robot ook te verwerken in het interne model (de graaf) die de robots van de wereld (het MetaForum) hebben. De data dit de robots hebben kan onderling gedeeld worden om een nog completer beeld van de wereld te verkrijgen en daardoor dus nog efficiënter te werken. Het gewicht van de zijden in de graaf is de tijd die de robot nodig heeft om over de zijde te bewegen. In het begin kan dit een gok zijn. Zodra de robot in dienst is kan de robot het voortschrijdend gemiddelde van de daadwerkelijke tijden gebruiken. Zo optimaliseert de robot zichzelf tijdens het bedrijf en zal hij om kunnen gaan met veranderende omstandigheden. Ook zou het kunnen voorkomen dat er een recht stuk van de route van robot A op dit moment in beslag wordt genomen door een robot B die in de tegenovergestelde richting rijdt. Robot A kan nu met robot B communiceren en de tijd die robot B nog nodig heeft om het rechte stuk af te leggen op te vragen en dit in het gewicht van de zijde verwerken. Zo kan robot A beslissen om een andere route te nemen om het gebied waar robot B rijdt te vermijden, of om te wachten tot robot B van de route af is als dat tot een snellere bezorging zal leiden. De robots profiteren bij het delen van data dus niet alleen van data over de omgeving, maar ook data over de locatie van de robots zelf.

Hoewel de lijnen waarover onze robot navigeert natuurlijk impliceren dat mensen er niet op moeten gaan staan en er geen objecten op moeten achterlaten is het negeren van deze mogelijkheid natuurlijk niet verstandig. Als robots een obstakel detecteren dat niet te omzeilen is kunnen ze dit naar de andere robots communiceren. Alle robots kunnen dan de bijbehorende zijde in hun model een oneindige waarde geven om dit obstakel te mijden. Bestellingen naar bestemmingen die door dit obstakel onbereikbaar gemaakt worden zouden naar de catering geretourneerd kunnen worden en nieuwe bestellingen kunnen worden afgewezen. De catering kan dan van dit obstakel op de hoogte worden gesteld waarna ze actie kunnen ondernemen.

Formele beschrijving algoritme

TODO

Scheduling

TODO