Kies de Nederlandse taal
Course module: 202100143
Simulation of Biomechanical Systems SDS (formerly Applied Biomechanics)
Course info
Course module202100143
Credits (ECTS)6
Course typeCourse
Language of instructionEnglish
Contact persondr. N. Strisciuglio
Externe Docent
K.K. Lemaire
Contactperson for the course
dr. N. Strisciuglio
dr. N. Strisciuglio
Academic year2022
Starting block
RemarksMax number of students that can attend this course is limited to 30. Course entry is on a first-come, first-serve basis.
Application procedureYou apply via OSIRIS Student
Registration using OSIRISYes

At the end of the course students are able to:

  • understand the general formulation of a state-space model, with states, inputs and outputs
  • formulate equations of motion of 2D biomechanical linkage of rigid bodies as a matrix equation
  • perform numerical simulations of 2D biomechanical linkage of rigid bodies
  • understand and numerically solve (constraint) optimization problems
  • formulate and answer simple scientific questions regarding control and design of biomechanical systems using forward simulation and numerical optimization
The purpose of this course is to introduce students to numerical forward simulations, or ‘modelling’, of biomechanical systems. At the end of the course, students will be able to answer a simple scientific question regarding a biomechanical system using simulations and optimization.

As a prerequisite for this main goal, students will be introduced to the general formulation of a state-space model, as described by a set of ordinary differential equations. As an example application, students will learn to formulate the mechanical equations of motion for simple (2D) mechanical systems. These will be formulated in a general matrix form which can be used to solve either inverse or forward dynamics problems. For the forward case, students will learn to formulate these as a set of ordinary differential equations which can be numerically integrated (‘simulated’) to yield predictions of how bodies move under the influence of external and internal forces. As a final skill, students will be introduced to (constrained) optimization techniques. Combining these skills, we will address questions regarding the relationship between form and function of the musculoskeletal system, and/or (optimal) control of the musculoskeletal system, through in silico experiments. In the final weeks of the course, students will apply all that they have learned in a mini-project in which they attempt to answer a scientific question of their own choice, through a simulation experiment. Albeit not a direct aim of this course, a latent effect of the programming assignments will be that students will improve their (python) programming skills and learn new (general) tools for running simulation models (in python).

Forward simulation modelling amounts to capturing part of reality in a mathematical model (e.g. a set of ordinary differential equations), and subsequently numerically solving these equations as a function of time (i.e. a ‘simulation’). This course will first introduce the general concepts of ‘states’, inputs (control) and outputs in the context of a simulation model. Next, basic mechanics will be refreshed/introduced. This includes a (2D) treatment of inertial reference frames, mechanical degrees of freedom (DOF), translatory and rotatory equations of motions for single rigid bodies and rigid body linkages, and the mechanical energy equations of (non) rigid bodies. Finally the problem of controlling the DOF of a mechanical system to achieve a certain task will be introduced and formulated as an optimization problem. Gradient descend and simplex algorithms will be introduced as methods to find local minima in these optimization problems. In the final part of the course, all this knowledge will be combined to address a simple scientific question regarding the control / design of a biomechanical system, through an in silico simulation experiment.

Teaching methods
Lectures, computer labs and programming (home work) assignments.

Lectures will serve to introduce key concepts/theory and to and prepare for computer labs and the mini-project.

Computer labs (home-work / supervised computer labs):
In the computer labs students will apply the theory and formulate concrete models of simple biomechanical systems. Each lab will consist of a mixture of pen-and-paper assignments (best prepared at home, beforehand) and programming assignments which will solidify the understanding of the course material, and serve as examples of applications and as exercises. All programming will be done default in python, but the use of matlab will also be supported. Each computer lab will conclude with a short, written assignment.

Students will work in pairs to address a simple scientific question of their interest. The question should be answerable with a simple optimization model, using the tools the students have learned in the first part of the course. The goal will be to understand/apply the methodology, not to do groundbreaking science. The project will conclude with a short (10 mins, including discussion) presentation to your peers, and a short (1 page) written report.


  • Computer lab attendance and homework assignments (pass/fail, 1/10 of grade, necessary condition for completion of the course)
  • Written exam (6/10 of grade)
  • Mini project (presentation and report, 3/10 grade)

Workload & credits:
The course load is 6 ECTS, which equals 168 study hours. These hours could be divided over the course program as follows:

Task Load (hours)
Preparation lectures 9x3=27
Lectures 9x2=18
Preparation computer practicals 6x5=30
Computer practicals 6x4=24
Mini-project 52
Preparation exam 10
Exam 3
Mini-project presentations 4
Total 168
Assumed previous knowledge
- Basic python programming skills
- Some basic linear algebra (solving linear systems of equations)
- Some basic (2D) mechanics (Newton’s second law, kinematics, geometry)
Participating study
Master Computer Science
Required materials
Recommended materials
Course material
Papers will be provided via Canvas
Instructional modes


Assignments, Project, Exam

Kies de Nederlandse taal