Stap 20: programmeren
Om het beklimmen van een boom, gaat de robot via een eenvoudige reeks moties. Ten eerste, het topsegment grepen de boom en het onderste segment releases vorm de boom (indien nodig). Vervolgens contracten de wervelkolom, het onderste segment omhoog te trekken naar het topsegment. Vervolgens het onderste segment grepen de boom en daarna het topsegment releases van de boom. Ten slotte, de wervelkolom zich uitstrekt, duwen het topsegment naar boven, en de cyclus opnieuw kan beginnen. Voor het gemak van de programmering schreef ik een functie die overeenkomt met elke fundamentele beweging. Deze zijn als volgt:- closeTop
- closeBottom
- openTop
- openBottom
- Lift
- Push
Door het combineren van deze functies in de juiste volgorde, kan de robot worden gemaakt om te stijgen of dalen van de bomen.
Het openen van de benen is zeer eenvoudig. De benen draai naar buiten van de boom totdat hun rotatie sensoren een punt in het programma bereiken. Vervolgens is nettoevoer onderbroken aan de motoren. Sluiten van de benen op de boom, maar is een beetje complexer. Aangezien bomen in diameter variëren, moeten de benen zitten kundig voor een breed scala aan diameters greep zonder de herprogrammering van de robot voor elke grootte. Om erachter te komen wanneer afgesneden kracht aan de motoren, berekent de controller eerst de snelheid waarop de benen naar de boom evolueren. Het doet dit door bemonstering van de positie van de benen potentiometers om.05 seconden. Het trekt de vorige waarde van de potentiometer van de huidige waarde voor de afstand reisde door de benen over de periode. Zodra de afstand reizen dicht bij nul (ik gebruikte 1 in mijn programma), betekent het dat de benen hebben gegrepen in de boom en beginnen te vertragen. Dan snijdt de controller van de macht aan de motoren, om te voorkomen dat ze uit de stalling uit, of beschadiging van zichzelf, de motorcontroller of de versnellingsbakken.
Het laatste stukje van de programmering puzzel is de methode voor het beheren van de robot de acties. Als je kijkt naar de bovenstaande cyclus van de beweging, zult u merken dat de robot de boom te allen tijde is aangrijpend. Dit maakt het moeilijk te verwijderen van de robot, zodat ik de schakelaar handmatig wilt bepalen het gedrag van de robot geprogrammeerd. Terwijl de schakelaar uitstaat (open circuit), houdt de robot haar benen open. Zodra de schakelaar is ingeschakeld, begint de robot zijn klimmen cyclus. Als u wilt verwijderen de robot van de boom, de schakeloptie terugvertaald in de uit-stand en laat u beide sets van benen.
Als u dit project hield, please vote voor me in de Epilog wedstrijd! Wat zou ik doen met een laser cutter? Nou, kon ik gebruiken om onderdelen te maken voor nog meer robots en machines (nadat ik klaar met etsen van elk elektronisch apparaat dat ik zelf, natuurlijk). Niet hoeft te handmatig snijden, bestand, buigen, en grind elk onderdeel van mijn robots zou verhuren mij beduidend verhogen de complexiteit en de variatie van wat ik kan bouwen, en ook aanzienlijk zou bezuinigen op de bouwtijd, zodat ik zou kundig voor lichaamsbouw zelfs meer interessante dingen.
Update
Dit project was Aanbevolen op Hack A Day! Bedankt voor de geweldige artikel.