• norsk
    • English
  • English 
    • norsk
    • English
  • Login
View Item 
  •   Home
  • Universitetet i Stavanger
  • Faculty of Science and Technology
  • Department of Electrical and Computer Engineering (TN-IDE)
  • Studentoppgaver (TN-IDE)
  • View Item
  •   Home
  • Universitetet i Stavanger
  • Faculty of Science and Technology
  • Department of Electrical and Computer Engineering (TN-IDE)
  • Studentoppgaver (TN-IDE)
  • View Item
JavaScript is disabled for your browser. Some features of this site may not work without it.

Styring av lineærmotor i ROS

Karlson, Ådne Hult.; Byberg, Filip.
Bachelor thesis
Thumbnail
View/Open
no.uis:inspera:78983214:35718828.pdf (13.84Mb)
URI
https://hdl.handle.net/11250/2985980
Date
2021
Metadata
Show full item record
Collections
  • Studentoppgaver (TN-IDE) [1049]
Abstract
Robotteknologi 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
 
Robot 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
 
Publisher
uis

Contact Us | Send Feedback

Privacy policy
DSpace software copyright © 2002-2019  DuraSpace

Service from  Unit
 

 

Browse

ArchiveCommunities & CollectionsBy Issue DateAuthorsTitlesSubjectsDocument TypesJournalsThis CollectionBy Issue DateAuthorsTitlesSubjectsDocument TypesJournals

My Account

Login

Statistics

View Usage Statistics

Contact Us | Send Feedback

Privacy policy
DSpace software copyright © 2002-2019  DuraSpace

Service from  Unit