The problem
Motorcycles and scooters have oscillatory modes, notably weave (a low-frequency yaw–roll oscillation at high speed) and wobble (a higher-frequency steering oscillation), that can become unstable. Electric scooters add heavy hub motors and batteries that move mass and change inertia, which can shift these modes. Eigenvalue analysis of a linear model is the standard first tool for understanding them.
Objectives
- Implement a linear two-wheeler model with lateral, yaw, roll and steering freedoms and tyre relaxation.
- Compute eigenvalues against speed and identify capsize, weave and wobble modes.
- Verify the model against published benchmark results.
- Study the effect of steering damper, rear mass, hub-motor mass and trail on mode stability.
- Simulate time responses to a steering torque disturbance.
What you need
Tools and toolboxes
- MATLAB — Model matrices, eigenvalue computation across speed, mode-shape visualisation and parameter studies.
- Simulink — Time-domain simulation of the linear model with disturbance inputs.
- Control System Toolbox — Optional: ss objects, damp and root-locus plots; base MATLAB eig gives the same results.
Software
- MATLAB R2023b or later
- Simulink
Extra parts and data
- Published linear motorcycle model parameters and benchmark results — A published parameter set, such as those in Sharp's classic motorcycle papers or the Whipple bicycle benchmark, is needed to verify the implementation before modifying it.
Key concepts
- Weave
- A yaw–roll–steer oscillation, typically a few hertz, whose damping usually falls at high speed and can become unstable.
- Wobble
- A steering oscillation at higher frequency, often several hertz, mainly governed by front-frame inertia, trail, tyre and frame compliance. It is often least damped at moderate speed.
- Capsize mode
- A slow, non-oscillatory roll mode that may be mildly unstable at speed and is easily controlled by the rider.
- Tyre relaxation length
- Tyre lateral force builds up over a rolling distance rather than instantly. Including it is important for predicting wobble.
Step-by-step guide
- 1
Choose and document a reference model
Start from a published linear two-wheeler model with lateral, yaw, roll and steering freedoms and first-order tyre lag, and take its parameter set as the reference vehicle. Record every parameter and its source in a script. Define the speed range for analysis, for example 5 to 40 m/s, and the outputs: eigenvalues, frequency and damping ratio for each mode. Keep units consistent throughout.
Checkpoint: A parameter script and a short derivation summary showing the states and equations used.
- 2
Implement the model matrices
Write a MATLAB function that returns the state matrix A(v) for a given forward speed. Keep mass, damping and stiffness contributions separate so they can be checked. Include tyre lateral forces with relaxation as extra states. Check the matrix dimensions and that A is real for all speeds. Write the function so it can also return mass, damping and stiffness matrices separately, which makes debugging against the reference easier. Add simple tests, such as checking symmetry of the mass matrix and that eigenvalues are finite.
Checkpoint: A function that returns A for any speed, with the number of states matching the derivation.
- 3
Verify against the benchmark
Compute eigenvalues across speed and compare with the published eigenvalue plot or tables for the reference parameters. Differences usually come from sign conventions or units. Do not move on until the weave and wobble frequencies and stability boundaries match the reference. Compare individual matrix terms if eigenvalues disagree, because a single sign error often moves one mode strongly. Record the comparison in a table at several speeds and keep the verified parameter set unchanged as the reference vehicle.
Checkpoint: Weave and wobble frequencies and damping within a few per cent of the published values across the speed range.
- 4
Identify the modes
Plot real parts and imaginary parts of the eigenvalues against speed. Label capsize, weave and wobble using their frequency and eigenvector shapes: weave involves yaw and roll strongly, wobble mainly steering. Animate or plot the mode shapes at one speed to make the identification clear. Track each mode continuously across speed by matching eigenvectors between neighbouring speed points, because eigenvalues can swap order. Record the speed at which each mode is least damped.
Checkpoint: A labelled eigenvalue plot and mode-shape plots for weave and wobble at a chosen speed.
- 5
Time-domain simulation
Build a Simulink model using a State-Space block with A at a fixed speed and an input matrix for a steering torque disturbance. Apply a short torque pulse and look at steer angle, roll and yaw responses. Compare oscillation frequency and decay rate with the eigenvalues at that speed. Extract frequency and decay by fitting a damped sine to the steer response. Show that the response grows instead of decaying when the speed is above an instability boundary.
Checkpoint: Oscillation frequency and decay in simulation match the eigenvalue predictions.
- 6
Electric scooter modifications
Create an e-scooter variant of the reference by adding a hub-motor mass and inertia to the rear wheel, or to the front for a front-hub design, and shifting battery mass under the floor. Use example values and state them clearly. Recompute eigenvalues and compare mode damping with the reference vehicle across speed. Check the modified mass properties by recomputing total mass and centre of gravity.
Checkpoint: Overlay plots of weave and wobble damping against speed for the reference and e-scooter variants.
- 7
Parameter studies
Sweep steering damper coefficient, trail, front-frame inertia and rear-frame mass position. For each, record the minimum damping ratio of weave and wobble over the speed range. Explain the known trade-off: a steering damper helps wobble but can reduce weave damping at high speed. Use a scripted loop over parameter values and speeds, and present results as contour plots of damping against parameter and speed. Highlight any combination where a mode becomes unstable within the operating speed range.
Checkpoint: Plots of minimum mode damping against each parameter, with the steering-damper trade-off visible.
- 8
Report
Present the model, benchmark verification, mode identification, time-domain checks, e-scooter comparison and parameter studies. State the limitations: linear model, constant speed, rigid frame unless compliance is added and no rider dynamics. Avoid strong safety claims; the results show trends to be tested with a more complete model and experiments. Include benchmark comparison tables, mode-shape plots and parameter-study results, and keep the parameter script and code with the report so the work can be reproduced and extended.
Checkpoint: A report with verification against the benchmark and clearly explained trends.
Testing & validation
- Eigenvalues match the published benchmark for the reference parameters.
- Time-domain responses match eigenvalue frequency and damping.
- Mode identification supported by eigenvector shapes.
- Parameter-study trends consistent with published findings for steering damper effects.
Expected results
A verified linear two-wheeler stability model showing how weave and wobble change with speed and how e-scooter mass distribution and steering parameters affect their damping.
Take it further
- Add frame torsional compliance at the steering head and see its effect on wobble.
- Add a passive rider model with upper-body lean.
- Build a non-linear multibody version in Simscape Multibody and compare.
- Study the effect of regenerative braking torque on the rear wheel during cornering.
Viva and review questions
How do you tell weave and wobble apart?
Wobble is higher in frequency and dominated by steering motion; weave is lower in frequency and involves strong yaw and roll of the whole vehicle.
Why include tyre relaxation length?
Without it, tyre forces respond instantly and the model tends to misrepresent wobble damping, because the force lag is a key part of the wobble mechanism.
Why might a hub motor affect wobble?
Adding mass and inertia to a front hub changes front-frame inertia, which is one of the main parameters governing wobble frequency and damping.
Learn it at DIYguru
These DIYguru courses and programmes teach what this project needs.
