Vis enkel innførsel

dc.contributor.advisorSkretting, Karl.
dc.contributor.advisorFreyer, Ståle.
dc.contributor.advisorMossige, Morten.
dc.contributor.authorKarlson, Ådne Hult.
dc.contributor.authorByberg, Filip.
dc.date.accessioned2022-03-17T16:52:37Z
dc.date.available2022-03-17T16:52:37Z
dc.date.issued2021
dc.identifierno.uis:inspera:78983214:35718828
dc.identifier.urihttps://hdl.handle.net/11250/2985980
dc.description.abstractRobotteknologi og automasjon har forandret produksjon mye de siste 10 årene, og denne utviklingen forventes å fortsette de kommende årene. Styring av ulike motorer, blant annet lineærmotorer, er ofte en viktig del i en automatisert prosess. Denne rapporten inneholder styring av lineærmotor ved bruk av operativsystemet Robot Operating System (ROS). Det blir presentert styring av en virtuell robot modell samt en ekte robot modell. Oppgaven tar for seg metoder for bruk av ROS til styring, samt hvordan ROS fungerer. Gjennom ROS vil det bli kjent hva noder, topic (emne), publisher (publiserer) og subscriber (abonnent) er og hvordan dette brukes til å kommunisere i ROS nettverket. Oppgaven er basert på et vippe system, der en lineærmotor fra produsenten LinMot, styrer et stag som skal utføre manipulasjoner på en ball, som ruller på en bane. Kinematikken i vippesystemet blir fremstilt på matematisk vis, ved å beskrive hvordan de forskjellige delene i roboten påvirker hverandre, og vippens påvirkning på ballen. For den virtuelle delen av oppgaven blir metoden for robot konstruksjon og visualisering, presentert. Her brukes program som RViz og Gazebo. RViz brukes som et hjelpemiddel for konstruksjon av roboten, mens Gazebo som et simuleringsverktøy. Gjennom dette blir også konstruksjons format Unified Robot Description Format (URDF) satt i fokus. Her forklares også sammenhengen mellom links og joints, og hvordan de brukes under konstruksjon. For styring av den virkelige modellen brukes EtherCAT kommunikasjon, det blir da forklart hva EtherCAT er og hvordan det kan brukes til å kommunisere med LinMot driver, samt hvordan driver leser og skriver kommandoer. Begge modellene reguleres og beveges, det blir da vist hvordan man kan bestemme bevegelsen av roboten, med bruk av Python og ROS pakken dynamic_rekonfigure. Denne pakken skaper et grensesnitt, der en kan styre roboten i sanntid. Det blir presentert to metoder for regulering i form av PID regulering og prediksjon. For PID regulering, forklares metoden brukt og matematisk bakgrunn. For den prediktive reguleringen, blir det forklart hvordan en kan forutse ballens framtidige bevegelse og da stoppe den på et gitt punkt. Med dette blir de matematiske prinsippene forklart, samt de fysiske egneskapene som gjør at ballen påvirker beregningene. Resultatene for PID viser gjennom testing, hvordan en kan komme frem til forskjellige K parametre som oppnår gode resultat. For den virkelige modellen blir det også vist hvordan forskjellige baller påvirker resultatet Her utføres tester for en pingpong ball, en golf ball og en baseball. Disse forsøkene sammenlignes, hvor det også blir utført polanalyse på ballene. Her forklares egenskaper som oversving, dempingsfaktor og den naturlige frekvensen i systemene. For prediktiv regulering undersøkes forholdet mellom vippevinkel og den momentane farten til ballen. Ut ifra dette, vil motoren kunne bidra med å oppnå en kontrollert ballbevegelse. Da original oppgavetekst omhandlet en hexapod, er noe forklaring om denne tatt med som tenkt fremtidig arbeid. En link til video av vippe mens den kjører samt kode finnes her: Kode: https://drive.google.com/drive/folders/1v7qL92X_N8nfJNUKPInefIi-NrbTHtd1?usp= sharing Video: https://www.youtube.com/watch?v=pg_0FV3BZZA&ab_channel=%C3%85dneHultKarlson
dc.description.abstractRobot technology and automation have changed production a lot in the past 10 years, and this development is expected to continue in the coming years. Control of various motors, including linear motors, is often an important part of an automated process. This report contains linear motor control using the Robot Operating System (ROS). Control of a virtual robot model as well as a real robot model is presented. The thesis deals with methods for using ROS for control, as well as how ROS works. Through ROS, it will be known just how nodes, topics, publishers and subscribers works and how these is used to establish communication in the ROS network. The task is based on a tilting system, where a linear motor from the manufacturer LinMot, controls a piston that will perform manipulations on a ball, which rolls on the tilting system. The kinematics of the tilt system are presented mathematically, by describing how the different parts of the robot affect each other, and the impact of the tilt on the ball. For the virtual part of the thesis, the method for robot construction and visualization is presented. Programs such as RViz and Gazebo are used here. RViz is used as an aid for the construction of the robot, while Gazebo as a simulation tool. Through this, the construction format Unified Robot Description Format (URDF) is also introduced. This also explains the connection between links and joints, and how they are used during construction. EtherCAT communication is used to control the system, after is an explination of what EtherCAT is and how it can be used to communicate with the LinMot driver, as well as how the driver reads and writes commands. Both models are regulated and controlled, it is then shown how to determine the movement of the robot, using Python and the ROS package dynamic reconfigure. This package creates an interface where you can control the robot in real time. Two methods of regulation in the form of PID regulation and prediction are presented. For PID control, the method used and mathematical background are explained. For the predictive regulation, it is explained how one can predict the future movement of the ball and then stop it at a given point. With this, the mathematical principles are explained, as well as the physical properties that make the ball affect the calculations. The results for PID is shown through testing, how one can arrive at correct K parameters, witch achieve good results. For the real model, it is also shown how different balls affect the result. Tests are performed on a ping pong ball, a golf ball and a baseball. These experiments are compared, where pole analysis is also performed on the balls. Here, properties such as overshoot, damping factor and the natural frequency in the systems are explained. For predictive regulation, the relationship between tilt angle and the instantaneous speed of the ball is examined. Based on this, is what the motor will be able to contribute to achieving a controlled ball movement, important. Since the original thesis text dealt with a hexapod, some explanation of this is included as intended future work. A link to the video of the tilt while operating and the code can be found here: Code: https://drive.google.com/drive/folders/1v7qL92X\_N8nfJNUKPInefIi-NrbTHtd1?usp=sharing Video: https://www.youtube.com/watch?v=pg\_0FV3BZZA&ab\_channel=\%C3\%85dneHultKarlson
dc.languagenob
dc.publisheruis
dc.titleStyring av lineærmotor i ROS
dc.typeBachelor thesis


Tilhørende fil(er)

Thumbnail

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

Vis enkel innførsel