Examensarbeten för kandidatexamen // Bachelor Theses
Länka till denna samling:
Browse
Browsar Examensarbeten för kandidatexamen // Bachelor Theses efter Titel
Visar 1 - 20 av 396
Sökresultat per sida
Sortera efter
- Post360World A mobile app for creating and sharing 360° images(2017) Boking, Oskar; Helsing, Jonathan; Kulaglic, Amar; Lind, John; Mihajlovic, Nebojsa; Petersson, Anna; Chalmers tekniska högskola / Institutionen för data- och informationsteknik (Chalmers); Chalmers University of Technology / Department of Computer Science and Engineering (Chalmers)This report details the construction of 360World, an Android based prototype for a social media platform, the purpose of which is facilitating the capture and location focused sharing of 360 panorama pictures. The project encompasses the development of an Android application, a database for storing user information and the interface between these, as well as the configuration of hosting servers. The application makes use of algorithms from the OpenCV code library which are used to stitch multiple captured images into a single 360 panorama image; an image which can then be shared with the help of features that are typical for social media platforms, namely users and friends. 360World also has an innovative map-based way of visualising user profiles. Social media as an industry has been on the rise since its inception, and picture sharing is one of its major features; 360 pictures, however, are still relatively fringe. In this project, we explore one possible way 360 pictures could be utilised in a social media setting. The project resulted in a working prototype with which users can create, and share 360 panoramic images via map-based image presentation.
- Post3Book - a forgiving e-reader prototype for complex books(2012) Davison, Richard; Ljungkvist, Axel; Ström, Daniel; Chalmers tekniska högskola / Institutionen för data- och informationsteknik (Chalmers); Chalmers University of Technology / Department of Computer Science and Engineering (Chalmers)Navigating complex documents with heterogeneous content on a modern touchenabled smartphone is diffcult. Small screen size, limited and imprecise control opportunities and the potential of user distraction all contribute to the challenge of the task. This report describes a number of design considerations that the authors believe can be implemented to help alleviate these problems, including thumb-driven interaction and forgiving navigation. The report also describes a prototype that exemplifies the design ideas introduced.
- Post3D modelling with a webcam(2021) Nevalainen Henaes, Axel; Rehnberg, Robin; Chalmers tekniska högskola / Institutionen för data och informationsteknik; Duregård, Jonas; Sistek, SakibCreating convincingly realistic three dimensional models is a common endeavour in fields like art and entertainment. The process can be both time consuming and difficult. By reconstructing objects from photographs this process could be sped up significantly while also lowering the barrier of entry when it comes to producing realistic models. The aim of this project is to explore such a solution by attempting to introduce the third dimension, depth, into images. This project explores and research the different methodologies that can used to recre ate three dimensional environments using different mathematical concepts, together with algorithms and possibly artificial intelligence The end result was a success where the program successfully managed to introduce the third dimension into images. This depth is then used to create three dimensional model. Because this was successfully done with enough time left, machine learning was introduced to the project to compare the results from the algorithmic approach to that of machine learning. The results from the machine learning bring a level of detail to the three dimensional images that can not be matched by algorithmic solutions. Further development of the project would include merging information provided by the photos from multiple angles. In its current state it works for objects with a known viewing angle for the context it will be used in. But with data captured from different angles merged together such preparations would not have to be made.
- Post4G-baserad långdistansdrönare - Utveckling av en autonom drönare för långdistansflygning(2020) ARNEBRO SÖDERBERG, ERIK; CARBOL, JONATHAN; EDVINSSON, FILIP; FRITHIOFSON, ADAM; KJELLBERG, ALRIK; NILSSON, OLLE; Chalmers tekniska högskola / Institutionen för data och informationsteknik; Linde, Arne; Johansson, RogerFöljande rapport beskriver utvecklingen av en autonom drönare med möjlighet att starta och landa vertikalt samtidigt som den bibehåller hög effektivitet vid långdistansflygning, samt en tillhörande mobilapplikation som möjliggör övervakning av drönaren. All kommunikation med drönaren sker över 4G för i princip obegränsad räckvidd. Syftet var att drönaren skulle kunna användas för autonom transport av små tidskritiska paket över större avstånd än en radiosändare klarar av att styra. Drönaren utvecklades från ett färdigköpt radiostyrt flygplan, på vilket fyra motorer hade monterats på vingarna för att kunna starta och landa vertikalt. För att drönaren skulle kunna ha autonoma förmågor utrustades den med en avancerad flygdator och en Raspberry Pi, som i sin tur var uppkopplad till 4G-nätet via ett 4G-modem. Detta tillät anslutning till drönaren via en VPN-tunnel för styrning samt övervakning via applikationen som utvecklades med hjälp av Android Studio. Projektet resulterade i en autonom drönare som kan styras och övervakas över 4G, samt fungerar väl som quadcopter och flygplan. Både vertikal start och landning så väl som framåtflygning och övergång däremellan har testats och fungerar. Applikationen tillåter användaren att följa och övervaka drönaren i realtid via både karta och videoström. Projektet lägger en god grund för fortsatt arbete kring drönares användning vid långdistanstransport av mindre föremål och förslag på vidareutveckling presenteras i rapporten.
- PostA Case Study of a 3D Space-Shooter Game(2015) Dahlberg, Oskar; Ericsson, Hampus; Hasselqvist, Johan; Josefsson, Anton; Ottervad, Henry; Chalmers tekniska högskola / Institutionen för data- och informationsteknik (Chalmers); Chalmers University of Technology / Department of Computer Science and Engineering (Chalmers)This Bachelor’s thesis treats the development of ULMO the Star Explorer, a graphically intensive space-shooter game set in three dimensions, which is developed using the framework Microsoft XNA. The project was carried out as a case study, and the thesis presents and compares different techniques that can be used to solve the problems we identified. The main focus for this thesis is to present the graphical effects used to create a graphically intensive game within a limited time frame, but it also presents the different solutions chosen to create the game engine used by the game. The thesis covers several common graphical effects used by games, such as Bloom and Motion Blur, and presents two novel algorithms: one algorithm for lighting of spheres, and one algorithm to generate the game world including a path within the threedimensional space of this world. ULMO the Star Explorer does not contain all the features that were originally planned, but is still a fully functional game that can, given the time frame and the number of project members, be seen as a visually pleasing game.
- PostA comparative study of massive flock simulations on the cpu and the gpu(2019) Runvik, Arvid; Karlsson, Leo; Hallqvist, Elias; Lyrstrand, Oskar; Kraft, Jonathan; Chalmers tekniska högskola / Institutionen för data och informationsteknik; Ahrendt, Wolfgang; Fratarcangeli, MarcoThis paper describes how large scale flocks can be simulated efficiently with modern computer graphics using parallelization techniques and spatial data structures. The results show that parallelism is essential in improving performance, both in CPU and GPU implementations. Best performance was achieved using CUDA, uniform grid, and batching which resulted in a simulation of two million agents at a frame rate of 30 frames per second. The simulation was extended with a graphical user interface, predators, colours and user interaction in order to create a simple game.
- PostA Decentralized Voting System(2019) Ahlkvist, Jack; Gustafsson, Anton; Lundborg, Carl; Mattsson Thorell, Joakim; Sandstedt, Aron; Slavnic, Sanjin; Chalmers tekniska högskola / Institutionen för data och informationsteknik; Pericas, Miquel; Profentzas, ChristosAs the area of use for blockchain technology is rapidly spreading, a digitized democratic voting system might just be the next revolutionary step towards a transparent and trusted electoral system. This thesis investigates the possibility of a decentralized voting system and explores the possible challenges regarding privacy, correctness and integrity. Using the Ethereum blockchain and various smart contracts, a prototype was implemented as a proof of concept. The thesis also contains studies regarding the social- and environmental aspects of the prototype and electronic voting in general. Throughout the project, it became clear that the suggested implementation has essential tradeoffs and would not work in practice. The study concretizes what needs to be improved in order to use a voting system built on blockchain technology. This report concludes that there is still work to be done in order to use this technology in crucial fields such as voting. And suggests using a private blockchain in order to implement the specified voting system, DeVote.
- PostA Decentralized Voting System(2020) Abdulqadir Ahmed, Fahmi; Engström, Gustaf; Hindawi, Omar; Tobiasson, Tom; Veltman, Melker; Wallgren, Oskar; Chalmers tekniska högskola / Institutionen för data och informationsteknik; Papatriantafilou, Marina; Brunetta, CarloThe target of the project "A Decentralized Voting System" is to investigate whether recent developments in distributed systems can make a decentralized voting system capable of replacing the current systems in place. The current voting systems that are taken into account are primarily democratic electoral voting systems, such as the Swedish national electoral voting system. To remove the single central authority conducting the vote, distributing the responsibility is the primary goal of the project. The voting system developed relies on several trusted entities where the system tolerates conflict of interest to a specified degree. It is built using a software framework for building blockchain applications. The system is capable of managing all aspects of voting except the distribution of a digital voter card. A frontend presents the voting stages of the application but does not offer an interface for election administrators. The system is verified by several criteria that apply to any voting system, but it is not capable of replacing a large scale election in its current state. Ethical aspects of digitizing and decentralizing are discussed, with particular consideration to societal and environmental impact. Voter turnout change with respect to age, privacy concerns and logistical solutions for the transition to a digitized voting system are also discussed. Finally, a theoretical replacement of the current Swedish electoral system with a decentralized voting system could initially exclude a social group but would reduce cost and environmental impact.
- PostA Decentralized Voting System(2019) Alshriaf, Abdullatif; Carlsson, Oscar; Lindau, Sarah; Lundqvist, Zack; Rudnick, Kevin; Waenerlund, Erik; Chalmers tekniska högskola / Institutionen för data och informationsteknik; Ahrendt, Wolfgang; Brunetta, CarloThe project A Decentralized Voting System aims to create a viable product that would be a reasonable replacement for the current Swedish national voting system. To that end, the scenario was always to investigate if contemporary technology would suffice in realizing such a system. VASSAL is presented as a decentralized voting system. It utilizes the Ethereum network, a modern blockchain implementation, as a decentralized database for storing votes, the electoral result and infrastructural information needed to carry out the election. One ambition for the project is to reduce the need for trusted third parties, parties with greater capabilities than the voter. VASSAL relies on electoral agencies for voter verification. However, utilizing blockchain technology our implementation makes it possible for a sanctioned user to cast their vote onto the blockchain directly. Transparency is what makes blockchain technology powerful, as such it is of utmost importance to find ways in ensuring that individual votes is only known by its caster. The elliptic curve ElGamal encryption algorithm is used to keep the cast votes secret and allowing an electoral agency to uncover the result. The cryptographic protocol supports homomorphism, or the ability to do arithmetic operations on ciphertext. A feature that if successfully used will keep votes secret and yet enforce control mechanisms such as one voter - one vote. A website was developed in order to visualize the product. Although this sound revolutionizing, the Ethereum platform is not yet mature enough for voting and the implementation of a protocol is a hard task when anonymity, transparency and security all requires full attention.
- PostA deep learning approach for identifying sarcasm in text(2017) Bark, Oscar; Grigoriadis, Andreas; Pettersson, Jan; Risne, Victor; Siitova, Adéle; Yang, Henry; Chalmers tekniska högskola / Institutionen för data- och informationsteknik (Chalmers); Chalmers University of Technology / Department of Computer Science and Engineering (Chalmers)The aim of this work is to evaluate the performance of deep learning, specifically models of Recurrent Neural Networks (RNN) and Convolutional Neural Networks (CNN), on the problem of detecting sarcasm in tweets. This is done partly by comparing our results to current state-of-the art performance, and partly by making a qualitative analysis of network functionality. In addition to this, we also conduct a survey to examine the human ability to detect sarcasm in tweets for result comparison. We examine three models: Two RNNs, one with Long Short Term Memory (LSTM) cells and one with Gated Recurrent Unit (GRU) cells, and also a CNN. Sarcasm detection is done by binary classification on the same datasets used by related works, and our performance is then compared to that of those works’. The main questions we aim to answer by analyzing the network functionality are what features affect the outcome, and how. By comparing our classifications with those of a basic bag-of-words model, scrambling the word content in tweets and looking at repeatedly misclassified tweets we are able to get a deeper understanding of the networks’ decisions. Experimental results suggest that the networks’ predictions mainly are based on word occurrence in the tweets. The best performance reach an F1-score of 0.842 when using the RNN with LSTM-cells. This network performed better overall among our models, indicating it might be the best option for this particular task. When conducting the survey, the model performed with an F1-score of 0.775 whereas humans reached an average score of 0.701. The model also performed better than a basic bag-of-words model, indicating that deep neural networks might be a feasible approach in tackling the problem of sarcasm detection in text.
- PostA Distributed Key-Value Store Implementation and evaluation of two strategies for lookup in distributed databases(2014) Bergkvist, Olle; Eriksson, Peter; Jarmar, Julia; Sällberg, Kristian; Ödlund, Joel; Chalmers tekniska högskola / Institutionen för data- och informationsteknik (Chalmers); Chalmers University of Technology / Department of Computer Science and Engineering (Chalmers)This report describes the design, implementation and testing of a database; more speci - cally, a distributed, scalable key-value store able to handle many concurrent queries. A central issue when building this type of system is how to search for a speci c node in the distributed data space. Two di erent algorithms, solving this issue in di erent ways, have been imple- mented and compared against each other through benchmark testing. One of these algorithms is the Chord algorithm described by Stoica et al in 2001, the other an altered version which is referred to as FCN (Fully Connected Network) throughout this report. While they build upon the same general idea of how to distribute data over the available space, they di er greatly in the amount of connections between nodes in the network. The report also describes the testing environment used to test these algorithms against each other. Both the database and the testing environment were implemented in Erlang. Within the con nes of the tests, the database showed good signs of scalability and concurrent query handling. The tests also showed great di erences in query-per-second performance for the two algorithms, with FCN having a much higher throughput. Chord, on the other hand, adapted more quickly to changes in large networks. This was not measured empirically but concluded from simulation and analysis. It became clear that FCN was more well suited than Chord in an application where quick lookups are treasured and the network is relatively stable.
- PostA Flexible Platform for Wireless Local Multiplayer Gaming Using Smartphones as Controllers(2014) Alm Rosenblad, Gustav; Borin, Lukas; Pall, Pontus; Åsberg, Emil; Chalmers tekniska högskola / Institutionen för data- och informationsteknik (Chalmers); Chalmers University of Technology / Department of Computer Science and Engineering (Chalmers)The purpose of this thesis is to give an in-depth technological view of a multiplayer video gaming system designed to let players use their smartphones as controllers. The system consists of two interconnected parts: a program on a personal computer that acts as a game console, and a smartphone application that turns phones into game controllers, enabling the user to interact with a game in new and creative ways. Using smartphones as controllers allows each game to use its own, specialized control interface. The system facilitates this by employing remote code execution to send graphical interfaces from the server to the connected phone clients. This in turn creates a basis for a cross-platform system where the mobile parts of the games can be written entirely in a platform independent scripting language. In order to evaluate the functionality and advantages of the multiplayer video game system, four games with different types of user interaction were designed. The use cases of these games provide practical evidence for the usability and applicability of the system.
- PostA Front-End for Daison(2021) KALTENBRUNNER, CHRISTOFFER; NELDEFORS, ALEXANDER; STEGRELL, HUGO; VEDIN, PHILIP; Chalmers tekniska högskola / Institutionen för data och informationsteknik; Sheeran, Mary; Angelov, KrasimirDaison is a database written in the functional programming language Haskell. It has no built-in visual representation of data and using it in an interactive Haskell environment such as GHCi is inconvenient since it requires boilerplate code. Our work presents an application that provides an alternative interactive environment that both removes the boilerplate code the user currently needs to write and displays query results in a table format. The application aims to be user-friendly and provide an experience similar to GHCi. It is written in Haskell and uses the Glasgow Haskell Compiler as a library. Automated tests are in place for ease of maintainability, though in a limited capacity. Manual testing was used to verify that requirements were fulfilled. Findings from usability testing, carried out in two iterations with a total of nine participants, suggest the application was well received. While fully supporting functionality provided by Daison, there remain a range of improvements that can further enhance the user experience. Examples of such improvements include better table formatting and the addition of a graphical user interface.
- PostA Functional Quantum Programming Language(2021) Blomqvist, Matilda; Botö, Nicklas; Burreau, Beata; Forslund, Fabian; Jörgensson, Marcus; Rudsberg, Joel; Chalmers tekniska högskola / Institutionen för data och informationsteknik; Bove, Ana; Adams, RobinThis thesis presents a functional quantum programming language, funQ, modeled after a typed quantum lambda calculus [1]. The language funQ is implemented as an external domain-specific language in Haskell with a complementing parser, type checker, and interpreter. The type checker is defined with a linear type system – meaning that data cannot be copied – to prevent the physically impossible event of duplication of quantum data. The interpreter uses call-by-value semantics and is connected to a quantum computation library developed to perform the quantum operations with a built-in quantum computer simulator. The language is complemented with a command line tool that can execute funQ programs interactively or run funQ program files. The project successfully implemented a functional quantum programming language with slight modifications in regards to the modeled language.
- PostA Game Called Rufus Designing A Syntax Driven Puzzle Game(2021) Jönsson, Joel; Gottlander, Johan; Grahn, Johanna; Retteli, Mattias; Chalmers tekniska högskola / Institutionen för data och informationsteknik; Maric, Jasmina; Samuelsson-Gamboa, Mafalda; Heron, MichaelOne way to evaluate whether a game is successful or not is to measure the engagement invoked in the player. This report presents an iterative design process focused on designing and implementing a syntax driven puzzle game. The purpose of this project was to answer these two questions: “What is the impact of different design strategies on the user’s engagement while playing?” and “What should be considered when applying different level design strategies?”. This was examined by developing a game, A Game Called Rufus, consisting of seven levels. These were designed using three different level design strategies created during the development process. The strategies were tested and evaluated using questionnaires and thematic analysis. The results showed some differences between the three strategies, but overall the experienced engagement were rather similar. It could not be determined with certainty how much the strategies impacted the result, as there were many other factors involved. However, the differences were further investigated and discussed. The strategies were also evaluated from a designer’s perspective in order to present aspects that future designers have to take into consideration if working with these strategies.
- PostA general peer-to-peer based distributed computation network(2014) Petterson, Jack; Schelin, Leif; Wärvik, Niklas; Öhman, Joakim; Chalmers tekniska högskola / Institutionen för data- och informationsteknik (Chalmers); Chalmers University of Technology / Department of Computer Science and Engineering (Chalmers)We consider how a decentralised computation system would work when each participant could create computation code as well as executing other participants’ code. A protocol is proposed that allows such collaboration to take place, assuming that no participant can be trusted. We consider briefly how the computation code itself can be executed in a safe manner. The primary focus of this thesis is to investigate how to increase the reliability of the computation results, as some participants can be assumed to return incorrect results. Furthermore, a prototype that demonstrates the key principles of the theoretical results is also developed. The methods developed are found to be correct and working, but unfortunately does not contribute very much in terms of functionality or advantages for the end user.
- PostA Language For Board Games(2021) Krogh, Jennifer; Mattsson, Mattias; Pettersson, Emma; Sundqvist, Simon; Wiede, Carl; Åsberg, Mårten; Chalmers tekniska högskola / Institutionen för data och informationsteknik; Bove, Ana; Norell, UlfThis thesis covers the process and theory behind creating a domain-specific language for board games. This language is specifically made for positional board games and allows for further implementation of games in that category. A selection of example games were created and shipped with the language to showcase its usage. The language also has a graphical user interface allowing the user to easily play the games together with another player on the same computer. Possible future work regarding this project is suggested in the Discussion chapter, such as expanding the language to work with more game categories and the possibility to play online or against a computer.
- PostA modular system for smart energy plug stream analysis(2016) GROTH, JONAS; FORSBERG, ERIK; JINTON, JOHAN; TANNERUD, IVAN; ERIKSSON, ISAK; LUNDGREN, ANTON; Chalmers tekniska högskola / Institutionen för data- och informationsteknik (Chalmers); Chalmers University of Technology / Department of Computer Science and Engineering (Chalmers)This report documents the development of a system capable of gathering energy consumption data from multiple different brands of smart energy plugs. The problem today is that firstly the manufacturers’ software is not general and provides a limited set of functions. For example, one brand’s software may provide forecasting of energy consumption while another does not. Secondly, it is not possible to use different brands of plugs together. The system presented in this report consists of a plug data parser, a message broker and a data processing engine. The plug data parser can gather data from one or multiple different brands of energy plugs at once. Using a message broker opens the possibility to gather data from a large number of plugs at the same time and in real-time. A data processing engine enables processing of the data through which use cases are implemented. It provides functions such as calculation of a moving average for the energy consumption, the total power consumption for all plugs and provides alerts for the energy consumption. Lastly, it provides a foundation to forecast future consumption. The resulting system is capable of processing more than 500 plug readings per second in real time, from two different plug brands.
- PostA Novel Ethernet Network Layer Protocol for Automotive Network Communications(2022) Håkansson, Ebba; Chalmers tekniska högskola / Institutionen för data och informationsteknik; Svensson, Lars; Bal Mallya, NeethuThis project investigates the possibility of replacing CAN bus with an Ethernet connection by sending CAN messages in Ethernet frames. A new protocol for Ethernet, called CANEthernet, was developed for this purpose and a corresponding Ether- Type is proposed. CANEthernet packs several CAN messages within an Ethernet frame and different design options for the protocol are discussed and compared. The new protocol can carry all types of CAN messages and does not change the contents of them. CANEthernet is evaluated by comparing it to using a regular CAN bus in regards to throughput, latency and energy efficiency. The evaluation shows that CANEthernet outperforms regular CAN in all evaluated aspects. For throughput CANEthernet can reach 9Gbps over 10Gbps Ethernet, while the fastest CAN throughput is 8Mbps. In latency, CANEthernet can transport a CAN message in 11.2 us while CAN requires 108 us for sending the same CAN message. Finally, CANEthernet uses 10.8 nJ per bit while CAN uses 153 nJ per bit.
- PostA program for comparing proteins using a graph representation of atom triplet surfaces(2012) Eddeland, Daniel; Kvarfordt, Daniel; Weckstén, Mikael; Warg, Christofer; Lindskog, Hjalmar; Sellin, Joakim; Chalmers tekniska högskola / Institutionen för data- och informationsteknik (Chalmers); Chalmers University of Technology / Department of Computer Science and Engineering (Chalmers)This report details the development of software with the capability to find similarities on the surfaces of large biological molecules and display the result graphically in three dimensions. In the field of bioinformatics an approach to represent proteins as triangle surfaces has emerged and it is therefore interesting to have software tools available to examine this structure representation. The software has the ability to identify the largest common surface patch on two proteins as well as letting the user choose a patch to be matched for in the supplementary protein. This is done using an algorithm based on McGregor (1982) with some modifications. The result of the protein comparison is rendered in 3D with the option of rotating the proteins as well as changing several graphical options such as color and the visibility of wireframe and atoms. The resulting program works well for most inputs, but when comparing large, similar proteins the program can fail to terminate within an hour according to performance testing.