Lijn volgeling Android Robot - PID Control - Setup (7 / 12 stap)

Stap 7: Beheersing van richting (proportionele Control - P)


Perfect! Op dit punt, is onze Robot gemonteerd en operationeel. Moet u enkele elementaire proeven met de motoren, leest de output van de sensoren en testen ze over een lijn. Wat ontbreekt is de echte "hersenen", de eerste stappen van een "artificial intelligence". Zullen we dit, uitvoering van een controle-logica waarmee kan worden gegarandeerd dat de Robot zal worden gehouden volgt op de regel.

Eenvoudige proportionele controle:

Veronderstel dat de Robot over een lijn wordt uitgevoerd en de uitvoer van de Sensor Array: "0 0 1 0 0". De correspondent fout is "0". in deze situatie, zal beide motoren vooruit op een constante snelheid worden uitgevoerd:

Bijvoorbeeld, met iniMotorSpeed 250 =; betekent dat links Servo pulsen van 1, 250us en rechts Servo 1 ontvangt, 750us en de Robot zal vooruit op halve snelheid. Vergeet niet dat de voorwaartse snelheid recht Servo met pulslengte van 1, 500us variëren zal (gestopt) naar 2, 000us (volledige snelheid) en de links Servo van 1, 500us (gestopt) naar 1, 000us (volledige snelheid).

rightServo.writeMicroseconds(1500 + iniMotorPower);

leftServo.writeMicroseconds (1500 - iniMotorPower);

Stel nu dat de Robot gedreven naar links (het is als de "lijn gaat naar rechts") en vallen ook de sensor 3. De output van de Array zal zijn: "0 0 1 1 0" en de fout = 1. In deze situatie is wat je nodig hebt draai de Robot naar rechts. Om dat te doen, moet u Verlaag de snelheid van recht Servo wat betekent afname van de lengte van de pols". Ook de snelheid van links Servo moet toenemen, wat betekent verlagen van de lengte van de linker servo-puls. Om dat te doen, moeten we veranderen van de motorische controle-functie:

rightServo.writeMicroseconds (1500 + iniMotorPower - fout); == > Positieve fout: snelheid verminderen

leftServo.writeMicroseconds (1500 - iniMotorPower - fout); == > Positieve fout: verhogen van de snelheid

De bovenstaande logica is juist, maar het is gemakkelijk te begrijpen dat toe te voegen of af te trekken "1" microseconde op impulslengte niet de vereiste correctie op een realistische tijd zal genereren. Het is intuïtief dat het nummer te zijn toevoegen of afgetrokken moet groter zijn. bijvoorbeeld 50, 100, enz. Als u dat, moet de "fout" worden vermenigvuldigd met een constante "K". Eens de invloed van deze constante evenredig is met de fout zullen, we het zullen noemen ' proportionele constante: Kp).

De motor functie zal zijn:

int Kp = 50;

rightServo.writeMicroseconds (1500 + iniMotorPower - Kp * fout);

leftServo.writeMicroseconds (1500 - iniMotorPower - Kp * fout);

We kunnen hervatten wat er zal gebeuren met de motoren als getoond balg:

  • Sensor-Array: 0 0 1 0 0 == > fout = 0 == > recht Servo pulslengte = 1, 750us == > links Servo pulslengte = 1, 250us (beide motoren met dezelfde snelheid)
  • Sensor-Array: 0 0 1 1 0 == > fout = 1 == > recht Servo pulslengte = 1, 700us (langzamer) == > links Servo pulslengte = 1, 200us (sneller)

Als de situatie het tegenovergestelde is en de Robot gedreven naar rechts, de fout zou "negatieve" en de snelheid van de servo's moet veranderen:

  • Sensor-Array: 0 0 1 0 0 == > fout = 0 == > recht Servo pulslengte = 1, 750us == > links Servo pulslengte = 1, 250us (beide motoren met dezelfde snelheid)
  • Sensor-Array: 0 1 1 0 0 == > fout = -1 == > recht Servo pulslengte = 1, 800us (sneller) == > links Servo pulslengte = 1, 300us (langzamer)

Op dit punt is duidelijk dat zo veel de Robot gedreven aan de ene kant, groter de fout worden zal en het moet sneller terug naar center. De snelheid met de Robot zal reageren op de fout zal worden evenredig aan het.

Gerelateerde Artikelen

2pi lijn volgeling

2pi lijn volgeling

Ik heb onlangs mijn eerste robot gebouwd en dacht dat ik zou delen de stappen en resultaten. Het is een eenvoudige regel-follower gebouwd op het platform van de PlastoBot in Gordon McComb de Robot bouwer Bonanza en gedreven door een ATmega328 chip aa
LINUSBot - lijn volgeling Robot - met PID controle

LINUSBot - lijn volgeling Robot - met PID controle

LINUSBot - lijn volgeling Robot - met PID controleLINUSBot - PID controleDit is een aanvulling op de eerste "instructables" van de LINUSBot (lijn na robot).Nu de robot de controle van verplaatsingen gedaan door een PID-regelaar heeft, evenredige
PID lijn volgeling Atmega328P

PID lijn volgeling Atmega328P

INTRODUCTIEHi guys, ben een 3e jaars Student van de Universiteit van Lovely Professional Universiteit, India, momenteel het nastreven van elektronica en communicatie Engineering.Youtube-kanaal::: https://www.youtube.com/channel/UC6ck0xanIUl14OorqW06V
Lijn volgeling Robot met behulp van Camera Shield in 1Sheeld & Arduino

Lijn volgeling Robot met behulp van Camera Shield in 1Sheeld & Arduino

Het was zo lang omdat mijn laatst Instructables gepubliceerde. Eigenlijk, ik probeerde te doen van de zeer populaire project, maar met een nieuwe tools en een gemakkelijke manier vooral in codering. Ik heb gewerkt op een lijn volgeling robot die het
Hoge prestaties lijn volgeling Robot

Hoge prestaties lijn volgeling Robot

Hallo! Ik zal proberen om u kennismaken met de wereld van lijn volgeling robots. Velen van ons hebben ooit gehoord over dit soort rare bots, die bestaat in een breed scala aan versies echt traag en zwaar degenen, die meestal zelfs met alleen afzonder
Hoe maak je's werelds kleinste lijn volgeling robot (robo Rizeh)

Hoe maak je's werelds kleinste lijn volgeling robot (robo Rizeh)

Hoe maak je's werelds kleinste lijn volgeling robot (vibrobot)"roboRizeh"gewicht: 5gr grootte: 19 x 16 x 10 mmdoor: Naghi Sotoudehwww.roborizeh.IRHet woord "Rizeh" is een Perzisch woord dat 'piepklein' betekent. Rizeh is een zeer klein
Lijn volgeling Robot

Lijn volgeling Robot

dit is mijn tweede lijn volgeling Robot en zoals de naam doet vermoeden, het is een robot waarvan het doel is een lijn te volgen. Deze robot kan worden gebruikt in wedstrijden waar een robot moet het volgen van een route in de kortst mogelijke tijd v
Robot - lijn volgeling

Robot - lijn volgeling

Ik begon te werken op mijn eerste robot ongeveer twee jaar geleden. Zonder bijzondere reden, heb ik besloten om te beginnen met een lijn volgende robot en de waarheid wordt verteld, mijn eerste poging om het gebouw werd een complete mislukking. Terug
ZWARTE lijn VOLGELING ROBOT

ZWARTE lijn VOLGELING ROBOT

is een zwarte lijn volgeling robot met Ir-sensoren en micro-controller 8051. Zijn een kosteneffectieve model en heeft perfecte uitgang in bijna alle terreinen.De volgende regel robot is er een die een zwarte pad detecteertover een wit oppervlak en vi
Lijn volgeling Robot zonder Arduino of Microcontroller

Lijn volgeling Robot zonder Arduino of Microcontroller

hier heb ik een lijn volgeling robot zonder microcontroller of Arduino uitgelegd. Dit is zeer eenvoudig project voor beginners. Hier hoef je niet te gebruiken op enige kennis van programmeren. Dus laten we proberen...Stap 1: Verzamelen van het materi
Kaart met kartonnen viaduct voor lijn volgeling robot

Kaart met kartonnen viaduct voor lijn volgeling robot

Ik heb om een beetje meer plezier met mijn Makeblock mBot in lijn volgeling modus, deze aangepaste kaart gemaakt met een kartonnen viaduct.Een kaart voor een lijn volgeling robot is eigenlijk vrij eenvoudig te maken. Wat zal ik u tonen hier is hoe ik
Arduino gebaseerd Desktop lijn volgeling - jolliBot

Arduino gebaseerd Desktop lijn volgeling - jolliBot

Een van de klassieke projecten die vermelding niveau robotica hobbyist kunnen interesseren is de regel die volgt robot die is meer algemeen bekend als een volgeling van de lijn. Er zijn veel kit beschikbaar om te bouwen van volgelingen van de lijn in
DIY lijn volgeling Sensor Array

DIY lijn volgeling Sensor Array

In dit Instructable leert u hoe u uw zeer eigen lijn volgeling sensor-array!!Het bestaat uit twee delen:De IR LED-bestuur.Het bestuur van de opamp.Het bestuur van de IR LED bestaat uit een matrix van 5 paren van IR LEDs en fotodiodes. Het leuke deel
Analoge lijn volgeling upgraden naar Arduino met Attiny85

Analoge lijn volgeling upgraden naar Arduino met Attiny85

SamenvattingIn dit Instructable zullen wij tonen u hoe om te upgraden een goedkope analog lijn volgeling in een intelligente Arduino lijn volgeling door de LM393 comparator IC te vervangen door een intelligente Attiny85 en Arduino sketch.IntroductieL