Show simple item record

dc.contributor.advisorFossen, Thor Inge
dc.contributor.advisorRogne, Robert Harald
dc.contributor.authorSteinshamn, Tarjei
dc.date.accessioned2020-07-24T16:00:55Z
dc.date.available2020-07-24T16:00:55Z
dc.date.issued2020
dc.identifier.urihttps://hdl.handle.net/11250/2670181
dc.description.abstractProgramvare og algoritmer for estimering av bølgedata og sanntids-bølgehøyde ble implementert på en STM32 ARM-Cortex-M mikrokontroller. Bølgesensoren er laget til bruk på flytende målebøyer, til estimering av bølger og til beregning av posisjon og orientering i sanntid. Ved bruk av DMA (Direkte minnetilgang) og multitasking med FreeRTOS kan bølgesensoren sende sanntidsdata med lav forsinkelse til datalogger over seriell port, samtidig som bølgestatistikk beregnes i bakgrunnen. Bølgedata som beregnes er bølgespektrum, signifikant bølgehøyde hm0, gjennomsnittlig bølgeperiode tm01, tidsserien av bølgehøyden, og første- og andre fourierkoeffisienter for retningsspektrum. Bølgesensoren mottar akselerometer, gyroskop og magnetometerdata fra en SBG Ellipse 2 Micro IMU, som er koblet til UART på mikrokontroller. STMicroelectronics eget gratis utviklingsverktøy STM32CubeIDE ble brukt til utvikling og debugging av software, samt til å generere kode for konfigurasjon og initialisering av mikrokontrolleren. STs lavnivå-drivere (Low-layer drivers) ble brukt for konfigurasjon og styring av UART og andre periferienheter på mikrokontrolleren. Bølgesensoren bruker en AHRS til estimering av bøyens orientering i sanntid ved bruk av sensor-data fra akselerometer, gyroskop og magnetometer. Med bøyens orientering finner man den vertikale akselerasjonen som dobbelt-integreres for å finne bølgehøyde. AHRS som velges til oppgaven er et Eksplisitt Komplementær Filter, kjent fra Mahony et al. (2008) [18] og bruker en implementasjon fra Hua et al. (2014) [12]. AHRSen testes på rådata fra en Fugro SEAWATCH bøye, til estimering av orientering (rull, stamp og gir-vinkler) og bølgedata/statistikk. AHRSen viser seg å være godt egnet til oppgaven. De viktigste delene av kildekoden er med i vedlegget på slutten av rapporten. Observer for sanntidsestimering av bølgehøyde ble implementert. Observeren er implementert på tilstandsrom-form og bruker et kalman-filter til beregning av kalman-forsterkning og kovariansmatrisen i hvert tidssteg. Implementasjonen gir gode muligheter for å også estimere posisjon og hastighet horisontalt i sanntid. Valg av observer for sanntids estimering av posisjon og hastighet i sanntid, og akselerometerbias blir diskutert i rapporten.
dc.description.abstractSoftware and algorithms for estimation of wavedata and real-time waveheight was implemented on a STM32 ARM-Cortex-M microcontroller. The wavesensor is made to be used on a floating weather buoy, for estimation of waves and for estimation of position and attitude in real-time. By using DMA (Direct Memory Access) and multitasking with FreeRTOS, the wavesensor can send real-time data, with low delay to the datalogger, connected with RS-232, and at the same time computes wavestatistics in the background. The wavedata computed includes the omnidirectional wavespectrum, significant waveheight hm0, average waveperiod tm01, the timeseries of waveheight, and first- and secondorder Fourier-coefficients for the directional wavespectrum. The wavesensor receives accelerometer-, attitude rate sensor- and magnetometer-data from a SBG Ellipse 2 Micro IMU, connected to the microcontroller with serial interface. STMicroelectronics’ free of charge integrated development environment STM32CubeIDE was used for development and for debugging the software, and to generate code for configuration and initialization of the microcontroller. The LL-drivers (Low-layer) from ST was used for programming the peripherals of the microcontroller. With sensordata from the accelerometer, attitude rate sensor and magnetometer, the wavesensor uses an AHRS for estimation of the buoy’s attitude in real-time. The buoy’s attitude is used for computation of the vertical acceleration, which is integrated twice to find the waveheight. The AHRS-observer chosen in this thesis is the Explicit Complementary Filter [18], using the implementation from Hua et al. (2014) [12]. The observer was tested on IMU-sensor data from a Fugro SEAWATCH buoy, for estimation of attitude and wavedata. The AHRS proves to be well suited for the task. The most important parts of the source-code is provided in the appendix of the report. An observer for real-time estimation of waveheight was implemented. The implementation uses the state-space form of the observer, and computes the kalman-gain and covariance-matrix in each timestep. The implementation makes it easy to extend the observer to estimate horizontal position and velocity in addition to the vertical. Choice of observer for real-time estimation of position and velocity in all three dimensions, and estimation of accelerometer-bias is discussed in the report.
dc.languagenob
dc.publisherNTNU
dc.titleEmbedded utvikling og design av bølgeestimator
dc.typeMaster thesis


Files in this item

Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record