Rb2 lopende pleinen. (3 / 5 stap)

Stap 3: Met behulp van een PID


Laten we stellen de eerste setpoint = 2 teken. Dus wij de bot verwachten te draaien op 2 teken per 0,1 sec. (zoals ik al zei: dit is een ruwe berekening, weglaten van versnelling gedurende het interval). Vervolgens begint de bot te lopen op de overtreksnelheid. Na 0.1 seconde de sensoren worden gelezen en de encoders komen met 1 teek. We' re onder doelstelling op een fout van 1 teek.

In formule:

fout = setpoint – werkelijke teken

De werkelijke snelheid moet worden verhoogd, want wij streven naar een hogere snelheid voor het bot uit te voeren. De eenvoudigste manier om te corrigeren die is het toevoegen van de fout met de volgende opdracht van de snelheid. In de praktijk zal dit blijken te zijn van te veel of te weinig om de bot in de buurt van de gewenste snelheid. Afstemming van de correctie kan worden gedaan door te vermenigvuldigen met de fout met een constante. Deze manier van corrigeren heet 'proportioneel'. De tuning constante heet een 'winst'.

In formule:

P = Kp * fout

Afstemmen van de proportionele correctie grondig zal verminderen de fout na verloop van tijd aanzienlijk, maar nooit zal het op nul (want er altijd een fout die nodig zijn voor een proportionele correctie is). In veel gevallen deze manier van de fout te corrigeren zal ook leiden tot snelle veranderingen, wat resulteert in een schokkende gedrag (trilling) van het bot. Om vlakken van de reacties wordt een deel van de 'Geïntegreerde' toegevoegd aan de correctie door optelling van de fouten van na verloop van tijd. Het geïntegreerde deel kan ook worden afgestemd door gebruik te maken van een winst.

In formule:

Ik = Ki * som van fouten * interval

Samengevat zal ten slotte de fout verminderen tot nul en het werkt prima, zolang er een gedeelte van de linkerkant van de fout is. Integratie zal ook voorkomen dat eindeloze verhoging van de snelheid. De correctie duurt langer en langer werken. Dus wanneer de fout is eindelijk teruggebracht tot nul, het geïntegreerd onderdeel van de correctie zal blijven werken (en negatieve) totdat de som van alle fouten is tot nul gereduceerd. Dit heet overschrijding.

Vaak (b.v. Wanneer toegepast op een balancing robot) een derde deel van de correctie nodig is om te 'dempen' de overschrijding. Dit is het 'differentieel' deel. Het gaat met de volatiliteit van de verandering door het verschil tussen 2 fouten na verloop van tijd in aanmerking te nemen. Ook kan het gedifferentieerde gedeelte worden afgestemd door gebruik te maken van een winst.

In formule:

D = Kd * (fout – vorige fout) / interval

Het toevoegen van de onderdelen zal resulteren in een gecontroleerde correctie van de snelheid: P + I + D.

Het setpoint, de fout en de PID-correctie zijn alle ingesteld in teken (per seconde). Voor de opdracht om de motor snelheid te veranderen, is het nodig om dit in een PWM-percentage berekenen. Telkens wanneer het gecontroleerde deel wordt uitgevoerd, zal de snelheid van de motoren worden verhoogd tot het bot op de gewenste snelheid draait.

Zoals al eerder gezegd: dit is een vereenvoudigde controle en werkt zonder gebruik te maken van de versnelling in de vergelijkingen. Kijkend naar het diagram van de snelheid: dit script niet realiseren een traging motie. Bij het invoeren van wedstrijden moet u en waarschijnlijk zul je de bot kruipen voor de laatste millimeters naar de exacte doelgroep afstand. (Werken met RB2 wordt gedaan in centimeters op het best.)

De volledige Python codering wordt verstrekt in het script, dus ik het uit deze blog laat. Het bijhouden van alle waarden en ze opslaan in een csv opgemaakt bestand, kunnen wij analyseren de foutgegevens en helpt bij het afstemmen van de correctie door het veranderen van de winsten (dus stoppen met wat oefening en een gezond gedeelte van geduld). De volgende afbeelding ziet u een dashboard gebruikt voor analyse. Duidelijk ik was er nog. -0)

Als de afstemming behoorlijk wordt gedaan zal de fout-grafieken tonen mooie bochten, langzaam vrijwel nul te reduceren.

Rb2 is een differentiële aangedreven robot: het heeft 2 sets van onafhankelijke motoren. Voor elke zijde wordt een apart gecontroleerde gedeelte gebruikt. In theorie beide sets van motors moeten worden uitgevoerd op de target snelheid op hetzelfde moment in de tijd en de bot in een rechte lijn moet worden uitgevoerd. Om het af, een derde, balancing, tip kan PID worden gebruikt om te corrigeren van de resterende verschillen tussen links en rechts.

Rb2 geproduceerd een andere uitdaging: ik kon niet afstemmen op het verschil tussen de linker- en de juiste snelheid. Ik weet nog steeds niet hij reden voor dat (ik overgestapt van motoren, banden overgestapt, omgekeerd de bedrading, een andere motor bestuurder probeerde, veranderd het frame, vervangen van het pak van de batterij, maar kon niet de kloof). Dus, in mijn script heeft de tegenrekening PID het grootste gewicht in de totale correctie en het maximum van beide lezingen coderingsprogramma wordt gebruikt voor het berekenen van de afstand gemaakt (het toevoegen van een andere onnauwkeurigheid). Maar ik denk dat dit is de manier om uit te voeren: eerst tune uit de PID's voor de motoren. Wanneer u het gewenste resultaat en gedrag is bereikt, implementeren de tegenrekening PID.

Alles wat overblijft voor het uitvoeren op pleinen van nu, is het maken van bochten door precies 90 graden. En natuurlijk: 'Waarom moeten wij ooit het bot uit te voeren in de vakken willen?'

Gerelateerde Artikelen

Met behulp van Punnett pleinen voor het berekenen van waarschijnlijkheden fenotypische

Met behulp van Punnett pleinen voor het berekenen van waarschijnlijkheden fenotypische

IntroductieAchtergrondPunnett pleinen zijn een diagram die biologen gebruiken om de waarschijnlijkheid van een nakomelingen hebben een bijzondere eigenschap te bepalen. Een vierkant van Punnett maken en gebruiken om te bepalen kenmerken van nakomelin
Nutella Noir chocolade pleinen

Nutella Noir chocolade pleinen

ik ben dol op van donkere chocolade. Echt donkere chocolade - zoals in 100% ongezoete cacao chocolade. Ik gebruik het als basis voor allerlei traktaties, die kan ik precies zo zoet als ik ze wil maken.Ik hou ook van hazelnoot: dus ik had het idee van
Lopende neus

Lopende neus

Wilt u willekeurige vreemden om te kijken naar u in walging, ooit droom van het worden uw eigen onbeleefde vertonen? (wie zou niet) Nou, dames en kiemen, ik heb net het project voor u! Gegarandeerd bruto uit onschuldige omstanders en alle manieren va
Wiskunde Tricks, HOW TO vinden pleinen in seconden. GRE CAT APTITUDE, GMAT snelheid WISKUNDE

Wiskunde Tricks, HOW TO vinden pleinen in seconden. GRE CAT APTITUDE, GMAT snelheid WISKUNDE

wiskunde trucs, vinden van pleinen in seconden. CAT APTITUDE, GMAT PROBLEM SOLVING, snelheid WISKUNDE, wiskunde trucs-----------------------------Inschrijven: http://www.youtube.com/subscription_center?add_user=FreeShikshaVideosYouTube: http://www.yo
Gooien van pleinen

Gooien van pleinen

gooien vierkanten alot zoals Paper Shuriken maar niet ster vormigeu kunt elke vierkante papierformaatStap 1: Materialen, 1ste vouwen wat u nodig zult hebben.2 pleinen van papier (ik gebruikte post-it notities)2 handenEerste vouwelk vierkant doormidde
De beroemde pleinen van Gerbeaud

De beroemde pleinen van Gerbeaud

Hongarije staat bekend om hun mooie en verbazingwekkende laag taarten. Een van hen zijn deze super goed Zserbo Szelet die vertaald naar Gerbeaud pleinen.Stap 1: methode Deeg:450 g bloem200 g margarine/boter50 g suiker1 eidooiereen mespuntje zout100 m
Frankenstein pleinen

Frankenstein pleinen

Eenvoudige en super snel te maken!Stap 1: materialenZoutjesRice Krispies pleinenGroene voedselkleuringEetbare ogen, zoals van WiltonChocolade/chocolade chipsOreo korstenIngeblikte berijpen - om het even welk aroma's, zolang Wit, zoals roomkaas of van
Nabijheid-Sensing zak pleinen

Nabijheid-Sensing zak pleinen

mijn vrienden en ik willen coördineren voor onze wederzijdse vrienden bruiloften.  Onze vrienden L & E onlangs getrouwd en we wilden iets speciaals ter gelegenheid doen.  Wij verrekend op iets elegante en eenvoudige--zak pleinen, dat het aantal mense
Cathedral Windows Quilt pleinen

Cathedral Windows Quilt pleinen

ik ben een junkie van de totale stof (sommigen zouden zeggen verzamelaar), en ik ben met name dol op het verzamelen van kleine stukjes van lichte katoen. Er zijn neiging om een beetje een probleem probeert te rechtvaardigen met zoveel kleine kleine s
Delicious filodeeg deeg pleinen

Delicious filodeeg deeg pleinen

heb je ooit gehoord van filodeeg deeg? Sommigen van u zouden hebben, maar hier is een beschrijving (uit het woordenboek natuurlijk):– zelfstandig naamwoordschilferige, weefsel-dunne lagen van gebak gebruikt in gebakken desserts en voorgerechtenKlinkt
Grote kwekerij of overal stof cork board pleinen

Grote kwekerij of overal stof cork board pleinen

gebruik oude cork board pleinen en stof om persoonlijke en gestileerde muur kunst/organisatoren. Gebruik deze eenvoudig om stukken in een kinderdagverblijf, office of slaapzaal!Stap 1: benodigdheden wat u nodig hebt;(Ik heb een potlood afgebeeld maar
Variaties op een klassieker: Dots en pleinen

Variaties op een klassieker: Dots en pleinen

het klassieke spel van stippen en pleinen kan u urenlang in de klas, of in een wachtkamer bezet houden, maar kan het saai... Hier zijn enkele varianten op het spel, dat het naar een nieuw niveau van strategie en dacht, terwijl nog het houden van de d
Watermeloen krokante-Soft Dessert pleinen

Watermeloen krokante-Soft Dessert pleinen

Watermeloen is een van mijn favoriete fruit. Het hoge watergehalte maakt u zich gehydrateerde als het echt warm wordt.Hier heb ik een dessert pleinen met watermeloen. Dit is een perfecte dessert na een zware maaltijd. Het is zeer licht en verfrissend
Kerkhof pleinen

Kerkhof pleinen

Halloween tijd heeft rolde rond. Ik heb nooit willen genoeg een Halloween recept maken, maar ik heb eindelijk mijn zelf en mijn ingrediënten samen trok in de tijd naar het maken van een griezelige traktatie. En door spooky, ik bedoel echt schattig! K