Skip to content

TU Delft Bicycle Laboratorium's Steer-by-Wire bicycle project. MPC controller.

License

Notifications You must be signed in to change notification settings

mechmotum/TUDelft-SbW-Bicycle

 
 

Repository files navigation

TU Delft Steer-by-Wire bicycle

A GitHub repository for the Bicycle Lab's Steer-by-Wire bicycle.

Building on Georgios Dialynas' work:

File structure

bluetooth_teensy/ - A Teensy 4.1 together with an HC-05 Bluetooth module is used as a Bluetooth interface to Simulink. This folder hosts the code for the Teensy. Written in C++ using PlatformIO.

docs/ - Hosts the documentation for the bicycle, hardware and software.

inventory/ - Hosts the inventory of the spare parts for the hardware.

libsurvive-udp/ - Hosts the files to enable HTC Vive Tracker communication through UDP.

neokey/ - A NeoKey Trinkey is used to control the trial's start and end. Code for the NeoKey is hosted here. Written in CircuitPython.

simulink/ - Hosts the MATLAB scripts and Simulink model for the MPC controller.

teensy/ - Contains the Teensy code that acts as the brain of the bicycle. Written in C++ using PlatformIO.

unity/SbW-game/ - Contains the visualisation of the reference line that needs to be tracked. Developed in Unity.

unity/SbW-game-built/ - Contains the binaries built from unity/SbW-game/. Built for Windows 64-bit.

Block diagram of the bicycle

Block diagram

  • $\theta$ is the handlebar angle
  • $\delta$ is the fork angle
  • $e$ is the angular error
  • $T_h$ is the human torque
  • $T_g$ is the ground reaction torque
  • $y$ is the lateral position of the rear wheel
  • $\psi$ is the yaw angle
  • $\varphi$ is the roll angle

About

TU Delft Bicycle Laboratorium's Steer-by-Wire bicycle project. MPC controller.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 52.3%
  • HTML 42.9%
  • C 1.4%
  • ASP.NET 1.2%
  • ShaderLab 0.6%
  • JavaScript 0.5%
  • Other 1.1%