CPSC 530P Sensorimotor Computation

This course provides a self-contained introduction to computational models of sensorimotor biology, i.e., how the central nervous system (CNS), muscles, and sensory organs work together to accomplish amazingly effective movements that are still unmatched by robots. The goal is to develop a constructive understanding of how these biological systems work as machines, so that we can build predictive computer models and simulations. Such an understanding is important not only for biomedical applications but also for producing the next generation of robots and computer animation. For instance, biomechanical simulation is now used by ILM, Weta Digital and other major visual effects studios to bring humans, dinosaurs and other creatures to life.

The course will focus on modeling and simulation of biomechanical systems (soft tissues, musculoskeletal systems, skin, etc.). It can serve as an introduction to physically based modeling and numerical simulation methods that are useful in computer animation and robotics. The course will also introduce the relevant physiology of sensorimotor systems.

No textbook is required. Reference material will be available in the reading room.

Some background in one of the following topics is helpful: scientific computing, graphics, robotics, machine learning, vision, or other areas of applied mathematics. Previous exposure to numerical linear algebra and differential equations, at the level of an undergraduate course, will be assumed. To make the course accessible to students with diverse backgrounds, there is some flexibility in the choice of course projects to suit individual needs. Email me if you have any questions.

  • A first look at a complete sensorimotor system: the human eye. Functional anatomy: muscles, sensors, nervous system. Types of eye movements. How the brain controls eye movements.
  • A framework for modeling sensorimotor systems. Descriptive models. Mathematical models. Computational models. Application: Robinson’s classical model of saccadic eye movements in 2D.
  • Kinematics. Configuration space. Differential kinematics. Constraints and Lagrange multipliers. Reduced coordinates. Rigid bodies. Applications: movement of eyes and skeletons. Listing’s law for eye movements.
  • Elastostatics
  • A first look. Small deformations (linear) in 1D. Strain, stress, constitutive models. Finite difference methods.
  • Large deformations (non-linear) in 1D. Lagrangian vs. Eulerian discretizations. Finite strain measures. Finite element method. Application: muscle and tendon simulation.
  • Large deformations in higher dimensions. Application: Eulerian skin simulation.
  • Dynamics. Elementary classical mechanics. Principles of Gauss and Hamilton. Time discretization. Stability and numerical stiffness. Model reduction.
  • Contact and Friction. Convex analysis and non-smooth optimization. Application: simulating touch.
  • [If there is time] Control. Neuroscience of Motor Control. Elementary concepts of control. Cerebellum, internal models, and adaptive control. Application: Learning eye movements.


Course Organization

Instructor: Dinesh K. Pai, Department of Computer Science, UBC.

Lectures: MW 13:30-15:00 in Dempster 101.

Course Work

The course grade will be based on:

Marks % Work
14 Class participation. Everyone is expected to read assigned reading material. Each student will be expected to transcribe notes of up to two lectures and to make one in-class presentation.
36 Three assignments. Several questions will require the use of Matlab.
50 One course project. This could involve either a critical review of a topic or an implementation


Course Material

We’re now using the Connect learning management system for all aspects of this course. The deadlines listed there are the official ones.