Armaan Sengupta

Projects / Segway Dynamics

Segway Dynamics

Year 3 · Modelling · Apr 2025

Derived the equations of motion for a human transporter by hand and checked them in Simulink against SimulationX.

We derived the nonlinear kinematic and kinetic equations of a human transporter, then linearized them with a small-angle approximation into a state-space model.

A Simulink model swept thrust force and lean angle, coarse first and then finely. SimulationX models the system acausally without hand-derived equations; the gap between the two is the cost of the idealizations.

The goal

Analyze and model a human transporter, then tune its properties, with no active control, to travel as far as possible before tipping, and compare our Simulink model against an acausal SimulationX model.

Method

We derived the nonlinear kinematic and kinetic equations, linearized them with a small-angle approximation, and swept thrust force and lean angle in Simulink: coarse first, then 160 to 180 N in 0.5 N steps and 0.2 to 0.8 rad in 0.05 rad steps. SimulationX needs no hand-derived equations, so it checked our derivation; Python parsed and plotted its data.

Results

The system is very sensitive to both inputs. Simulink's best was 12.3 m at 170 N and -0.2 rad; SimulationX's was 9.15 m at 110 N and 11°. The gap shows the cost of the idealizations: Simulink suits theoretical analysis, while SimulationX captures more of the physical interactions.

See it on the interactive siteCode ↗Simulink code ↗SimX files & Python ↗