Opwaartse Up - Robot Balancing Revisited (3 / 6 stap)

Stap 3: Software

Ik verdeeld de robot schets in 4 dossiers, voornamelijk om te helpen bij de leesbaarheid van code. De bestanden, en de algemene inhoud zijn:

  • SimpleRobot.h: Headerbestand met #defines, klassedefinities en functie prototypes
  • SimpleRobot.cpp: C++ bestand met PID en motorische controle klasse functies.
  • Bluetooth.Ino: Code uitvoerende Bluetooth-communicatie met de Android App.
  • SRG2_Bal_Final.Ino: Main schets voor de robot.

De code verwijst naar Arduino.h, CurieIMU.h en MadgwickAHRS.h, dus u de nodige bibliotheken voor de Arduino 101 voor het moet te compileren hebt geïnstalleerd.

Ik zal niet gaan via een volledige code wandeling door, zoals de code vrij goed is heeft gereageerd, maar zal een paar algemene opmerkingen maken:

  • De schets maakt gebruik van zowel een Madgwick als een aanvullende filter voor de sensor fusion voor de vergelijkingen van de prestaties – yaw komt uit Madgwick, en pitch komt uit de complementaire filter.
  • Encoder gegevens vastgelegd met behulp van een ISR (interrupt service routine) afzonderlijk voor elke motor. Robot speed gebruikt een gemiddelde van de twee, zodat een draaiende robot in de buurt van 0 snelheid registreren zal.
  • Een eenvoudige gegevensregistratie implementatie is opgenomen, hoewel het beperkte geheugen van de Arduino 101 in een vrij klein gegevensverzameling resultaten. Vastleggen van gegevens wordt gestart door middel van een instructie van de Android app en het interval voor het vastleggen van gegevens wordt beheerd via een #define verklaring. De kop en de gegevens worden vastgelegd worden gedefinieerd aan de onderkant van de belangrijkste schets. Gegevens automatisch overgebracht naar de Androïde apparaat en opgeslagen in CSV-indeling als opname voltooid is.
  • De Bluetooth-module voor Arduino 101 communicatie frequentie ligt vrij hoog (921600) om de overhead/latentie van communicatie via deze interface. Afhankelijk van de signaalintegriteit voor een bepaalde implementatie moet dit mogelijk worden verminderd.
  • Aanvankelijk kon ik niet downloaden van schetsen naar de Arduino 101 als gevolg van problemen met USB-stuurprogramma's. Uiteindelijk moest ik kopen en een USB3-invoegtoepassing card installeren in mijn host-PC om het te krijgen om te werken. Zij hebben meer bijgewerkte SW, sindsdien vrijgegeven zodat deze kwestie kan worden aangepakt, maar ik heb het op mijn setup niet bevestigd.

Gerelateerde Artikelen

Hoe het bouwen van een Robot - The BeetleBot v2 (Revisited)

Hoe het bouwen van een Robot - The BeetleBot v2 (Revisited)

dit is de kever robot instructables revisited a la MythBusters stijl!Oorspronkelijk maakte ik een instructables over mijn kever robot versie 1.Het is nu tijd om u te tonen een nieuwe versie van deze prachtige robot. Deze nieuwe versie is veel gemakke
B-robot EVO. De self balancing robot

B-robot EVO. De self balancing robot

Hoe werkt het?B-ROBOT is een op afstand bestuurbaar self balancing arduino robot gemaakt met 3D gedrukte delen. Met slechts twee wielen vermag B-ROBOT haar evenwicht hele tijd door met behulp van zijn interne sensoren en rijden de motoren. Kunt u uw
Borstelloze Gimbal Balancing Robot

Borstelloze Gimbal Balancing Robot

Het volgende project is een gevolg van het bekijken van de video Cubli en steeds geïnteresseerd zijn in de controle van unstable evenwicht met Borstelloze motoren. De eenvoudigere omgekeerde slinger probleem werd besloten om het project te voltooien
2-wiel Self Balancing Robot met behulp van de Arduino en MPU6050

2-wiel Self Balancing Robot met behulp van de Arduino en MPU6050

2-wiel Self Balancing Robot met behulp van de Arduino en MPU6050.Arduino als de controller en de sensor MPU6050 gebruiken om te bepalen van het evenwicht. Gewoon een eenvoudige seriële Bluetooth module toevoegen en een Bluetooth seriële Controller AP
Het gebruik van een Android toestel en Lego NXT een tweewielige Self-Balancing Robot te bouwen

Het gebruik van een Android toestel en Lego NXT een tweewielige Self-Balancing Robot te bouwen

Vandaag zal ik u leren hoe maak je een Android aangedreven en gecontroleerde tweewielige zelfbalancerende robot met Lego NXT.Ten eerste, laten we eens kijken een test video voor de laatste robot.Hier is een andere tests op de helling:Om te bouwen van
Hoe maak je een bal Balancing Robot

Hoe maak je een bal Balancing Robot

vorig jaar, ik heb deze bal balancing robot. Het kan door het systeem van het saldo van zichzelf op een bal stabiel staan.Er is slechts één verbinding punt tussen de robot en de grond, dus het is flexibeler dan de traditionele wielen robot. Het kunt
Een eenvoudig en zeer gemakkelijk omgekeerde slinger Balancing Robot

Een eenvoudig en zeer gemakkelijk omgekeerde slinger Balancing Robot

Laten we een eenvoudig omgekeerde balancing robot, en werken het.U moet alleen een halve dag doen, hebt u een arduino en sommige materialen.[een video van een robot die u zou maken]Inleiding:Na een paar met arduino werken, heb ik gedacht van het make
Arduino Self Balancing Robot

Arduino Self Balancing Robot

In dit project die zal ik beschrijven de bouw van robots in evenwicht met Arduino.We staan uitgelegd in onze vorige versie van het android gecontroleerde project. In dit project gaan we tot onze controle. Laten we laten we krijgen op onze bouwproject
Chappie-zelftest-Balancing robot

Chappie-zelftest-Balancing robot

Na het krijgen van zo veel gefrustreerd over het afstemmen van de PID van de quadcopter, heb ik besloten om eerst meester van PID op sommige basisproject en dit project. Zelfbalancerende robot lijkt een inactief keuze. Aangezien er geen nieuwe en nog
Balancing Instructable Robot

Balancing Instructable Robot

Ik wilde in dit Instructable tonen u hoe u een self balancing robot. Wat het uniek maakt is dat de buitenkant is gemaakt te lijken op de Instructables Robot. Intern het werkt in het beginsel van PID, het is een zeer populaire controlesysteem voor het
Rollbars voor Self Balancing Robot en op trappen

Rollbars voor Self Balancing Robot en op trappen

Toegevoegd sommige rollbars maakte van badminton rackets naar mijn eenvoudige self balancing robot die vrij een beetje omvalt. Nu kunt ten minste het terughalen omhoog het grootste deel van de tijd.Het spijt me dat ik ben niet het creëren van een ech
SainSmart InstaBots rechtop Rover (Self Balancing Robot met Arduino)

SainSmart InstaBots rechtop Rover (Self Balancing Robot met Arduino)

Rechtop Rover is een zelfbalancerende robot die werd ontworpen door SainSmart. Ze maakten het echt eenvoudig. Zoals u zien kunt, zijn er slechts 8 draden op de robot en 8 draden op de controller. Dus laten we het weten hoe het werkt!ONDERDELEN IN HET
R/C Auto Balancing Robot

R/C Auto Balancing Robot

Hallo! Dit is Kaeru geen Ojisan.Veel robots van het evenwicht (zelfs met open-source code) vinden we in de website.Vervolgens heb ik geprobeerd om te vinden een balancing robot op basis van een werkelijke auto of een commercieel verkocht R/C auto zoa
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