donderdag 2 april 2015

Feedback presentatie

 We hebben onze concepten en testopstellingen gepresenteerd aan de opdrachtgevers en begeleiders.

De keuze om steppenmotoren te gebruiken blijkt onnodig te zijn. Als wij een wieltje zouden gebruiken dat meedraait met de aandrijfmotoren kunnen we de omwentelingen hiervan uitlezen en hiermee de positie bepalen. Voor het precies draaien kan een kompas gebruikt worden waarvan deze op een bepaalde hoek ingesteld word. Bij het kompas moeten we er wel op letten dat er mogelijk storingen in het gebouw kunnen zijn. Als we andere motoren zouden gebruiken zou de robot zuiniger kunnen zijn.

Als de stoelen in Ter Reede in een rij staat gaat ons concept niet goed werken. Onze suggestie hiervoor is dat de medewerkers van Ter Reede elke avond in plaats van elke ochtend de stoelen onder de tafels schuiven waardoor een andere opstelling niet mogelijk is.

Energie opslag en transport kwam veel tekort ten opzichte van het andere team. De mensen die verantwoordelijk waren voor dit subsysteem hebben niet genoeg werk geleverd en zullen dit moeten inhalen in blok 8.

De presentatie was overtuigend omdat we on kwetsbaar opstelden en dat we de integrale subcomponenten aantoonden. Voor logics werd Meneer Mouw zenuwachtig omdat we verschillende arduino's aan elkaar wilden linken.
 


vrijdag 27 maart 2015

Stoeldetectie



Als er een stoel wordt gedetecteerd zal de robot zich hier recht voor moeten positioneren, deze vastpakken, een rondje draaien, de stoel weer terug zetten, om de stoel heen manoeuvreren en verder gaan in zijn pad. De stoel gaat herkend worden door middel van een markeerder die wordt gedetecteerd met een pixi CMUcam5 die werkt met een arduino. De markeerder bevat meerdere kleuren waardoor ook de hoek van de markeerder herkend kan worden, waardoor de robot de stoel op de verkeerde hoek kan pakken.
De gegevens uit de camera kan uitgelezen worden via de seriële monitor op de arduino, de gegevens zien er dan als volgt uit:

Detected 1:
  block 0: sig: 12 x: 159 y: 109 width: 61 height: 61 angle: 20

Er wordt een object gedetecteerd met een ‘signature’, dit is de kleur of kleurcode die je aan de pixy camera geleerd hebt. In dit geval is de signature 12, dit wilt zeggen dat het een combinatie is van kleurcode 1 en 2. De positie van het object wordt ook weergegeven op de x (tussen 0 en 319) en y ( tussen 0 en 199) as. De hoogte en de breedte van het object worden weergegeven, hiermee kun je het oppervlak van het object berekenen. Tot slot wordt de hoek waaronder het object zit weergegeven als er gebruik gemaakt word van een markeerder met meerdere kleuren.
De informatie van de objecten kunnen in de volgende functie op gevraagd worden:
·  pixy.blocks[i].signature
·  pixy.blocks[i].x
·  pixy.blocks[i].y
·  pixy.blocks[i].width
·  pixy.blocks[i].height
·  pixy.blocks[i].angle

Waarbij de I het nummer van het gedetecteerde object is.

obstakel detecti



Als er een obstakel wordt gedetecteerd zal de robot om dit obstakel heen moeten manoeuvreren en vervolgens verder gaan in zijn pad. De robot zal eerst 90 graden moeten draaien, vervolgens zal deze langs het obstakel heen moeten rijden totdat deze weer op de oude positie staat.
 














 Dit systeem is gesimuleerd op een arduino met ultrasoonsensoren en led verlichting. De testopstelling zag er als volgt uit:


 De functie voor het manoeuvreren ziet er als volgt uit:

void omheenrijden() {   
    int detectie_zij = afstand_zij();
   
    while(detectie_zij >5 && detectie_zij < 15)
    {
      digitalWrite(ledvoorlinks, HIGH);
      digitalWrite(ledvoorrechts, HIGH);
      detectie_zij = afstand_zij();
    }

    while(detectie_zij <= 5 && detectie_zij > 0)
    {
      digitalWrite(ledvoorrechts, HIGH);
      digitalWrite(ledvoorlinks, LOW);
      detectie_zij = afstand_zij();
    }
   
    while(detectie_zij >15 || detectie_zij == 0)
    {
      digitalWrite(ledvoorlinks, HIGH);
      digitalWrite(ledvoorrechts, LOW );
      detectie_zij = afstand_zij();
    }
    }

Deze functie zal nog getest moeten worden op het ontwerp en hieruit zal blijken of er nog veranderingen aan het ontwerp moeten komen.


vrijdag 13 maart 2015

obstakel detectie



Als er een obstakel wordt gedetecteerd zal de robot om dit obstakel heen moeten manoeuvreren en vervolgens verder gaan in zijn pad. De robot zal eerst 90 graden moeten draaien, dan als de obstakel gepasseerd is 90 graden terug draaien totdat het obstakel gepasseerd is, vervolgens draait de robot weer 90 graden en rijdt deze door totdat deze op de oude positie is en draait weer 90 graden om zn pad af te maken. Dit gaat door middel van een ultrasoon sensor.

Verbeterpunten voor de toekomst

Dit systeem werkt alleen voor vierkante objecten. In de toekomst moet gekeken worden hoe verschillende vormen obstakels vermeden kunnen worden. Daarnaast moet er ook gekeken worden hoe obstakels die tegen de muur staan vermeden moeten worden zonder dat de robot tegen de muur botst en vast loopt.

Uitgewerkt integraal idee

We hebben uiteindelijk voor de cleantastic gekozen om verder uit te werken.



Van de drie integrale ideeën kan maar één idee worden meegenomen naar de conceptfase, om dan uitgewerkt te worden tot een haalbaar niveau. Hierbij komt ook het proof of concept kijken, waarin door (versimpelde) modellen kan worden aangetoond dat de gekozen ontwerpen en oplossingen werken zoals gewenst. Na het kiezen van de drie integrale ideeën kwamen nog een aantal oplossingen naar voren die niet waren bedacht tijdens het maken van de ideeschetsen. Voor verplaatsing en pick en place zijn oplossingen bedacht die sterker waren dan de ideeën die in de drie integralen werden gepresenteerd.
Er is daarom gekozen voor een combinatie van een aantal nieuwe oplossingen, die zijn samengevoegd tot een ‘nieuw’ integraal idee. Dit idee wordt meegenomen naar de conceptfase, waar de haalbaarheid zal worden aangetoond doormiddel van onderzoek en modellen.
Eerst werd er gekeken naar de lepels die de stoel zouden op tillen. Om de stoel op te tillen moesten de lepels lang genoeg worden zodat de stoel er niet vanaf zou kunnen vallen, daarnaast moest het optil mechanisme veel kracht moeten hebben om de stoel daadwerkelijk op te kunnen tillen en ook zou het system genoeg contragewicht moeten hebben zodat deze niet zou omvallen. Er is een keuze gemaakt om de lepels naar de zijkant bewegen en zo tussen de stoelpoten geklemd worden, vervolgens kan de stoel verschoven worden.
Voor dit idee is een proof of concept gemaakt.
Om zo min mogelijk ruimte nodig te hebben voor de stoelen weg te schuiven en stofzuigen is gekeken naar binnen vorkheftrucks die in nauwe ruimtes moeten werken. De heftrucks werken met twee aangedreven voorwielen en een stuurwiel achterin. Voor de logics op systeemniveau zou het makkelijker zijn om het achterste wiel een zwenkwiel te maken en met de voorwielen te sturen.