Spelling suggestions: "subject:"forminformation engineering"" "subject:"forminformation ingineering""
41 |
Reducing the boot time of embedded Linux systemsKyöstilä, T. (Tomi) 09 October 2018 (has links)
The increase of the functionality of consumer electronics has complicated the software embedded in them. The functionality previously implemented in hardware has been steadily shifting into software, which also increases its complexity. Together, these developments have led to reduced performance and longer start-up delays. Consumer electronics need to have a positive user experience, which is also affected by the boot time.
The methods for reducing the start-up time of an embedded Linux system can be categorized by the boot phases they can target: bootloaders, kernel initialization, or user space initialization. Compression can be applied in various situations, while prefetching to the page cache (readahead) is relevant only to user space initialization. Hibernation can be used to entirely avoid user space initialization, which is usually the most time-consuming boot phase in Android systems.
Developers need to know what impact their solutions and hardware choices have on the boot time. For this purpose, a measurement system was developed, which can automatically reboot the target system and collect a large sample of start-up time measurements. A large sample size is important because of the variance of the boot time even in a fixed target configuration.
The measurement system was validated by using it when optimizing the start-up time of an Android system for use in an embedded consumer electronics device. The boot time of the system was reduced by resuming the system from hibernation and by optimizing the CPU clock frequency and hibernation settings.
The median start-up time was improved from 61.594 s to 6.835 s, which is a reduction of 89 %. The relative improvement exceeds the results of most other published attempts at optimizing the Android boot time. The best results have been achieved with hibernation combined with other methods. / Viihde-elektroniikan toiminnallisuuden lisääntyminen on monimutkaistanut niihin sulautettuja ohjelmistoja. Aiemmin laitteistolla toteutettu toiminnallisuus on tasaisesti siirtynyt ohjelmistoihin, mikä edelleen mutkistaa niitä. Yhdessä nämä kehittymiset ovat johtaneet heikentyneeseen suorituskykyyn ja pidempiin käynnistysviiveisiin. Olennainen osa viihde-elektroniikkaa on positiivinen käyttäjäkokemus, johon vaikuttaa myös käynnistymisaika.
Sulautetun Linux-järjestelmän käynnistymistä nopeuttavat menetelmät voidaan luokitella sen mukaan, mihin käynnistymisvaiheeseen ne voivat vaikuttaa: käynnistyslataimiin, ytimen alustamiseen tai käyttäjäavaruuden alustamiseen. Pakkaamista voi hyödyntää monissa tilanteissa, kun taas ennakolta tehty sivuvälimuistiin haku (readahead) auttaa ainoastaan käyttäjäavaruuden alustamisessa. Horrostilalla voidaan täysin ohittaa käyttäjäavaruuden alustus, joka Androidjärjestelmissä on yleensä aikaa vievin vaihe.
Kehittäjien täytyy tietää mikä vaikutus heidän ratkaisuillaan ja laitteistovalinnoillaan on käynnistymisaikaan. Tätä varten kehitettiin mittausjärjestelmä, joka pystyy automaattisesti käynnistämään kohdelaitteiston uudelleen ja keräämään suuren otoksen käynnistysaikamittauksia. Suuri otoskoko on tärkeä, koska käynnistymisaika vaihtelee muuttumattomallakin laitekokoonpanolla.
Mittausjärjestelmä osoitettiin kelvolliseksi hyödyntämällä sitä sulautettuun kulutuselektroniikkalaitteeseen tarkoitetun Android-järjestelmän käynnistymisajan optimoinnissa. Järjestelmän käynnistymistä nopeutettiin palaamalla horrostilasta ja optimoimalla suorittimen kellotaajuutta ja horrostilan asetuksia. Järjestelmän käynnistysajan mediaani oli lähtötilanteessa 61.594 s ja lopputuloksessa 6.835 s, mikä vastaa 89 % vähennystä.
Suhteellinen parannus ylittää useimmat julkaistut Android-järjestelmien käynnistysajan optimoinnin yrityksien tulokset. Parhaat tulokset on saavutettu horrostilan ja muiden menetelmien yhdistelmillä.
|
42 |
Virtualization based software management for edge gatewayMattila, T. (Tuomo) 19 September 2016 (has links)
Scalability, heterogeneity, and device life-cycle are among the key concerns regarding Internet of Things (IoT) system development and deployment. Consequently, they require robust solutions for managing gateway-resident services as the systems evolve while being deployed in a large scale.
This thesis studies kernel-level virtualization in the context of designing and implementing a software management system for use in IoT edge gateways. A management system is implemented for a gateway which is deployed to several households, where the gateways act as base stations for smart electricity plugs. The gateway is designed to be used in a private household network, connecting to the Internet using the household’s own connection without modifications to router settings and with no configuration required from the homeowner.
The implementation runs on the GNU/Linux operating system on the Raspberry Pi 2 single-board computer. It uses Docker as the virtualization system, Ansible for host-level configuration management and MQTT as the primary protocol for communication with cloud-resident management services.
The gateway was deployed to a number of households in the pre-pilot phase of the Flex4Grid project. During the pre-pilot, the implemented software management system provided a convenient way of deploying and maintaining middleware packages running inside the gateways, as well as being capable of updating itself as required. / Skaalautuvuus, heterogeenisyys ja laitteiden elinkaari kuuluvat Internet of Things (IoT) -järjestelmien kehityksen ja käyttöönoton avainkysymyksiin. Tästä johtuen järjestelmät tarvitsevat toimivarmoja ratkaisuja yhdyskäytävälaitteissa ajettavien palveluiden hallitsemiseen laajasti käyttöönotetujen järjestelmien kehittyessä.
Tämä diplomityö tutkii käyttöjärjestelmäydintason virtualisointia IoT-rajayhdyskäytävälaitteiden ohjelmistohallintajärjestelmän suunnitteluun ja toteuttamiseen liittyen. Työssä toteutetaan hallintajärjestelmä yhdyskäytävälaitteelle, jollaisia otetaan käyttöön useissa kotitalouksissa toimimaan tukiasemana älypistokkeille. Yhdyskäytävä toimii kotitalouksien yksityisissä lähiverkoissa, joissa ne käyttävät kunkin kotitalouden omaa Internet-yhteyttä tarvitsematta muutoksia kotireitittimien asetuksiin.
Toteutettu järjestelmä toimii GNU/Linux-käytöjärjestelmässä Raspberry Pi 2 -laitteella ja käyttää Docker-virtualisointijärjestelmää, Ansible-konfiguraationhallintatyökalua ja MQTT-kommunikaatioprotokollaa pilvipalveluiden kanssa.
Yhdyskäytävälaitetta käytettin lukuisissa kotitalouksissa Flex4Grid-projektin esipilottivaiheen aikana. Toteutettu ohjelmistonhallintajärjestelmä tarjosi esipilotin aikana sujuvan mekanismin yhdyskäytävälaitteissa ajettavien väliohjelmistojen etäasentamiseen ja päivittämiseen ja pystyi päivittämään ajon aikana tarvittaessa myös itsensä.
|
43 |
Tool for analyzing data transfer scenarios in eNodeBKorhonen, H. (Heikki) 19 September 2016 (has links)
In software development, debugging is one option for finding a bug. Source code can be debugged by entering print statements to investigate values of variables or by using a dedicated debugger tool. With a debugger, the program can be stopped at a certain point and see the values of variables, without changing the code.
Real-time software code is complex. Complex source code always requires careful testing, design and quality assurance. Debugging helps to achieve these requirements. Debugging is harder in a real-time environment and it takes more time which means that developers must have effective debugging tools. To be effective in debugging in a real-time environment, it requires an informative logging tool.
This thesis concentrates to help LTE L2 debugging with the tool implemented in this work. The logging tool parses the binary data got from eNodeB to a readable form in a text file. Traced fields and values can be investigated in a certain time. With this L2 data flow can be verified. / Ohjelmistokehityksessä virheenjäljittämistä käytetään vian löytämiseen. Virheenjäljitystä voidaan tehdä lisäämällä lähdekoodin tulostuslauseita, joilla tutkitaan esimerkiksi muuttujien arvoa halutulla hetkellä koodissa. Toinen tapa on virheenjäljittäjän käyttäminen koodia ajettaessa. Silloin ohjelma voidaan pysäyttää haluttuun kohtaan ja tutkia muuttujien sen hetkisiä arvoja ilman koodimuutoksia.
Reaaliaikainen koodi on kompleksista ja vaatii aina huolellista testausta sekä laadunvarmistusta. Virheenjäljitys on reaaliaikaisessa ympäristössä hankalampaa ja aikaa vievää, jolloin ohjelmistokehittäjillä täytyy olla tehokkaat virheenjäljitystyökalut. Reaaliaikaisessa ohjelmistossa tehokas virheenjäljitys vaatii myös informatiivisen lokityökalun.
Tämä diplomityö keskittyy auttamaan LTE L2 virheenjäljitystä työssä toteutettavan lokityökalun avulla. Lokityökalu purkaa eNodeB-tukiasemasta saadut binääritiedostot lukemiskelpoiseen muotoon tekstitiedostoon. Tekstitiedostosta voidaan tutkia halutulla ajanhetkellä olevien jäljitettyjen muuttujien arvoja. Tällä voidaan varmistaa, onko LTE L2:n tiedonvirtaus sujunut onnistuneesti.
|
44 |
Automation improvements to LTE eNodeB user plane software integration testingSeppänen, T. (Tuomas) 15 February 2016 (has links)
The LTE eNodeB base station software is composed of various interconnected components, which handle different functionalities. Integration testing is used to test the interfaces and interactions between the components when they are combined together. In agile software development new software component builds are created frequently, which leads to a need for a quick and automated testing environment.
This thesis focuses on improving the level of automation in the LTE User Plane software integration testing continuous integration environment. Two different subjects, interface specification adaptation and test scenario configuration, are addressed in this study. An automated system triggered by the continuous integration platform is implemented to update the testing environment so that it complies with the latest interface specification. In addition, a new software tool is developed as a proof of concept for an alternative method for test script writing and test case creation. The tool is used to create and configure test scenarios in a graphical user interface and to automatically generate test scripts from the configuration instead of writing the test scripts manually.
The operation of the automated adaptation system was observed for more than a year with over a hundred interface specification changes. Results show a substantial reduction in processing time when comparing to the earlier manual process and no errors were detected in the output.
The new software tool for creating test scenarios achieves its goal. The tool enables the creation and configuration of basic test scenarios in the graphical user interface and the generated test scripts can be executed successfully. / LTE eNodeB -tukiasema koostuu useasta toisiinsa yhteydessä olevasta komponentista, jotka käsittelevät eri toiminnallisuuksia. Integraatiotestausta käytetään komponenttien välisten rajapintojen ja vuorovaikutusten testaamiseen. Ketterässä ohjelmistokehityksessä uusia käännöksiä ohjelmistokomponenteista luodaan usein, mikä luo tarpeen nopealle ja automatisoidulle testiympäristölle.
Tämä diplomityö keskittyy parantamaan automaation tasoa LTE User Plane -ohjelmiston integraatiotestauksen jatkuvan integroinnin ympäristössä. Työssä käsitellään kahta eri aihetta: rajapintamäärittelyihin mukautumista sekä testiskenaarioiden konfiguraatiota. Automatisoitu järjestelmä, jonka käynnistää jatkuvan integroinnin alusta, toteutetaan päivittämään testiympäristö noudattamaan viimeisintä rajapintamäärittelyä. Lisäksi uusi ohjelmistotyökalu kehitetään osoituksena vaihtoehtoisesta tavasta testikoodin kirjoittamiseen ja testitapausten luomiseen. Työkalua käytetään graafisessa käyttöliittymässä testiskenaarioiden muodostamiseen ja konfigurointiin sekä testikoodin automaattiseen tuottamiseen konfiguraatioiden pohjalta käsin kirjoittamisen sijaan.
Automatisoidun mukautumisjärjestelmän toimintaa tarkkailtiin yli vuoden ajan, jona aikana havaittiin yli sata rajapintamäärittelyiden muutosta. Tulokset osoittavat huomattavan vähennyksen suoritusajassa verrattuna edeltäneeseen manuaaliseen prosessiin. Järjestelmän tuotoksissa ei tarkkailuajanjakson aikana havaittu virheitä.
Uusi ohjelmistotyökalu testiskenaarioiden luomiseen täyttää sille asetetun tavoitteen. Työkalu mahdollistaa yksinkertaisten testiskenaarioiden luomisen ja konfiguraation graafisessa käyttöliittymässä. Työkalulla tuotetut testikoodit voidaan suorittaa onnistuneesti.
|
45 |
Suosittelujärjestelmät rekrytointiprosessissaPaaso, M. (Markus) 10 April 2013 (has links)
Suosittelujärjestelmiä käytetään Internetissä parantamaan yksilön käyttäjäkokemusta sivustolla. Suosittelujärjestelmän avulla voidaan tuottaa yksittäisen käyttäjän tarpeita tyydyttävää sisältöä, käyttäen hyväksi käyttäjän käyttäytymistä ja verkostoitumista Internetissä. Suosittelujärjestelmä toimii usein hakukonetta avustavana ohjelmistona verkkokaupoissa ja tuotteiden hakusivustoilla. Kuitenkaan rekrytointiin soveltuvia suosittelujärjestelmiä ei tiettävästi ole tarjolla. Rekrytoinnissa suosittelujärjestelmä tuottaisi rekrytoijan tarpeisiin sopivia hakutuloksia saatavilla olevasta työnhakijajoukosta käyttäen niin työtehtävään kuin työnhakijaan liittyviä ominaisuuksia eli piirteitä apuna.
Tässä diplomityössä tutkitaan suosittelujärjestelmien soveltuvuutta rekrytoinnin apuvälineeksi rekrytoijan jokapäiväiseen käyttöön. Tutkimuksessa lähdettiin liikkeelle tutkimalla vapaamuotoisen tekstin soveltuvuutta työnhakijoiden väliseen samankaltaisuuden laskentaan. Tutkimuksessa keskitytään tekstimuotoisen CV:n ja työntekijöiden käyttäytymisen hyödyntämiseen rekrytoinnissa. Toteutettu suosittelujärjestelmä yhdistää tiedonkeruun ja datasta rakennetun graafin yhdeksi kokonaisuudeksi. Se tarjoaa ennennäkemättömän tavan tehostaa rekrytointiprosessin työntekijän valintavaihetta. / Recommender systems are used on the Internet to improve user experience on the websites. With the assistance of the recommender system it is possible to produce content that fills the needs of a single individual user by using the behaviour and networking of the users as advise. A recommender system often works as a part of a search engine in web shops and product search sites. However, the recommender systems suitable for recruiting have not been found. In recruiting the recommender system would produce the search results of available applicants for a recruiter that fills the recruiters needs by using the features of the available applicants as well as the features of the available jobs.
In this thesis the suitability of recommender systems as a tool for the every day use of recruiter is researched. The research started by exploring the suitability of freely formed text to similarity calculation between users. The research focuses into the use of user behaviour and text formed user data in recruiting. The implemented recommender system combines the data mining and the graph built on data relations into one ensemble. It provides unprecedented way to intensify the applicant choosing phase in the recruiting process.
|
46 |
Effects of linear preprocessing on receiver complexity-performance trade-off in single-carrier MIMO systemsKarjalainen, M. (Markus) 10 April 2013 (has links)
The shift from single-antenna to multiple-antenna transmission contributes to the capacity increase in wireless communications systems, but the high complexity of receivers may hold back advancements. Frequency-selective multi-path-fading channels dominate in the 3GPP Long Term Evolution (LTE) uplink transmissions and cause the need for measures of equalization in the receiver.
Fast, low-complexity equalizers can be implemented as linear filters that are applied to the frequency-domain multiple-antenna channel models, but good results can not be expected. Nonlinear, high performance solutions, like sphere detection, are available for multiple-input multiple-output (MIMO) signal detection in flat-fading channels, but their feasibility, in the presence of frequency-selective fading, is limited by high computational complexity of processing the large data input of cyclic prefixed block transmissions.
In receiver design, trade-offs need to be made in terms of complexity and performance, and this master’s thesis explores the possibility of using linear signal preprocessing in order to influence MIMO detection. A novel group detection algorithm is studied, formalized and evaluated through computer simulations.
The central idea in group detection is to use linear preprocessing in order to divide a MIMO channel matrix into smaller equivalent channels, and detect data symbols in each of the formed groups separately. The group detection method incorporates a channel-based adaptive grouping, and thus, using the channel characteristics, each detection is made in an optimized group. The signal preprocessing is done via minimum mean-square error (MMSE) filtering, and detection is handled by a sphere detector that achieves the same solution as maximum-likelihood detection.
The proposed MMSE-based group detection is aimed at use in reception of the single-carrier transmissions in the LTE-Advanced and LTE systems uplink, which is reflected in the parameters of simulation. The performance of detection is measured by numerical bit error rate examples, which are calculated by simulating cyclic prefixed transmission in MIMO and single-antenna channels. The models include channels that exhibit Rayleigh or Ricean fading, or have a long delay spread like the Pedestrian B channel specified by 3GPP.
On the basis of the simulation results, the MMSE-based group detection can outperform the other receiver methods. Group detection was tested with several group sizes, since larger groups improve performance. The group size also determines the most of the method’s complexity, but it is a parameter whose value can be selected to give the desired performance. / Muutos yhden antennin lähetyksistä monen antennin lähetyksiin edistää kapasiteetin kasvua langattomissa viestintäjärjestelmissä, mutta vastaanotinten monimutkaisuus voi hillitä kehitystä. Taajuusselektiivisesti monitiehäipyvät kanavat hallitsevat 3GPP Long Term Evolution (LTE) -järjestelmän nousevan siirtotien lähetyksissä, mikä johtaa kanavakorjauksen tarpeeseen vastaanottimessa.
Nopeat, monimutkaisuudeltaan edulliset kanavakorjaimet voidaan toteuttaa lineaarisina suodattimina, joita käytetään taajuusalueen moniantennikanavamalleihin, mutta niiltä ei voida odottaa hyviä tuloksia. Epälineaarisia korkean suorituskyvyn ratkaisuja, kuten palloilmaisu, on käytettävissä monitulo-monilähtö (MIMO) -signaalinilmaisuun tasaisesti häipyvissä kanavissa, mutta niiden toteutettavuutta rajoittaa suuri laskennallinen monimutkaisuus käsiteltäessä sitä suurta datamäärää joka lähetetään syklisellä etuliitteellä täydennettyinä lohkoina.
Vastaanotinten suunnittelussa on tehtävä kompromisseja monimutkaisuuden ja suorituskyvyn suhteen, ja tässä diplomityössä tarkastellaan mahdollisuutta käyttää signaalin lineaarista esikäsittelyä MIMO-ilmaisuun vaikuttamiseksi. Tutkimuksen kohteena on uudenlainen ryhmäilmaisu, joka formalisoidaan algoritmina ja jota arvioidaan tietokonesimulaatioiden perusteella.
Ryhmäilmaisun ydinajatuksena on käyttää lineaarista esikäsittelyä jakamaan MIMO-kanavamatriisi pienemmiksi ekvivalenttikanaviksi ja ilmaista datasymbolit syntyneissä ryhmissä erikseen. Ryhmäilmaisumenetelmä sisältää kanavaperustaisesti mukautuvan ryhmittelyn, joka käyttää kanavan ominaisuuksia siten että jokainen ilmaisu tehdään optimoidussa ryhmässä. Signaalin esikäsittely tehdään pienimmän keskineliövirheen (MMSE) suodatuksella, ja ilmaisuun käytetään palloilmaisinta, joka saavuttaa saman ratkaisun kuin suurimman uskottavuuden menetelmä.
Esitellyn MMSE-pohjaisen ryhmäilmaisun käyttökohteena pidetään yhden kantoaallon lähetyksien vastaanottamista LTE-Advanced ja LTE -järjestelmissä nousevassa siirtotiessä, mikä heijastuu simulaatioparametreihin. Ilmaisun suorituskykyä mitataan bittivirhesuhteen numeerisilla esimerkeillä, jotka lasketaan simuloimalla syklisellä etuliitteellä varustettua lähetystä MIMO- sekä yhden antennin kanavissa. Malleissa on kanavia joissa ilmentyy Rayleigh- tai Rice-häipymistä, tai joilla on pitkä viivehaje, kuten 3GPP:n määrittämällä Pedestrian B -kanavalla.
Simulaatiotulosten perusteella MMSE-pohjainen ryhmäilmaisu suoriutuu paremmin kuin siihen verratut vastaanotinmenetelmät. Ryhmäilmaisua kokeiltiin usealla ryhmäkoolla, sillä suuremmat ryhmät parantavat suorituskykyä. Ryhmäkoko on parametri joka määrää suurimman osan menetelmän monimutkaisuudesta, mutta se voidaan valita siten että saavutetaan haluttu suorituskyky.
|
47 |
Reaaliaikainen visuaalinen odometriaPärkkä, J. (Jarmo) 05 December 2013 (has links)
Visuaalisella odometrialla estimoidaan ajoneuvon, ihmisen tai robotin liikettä käyttäen syötteenä kuvaa yhdestä tai useammasta kamerasta. Sovelluskohteita on robotiikassa, autoteollisuudessa, asustemikroissa ja lisätyssä todellisuudessa. Se on hyvä lisä navigointijärjestelmiin, koska se toimii ympäristöissä missä GPS ei toimi. Visuaalinen odometria kehitettiin pyöräodometrian korvaajaksi, koska sen käyttö ei ole riippuvainen maastosta ja liikkumismuodosta.
Tässä työssä tutkitaan ja kehitetään visuaalisen odometrian menetelmää reaaliaikaiseen sulautettuun järjestelmään. Työssä esitellään visuaalisen odometrian perusteet ja sen sisältämät osamenetelmät. Lisäksi esitellään yhtäaikainen paikallistaminen ja kartoitus (SLAM), jonka osana visuaalinen odometria voi esiintyä.
Kehitettyä visuaalisen odometrian menetelmää on tarkoituksena käyttää Parrotin robottihelikopterille AR.Drone 2.0:lle tunnistamaan sen liikkeet. Tällöin robottihelikopteri saa tarpeeksi tietoa ympäristöstään lentääkseen itsenäisesti. Työssä toteutetaan algoritmi robotin tallentaman videomateriaalin tulkitsemiseen. Työssä toteutettu menetelmä on monokulaarinen SLAM, jossa käytetään yhden pisteen RANSAC-menetelmää yhdistettynä käänteisen syvyyden EKF:ään. Menetelmän piirteenirroitus ja vastinpisteiden etsintä korvataan reaaliaikaisella sulautetulle järjestelmälle sopivalla menetelmällä.
Algoritmin toiminta testataan mittaamalla sen suoritusaika useilla kuvasekvensseillä ja analysoimalla sen piirtämää karttaa kameran liikkeestä. Lisäksi tarkastellaan sen antamien navigointitietojen todenmukaisuutta. Toteutetun järjestelmän toimintaa analysoidaan visuaalisesti ja sen toimintaa tarkastellaan suhteessa vertailumenetelmään. Työssä toteutettu visuaalisen odometrian menetelmä todetaan toimivaksi ratkaisuksi reaaliaikaiselle sulautetulle järjestelmälle tietyt rajoitukset huomioiden. / Visual odometry is the process of estimating the motion of a vehicle, human or robot using the input of a single or multiple cameras. Application domains include robotics, wearable computing, augmented reality and automotive. It is a good supplement to the navigation systems because it operates in the environments where GPS does not. Visual odometry was developed as a substitute for wheel odometry, because its use is not dependent of the terrain. Visual odometry can be applied without restrictions to the way of movement (wheels, flying, walking).
In this work visual odometry is examined and developed to be used in real-time embedded system. The basics of visual odometry are discussed. Furthermore, simultaneous localization and mapping (SLAM) is introduced. Visual odometry can appear as a part of SLAM.
The purpose of this work is to develop visual odometry algorithm for Parrot’s robot helicopter AR.Drone 2.0, so it could fly independently in the future. The algorithm is based on Civera’s EKF-SLAM method, where feature extraction is replaced with an approach used earlier in global motion estimation.
The operation of the algorithm is tested by measuring its performance time with different image sequences and by analyzing the movement of the camera from the map drawn by it. Furthermore, the reality of the navigation information is examined. The operation of the executed system is visually analyzed on the basis of the video and its operation is examined in relation to the comparison method. Developed visual odometry method is found to be a functional solution to the real-time embedded system under certain constraints.
|
48 |
Reaaliaikainen kuvaprosessointi robottihelikopterissaSarajärvi, J. (Joonas) 10 June 2014 (has links)
Kameran kalibrointi on menettely, jolla selvitetään kameran tuottamien kuvapisteiden ja kameralla kuvatun näkymän geometrian suhde. Tavallisesti suhde esitetään kameramallin avulla. Tyypillisesti kalibrointimenetelmät sovittavat jonkin kameramallin parametrit vastaamaan kameran kuvista tehtyjä havaintoja. Kalibrointi on tarpeellinen, mikäli kameran kuvasta mitataan geometrisia suureita.
Tässä työssä toteutetaan ohjelmisto, joka noudattaa Oulun yliopiston konenäön tutkimuskeskuksessa kehitettyä kameramallia. Ohjelmiston avulla AR.Drone 2.0-robottihelikopterin kameralle suoritettua kalibrointia voi hyödyntää AR.Drone 2.0:n omalla suorittimella. Ohjelmisto sopii myös muihin sulautettuihin järjestelmiin ja PC-tietokoneisiin.
Taustatietona tarkastellaan olemassa olevia kameramalleja ja verrataan toteutuksen noudattamaa kameramallia näihin malleihin. AR.Drone 2.0:n laitteistoa ja ohjelmistoa tarkastellaan toteutettavan ohjelmiston kohdealustana toimimisen näkökulmasta. Toteutetuista kuvankäsittelymenetelmistä esitetään perustoteutus ja sitä nopeuttavia optimointeja. Erityisesti ohjelmiston ja suorittimen välimuistin vuorovaikutukseen kiinnitetään huomiota. Valittujen menetelmien todetaan soveltuvan myös jaettavaksi usealle suoritinytimelle rinnakkaiseen laskentaan. Lopuksi toteutetun ohjelmiston suorituskykyä arvioidaan sekä ARM-suoritinarkkitehtuuria edustavissa sulautetuissa järjestelmissä että PC-työasemissa.
Toteutetulla ohjelmistolla voi korjata kalibroidun kameran kuvia perspektiivimallin mukaiseksi. ARM Cortex-A8 -suorittimella ohjelmisto kykenee korjaamaan AR.Drone 2.0:n kameran tuottamia kuvia reaaliajassa.
|
49 |
Ohjelmistoräätälöintityökalu web-käyttöliittymälläHeikkinen, M. (Mikko) 02 June 2014 (has links)
Ohjelmistoräätälöinnillä tarkoitetaan ohjelmiston muokkaamista siten, että se vastaa paremmin asiakkaan tarpeita. Ohjelmistoräätälöinnin ja muunkinlaisen tuoteräätälöinnin avulla tuotteilla voidaan päästä uusille tai laajemmille markkinoille, tuotteiden kehityskustannuksia voidaan alentaa sekä asiakastyytyväisyyttä nostaa.
Tässä työssä esitellään eräs ohjelmistoräätälöintijärjestelmä ja tähän järjestelmään liittyviä tehokkuusongelmia. Tämän työn tavoitteena on näiden ongelmien ratkaisemiseksi suunnitella, toteuttaa ja testata web-käyttöliittymällä varustettu ohjelmistoräätälöintityökalu. Työn lopputuloksena syntynyt työkalu mahdollistaa ohjelmistoräätälöinnin suorittamisen alusta loppuun asti. Työkalun avulla voidaan muokata tekstejä, valita värejä ja kuvia, määrittää teknisiä tietoja ja ottaa käyttöön tai poistaa ohjelmiston osia, ja sen avulla voidaan kääntää räätälöity tuote valmiiksi ohjelmistoksi asti. Lisäksi työkalu tukee räätälöintiprosessia antamalla palautetta räätälöinnin tilasta sekä näyttää, miltä räätälöity tuote annetuilla tiedoilla näyttäisi.
Työssä esitelty työkalu ratkaisee sille esitetyn räätälöintiongelman, ja vastaavanlaista ratkaisumallia on mahdollista käyttää myös muihin ohjelmistoräätälöintijärjestelmiin. / Software customization means modifying a software, so that it better matches the customer’s needs. It is possible to gain access to new or larger markets, reduce the costs of development and improve customer happiness with software customization as well as other kinds of customization.
This work presents a particular software customization system and some efficiency problems related to it. The purpose of this work is to solve these problems by designing, implementing and testing a software customization tool with a web user interface. The tool created as a result of this work enables the creation of a customized software from start to finish. The tool provides ways to customize texts, choose colors and pictures, define technical details and enable or disable parts of the software. The tool creates finished, customized software as a result of the customization process. In addition to this the tool supports the customization process by giving feedback about the status of the customization, and visualizes how the finished product will look with the given information.
The tool presented in this work solves the given customization problem, and it is possible to use the presented solution to solve other customization problems in similar software customization systems.
|
50 |
Database architecture design and performance evaluation for Quality of Service measurementsRuottinen, P. (Pekka) 25 May 2016 (has links)
Tietoliikenneverkkojen palvelunlaadun ja käyttäjien kokeman palvelunlaadun mittaaminen ja analysointi tarjoavat apukeinoja verkon kapasiteetin optimointiin ja parhaan mahdollisen käyttökokemuksen turvaamiseen. Verkon ominaisuuksien mittaaminen ja analysointi auttavat myös löytämään ja ratkaisemaan kasvavien käyttäjämäärien sekä tiedonsiirtomäärien tuomia ongelmia. Teknologian tutkimuskeskus VTT Oy:ssä kehitetty mittausjärjestelmä Qosmet tarjoaa monipuolisen ratkaisun ja tehokkaan ympäristön tämän kaltaiseen verkkoanalysointiin. Palvelunlaatumittauksista saatava tieto on kokonaan numeerista tietoa, jonka tietokantakäsittely on tehokasta ja hyvin optimoitavissa niin luku- kuin kirjoitustapauksissakin.
Tämän diplomityön tavoitteena on löytää suorituskykyinen tietokanta-arkkitehtuuri palvelunlaatumittauksista saatavalle tiedolle ja toteuttaa rajapinta Qosmetin ja tutkittavan tietokannan välille. Osatavoitteena on myös tunnistaa tietokantaoptimoinnin mahdollistavat erityispiirteet. Näiden tavoitteiden saavuttamiseksi suunniteltiin kolme tietokantamallia, joille suoritettiin kattavat suorituskykyä mittaavat kirjoitus- ja lukutestit. Malli 1 sisältää yhden, malli 2 kaksi ja malli 3 vastaavasti kolme tietokantataulua. Tieto on jaettu tauluihin oletettujen esiintymistiheyksien perusteella.
Tietokantamallien suorituskykymittausten analysoinnin ja vertailun perusteella parhaaksi malliksi osoittautui kahden taulun malli (malli 2). Se saavutti kirjoitusnopeudeksi parhaimmillaan noin 7500 riviä sekunnissa ja ylsi lähelle parasta saavutettua lukunopeutta. Mallit 1 ja 2 olivat kirjoitusnopeudessa noin 33 prosenttia mallia 3 nopeampia. Mallit 2 ja 3 puolestaan suoriutuivat lukutesteissä noin 20 prosenttia mallia 1 paremmin. Suorituskykyanalysoinnin avulla saatiin hyvä ymmärrys tietokannan optimoinnista, tehokkuuteen vaikuttavista ominaisuuksista, laitteistovaatimuksista, järjestelmän pullonkauloista sekä korkealla käyttöasteella vastaan tulevista rajoituksista. Tämän työn tuloksena syntyi suorituskykyinen tietokanta, jota voidaan jatkossa käyttää Qosmet-järjestelmän osana. / Measuring and analysing the quality of experience and the quality of service are important assisting methods when optimizing network capacity, and providing the best possible user experience. They also present methods for finding and dealing with problems caused by the ever-growing internet data traffic and its number of users. Qosmet, developed at VTT Technical Research Centre of Finland Ltd, is a powerful solution for this type of network analysis. Considering that long term storage of quality of service measurement data is all numerical, this enables an efficient and well optimised database solution, one that performs well in either writing data or reading it for analysis.
The purpose of this thesis is to ascertain the optimal database architecture for quality of service measurements. An important outcome of this project is the interface between Qosmet and the implemented database. Part of the work consists also in identifying the characteristics for database optimization. In order to achieve these goals, three database architecture schemas were designed and analysed with the help of exhaustive writing and reading performance tests. Schema 1 has one, schema 2 two and schema 3 have respectively three database tables, in which the data is distributed according to its assumed frequency of use.
Following the analysis and comparison of these three database architecture schemas, the one with two tables appeared to be the best one. It achieved writing throughput of around 7,500 lines per second, and the reading performance was the second best, actually very close to the best performance. Schemas 1 and 2 were about 33 percent faster than schema 3 in writing performance. Schemas 2 and 3 performed about 20 percent better than schema 1 in reading tests. Performance analysis gave a good understanding of database optimization and features affecting its efficiency, as well as hardware requirements, bottlenecks and limits on high utilization situations. This work resulted in an efficient and verified database, which can be used in the future as part of the Qosmet solution.
|
Page generated in 0.1308 seconds