Klinkt niet als een 'Big Deal'?
Nou, om eerlijk te zijn, voor mij die het bleek erg moeilijk werken. -0)
Zoals in vorige blogs ik ben niet streven naar een wetenschappelijk essay, maar ik zal proberen om de feiten die ik had om te verzamelen voor het maken van dit werk, op een knappe manier bloot te stellen. Hoop dat het zal helpen anderen die op dezelfde onderwerpen werken.
Tot nu toe ik had mijn robots loopt naar een doel, in zicht te houden en de richting van de bot volgens de verandering in de camera-afbeelding aanpassen. Eenvoudig en effectief wanneer men kunt doelobjecten streven naar. De scripts die ik gebruikte resulteerde in leuk gebogen aanzet markeringen die ik upfront plaatste.
Maar denken over gecontroleerde bewegingen zonder gebruik van een camera en trajecten in een rechte lijn met een bepaalde snelheid over een bepaalde afstand lopen, ik moest graven in de theorieën van odometry: het gebruik van gegevens van beweging sensoren te schatten in positie veranderen in de tijd.
Het idee is eenvoudig en zo oud als oude navigatie door zeilers. De methode die zij gebruikt heet "Dead reckoning", waarbij 'De onder a, d' staat voor 'afgeleid'. De zeelieden naar schatting van hun positie ten opzichte van een startlocatie met behulp van snelheid en rubriek. Zodra nieuwe gegevens over de werkelijke positie is opgehaald (bijv. door het meten van de sextant), was een nieuwe, gecorrigeerde, schatting gemaakt. Om effectieve, snelle en accurate data zijn collectie, apparatuur kalibratie en verwerking vereist in de meeste gevallen.
Dus, om een robot auto verplaatsen in een rechte lijn over een bepaalde afstand met een bepaalde snelheid, dient een schatten waar het zal zijn in een kort moment van tijd, lees dan de actuatoren, correcties op basis van de fouten tussen de schatting en lezingen te bepalen en een nieuwe schatting berekenen. Klinkt als een typische taak voor een computer!
Maar er veel meer betrokken dan kale codering is. De hardware-eigenschappen zijn belangrijk (grootte van de auto en de wielen), sterkte van de motoren, maximale snelheid en versnelling van het bot en de resolutie van de actuatoren.
En dan is er nog veel meer die van invloed op de doeltreffendheid, de toonaangevende aan (soms) frustrerende resultaten. Maar ik ga naar alles wat later aan komen.
Ik zal omgaan met het deel van de raming, de controlelussen (uitleg van het gebruik van PID's), de kenmerken van de actuatoren en sommige handige delen van theorieën over dead reckoning met robots. De Python script kan worden gevonden op:
https://bitbucket.org/RoboBasics/Raspberry-Robo-ca...
U zult niet vinden zeer geavanceerde codering er. Het is ongecompliceerd geschreven met een heleboel reacties om het zo leesbaar mogelijk te maken voor degenen die net (zoals ik beginnen). Hetzelfde geldt voor de film. Het is niet een commerciële video. Shot met mijn Blackberry slimme telefoon en slechts bedoeld ter illustratie van wat het script impliceert.