ArduBot (6 / 8 stap)

Stap 6: fysica


De volgende stap is de interpretatie van de gegevens die we kunnen verzamelen.
De bots gehele navigatie wordt gedaan door de PING-sensor. Deze informatie wordt weergegeven als een lange reeks van gehele getallen. Het is aan ons onze kennis van onze robot en mechanica gebruiken deze gegevens om relevant te maken.

Een gemakkelijke out zou aan het stuur de robot vooruit totdat het aantal minimaal veilige afstand benaderd en vervolgens om te zetten tot de afstand voor het groter dan de minsafe en herhaal is. Mij watertje trying voor nog meer plezier met mijn arduino dan dit :)

Als we de robot, spin een cirkel en verzamelen van gegevenspunten van onze PING-functie, kunnen we deze gegevens gebruiken vertegenwoordigen het grondplan van een kamer in poolcoördinaten indien wij een overeenkomstige hoek zou kunnen associëren.

We lossen voor die bijbehorende hoek door het meten van de hoeksnelheid van een van de robots center wielen, te vermenigvuldigen met de omtrek en de hoeveelheid tijd van spinnen in het wiel. Door betreffende dit booglengte kunnen we oplossen voor verandering in de hoek (foto 1).

Een eenvoudigere manier, meer praktische manier om dit te doen zou zijn voor het meten van de hoeveelheid keer de robot te duurt maken een volledige draai en beseffen dat de hoeksnelheid (omega r) vermenigvuldigd met verandering in tijd gelijk de robots wijzigen in hoek (foto 2).

Gewoon voor de lol zetten wij deze polaire coördinaten naar cartesische coördinaten (met het gebruik van onze berekende theta-waarden) door het realiseren van die de zonde van de opgenomen hoek gelijk aan de x-component gedeeld door de afstand van PING sensor (P1 en P2 op foto 3 is). Oplossen voor x. We kunnen afleiden dat een waarde voor y de hetzelfde gebruikt cosinus.

Om het allemaal samen kunnen we berekenen x- en y-coördinaten voor elk gegevenspunt gevangen genomen door onze PING sensor (foto 4). Laten we beginnen met 120 gegevens punten voor een volledige scan.

Mijn probleem is, wanneer ik de batterijen wijzigt, de robot zal blijken verschillende tempo. Evenzo, als de batterij sterft die de robot zal langzamer draaien. Maken van de tijd die nodig is om te doen een volledige 360 in een globale constante maakt het gemakkelijker om te meten en het opnieuw invoeren van de juiste vertraging in uw programma.

Het is mogelijk om te controleren van de huidige de motoren aan het tekenen bent, maar als u puls breedte modulatie op uw motors gebruikt, de huidige in een golf zal verplaatsen.

Is er een manier om de locatie van de robots nauwkeuriger plot door deze bewakingsgegevens (stroom, spanning enz)?

Gerelateerde Artikelen

Een Arduino Infrared Controlled en het obstakel te vermijden Robot

Een Arduino Infrared Controlled en het obstakel te vermijden Robot

Hallo iedereen,Deze Instructables is verdeeld in twee fasen, waardoor het geschikt is voor zowel de beginner als de tussenliggende robot ontwerpers.De eerste fase omvat het gebruik van de arduino nano bord alleen als de controller. Met dit gaan wij o
Experimenteel robotic platform

Experimenteel robotic platform

Hallo! Mijn naam is Andrew, en ik ben een student informatica.Ik begon te werken aan deze robot voor de beide lol en als onderdeel van mijn bachelorproef.Het begon allemaal toen ik hem een robot kit van een site genaamd Conrad kocht: LinkHet leek als