Applied mathematics and physics in programming of robots (ELE130)

Apply mathematics and physics to solve various problems in robot programming. Understand and be able to explain the concepts numerical integration, filtering and numerical derivation, as well as be able to implement and use these numerical methods in MATLAB and Python. Develop, implement and simulate ODE-based models of dynamic systems using balance laws in kinematics, fluid dynamics and thermodynamics (impulse, mass and energy balances). Get an introduction to selected topics in kinematics, thermodynamics, fluid dynamics, electricity theory, wave physics and electromagnetism.

Course description for study year 2022-2023


Course code




Credits (ECTS)


Semester tution start


Number of semesters


Exam semester


Language of instruction



The content of this course is divided into two parts, where both parts are completed in parallel during the semester.

One part consists of a practical project where students apply mathematical and physics knowledge in programming Lego robots to solve various practical problems. The Lego equipment consists of different types of sensors (light, ultrasound, gyro) and electric motors, and in order for the students to understand the principle behind these sensors and motors, an introduction is given to wave physics and electromagnetism. The project is carried out in groups of a maximum of 4 people.

The second part focuses on mathematical modeling of various mechanical / kinematic, thermal / process engineering and electrical systems. The necessary introduction is therefore given to selected topics within kinematics, thermodynamics, fluid dynamics and electricity theory. The purpose of the models is to analyze the dynamic properties of the systems by implementing and simulating the models in either Matlab, Simulink or Python. The analysis also includes identifying characteristics of linear time-invariant (LTI) systems.

Since the content of the course is focused on the dynamical aspect of applied mathematics and physics, and thus does not build directly on the content of RED102, the subject can be taken either before or after RED102.

Learning outcome


Be able to plan, carry out and present a technical project in collaboration with other students.

Programming (2.5 credits):

  • Master problem solving and be able to use flowcharts and pseudocode to create and describe algorithms.
  • Apply mathematics and physics to solve various problems in robot programming.
  • Be able to implement and simulate mathematical models in Simulink, MATLAB and Python.
  • Be able to use MATLAB and / or MicroPython as robot programming tools.
  • Know and be able to explain how processing capacity and resource use are important for the execution of algorithms and how this can limit how well a robot can perform a specific task.

Mathematics (5 credits):

  • Understand and be able to explain the concepts numerical integration, filtering and numerical derivation, as well as be able to implement and use these numerical methods MATLAB and Python.
  • Be able to present numerical results with appropriate graphs and figures.
  • Be able to implement and apply simple statistical quality goals in the practical issues in the project part.
  • Be able to develop mathematical models in the form of nonlinear differential equations (ODE systems) and implement these in Simulink, MATLAB and Python.
  • Have knowledge of different numerical methods for numerical solution of nonlinear differential equations.
  • Be able to use partial differensiation to linearize nonlinear differential equations and identify gain and time constant.
  • Through the project part could use numerical mathematics to solve problems that are relevant to the control of robots.

Physics (2.5 credits):

  • Understand important concepts in wave physics such as reflection and transmission of light and sound, and be able to use these concepts to explain how light and sound-based sensors work, especially sensors used in robotics such as infrared distance sensor and ultrasonic sensor.
  • Understand important concepts in fluid dynamics such as Bernoulli's equation and the continuity equation, and be able to use this to model the volume flow through e.g. a control valve.
  • Understand important concepts in electromagnetism and be able to use these concepts to explain how electric motors work.
  • Know physical systems with oscillating behavior, such as harmonic oscillators (undamped mass / spring system) and electrical circuits.
  • Be able to apply kinematics and physics to develop mathematical models of mechanical systems (momentum balance).
  • Be able to apply fluid dynamics and thermodynamics to develop mathematical models of simple process units (mass and energy balances), included the valve equation.
  • Be able to apply develop mathematical models of simple electrical systems.
  • Have an understanding of the scope and limitations of the mathematical models used, especially in relation to assumptions made during modeling.

Required prerequisite knowledge


Recommended prerequisites

DAT120 Introduction to Programming


Written exam and report

Form of assessment Weight Duration Marks Aid
Written exam 2/5 4 Hours Letter grades Basic calculator specified in general exam regulations
Report 3/5 Letter grades

The report documents the work done in the project part. The report can be written individually or in the group of maximum 4 students. If the report is written in the group, each group participant will get the same grade. It is a prerequisite for passing the course that the students demonstrate satisfactory knowledge in physics, mathematics and programming in report form and on exams.The students must present the project work as a presentasjon in order to get a final grade in the subject.There will not be any resit exam of the report. Students who wish to take the project part again has to do it next time the course has ordinary teaching.

Coursework requirements

Compulsary assignments
8 compulsatory theory assignments. 2 laboratory assignments.

Course teacher(s)

Coordinator laboratory exercises:

Per Jotun

Course coordinator:

Tormod Drengstig

Head of Department:

Tom Ryen

Method of work

4 hours lectures and 2 hours problem solving per week.

Project part: Programming of LEGO-robots in groups.

Overlapping courses

Course Reduction (SP)
Introductory course for engineers - Computer science and electrical engineering (ING100_1) 5

Open for

Computer Science - Bachelor in Engineering Control Engineering and Circuit Design - Bachelor in Engineering Medical technology - Bachelor in Engineering

Course assessment

Course evaluation takes place according to the Faculty’s guidelines.


Search for literature in Leganto