Vis enkel innførsel

dc.contributor.advisorOnshus, Tor
dc.contributor.authorBerglund, Gabriel
dc.date.accessioned2021-11-09T18:21:29Z
dc.date.available2021-11-09T18:21:29Z
dc.date.issued2021
dc.identifierno.ntnu:inspera:76427839:45163839
dc.identifier.urihttps://hdl.handle.net/11250/2828775
dc.descriptionFull text not available
dc.description.abstractI denne masteroppgaven har flere aspekter knyttet til total ytelse hos en ikke-holonomisk differensialstyrt robots blitt undersøkt. Spesifikt så har potensielle forbedringsstrategier blitt vurdert for posisjonsestimatoren, hastighetsregulatoren for hjulene og posisjonskontrolleren. Roboten estimerer posisjon og orientering ved å utføre sensorfusjon gjennom et utvidet Kalmanfilter. Selve orienteringsestimatene har vist seg å være ganske pålitelige, og lavpassfiltrering av orienteringsrelaterte målinger i forkant av estimering gjennom Kalmanfilteret ga ikke en nevneverdig forbedring. Videre klarer ikke roboten å estimere lineær forflytning med konsistent nøyaktighet ved å bare benytte rotasjonsenkodere. Det er derfor blitt undersøkt om akselerometeret kan benyttes til å forbedre nøyaktigheten i forflytningsestimatene. Til tross for potensielt brukbare estimater når roboten beveges for hånd, ga kjøring av roboten svært støypåvirkede målinger. Målingene fikk økt amplitude og det var ikke lengere mulig å visuelt skille akselerasjonsmålinger fra støy. Lav-pass filtrering resulterte heller ikke i noen forbedring når utført på disse målingene. Det har, tross noe usikkerhet, blitt konkludert med at de dårlige akselerasjonsmålingene er et resultat av to faktorer. Den første er at små rykk i robotens bevegelser, forårsaket av plutselige endringer i hjulhastighet og slakk i hjulene, skaper falske akselerasjonsmålinger. Den andre er støy fra selve motorene. Omkalibrering av rotasjonsenkoderne forbedret forflytningsestimatene noe, men de er fortsatt inkonsistent, noe som påvirker den totale ytelsen av robotsystemet negativt. To forskjellige PID-kontrollere utviklet i tidligere prosjekter, ansvarlig for å regulere individuelle hjulhastigheter, er blitt testet og sammenlignet under forskjellige driftsforhold. Det ble funnet at selv om de to kontrollerne har forskjellige strukturer matematisk, kunne ingen signifikant forskjell i ytelse dokumenteres. En ny posisjonskontroller er utviklet ved bruk av Lyapunov stabilitetsanalyse. Kontrolleren styrer roboten mot en målkoordinat ved å velge referanser for lineær- og angulær hastighet gjennom ikke-lineære styringslover. Lyapunov-kontrolleren er testet og sammenlignet med den eksisterende implementasjonen, hvor hastighetene velges som proporsjonal med avviket i avstand og orientering, med og uten en dynamisk modellbasert LQR-kontroller. Sammenligninger er utført med både en simulert robotmodell og selve roboten. I simuleringene var den største forskjellen valg av bane mellom start- og sluttpunkt. Mens den gamle regulatoren er bundet til en positiv lineær hastighet, proporsjonal med avstandsfeilen, valgte den ikke-lineære kontrolleren mer kompleks manøvrering. Når den nye kontrolleren ble implementert på selve roboten ble det dokumentert en forbedring gjennom en reduksjon i total posisjonsfeil. Bruk av LQR-kontrolleren ga ingen ytterligere forbedring. I tillegg har en ny posisjonskontrollstruktur blitt implementert for å forbedre systemets skalerbarhet og vedlikeholdsevne. Til slutt ble det laget en banegenererings- og sporingsalgoritme for å redusere den svingende oppførselen til roboten når den beveger seg mellom målkoordinatene.
dc.description.abstractIn this master's thesis, several aspects relating to the overall performance of a non-holonomic differential drive robot have been investigated, implemented and tested. Specifically, potential improvement strategies have been considered for the pose estimator, the velocity controller, and the position controller. The robot pose is estimated by fusing measurements from wheel encoders and a gyroscope using the extended Kalman filter. Orientation estimates have proven reasonably reliable, and pre-processing measurements with low-pass filtering techniques did not improve the estimates. Furthermore, the robot is unable to estimate linear displacement with consistent accuracy using encoders only. It has been investigated if incorporating the onboard accelerometer could rectify some of the observed inaccuracies. It was found that while the accelerometer provided potentially useful measurements when the robot is moved by hand, the act of operating the robot caused unexpectedly large, fluctuating measurements that were inconsistent with the visually observed robot motion. Filtering these measurements did not solve the issue. Albeit not entirely certain, the cause of the corrupted accelerometer measurements has been attributed to a combination of two main factors; false acceleration measurements caused by jerks in the robot motion from sudden velocity corrections and wheel slack, and noise caused by the motors. Re-calibrating the encoders provided slightly better estimates. However, the estimates remain inconsistent, negatively affecting overall performance. Two different PID controllers developed in previous projects for controlling the individual wheel velocities have been tested and compared under various operational conditions. It was found that even if the two controllers have different structures mathematically, no significant difference in performance could be documented. A new position controller has been developed using Lyapunov stability analysis. The controller guides the robot towards a target coordinate using nonlinear control laws for selecting linear- and angular velocity references. The Lyapunov controller has been tested and compared with using velocity references proportional to angular- and distance errors, with and without a dynamic model-based LQR controller. Comparisons have been performed using both a Simulink robot model and the actual robot. In the simulated environment, the only substantial difference was choice of path for large angular errors. While the error proportional controller is bound to a strictly positive linear velocity, proportional to the distance error, the nonlinear controllers committed to more complex maneuvering, like one-point turns. When implemented on the actual robot, increased performance was documented through an overall reduction of position tracking error. LQR-control did not improve the performance any further. Additionally, a new position control structure has been implemented in software to improve the scalability and maintainability of the software system. Finally, a path generation- and tracking algorithm based on the pure pursuit controller has been created to reduce the observed oscillatory behavior of the robot when moving between targets.
dc.languageeng
dc.publisherNTNU
dc.titleInvestigation of performance-enhancing measures for a non-holonomic differential drive robot
dc.typeMaster thesis


Tilhørende fil(er)

FilerStørrelseFormatVis

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel