Stap 5: Setup en Tuning
In het bouwen van de robot, ontwikkelde ik een tijdelijke, speciale schets voor elk subsysteem (MPU-6050 BT Module, Motor Shield), het probleem in onder te verdelen maten die ik aankon. Maar zelfs daarvoor, het begon allemaal met het hart van het systeem, de Galileo Gen 2 board, krijgen up and running.
Er is een goede "getting started" gids online waarin u de Android IDE en Galileo-apparaatstuurprogramma's installeren en bijwerken van de FW op het bord van Galileo.
Opmerking: Als zowel de Bluetooth en de MPU-6050 modules 3.3V signalering gebruiken, moet de jumper van de spanning van de I/O op het Galileo bord naar de 3.3V instellen om te voorkomen beschadiging van de modules.
Ik stel ook voor dat u de tijd nemen om een bootable beeld te laden op een SD-kaart (zorg ervoor dat het laatste beeldte krijgen). Het staat uw schets van de Arduino te bewaren over Galileo door bestuur macht cycli. Op de keerzijde, het verhoogt de laarstijd van de Galileo-bestuur (het duurt op voorschrift van 1 minuut om op te starten), maar het is een moeite waard afweging in mijn ogen.
Opmerking: ik vertraagd de stap van het opstarten van SD (Ja, want ik lui ben). Dientengevolge, moest ik de ketting van de robot op mijn PC via de USB-kabel, dus ik van de schets op elke cyclus van de macht downloaden kon. Dit was een ongemak die aan ramp, draaide toen de robot viel op de USB-kabel, breken de micro USB-aansluiting op het bord van Galileo. Ik nu zijn toevlucht nemen tot het laden van nieuwe schetsen naar de SD-kaart op de host-PC, en vervolgens opstarten Galileo van SD en verplaatsen van de schets naar /sketch/sketch.elf via de seriële console van Linux, en dan rebooten Galileo... alle omdat de hostverbinding via de USB niet langer functioneel is. Zo schenken van mijn droevig verhaal, en beschouw jezelf gewaarschuwd als u besluit om uw robot te werken met de USB-kabel aangesloten.
Ik speelde ook met verschillende montage locaties voor de MPU-6050. Ik begon met het gemonteerd op de laag van de elektronica, onder het bestuur van Galileo, maar gevonden verplaatsen naar de motor laag toegestaan voor betere controle.
Veruit de minste deterministische fase die ik tegenkwam was het bepalen van het recht P, I en D waarden voor de PID-regelaar. Ik heb gehoord dat dit is een zwarte kunst, maar hebben nu een veel gezondere respect voor het hebben van enige tijd in het proces. Het was in deze fase van de ontwikkeling dat ik heb toegevoegd de PID gegevensregistratie naar de SD-kaart, zodat ik van elke term bijdrage aan de uitvoer bedenken kon. Er zijn een aantal behandelingen van handmatige PID tuning online, maar ik vond de beste aanpak te zijn als volgt:
· De I en D termen op 0
· De term P totdat de robot vermag bijna verticale blijven verhogen. Met de motoren die ik koos, dat was de robot racen over de vloer leunend in één richting
· De term P enigszins verminderen, en vergroot de termijn tot de robot kan balance, maar deed dat met trillingen
· Verhoogd de term D ter vermindering van de trilling.
Ik nog steeds ben niet gelukkig met de resultaten die ik aangeschaft heb, zoals ze lijken te zijn dat hetzij geoptimaliseerd voor goede balans, of het goed rijden. Het zoeken blijft...
Wat betreft de Roll kalibratie, ging ik terug en gekalibreerd de MPU-6050 halverwege door de ontwikkeling, nadat ik de rollen kalibratie-mogelijkheden toegevoegd. Tot mijn verbazing, nadat ik de MPU-6050 module, gekalibreerd vond ik niet de rollen kalibratie wijzigingen een aanzienlijke invloed hebben.
Ik vond dat de robot ontvankelijker - tot een punt, waarvoorbij het begon oscilleren aanpassen van de toegestane vertraging van de Motor gemaakt.