The course is aimed at university-level students of all engineering backgrounds, who would like to learn the basics of modern biomedical engineering, including the development of human-robotic interfaces and systems such as bionic prosthetics.
The course is covering the practical basics of almost everything that a modern biomedical engineer is required to know: electronics, control theory, microcontrollers (Arduino), and high-level programming (MATLAB). All covered disciplines do not require any prior knowledge except university-level mathematics and physics.
By the end of the course, the students will be able to practically understand and design electronic systems for electrophysiological signal acquisition, connect and program the microcontroller, organise the data transmission between a controller and PC, process the acquired signal and control a simple robot with the acquired signal in real-time.
The course is also providing a platform from which the students can improve their skills further by simply adding more complicated systems and experimenting with more advanced control paradigms.
Although the course is aimed at engineers, it will be also suitable for anyone who is interested in modern R&D as it teaches the practical concepts which are employed by almost any engineering environments around the world involved in designing and prototyping of new ideas, both in academia and industry.
The course was developed by Peter the Great St. Petersburg Polytechnic University with the support of University College London (UCL).
In this module, we introduce the basics of electronics and an overview of the field. We explain analogue and digital electronics, introduce basic components and discuss how to read and understand principle diagrams. We talk about amplifiers and filters in detail and learn how and why to apply them for biomedical signal acquisition.
This module gives an introduction to Laplace transform and transfer functions. We analyse various mechanical and electrical closed-loop systems and show how to predict the system performance and stability. Finally, we introduce and analyse the PID controller as the most universal tool for the closed-loop control and show how to control a DC motor.
Real-time Embedded Systems (Arduino)
In this module, we discuss the basics of embedded systems. We are using Arduino as a basic platform. We introduce the syntax and structure of Arduino language, discussing timing, loops, functions, and serial interface. The concept of interruption is introduced and discussed in detail with examples. We consider several basic embedded applications and finishing with the practical coding of a fully-functional embedded PID controller for the DC motor.
High-level programming and complex control (MATLAB)
This module introduces the basics of MATLAB programming, basic syntax and common commands. We discuss the implementation of a serial interface between the embedded system and MATLAB and learn how to apply signal processing techniques like digital filtering and RMS calculations in real-time. Finally, we assemble all previously learned components together and implement an expandable and scalable platform for a bionic prosthetic device. The platform is featuring EMG signal amplification, filtering, ADC, microcontroller-PC interface, and closed-loop control of the DC motor in real-time with the parameters extracted from the EMG.