Hardware products that SICK make has configuration parameters such as exposure time and frame rate. These parameters usually have some functional relation to each other.

Normally we express numerical parameters as integers or floats in program code. The relation between these parameters is also expressed as functions in program code. The function between two or more numerical parameters may interchanged, depend on choice made on enumeration parameter, here called function switch.

Each parameter usually also has a minimum and maximum value that is affected by the value of other parameters. With many parameters, their current value, min and max values, bidirectional relations to other parameters and function switches, software code quickly become complex and numerical consistency become hard or impossible to uphold.

The master thesis work focuses on the following

Investigate if it is possible to construct a general, theoretical system and prof-of-concept software implementation of it, to express relation graph between floating point parameters in such way that bidirectional numerical consistency is kept between parameters. Further, investigate if it is possible to choose algorithms in such way, that this system can be run on somewhat restricted embedded device.

The system should…

  1. Keep track of current legal range for all parameters.
  2. Allow the user to manipulate the current value of a parameter and propagate any needed changes through the graph and update changes to affected legal ranges of all parameters.
  3. Eliminate or minimize the numerical errors that can arise in the bidirectional relations between parameters.
  4. Be able to tell if the current values of all parameters are legal or not.
  5. Be able to tell which function switch state that is legal to change to.
  6. Have such performance characteristics that a software implementation can be used on an embedded system.

Suggested path forward

The hypothesis is that numerical consistency to a large degree can be upheld, if functions only are specified in a single direction in a relation. However, since we still want to have a bidirectional relation without specifying the inverse functions, the functions used need to be monotone in the legal range of the input parameters. For calculating the input value of a function, given the output value, a root-finding algorithm like bisection can hopefully be used.


Computer science with focus on algorithms and numerical methods.


For more information about the position, contact:

Joakim Åkerblom, Software Developer, joakim.akerblom@sick.se


Charlotte Axelsson, HR Manager, +46 739 20 99 50.

Welcome with your application 15th of October at the latest! We make ongoing selections and offer our thesis opportunity as soon as we have found the right person.

If you would like to write your thesis in a pair, please provide us with one application where you  attach both your CVs  and extracts of study results and one mutual cover letter.

SICK is a world-leading supplier of sensors and sensor solutions for industrial applications. We are 11 000 employees in 50 countries and our headquarter is located in Freiburg, Germany. SICK in Linköping is an innovation center for Machine Vision and we are 80 committed employees with a big interest in image processing and visualization. For more than 35 years, our team at SICK Linköping has successfully developed and delivered software for technically leading products within the field of 2D and 3D vision, as well as system solutions for i.e. robot guidance and quality control.

At SICK in Linköping, we are very proud of being a healthy and attractive workplace. For many years, we have been elected as one of the best workplaces in Sweden according to the survey Great Place to Work, the latest award is from 2023. We work actively to reduce our climate footprint and we are active in various ways to contribute to the society and to increase diversity at our workplace.