When implementing a control system, a robot, or an intelligent system, it is common to implement only one method or process to calculate an action. This process needs to balance precision, speed, and energy consumption for every situation. However, not all situations require the same trade off, and the implemented systems will therefore need to have compromises.
At ROBIN, we have started to explore the effect of implementing two different methods ("system 1" and "system 2") of decision making or control, and deliberately switching between them depending on the current situation. The two systems are implemented to have different qualities; often, "system 1" is fast and efficient, while "system 2" is slow and precise. This is loosely inspired by a theory from cognitive psychology called "dual process theory". In the future the hope is that this can lead to robots that are more energy efficient and fast when they can be, but still are able to solve difficult situations when required.
So far, the focus has been on reinforcement learning and neural networks. This master's thesis proposes to implement such systems on an FPGA. Having a dual process system on an FPGA with much lower computational resources than a big desktop computer would further increase the differences between the decision methods, and increase the effect and benefit of having two methods. In addition, factors such as energy consumption can be explored in detail.
There are several options for how this can be done. One idea is to take a system like the "Dual process dreamer" developed at ROBIN [1] and adopt it to an FPGA. While a couple of tools for how to transfer a neural network to an FPGA already exists, like LogicNets [2] and Finn [3], a big part of the thesis would be to explore how this would be done in practice, and what changes would need to be made.
The master's thesis will merge the research fields of data-driven robotics, based on neural networks, with hardware design and implementation. This is a relatively new field and can open up a lot of new possibilities for future research. The thesis will therefore mainly be exploratory work, trying to find out how this can be done.
Goal:
Implement a "dual process" system from software to a hardware implementation on an FPGA and conduct experiments on the systems looking at factors such as time, efficiency, and precision.
General plan:
- Research background information.
- Get to know tools and architecture that will be use.
- Implement the "thinking fast and slow" system on a FPGA.
- Test and do experiments on the FPGA.
- Write thesis.
Recommended courses:
- IN5200 - Advanced Digital System Design
- IN5490 - Advanced Topics in Artificial Intelligence for Intelligent Systems
Sources:
[1] "Dual Process Dreamer: Fast and Slow Decision-Making with World Models", Tobias Lømo et. al., 2026, https://nva.sikt.no/registration/019d0176c611-b635c55a-182b-4330-8d11-14f8831223b0
[2] https://github.com/Xilinx/logicnets
[3] https://xilinx.github.io/finn/
[4] "LogicBearing - Ball Bearing Fault Detection with Neural Networks Designed for FPGA Using LogicNets", Harald Simon Dahl, 2025, https://nva.sikt.no/registration/019c9145c4f4-1df332d7-30c7-4727-8d11-a0516856c475