How to build een self navigeren Robot How (4 / 7 stap)

Stap 4: De Open sourcesoftware


De software is ontwikkeld met MPLAB® gratis IDE en geschreven met MPLAB® C30 compiler (zelfs in een vrije of student versie), beide (natuurlijk) door Microchip:
http://www.microchip.com/Stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=81

Het hele project is beschikbaar als open source op Google Code
http://code.Google.com/p/dspid33/
Raadpleeg er voor de meest recente versie, commentaar, beschrijvingen, enz.
Het programma wordt stap voor stap beschreven binnen de code. Om een hoog niveau van commentaar en een meer leesbare code, aan elke belangrijke punt er is een getal tussen haakjes (bv: [7]) als een verwijzing naar een extern bestand (dat wil zeggen: descrEng.txt) in het project van MPLAB.

Het diagram toont de algemene architectuur van de controleprocedures van de Raad van de dsNav en de strategieën van de navigatie aan de basis van het project toegepast.
De motor controllers kunnen worden gezien als de zwarte dozen die voor de snelheid van de wielen zorgen. Het deel van de toezichthouder van het programma stuurt ze de referentiesnelheid (VeldDesX: gewenste snelheid). De Input Capture modules van de microcontroller krijgen pulsen van de encoders aangesloten op de motoras en ontlenen van het toerental van de motoren (VelMesX: gemeten snelheid). Het combineren van elke 1ms die dit in het besturingselement van de PID "Snelheid PID waarden" krijgen we de juiste PWM-waarde om de gewenste snelheid van elk één wiel te houden.
De modules QEI (Quadrature Encoder Interface) krijgen zowel de A- en B-pulsen van de encoders en geven terug naar de functie van toezichthouder de reizende richting en het aantal pulsen in 4 x modus (afgezien van de stijgende en dalende randen van signaal A en signaal B: 2 x 2 = 4).
Te vermenigvuldigen met het aantal pulsen door een K die de ruimte reisde voor elke één encoder pulse aangeeft, krijgen we de afstand reisde door de rechter en linker wielen elke 10ms. De toezichthouder combineert deze informatie reizen en de dead reckoning-procedure is van toepassing met het oog op de gemeten positie coördinaten van het bot: Xmes, Ymes, θMes (richting hoek).

De toezichthouder ontvangt opdracht van de navigatie van buiten door seriële interface (telemetrie).
Verschillende strategieën kunnen worden toegepast:
A - reizen met een bepaalde snelheid in een bepaalde richting (VelDes, θDes).
B - reizen naar een bepaald punt met coördinaten XDes, YDes.
C - reizen voor een bepaalde afstand in een bepaalde richting (DistDes, θDes).

Mode A : met de "logische controle switches" in positie 1, alleen de controle van de PID "Hoek PID" wordt gebruikt door de supervisor-functies. Deze combineert de gewenste hoek-θDes met de θMes van de gemeten hoek berekend door odometry procedure, teneinde de waarde van de rotatie hoeksnelheid ω van het voertuig om de verticale as, die nodig zijn om de afdrukstand fout te corrigeren.
De waarde van DeltaV is evenredig aan ω. Het heeft toegevoegd aan VelDes te verkrijgen van de snelheid van het linker wiel en afgetrokken tot VelDes te verkrijgen van de snelheid van het juiste wiel, zodat de kop overeenkomt met θDes waarde, terwijl het midden van de robot is nog steeds het reizen op snelheid van de VelDes.

Modus B : met de "logische controle switches" in positie 2, de gewenste snelheid VelDes wordt berekend door het PID-besturingselement "Dist PID" en het wordt gebruikt zoals in de modus A. De gemeten input voor deze PID (DistMes) wordt berekend als een functie van de huidige coördinaten en de coördinaten van de bestemming. De gewenste afdrukstand hoek θDes komt ook uit dezelfde procedure en het wordt gebruikt als referentie-ingang voor "Hoek PID". De verwijzing ingang voor "Dist PID" 0 is, betekenis die de bestemming is bereikt. Met ω en VelDes beschikbaar, de controle van de snelheid van de wielen wordt uitgevoerd zoals in de modus A.

Modus C : met de "logische controle schakelaars" in positie 2, de bestemming cordinates Xdes, Ydes worden berekend zodra aan het begin als een functie van de invoerparameters DistDes, θDes. Na dat alles zoals in de modus B gaat

Gerelateerde Artikelen

Domo Kun WobblyBot, eenvoudige Self Balancing Robot

Domo Kun WobblyBot, eenvoudige Self Balancing Robot

Een self balancing robot van de twee wielen die wiebelt, vandaar de naam WobblyBot.Misschien wel de eenvoudigste ontwerp voor een robot die zelf (soort van) op twee wielen, zonder het gebruik van de gyroscoop, versnellingsmeter en microcontroller eve
Make a Halloween Pumpkin wandelen door de self balancing Robot

Make a Halloween Pumpkin wandelen door de self balancing Robot

Pompoen is een typische symbool van Halloween. Je heb ooit wilde een wandelende pompoen maken.Hier zal ik u tonen mijn werk van het gebruik van een Self-balancing Robot een lichtend pompoen om rond te bewegen.Stap 1: voorbereiding Belangrijkste stukl
How to Build een Raspberry Pi nul humanoïde Robot met Java

How to Build een Raspberry Pi nul humanoïde Robot met Java

Hallo ga ik tonen u hoe maak je een humanoïde robot met pi nulStap 1: onderdelende totale lijst wordt als aanleiding voor het voeden van de sensoren en PI:* Raspberry PI nul + 16GB micro-SD kaart* Micro-USB-hub + Wifi Dongle* AdaFruit Powerboost 1000
How to Build een koepel van Earthbag

How to Build een koepel van Earthbag

Opmerking: Als u nieuw bij earthbag bouwen bent, eerst lezen de inleidende Stapsgewijze Earthbag gebouw Instructable en How to Build een Earthbag Roundhouse . Ook zijn mijn nieuwe Earthbag gebouw gids en Earthbag gebouw DVD nu beschikbaar.Wij dit ear
How to Build een 3-voudige Chinese picknickmand

How to Build een 3-voudige Chinese picknickmand

How to Build een 3-voudige Chinese picknickmandIn één keer een cadeau voor een pas getrouwd stel, het trapsgewijze picknickmand is een nogal ongewone item en niet een project waarvoor gemakkelijk u instructies voor vandaag vindt. Dit instructable bev
How to Build een frisdrank fles raketwerper

How to Build een frisdrank fles raketwerper

How to Build een frisdrank fles raketwerperDus we een picknick werk hadden en we wilden sommige kinda geeky fun... werd een frisdrank fles raket lanceren gesuggereerd... probleem is we hebben niet een draagraket en de picknick was binnenkort! Nooit a
How to build een elektrische Longboard met telefoon control how

How to build een elektrische Longboard met telefoon control how

Elektrische longboards zijn awsome!TEST BEELDEN IN DE VIDEO HIERBOVENHOW TO BUILD EEN ELEKTRISCHE LONGBOARD BEDIEND VANAF EEN TELEFOON MET BLUETOOTHUpdate #1: Grip tape geïnstalleerd, enkele aanpassingen aan de snelheidsregelaar hebben betekend ik he
How To Build een grimmige industrieën Iron Man Arc Reactor... Zeer zeer low-cost...

How To Build een grimmige industrieën Iron Man Arc Reactor... Zeer zeer low-cost...

How To Build een grimmige industrieën Iron Man Arc Reactor... Zeer zeer low-cost arc reactor diede meeste kan zeer gemakkelijk maken.nu heb ik een vinyl cutter en ik heb gebruik van een stuurlieden cnc router maar het gaat hier om een te bouwen datie
How to Build een Website

How to Build een Website

Leer hoe een Website te bouwen. Eerst moet je een idee, wat je het maken van de website over. Een vindplaats voor info, entertainment, of blog. U wilt een onderwerp waarin u geïnteresseerd bent, zodat u houden toe te voegen post of pagina's. Hopelijk
How to Build een Lightsaber in Word 2010

How to Build een Lightsaber in Word 2010

How to Build een Lightsaber in Word 2010.Stap 1: Stap 1Open Word 2010Stap 2: Stap 2Ga naar invoegen en klikt u op shapesStap 3: Stap 3Bouwen van uw gevestStap 4: Stap 4 Het toevoegen van een mes met behulp van een afgeronde rechthoek. Merk de witte b
How To Build een boekenplank

How To Build een boekenplank

How To Build een boekenplank
How to Build een Truck Bed organisator

How to Build een Truck Bed organisator

How to Build een veelzijdig en verstelbaar Truck Bed organisatorGotta vrachtwagen? Die niet nodig een vrachtwagen bed organisator of een opslagsysteem dat weerhoudt dat kleinere punten rollen rond in het bed van de vrachtwagen en uit bereiken?Ik weet
How to Build een statiefkop

How to Build een statiefkop

How to Build een 3D statief hoofdU kunt zien dat kunnen we deze hoofd http://dpr.org.ua/index.files/Tour_Pizza.html
Build A Cookie Monster Robot

Build A Cookie Monster Robot

Hallo iedereen!Mijn nieuwste robot is een beetje uit mijn gewone maar blijft met mijn huisdier thema van de robot. De code is geëvolueerd van K @ tot K9 naar Wall-E en woont nu in mijn Cookie Monster.Bekijk de video: You TubeDe code had gewijzigd zod