Undergraduate Teaching 2025-26

Not logged in. More information may be available... Login via Raven / direct.

Engineering Tripos Part IIA Project, GG4: Neural Control with Adaptive State Estimation, 2025-26

Leader

Dr Flavia Mancini

Timing and Structure

Students work to their own schedule. A staffed "surgery" runs according to the lab timetable.

Prerequisites

Useful: 3F1 (Statistical Signal Processing), 3F2 (Systems and Control), 3F3 (Inference); Python vs. 3.12 (NumPy, Matplotlib, Jupyter)

Aims

The aims of the course are to:

  • To introduce students to simulation and control of partially observed dynamical systems.
  • To give practical experience with classical methods for state estimation.
  • To explore optimal feedback control in a closed-loop system.
  • To develop collaborative coding, analysis, and presentation skills.
  • To foster understanding of robustness in estimation and control under noise and model mismatch.

Objectives

As specific objectives, by the end of the course students should be able to:

  • Understand and apply state-space models to simulate dynamic systems.
  • Implement and tune models to decode noisy observations.
  • Design and use controllers for optimal state feedback control.
  • Integrate estimation and control in a closed-loop system.
  • Conduct experiments to assess tracking accuracy, control effort, and robustness.
  • Collaborate effectively to develop shared code and produce a joint presentation.
  • Present technical results clearly using plots, metrics, and structured reports.

Content

This lab explores how brain-machine interface (BMI)-like systems can decode noisy neural activity to control movement. In this design project, small groups will simulate and control a simplified neural interface system. A 2D cursor moves in a plane based on a latent trajectory, observed indirectly through noisy neural-like signals. Students will estimate the cursor's hidden state and control its movement toward a dynamic target. Over four weeks, they will explore estimation accuracy, control performance, and system robustness to disturbances and model mismatch. The project blends inference, control, signal processing, and neural data simulation in a realistic, design-oriented lab. 

 

Week 1–2 (Group) 

Introduction to classical filtering and control methods (primer provided). 

Groups set up simulation environment and run example trajectories. 

Implement group simulation code with documentation. 

Deliverable: Group simulation code + brief documentation (group mark); interim report (individual mark). 

 

Week 3 (Individual) 

Implement control loops. 

Test closed-loop performance and robustness. 

Continue experiments for final analysis. 

 

Week 4 (Group & Individual) 

Group presentation: approach, results, lessons learned (group mark). 

Individual final report due end of Week 4: methods, results, discussion (individual mark). 

 
 

Coursework

  • Group Simulation Code & Documentation (end of Week 1): 10 marks  
  • Individual Interim Report (end of Week 2): 20 marks 
  • Group Presentation (Week 4): 10 marks  
  • Individual Final Report (Week 4): 40 marks  

 

Examination Guidelines

Please refer to Form & conduct of the examinations.

 
Last modified: 24/04/2026 11:55

Engineering Tripos Part IIA Project, GF5: Animating 3D Characters, 2025-26

Leader

Dr E Wu

Timing and Structure

Fridays 9-11am plus afternoons, and Tuesdays 11-1pm

Aims

The aims of the course are to:

  • Introduce students to the core components of 3D character animation, including rigging, skinning, animation, and rendering
  • Provide hands-on experience with modern 3D graphics and animation tools
  • Give students practical exposure to building, animating, and rendering a 3D character model
  • As part of the project, students will capture an animatable 3D model of themselves and create a short animation

Objectives

As specific objectives, by the end of the course students should be able to:

  • Understand the concepts of skeleton-based rigging and skinning
  • Construct a simple rig for a 3D character and bind mesh geometry to the skeleton
  • Understand simple animation techniques such as keyframe interpolation
  • Capture a 3D human model and integrate it into an animation pipeline
  • Produce a short animated 3D scene with animated 3D characters

Content

Week 1

  • Introduction to 3D visualization and animation tools (using Python-based packages)
  • Overview of 3D meshes, skeletons, joints, skinning weights, and kinematic chains
  • Basic rig construction and skinning weights assignment on a simple 3D character
  • Implement forward kinematic transformations and pose the 3D character using Linear Blend Skinning (LBS)

Week 2

  • Create a simple animation sequence using keyframe interpolation
  • Render the animation into a 2D video
  • Individual interim report

Week 3

  • Load and animate a skinned 3D human model (SMPL)
  • Explore human motion sequences using the human model
  • Work in groups to capture 3D models of your team members
  • Drive your character models using existing motion sequences and produce animated motion clips

Week 4

  • Refine character animations and integrate them into a coherent 3D scene
  • Produce a 30-second long animation video featuring the virtual characters
  • Final group presentation and report

Coursework

Coursework Due date Marks
Interim report Friday 29 May 2026 (4pm) 20 (individual)
Interim animation results Friday 29 May 2026 (4pm) 5 (individual)
Final presentation Tuesday 9 June 2026 (11-1) 10 (group)
Final report Friday 12 June 2026 (4pm) 30 (50% individual, 50% group)
Final animation results
Friday 12 June 2026 (4pm) 15 (group)

 

Examination Guidelines

Please refer to Form & conduct of the examinations.

 
Last modified: 15/05/2026 01:16

Engineering Tripos Part IIA Project, GF4: Structure from Motion, 2025-26

Leader

Dr A Tewari

Timing and Structure

Thursdays 9-11am plus afternoons; and Mondays 11-1pm

Objectives

As specific objectives, by the end of the course students should be able to:

  • understand the principles of Structure from Motion, one of the most important algorithms in computer vision, through hands-on experimentation and implementation
  • explain the role of feature detection, feature matching, and camera pose estimation in an SfM pipeline
  • use a professional SfM tool such as COLMAP to reconstruct sparse 3D structure and camera poses from a set of images
  • design and analyse image-capture strategies for successful 3D reconstruction
  • implement key components of a simplified SfM pipeline in Python

Content

The aim of this project is to understand Structure from Motion through a combination of professional tools, mathematical foundations, and hands-on implementation. Structure from Motion is the process of recovering both the 3D structure of a scene and camera paraemeters from multiple overlapping images.

The project will begin by treating COLMAP as a professional reference system. Students will run COLMAP on both standard datasets and their own captured image sets, producing sparse reconstructions and visualising the estimated camera poses and 3D point clouds. They will perform controlled capture experiments to understand when SfM succeeds or fails, for example by varying the number of images, image overlap, texture, lighting, and camera motion. They will also inspect intermediate outputs such as detected keypoints and matched image pairs.

Students will then implement and analyse key steps of a simplified SfM pipeline in Python that includes feature detection, descriptor matching, and relative pose recovery. Modular utilities will be provided so that the focus remains on understanding and experimentation, rather than low-level software infrastructure.

The project culminates in a short group presentation and an individual final report, showcasing the reconstruction pipeline, visual results, quantitative and qualitative analysis, and lessons learned about the strengths and limitations of Structure from Motion.

 

Week 1:

  • setting up the Python/COLMAP environment and running COLMAP sparse reconstruction
  • visualising sparse point clouds and estimated camera poses
  • creating controlled ablations, such as fewer images, lower overlap, poor texture, or challenging lighting
  • reading introductory material on multiview geometry and SfM

Week 2:

  • extracting descriptors
  • matching descriptors between image pairs
  • estimating the fundamental matrix

Week 3:

  • recovering relative camera rotation and translation
  • triangulating sparse 3D points
  • visualising reconstructed sparse points and camera poses

Week 4:

  • analysing failure cases 
  • preparing and delivering final presentation and report.

Coursework

Coursework Due Date Marks
Interim Report 1 21 May 2026 15 (individual)
Interim Report 2 28 May 2026 15 (individual)
SfM code and Presentation 11 June 2026 30 (group)
Final Report 11 June 2026 40 (individual)

 

Examination Guidelines

Please refer to Form & conduct of the examinations.

 
Last modified: 10/05/2026 19:36

Pages

Subscribe to CUED undergraduate teaching site RSS