Overigens, nog een project waar ik dit semester aan gewerkt heb, voor het vak "vakoverschrijdend practicum".
We hebben een "compliant servo" ontworpen, een servo die in staat is om zowel aan positie als krachtcontrole te doen.
Een eerste versie hebben we gemaakt op een dwengo-bordje met breadbord. Op het breadbord hebben we verschillende manieren moeten afgaan om aan stroommeting te doen, en om de motordriver op een goede manier te realiseren. En het resultaat daarvan zag er zo uit:
Dit ontwerp hebben we dan verkleind en op een kleine chip geplaatst, met minder tierlantijntjes, kleinere PIC, geen scherm meer, kleinere interface, meer vermogen, grotere efficiƫntie, enz.
Hardware-ontwerp
Resultaat:
Om het ontwerp te testen, hingen we het aan aan een Dwengo-bordje. Dat dwengo-bordje stuurde dan zowel de gewone als de compliant servo aan, wat een mooie demo-opstelling leverde.
Worst-case scenario. Robot looking good the night before:
Day of the game: Robot weigert deftig te werken (video volgt nog) Hierboven ziet u de robot op de dag van de wedstrijd verdwalen in de eindeloze zee van gaten, althans, dat denkt hij...
Na heel wat zoeken en gefrustreerd zuchten blijken de afstandssensoren niet gevoelig genoeg te zijn. Deze werkten wel perfect de avond tevoren, dus waarschijnlijk zal het iets te doen hebben met het hout of met de veranderende belichting. Onthouden voor de volgende keer: Edge-detection heeft wat meer controlekring nodig om wat intelligenter te zijn.
conclusie: NEVER HARD CODE ANYTHING! DONT EVEN HARDCODE YOUR CODE AND DONT EVEN THINK ABOUT HARDCODING YOUR COMMENT TO YOUR CODE!
Helaas waren tegen dat dat probleem opgelost was de gemakkelijke parcours al voorbij, en was het meeduwen met de bergrit (waar we eigenlijk niet op voorzien waren). Dan toch nog eerste IEEE-lid geworden (doet me eraan denken om eindelijk eens werk te maken van het hernieuwen van mn lidkaart).
Uiteindelijk een bijzonder, exceptioneel en zelden zo erg frustrerende avond beleefd. Er zat zoveel meer potentieel in, onze robot had de eerste 2 parcours kunnen afleggen in de helft van de huidige besttijd. Maar het mocht niet wezen. Onze gedachten gaan dan ook uit naar alle collega-robot-bouwers die die avond (en alle andere avonden) dezelfde problemen meemaken. (ik denk dan o.a. aan Jellytrons opvolger, die had ik echt graag zien rijden...)
Conclusie: programming hardware sucks.
Op naar het volgende project...
zaterdag 17 april 2010
Meet Hermann, de robot met het wildste kapsel van Vlaanderen en omstreken.
Probleem: het winnen van de robotcompetitie (spreek uit: woowboow-kompuhtiesie) 2010
Plan 1: een robot met zeswielaandrijving, met de linkerkant op 1 motor, en de rechterkant ook op 1. Als strategie kozen we om de voorste wielen een hoek van +-60° te kunnen laten maken met het frame, onafhankelijk tussen linker en rechterwiel. Het resultaat is een robot met zeer flexibele bewegende ophangen, geschikt voor alle mogelijke oneffen terreinen, en dus ook de lage muurtjes van het parcours.
De eerste experimenten waren nochtans zo hoopvol. Op het parcours ging de robot SNEL en vlot over de lage muurtjes, maar toen begon de miserie pas. Eenmaal het PIC-bordje (+-250g) en de batterijen (500g!) erop zaten, kon de robot zich niet meer opheffen over de muren! Vering, bumper, lagere transmissie tussen motor en wiel, wrijving verminderen, ALLES is geprobeerd, maar hij was niet meer werkend te krijgen. Het is OFWEL over de muurtjes, OFWEL kunnen draaien. En toegegeven, dit laatste is ook belangrijk.
Resultaat: Cool idee, niet haalbaar zonder sterkere motoren/servo om de hoek van de voorste wielen te regelen. VUILBAK IN!
Daarom: plan 2 Meet Hermann!
Een robot die met zijn schattige ogen, menig hart gaat doen smelten.
Het oorspronkelijk ontwerp zag er zo uit:
De robot heeft 2 wielen, elk op een andere motor. Beide lichtjes afgetransformeerd om voldoende kracht te hebben om zeer wendbaar te zijn en snel te kunnen reageren. Verder op iedere hoek een korteafstandssensor om gaten te detecteren, en 2 langeafstandssensoren om muren te kunnen zien. Van die hebben we er 1 vooraan geplaatst, en 1 achteraan, om symmetrisch te werk te kunnen gaan op het parcours. Dit bespaart ons weeral wat tijd in het draaien en verdubbelt het gezichtsveld. Om dat gezichtsveld nog wat te vergroten, zijn beide op een arm aan een servo geplaatst. Zodat Hermann links en rechts kan kijken, zonder te moeten draaien.
Hier doet hij voor het eerst zijn oogjes open:
Na dagen van hersolderen, pinnen verplaatsen, vloeken, rommelen in de code, vloeken, nogmaals hersolderen, nogmaals dingen verplaatsen, vloeken, uitmeten, batterijen opladen, vloeken, componenten vastlijmen, testen, vloeken, opnieuw vastlijmen, vloeken, lostrekken en nog eens vastlijmen ziet onze Hermann er zo uit:
Wiiiiii Snel, compact, ongelofelijk wendbaar en een hoge aaibaaiheidsfactor. Meer moet dat niet zijn.
Nu enkel nog de software om dit ontwerp te perfectioneren, en we zijn klaar om al die rijdende kubussen af te drogen en van het parcours te rammen!