{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Building Bicycle-Rider Models with SymBRiM\n", "\n", "Welcome to this tutorial on creating **Sym**bolic **B**icycle-**Ri**der **M**odels using SymBRiM!\n", "\n", "In this notebook, we'll embark on a hands-on journey into SymBRiM, focusing on the practical aspects from a model user's perspective. By the end of this tutorial, you'll have achieved the following learning goals:\n", "\n", "- Create a Carvallo-Whipple bicycle model using SymBRiM.\n", "- Create a custom bicycle model to suit specific needs.\n", "- Extend a bicycle model to include a rider.\n", "- Parameterize a model using the [BicycleParameters](https://github.com/moorepants/BicycleParameters) library.\n", "- Simulate models using a simple `Simulator` utility.\n", "- Visualize a model's behavior with ease using the integrated plotting utility powered by [SymMePlot](https://github.com/TJStienstra/symmeplot).\n", "\n", "Before diving into this tutorial, it's recommended that you familiarize yourself with [the introduction](https://mechmotum.github.io/symbrim/guides/introduction.html) and read through the sections on _Software Overview_ to _BRiM Models_ in [the SymBRiM paper](https://doi.org/10.59490/6504c5a765e8118fc7b106c3). This background information will provide valuable context for what we'll cover here.\n", "\n", "## Tutorial Overview\n", "\n", "This tutorial is structured as follows: We'll begin by working with the default Carvallo-Whipple bicycle model, adhering to [Moore's convention](https://moorepants.github.io/dissertation/eom.html). Our journey will encompass configuring the model in SymBRiM, exporting it, and deriving the equations of motion (EoMs). Subsequently, we'll venture into configuring a new bicycle model, this time incorporating fork suspension. This model will be further extended to include an upper-body rider. Next, we'll parametrize these models, enabling us to conduct multiple simulations. Finally, we'll visualize our results as captivating animations.\n", "\n", "## The Default Bicycle Model\n", "\n", "Our starting point is the Carvallo-Whipple bicycle model, following [Moore's convention](https://moorepants.github.io/dissertation/eom.html). The diagram below illustrates the general configuration of this model:\n", "\n", "