Portable Balance Lab course material for students
The Portable Balance Lab (PBL) is a practical course that teaches students how to create their own balance lab from raw components and software. This repository contains all of the learner-facing course material.
In this course, we will work with Python. To get used to this, all lectures are delivered through Jupyter notebooks. This way, you can view, modify, and run all code samples in the Jupyter viewer (i.e. just like Matlab Livescripts).
To get started, follow these steps:
-
Download a Copy of this Repository:
- Go to the releases page and download a
zip
of the latest release (unless a specific version is specified) - Unzip the course content somewhere (e.g. on your
Desktop
)
- Go to the releases page and download a
-
Get Jupyter:
- Download and Install Anaconda: https://www.anaconda.com/products/distribution
- Boot the Anaconda Navigator (e.g. via the Start bar)
- Boot Jupyter through the navigator UI
- This should open Jupyter a browser window. Jupyter notebooks (
.ipynb
files) can be opened through this UI.
-
Open a PBL Lecture:
-
In the Jupyter UI, browse to wherever you unzipped this repository:
- e.g. #1 click
Downloads
thenpbl-main
- e.g. #2 click
Desktop
thenpbl-main
- e.g. #3 click
OneDrive
thenDesktop
thenpbl-main
- e.g. #1 click
-
Browse to a specific lecture
.ipynb
file- e.g. click
PBL start-up session (students) (21-22)
thenPBL_Lab0_Manual_2022.ipynb
- e.g. click
-
Once you are satisfied that you can load a Jupyter notebook, you can then go through the course materials.
The course material is split into lectures (L
), sensor practicals (S
), and extra content (X
):
- You should go through all lectures (
L1
,L2
, andL3
) - You will be assigned one of four possible practicals (
S1
,S2
,S3
, orS4
) - All practicals require setting up a Raspberry Pi (
S0
) - Some practicals may ask you to go through extra content (
X
)
It is recommended that you go through all of the lecture material (L1
-L3
). These ensure you know enough Python to get through the practical material (S1
-S5
).
⚠️ Warning⚠️ : You should open the lecture's Jupyter notebooks (.ipynb
files) in your own local copy of this repository (see: Getting Started). The preview links here don't let you run the example code.
ID | Title |
---|---|
L1 | Python: Basics |
L2 | Python: functions, classes, and writing files |
L3 | Python: GUIs and Hardware Interfacing |
You will be asigned one of four possible lab practicals (S1
-S4
). All lab practicals require setting up the Raspberry Pi (S0
). After setting up the Raspberry Pi, you only need to use the materials related to the practical you have been assigned (S1
-S4
).
ID | Title | Notes |
---|---|---|
S0 | Set up the Raspberry Pi | All lab practicals (S1 -S4 ) require doing this first |
S1 | Pose Estimation | |
S2 | IMU | |
S3 | Force Plate | |
S4 | EMG |
These materials are extra notes/examples that parts of the course may refer to.
ID | Title | Notes |
---|---|---|
X0 | Software Setup | Explains how the software used in the PBL course is setup |
X1 | Writing CSV Files | Explains how to write CSV data to a file |
X2 | Generating Timestamped Filenames | Explains how to generate timestamped filenames |
This repository only contains core course materials. Schedules should be made available by your teachers via their teaching platform of choice (e.g. in TU Delft, Brightspace).
The PBL lab wouldn't be possible without organization and support from a bunch of people. Here's an alphabetical list of some of them:
- Reinier van Antwerpen ([email protected]): Hardware support (3D printing), 2022 & 2023
- Jacques Brenkman ([email protected]): Hardware support (electronics and PCB design), 2023
- Judith Cueto Fernandez (@JudCF, [email protected]): Teaching Assistant, 2023
- Jinne Geelen (@JinneGeelen, [email protected]): Founding lab designer and implementer, 2022
- Koen Jongbloed ([email protected]): Teaching Assistant, 2022; Hardware support, 2023
- Adam Kewley (@adamkewley, [email protected]): Software support and open-sourcing, 2022 & 2023
- Eline van der Kruk (@evanderkruk, [email protected]): Course lecturer, 2022 & 2023
- Janne Luijten (@JanneLuijten, [email protected]): Teaching Assistant, 2022 & 2023 - Teacher, 2024
- Fred Roeling ([email protected]): IT and networking support, 2022 & 2023