Marker valg for å avgrense hvilke oppgaver som skal vises.
Current software systems require multiple gigabytes of memory and multicore systems to run efficiently. However, the advances in hardware speed and capabilities due to the advancement of Moore's Law that enabled this so-called "software bloat" are coming to an end. Accordingly, a movement advocating for lean software has surfaced . This is based on the observations that earlier computers were able to provide a useful working environment including a graphical user interface and networking with far fewer resources.
Vis hele beskrivelsen ]
One system demonstrating the possibility of creating such a lean system is Niklaus Wirth's Project Oberon system . Using a self-designed programming language, Oberon, and his own RISC processor implemented on a tiny FPGA, Wirth was able to create a system including a graphical user interface, networking, and a compiler running on a 25 MHz CPU in 1 MB of RAM. The complete system is open source, including the hardware and compiler, the source code for hard- and software can be read by a single person on a rainy weekend.
Your task will be to support the analysis if a reduced resource system can also be efficiently implemented using a RISC V CPU core . RISC V is an open source specification that has enabled a large number of implementations ranging from small embedded cores to high-performance 64-bit multicores. The first step enable this is to adapt the Oberon compiler backend to generate RISC V code instead of code for Wirth's RISC machine. In addition, you will extend an open source Project Oberon simulator system  to support a RISC V CPU, which will enable you to test your compiler output. Optionally, a hardware implementation on an FPGA based on an open source RISC V core is possible.
Useful prerequisites for working on this project are experience with assembler programming and computer architecture, and basics of compilers and code generation. Experience with C/C++ programming (for extending the simulator) or hardware design (for creating the FPGA system) is useful.
 N. Wirth, Project Oberon (2013 Edition), available online:
 N. Wirth, A Plea for Lean Software, in Computer, vol. 28, no. 02, pp. 64-68, 1995.
 Niklaus Wirth. 1996. Compiler construction. Addison Wesley Longman Publishing Co., Inc., USA. Updated 2017 edition available online:
 David Patterson, Andrew Waterman, The RISC-V Reader: An Open Architecture Atlas, 2017, ISBN 9780999249116
 Peter de Watcher, Oberon RISC Emulator:
[ Skjul beskrivelse ]
For cardiovascular therapy as well as valve repair or replacement, a hybrid operating room is becoming a prerequisite. To facilitate a correct device deployment the relationship between the anatomy and the position of the instruments has to be known and presented to the surgeon. The position of the instruments and the geometry of the vascular tree is best visualized on Xray images, with a wide field of view, however the resulting images are 2D projections of the 3D world for a given a position of the X-ray source. On the other hand the heart’s anatomy is very well depicted using ultrasound images (e.g. 3D transesophageal ultrasound - TEE), however these images have a much smaller field of view due to the positioning of the TEE probe with regards to the heart. Therefore, tools that can automatically identify the position and orientation of the ultrasound probe and cathethers in X-ray images as well as automatic localization of anatomic structures of interest is highly desirable. Today most of these tasks are solved manually or semi-automatically, however automating them would improve the accuracy and also reduce the amount of time the interventionalists spend on aligning the images.
We propose three topics for master theses all related to interventional applications of ultrasound imaging. They are:
- AI for ultrasound probe detection in X-ray images, the task will be to identify the location of the ultrasound probe but also its pose
- AI for catheter detection in the ultrasound volume and highlight of it in the image. The goal is to automatically detect catheter, delivery device and artificial devices (like MitraClip or artificial valves). Those objects give somewhat different echo signals but not always very clear nor complete. The task will be to detect automatically such objects within 3D ultrasound datasets.
- AI for aortic valve detection in mitral trans esophageal acquisitions of the heart. Previous work supervised by Gabriel Kiss have been focusing on automatically detecting the mitral valve in 3D ultrasound data. This project aims at also detecting the aortic valve. The ultimate goal is automatic detection of anatomical structures running very fast (real-time if possible), so that the 3D data could automatic be presented in a way that makes sense to the physician, by rotating, cropping the 3D data based on the information detected in the images.
Supervisor: Gabriel Kiss (COMP/IDI)
Advanced forms of analytics and aritificlai intelligence are becoming increasingly deployed to support the work of healthcare workers. Medical doctors, nurses, and administrative staff either use, or are aided by sophisticated technologies which are posed to radically change the nature of their work. For example, radiologists now rely increasingly more on machine learning techniques to and other applications of AI to diagnose patients, while a lot of procedural and repeptive tasks are being done by machines. The objective of this project is to understand how the nature of work for health practitioners is changing, and what positive and negative consequences they experience.
The aim of this work is to develop a new visualization framework using mixed reality which may improve the way data is presented to an operator during a cardiac ultrasound exam or bronchoscopy procedure.
One of the main challenges for an operator during the procedure is to process the data coming from various image sources displayed on several screens scattered around the room and combine this with apriori knowledge in the form of segmented natomic models.
By gathering information from important image sources using an existing open source research platform and presenting the data in an intelligent manner and then visualizing it in the operator's field of view, we hope to improve the the ergonomic condition of the operator and increase the success rate of various procedure.
SUpervisor: Gabriel Kiss (COMP/IDI)
Interested in AVs, AI and CV?
Have a look here
The European regulations about privacy, the GDPR, is changing people’s understanding and attitude towards data/information they own and those the others own. The ownership of data/information has always been a concern but with GDPR there will be more awareness as well as more obligations related to data collection and sharing.
Today data-monopolies like Facebook, Google, Amazon (FGA) etc. are relying most of their business on the data they collect about people, and this without paying for this data. In the near future, people will conceive information/data as “commodity”, i.e., something that can be sold and bought. For example, with the enforcement of GDPR all people will be able to get the data that companies such as FGA collect about them and then sell it to smaller companies that may use this data for generating new business models.
The topic of this thesis is to develop further the blockchain-based data marketplace that enables data selling and buying while resolving trust and privacy problems. The Data Marketplace uses Ethereum blockchain and smart contracts to allow peers to communicate about the conditions of data sharing and perform the data exchange itself. For example, this platform will make me able to sell my facebook data to a company and provide service to me for bargaining about the price as well as including my privacy preferences and constraints into the deal. The peer-to-peer interaction for monetary and privacy related will be done by agents where agents “machine learn” the preferences of their owners (i.e., the peers). 1 - 2 students.
We can demonstrate the current platform as well as developing use cases to you as an inspiration. Then we can discuss about the way forward.
Co-supervisor: Associate Prof. Pinar Øzturk. https://www.ntnu.edu/employees/pinar
Climbing Mont Blanc (CMB) is a system for training and competitions in energy efficient programming of small processors. CMB has been using a heterogeneous multicore (MPSoC, Exynos from Samsung) in more that five years. The chip is accessed via an Odroid XU3 board that has integrated energy monitors. These boards are no longer produced, and the energy measurements are not as precise as we would like. The goal of the proposed project is to be able to use one or two newer single board computers (SBC) as CMB back-end and the Lynsyn system to achieve more precise energy measurements. The project can be continued as a master thesis project in the spring semester.
The project is available for one student, or a group of two students. They should have a solid background in machine-oriented programming, knowledge of C and preferably also C++. Experience in embedded Linux administration is also an advantage.
The full project text can be found at this link
Operating system kernels today are often implemented as monolithic pieces of software for convenience as well as performance reasons. However, this approach is questionable for e.g. these reasons:
Liedtke has shown with L4  that building an OS based on a minimal kernel, called microkernel, is not only feasible, but also competitive from a performance point of view. However, functionality built on top of a microkernel still tends to be quite monolithic, such as L4Linux . An improved architecture would, however, use a multi-server system approach, in which each of the services of the OS running on top of the microkernel, such as file systems, memory management, and network protocols, run in a separate process, communicating via IPC (inter-process communication) messages over defined protocols only.
In this project, we intend to investigate the challenges involved in re-engineering (i.e. splitting and rearranging) an existing operating system to run as a multi-server system on top of a microkernel. The system to be re-engineered is one of the Plan 9/Inferno family of operating systems , which themselves use a (more complex than L4 IPC, but still simple) protocol called 9p  to enable interaction between components. A research challenge here would be to enable L4 to also act as a messaging multiplexer for the 9p protocol, which would possibly lead to network transparency of such a multi-server OS.
An old monolithic research version of Plan 9 running on the L4 microkernel already exists  which could be used as basis for this project or inspiration.
You should have some background in operating systems and compilers, e.g. from my courses TDT4186 and TDT4205. A solid knowledge of C programming is essential to work on this task, some knowledge of assembler and general system-level programming will be very helpful. In addition, background in software engineering topics (automated software analysis, refactoring, dependency analysis) will also be helpful.
The concrete platform to be used as well as the subset of the problem to work on (this is a complex project) will be discussed with you in detail. Please get in touch with me if you are interested.
 Liedtke, Jochen. Microkernels must and can be small. Proceedings of the 5th IEEE International Workshop on Object-Orientation in Operating Systems (IWOOOS). 1996.
 Hermann Härtig, Michael Hohmuth, Jochen Liedtke, Sebastian Schönberg, and Jean Wolter. 1997. The performance of μ-kernel-based systems. In Proceedings of the sixteenth ACM symposium on Operating systems principles (SOSP '97).
 Pike, R., Presotto, D., Dorward, S., Flandrena, B., Thompson, K., Trickey, H., & Winterbottom, P. (1995). Plan 9 from bell labs. Computing systems, 8(3), 221-254.
 Sato, Yoshihide, and Katsumi Maruyama. LP49: Embedded system OS based on L4 and Plan 9. Proceedings of the 4th International Workshop on Plan. Vol. 9. 2006.
Nowadays, big tech giants, such as Google, Facebook, Amazon, IBM and Microsoft, are dominating the AI market by offering cloud-based AI solutions and APIs. They are collecting user data in one place through free services and systems, analyze it for insights and resell to third parties, such as advertisement companies. This model is centralized AI, which is working fine now. But in the long-run it could lead to monopolization of the AI market. This could also cause unfair pricing, lack of transparency, interoperability, privacy issues and excluding smaller companies from AI innovation. Fortunately, there is the emergence of a decentralized AI market, born at the intersection of blockchain, on-device AI and edge computing/IoT.
In this project, we will investigate the possibility to build a proof-of-concept of a decentralized AI application through blockchain, such as Ethereum. AI agents will train and learn models from their own data. The decentralized AI application to be developed in this project then can combine multiple algorithms/models (developed by different agents) performing different sub-tasks. One of possible applications is Decentralized Autonomous Cars. 1 - 2 students.
We can demonstrate the current result from previous master project as an inspiration. Then we can discuss about the way forward.
An estimated 275 million tonnes of plastic waste was produced on a global scale in 2010, with 8 million of those tonnes being introduced to the oceans - about 3% of global annual plastics waste. Once the plastic reaches the oceans, it is broken down into smaller particles(micro-plastic) by being exposed to ultra violet (UV) radiation and mechanical abrasion from wave actions .The quantity of plastic waste floating at the ocean surface in 2013 was estimated to be approximately 269,000 tonnes (small macro- to micro-plastic), this estimate does not include plastic in-depth or at the seafloor). The plastic debris can affect the wildlife in multiple ways, such as entanglement- entrapping, encircling, or constricting,ingestion- accidental ingestion or ingestion of prey containing plastic, and interaction- being in contact with plastic debris .It is therefore important to be able to detect and collect the plastic waste in nature,before it reaches the oceans. Once plastic waste has reaches a micro-stadium, it is near impossible to collect it and remove it from the water. An analysis on deep sea locations(range from 1176 to 4843m) showed that there was an average abundance of 1 micro-plastic per 25cm3(particle sizes ranging from 75 to 161μm) 
The AI-task will support the observation and monitoring of plastic items at consumer side, such as cities, beaches..... We will monitor the geographic distribution of different types of plastic items in these areas. The data will be gathered by citizens in form of taking photos of plastic objects. The photos will be taken using an application on smart phones. The application will have an artificial intelligence (deep learning) algorithm specially tailored for recognition of the material type of the plastic in the photos. The combined information about the geographic distribution, plastic type, and the object type (e.g., bottle, bag) pertinent to plastic debris will be collected in a database which in turn will be statistically analyzed and visualized. The smart application will serve as a tool for empowering citizen science and will contribute to the increase of the awareness and collaboration of citizens towards mitigation of plastic pollution problem.
 Hannah Ritchie and Max Roser.Plastic pollution.Our World in Data, 2019.https://ourworldindata.org/plastic-pollution.
 Lisbeth Van Cauwenberghe, Ann Vanreusel, Jan Mees, and Colin R. Janssen.Microplastic pollution in deep-sea sediments.Environmental Pollution, 182:495– 499, 2013.ISSN 0269-7491.doi: https://doi.org/10.1016/j.envpol.2013.08.013. URLhttp://www.sciencedirect.com/science/article/pii/S0269749113004387.13
Instersted in Digital Twins (DTs), Wearable sensors and Medical Imaging?
After enforcement of GDPR (General Data Protection Regulation) (May 2018), all companies and institutions collecting data about individuals are obliged to deliver to people the data they collected about them (e.g., whatever facebook, google, amazon, insurance companies etc collects about me shall deliver the data they collected about me when I asked for it). GDPR will give a chance for people to look into her/his data stored by those companies.
So, what people can do with so much (and rich) data about themselves? It would be super hard for them to analyze, extract insights and even look into the raw data downloaded from Facebook, Google, etc..
This project aims to process and analyse in various ways the data people have about themselves to extract/discover new information about their own habits, preferences, intentions, faults, things they should be more careful about, etc. - which even themselves may not be aware of. This kind of insight may be valuable for the individual themselves, but also for others (e.g, insurance, entertainment companies, banks). The data collection, analysis and visualisation are present in a developing app. Data analysis and machine learning is focus. 1-2 students.
We can demonstrate the current result and the developing app from previous master project as an inspiration. Then we can discuss about the way forward.
In smart and sustainable Cities, large amounts of data have to be produced, collected, stored, aggregated, distributed, and analyzed to support informed decisions by several stakeholders; politicians, planners, developers, communities, and citizens. The ICT research related to Smart Cities is growing and touches upon a no. of areas such as data management, analytics, distributed architectures. This project will focus on an efficient ICT infrastructure to support smart building and neighbourhoods. The task is related to the work in Zero Emission Neighbourhood Research Centre http://fmezen.no/about-us/, and will include the following tasks:
- Literature review and state of the art on ICT for smart and sustainable cities.
- Identify the roles of ICT as an enabler in smart and sustainable cities.
- Identify the needs and requirements for ICT support in smart and sustainable cities.
This work may be expanded in a Master project, to design and develop a prototype for a distributed data architecture for smart cities.
Reverse engineering (RE) is the process of discovering features and functionality of a hardware or software system. RE of software is applied where the original source code for a program is missing, proprietary, or otherwise unavailable. Motivation for RE ranges from extending support of legacy software to discovery of security vulnerabilities to creating open source alternatives to proprietary software.
RE usually targets binary programs with a known instruction set architecture (ISA) and executable format. The RE process proceeds by disassembling the binary into assembly code, and where possible decompiling the assembly to yield high-level source code (for example, C source code).
However, in many cases the ISA is either undocumented, unknown, or unavailable. In addition, malware has been shown to use custom virtual machines to avoid detection. Such cases prove extremely time intensive for the reverse engineer. ISA features such as word size, instruction format, register size, and number of physical registers are a prerequisite to disassembly.
This project aims to discover to what extent machine learning can be used to detect ISA features from binaries of unknown provenance, and if so, whether these features can be used to help disassemble the binary program so that instruction and control flow information can be recovered.
Useful experience for the project includes good knowledge of computer architecture and assembly, machine learning (using Python), and a passion for staring at random-looking byte sequences for hours at a time.
Supervisors: Kshitij Sharma, Michail Giannakos
Place: LCI Lab: https://lci.idi.ntnu.no/
In a first step, the student needs to review the literature and familiarize himself / herself with the use of physiological data within video-based learning. Then, the candidate will design interface and plan the physiological measurements based on the best practices found and adapted from the literature. Afterwards, the candidate will conduct a user study to predict students' performance using the multimodal data. Finally, the candidate will analyze the collected data and write up his / her thesis.
The ideal candidate will have a background in data science. Skills related to small interaction development (React) and an interest in data analysis (eg, time-series analysis) and experimentation is also a requirement.
Programming skills: Python, React, MongoDB.
Other skills (optional): time-series analysis, basic machine learning
More information about this proposed project can be found here: https://lci.idi.ntnu.no/wp-content/uploads/2020/02/MasterThesis_MMLA_video_based_learning-1.pdf
The RISC V platform is gaining ground in research as well as industrial
projects. However, system software support is mostly focussing on the
well-known large open source operating systems (Linux, BSD) or very
tiny embedded real-time kernels so far. The large systems have now
grown too big for many applications on restricted hardware platforms,
e.g. running on a small FPGA-based system, whereas the traditional
real-time operating systems suffer from a lack of useful network integration,
memory protection, or orthogonal concepts of files and file systems,
which makes their use in networked settings (IoT, Cloud) more challenging.
Thus, the idea of this project is to cover the middle ground by porting
the open source Inferno operating system from Bell Labs to RISC V,
This system is already highly portable, but a RISC V port is missing. Inferno
is especially interesting since it is well documented and the low complexity
of the system (compared to e.g. Linux) makes it very suitable to work on
in the context of a student project.
Proposed parts of the project are
- Evaluation of different RISC V emulators and choice of a suitable one
- Setting up and running the cross-compilation environment
- Creation of a minimum viable Inferno port, utilizing the Styx/9P protocol
for non implemented devices
- Addition of device drivers and other required functionality
The RISC V platform is an innovative and open computing platform that
aims to be suitable for a large range of systems starting from minimal
embedded systems to high performance computing.
However, the middle ground between simple real-time systems and
complex Linux-based platforms that is especially interesting for high-
powered embedded applications, e.g. in the Internet of Things (IoT),
is not sufficiently covered, especially considering the communication
and security requirements of complex IoT platforms. The open source
Plan 9 operating system, originally designed and developed by the
creators of Unix and C at Bell labs, fits that space since its memory
and hardware requirements are small and its quite well-supported
as a target platform for various managed-memory programming
langauges compared to most embedded OSes.
The aim of this project is to provide a prototypical implementation
(port) of the Plan 9 OS for a 32 bit (RV32I) RISC V platform (virtual
and possibly FPGA based) including the provisioning of basic
device drivers (e.g., timer, serial interface, SPI for SD cards). Here,
possible steps include:
* Writing RISC-V assembly to boot the system and enter into C on an emulator
* Writing basic device drivers for a set of peripheral devices
* Handling syscalls in the compiler/linker
* Adapting the basic lib9 library to run on RISC V
* Setup and test of the ported system in an emulator, e.g. qemu
Many systems in the Internet of Things (IoT) run on energy harvesting, e.g. using solar cells, and thus may suffer from power loss during operation. Intermittent computing  is the general name of a research area that develops and implements methods to enable software to run on systems with interrupted power supply without having to restart.
In the context of this project, you will investigate possibilities of making intermittent computing IoT applications adaptable to varying amounts of available energy using program slicing , a compiler technique that splits programs into semantically related subprograms. The idea here is to enable the flexible reduction of a program's functionality depending on the amount of energy available. The maximum energy consumption of program slices can be determined by applying worst-case energy consumption analyses (WCEC) . Using WCEC information obtained at compile time, the runtime (operating system) can then be enabled to execute only important parts of an IoT application if insufficient energy is available for executing a complete iteration of the code.
Your initial task will be to analyze typical IoT benchmark applications as to whether slicing is a useful approach. Based on a selection of useful benchmarks, you will then define slicing criteria and implement slicing analyses and transformations. Depending on the number of students working on the project, additional steps would be to enable WCEC analysis and to extend a simple embedded OS to schedule program slices depending on runtime energy availability.
Useful prerequisited for working on this project are experience with C/C++ programming, some background in computer architecture/assembler programming (processor instruction sets and runtime/energy modelling), and ideally compiler/static analysis techniques. Embedded systems experience and experience with open-source compiler toolchains (clang/LLVM) is not required but would be beneficial.
 Lucia, Brandon, et al. "Intermittent computing: Challenges and opportunities." 2nd Summit on Advances in Programming Languages (SNAPL 2017). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, 2017. drops.dagstuhl.de/opus/volltexte/2017/7131/pdf/LIPIcs-SNAPL-2017-8.pdf
 Weiser, Mark. "Program slicing." IEEE Transactions on software engineering 4 (1984): 352-357.
 Wägemann, Peter, et al. "Worst-case energy consumption analysis for energy-constrained embedded systems." 2015 27th Euromicro Conference on Real-Time Systems. IEEE, 2015.
Augmented Reality (AR) can provide rich and interactive learning experiences and performance augmentation for remote distributed learners. The use of AR for collaboration and learning has significantly increased during the ongoing pandemic and has been widely adopted by several companies (e.g. Equinor), hospitals treating COVID-19 patients (https://www.businessinsider.com/london-doctors-microsoft-hololens-headsets-covid-19-patients-ppe-2020-5?r=US&IR=T) and educational institutions.
The goal of this master project is to perform research on the design principles and tools for AR-supported collaborative learning while working with several Hololens 2 units (https://www.microsoft.com/en-us/hololens/). Depending on the interests of the student(s), the project will be connected to a company (e.g. Equinor), St. Olavs hospital or a course taught at NTNU. The project is done in collaboration with IMTEL lab (https://www.ntnu.edu/ipl/imtel).
Supervisors: Gabriel Kiss (COMP/IDI), Ekaterina Prasolova-Førland (IMTEL/IPL)
This is an umbrella project that can result in of a number of subtopics for specific projects. Accordingly, the specific topics will be defined in details together with the interested student(s). Please get in touch with me for further information and/or discussing details.
Today, IoT devices and the related services are interconnected in the Cloud. This causes a number of problems for users of these devices:
Difficulty of data protection and privacy
Sensitive data from personal IoT devices is stored in Cloud infrastructures today. This includes, e.g., personal health data from fitness trackers and smartwatches, geoloation by all sorts of devices including cars, or room occupancy information provided by smart thermometers. It is unclear who has legitimately (e.g. an insurance company raising your premiums when it induces an "unhealty" lifestyle or "dangerous" driving from data obtained from your devices) or illegitimately (e.g. burglars using data from your devices to find out when you are not at home) obtained access to your data and what is done with it.
A decentralized IoT Cloud would enable the device user to exert control over where their data is stored and how it can be used. This can, e.g., be achieved by new operating system and runtime infrastructures built for privacy. This part of the project will investigage these novel structures, based on network-centric operating systems such as Plan 9 and Inferno.
Bad sustainability due to forced obsolescence
The problem of requiring centralized services in the Cloud has an additional implication. Many IoT devices are incapable of working in a standalone mode. This has the consequence that devices turn into e-waste as soon as the related service is no longer available. This situation is exacerbated by the fact that many device manufacturers cease to provide software updates after only a few years - for long-living devices such as washing machines or cares, this can significantly reduce their useful lifetime.
In this part of the project, we will provide a system software infrastructure to enable the movement of services for IoT devices from the Cloud to local servers (e.g. a Raspberry Pi home server) and to enable standalone operation of IoT devices - possibly with reduced functionality. This involved using a software platform that allows to move services, e.g. a language-level virtual machine. One of the challenges here is to enable such a system to run on typically resource-constrained IoT hardware systems.
Knowledge of system-level programming (e.g. courses on compilers, low-level programming and operating systems) and embedded systems would be a plus. Obviously, experience with software and network infrastructures for the IoT is beneficial. These projects are research-intensive and heavily rely on your interests and ideas to find interesting new solutions - so a high level of motivation for the topic is expected.
See also the project video at https://multicores.org/masterprojects/MasterProjects_MichaelEngel.mp4 for additional information.
Non-functional properties of computer systems, such as runtime and energy consumption. are becoming increasingly unpredictable due to the introduction of memory hierarchy levels and, especially, complex caches.
A predictable alternative to caches is the use of small, fast and efficient software-managed on-chip memories, so-called scratchpad memories (SPMs) or tightly-couple memories (TCMs) . Like caches, these memories are used to store commonly accessed code and data. In contrast to caches, the contents of SPMs are defined by software. This allows a SPM content management algorithm to copy relevant contents from and to main memory as required.
SPM management also allows to implement additional features. For example, data in main memory can be compressed or encrypted on demand. Another possible feature would be to implement selective redundancy by storing data in main memory using software-based ECC codes  or other methods of redundancy to protect data against main memory errors.
Your task will be to design and implement a framework for SPM data management that is able to execute this additional functionality on demand, e.g. as defined by static compiler analyses. The platform will be a typical high-end microcontroller system, e.g. ARM Cortex-M7/M33 or RISC V-based. Interesting challenges in this project will be to handle changing addresses for statically (global) as well as dynamically allocated (stack) data  and to ensure data consistency when data is moved between main memory and the SPM while a program runs.
Useful prerequisites for working on this project are experience with C/C++ programming, some background in computer architecture/assembler programming, and basics of compilers. Embedded systems experience and experience with open-source compiler toolchains (clang/LLVM) is not required but would be beneficial.
 R. Banakar, S. Steinke, Bo-Sik Lee, M. Balakrishnan and P. Marwedel, Scratchpad memory: a design alternative for cache on-chip memory in embedded systems, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002.
 P. P. Shirvani, N. R. Saxena and E. J. McCluskey, "Software-implemented EDAC protection against SEUs," in IEEE Transactions on Reliability, vol. 49, no. 3, pp. 273-284, Sept 2000.
 Nghi Nguyen, Angel Dominguez, and Rajeev Barua. 2009. Memory allocation for embedded systems with a compile-time-unknown scratch-pad size. ACM Trans. Embed. Comput. Syst. 8, 3.
Together with Rudolf Mester (from the DART group), I am developing a new mobile robot platform to explore different topics related to autonomous robots.
My side of the project involves the fundamental software infrastructure as well as new approaches for programming autonomous mobile robots.
Modern robots no longer rely on a centralized processor, but use a complex, heterogeneous distributed networked system. This project will be a part of our project to construct the hard- and software for such a mobile, autonomous robot. Nodes in the robot system will include high-performance systems such as NVidia Jetson for image processing, coordinating nodes such as Raspberry Pis, as well as small-scale embedded microcontrollers such as Arm Cortex-M for controlling simple sensors and actuators.
In this part of the projects, there are two major challenges:
Knowledge of system-level programming (e.g. courses on compilers, low-level programming and operating systems) and embedded systems would be a plus. Obviously, experience with software and communication infrastructures for embedded systems is beneficial. These projects are research-intensive and heavily rely on your interests and ideas to find interesting new solutions - so a high level of motivation for the topic is expected.
See also the project video at https://multicores.org/masterprojects/MasterProjects_MichaelEngel.mp4 for additional information.
Sporing av sau ved hjelp av enkel radioteknologi
Bøndene slipper sauene ut på fritt beite rundt midten av mai og sanker de inn igjen fra september og til snøen legger seg. I denne tiden går sauen fritt i skog og fjell med tilsyn i prinsippet en gang i uka. Sanking av sauene om høsten er en flertrinnsoperasjon som normalt tar et antall uker. Man går oftest gjennom et par runder per hovedbeiteområde hvor de aller fleste sauene lokaliseres og drives hjem til gården. Dernest følger en fase hvor de siste skal lokaliseres og bringes hjem. Denne siste fasen er oftest langvarig og arbeidskrevende da man ofte ikke har noen god formening om hvor sauene befinner seg. Systemet vi skal utvikle har primært til hensikt å effektivisere lokaliseringen av disse siste sauene slik at sauebonden kan spare det meste av det svært tidkrevende søkearbeidet.
Målbildet for operativt system
Vi ønsker å utstyre hver enkelt sau og lam med en meget liten batteridrevet radio. Radioen skal være så liten at den kan inkluderes i sauens øremerke uten at dette økes i areal. Radioen skal ha en rekkevidde på opptil 300 til 500 meter. Radioen skal sende ut et «ping» med jevne mellomrom som kan fanges opp av en drone.
Man benytter en flydrone til å søke etter sauene over et stort areal. Når flydronen mottar et signal fra en eller flere sauer, registrerer den sin egen GPS-posisjon. Vi vet da et sauen befinner seg innenfor en radius av 300 til 500 meter i forhold til dronens posisjon. Det vil også være mulig å måle avstanden til sauen ved å gå over i såkalt «ranging-modus» så snart en har mottatt signal fra sauen. Denne informasjonen lastes ned til en sentral hvor en bonde på et kart vil se dronens rute og hvor den har registrert sau.
Radiodelen av systemet skal baseres på Long Range Bluetooth chip nRF52833 fra Nordic Semiconductor. Ved hjelp av utviklingskit skal en lage en demonstrator for systemet. Hvis tiden tillater det, kan en gjøre feltforsøk som demonstrerer rekkevidden til systemet.
Dette er et tverrfaglig prosjekt som er et samarbeid mellom følgende tre partnere:
• Institutt for data og Informasjonsteknologi, NTNU
• Institutt for elektroniske systemer, NTNU
• Nordic Semiconductor
The aim of the MSc project is to investigate the feasibility to visualize the current version of the Waxholm 3D atlas in AR and to explore the applicability as an educational tool in settings where one teacher works with groups of students and students can subsequently explore brain anatomy independently.
Interested in Virtual, Augmented and Mixed Reality (i.e. XR) related to learning (e.g. AI/ML/DL) and training (e.g. medical cases)
The project will investigate the possibility of implementing volume rendering techniques directly on a mixed reality headset (e.g. Microsoft HoloLens). Main purpose is to visualize patient-specific ultrasound data and/or computed tomography scans and combine them with geometric models representing structures of interest.