
At the end of the course students are able to:
 understand the general formulation of a statespace 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 statespace 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 miniproject 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:
Lectures will serve to introduce key concepts/theory and to and prepare for computer labs and the miniproject.
Computer labs (homework / 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 penandpaper 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.
Miniproject:
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.
Assessment
 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 
Miniproject 
52 
Preparation exam 
10 
Exam 
3 
Miniproject 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) 
  Required materialsRecommended materialsCourse materialPapers will be provided via Canvas 

 Instructional modesTestsAssignments, Project, Exam


 