Educational / Student Teams
Differential Drive Robot Simulation
Cal Poly ME 322 · Individual Project · Spring 2026
Developed nonlinear and linearized MATLAB/Simulink models of a Romi differential-drive robot to simulate wheel, chassis, and global-position dynamics under independent motor-voltage inputs.

Overview
Developed a nonlinear dynamic model of a Romi differential-drive robot and compared its response against a Jacobian-linearized state-space model across multiple driving conditions.
My Role
Developed the system hand calculations using linear graph theory, derived and augmented the nonlinear state equations, used MATLAB's Symbolic Math Toolbox to linearize the model, implemented both nonlinear and linear simulations in Simulink, and evaluated their response under four voltage-input cases.
Project Overview
This project modeled the dynamic behavior of a two-wheeled Romi robot driven by independent left and right DC gearmotors. The model combined electrical motor dynamics, wheel-ground traction, rigid-body kinematics, and coordinate transformations to predict the robot's motion. A Jacobian-linearized state-space model was developed alongside the full nonlinear model so their responses could be compared across multiple driving conditions.
System Modeling & Hand Calculations
I first developed the transducer relationships, linear graph, normal tree, and nonlinear state equations for the differential-drive system. The hand calculations established how the left and right motors, wheels, and chassis interacted, while the augmented equations added global position and heading states to represent the robot's path.
Nonlinear & Linearized Simulation
The nonlinear model was implemented in Simulink using the derived state equations and numerical integration. MATLAB's Symbolic Math Toolbox was then used to determine equilibrium conditions and calculate the Jacobian matrices required for the linear state-space approximation. Both models received identical left- and right-motor voltage inputs, allowing their wheel speeds, chassis motion, and predicted paths to be compared directly.
Simulation Results
Four driving cases were simulated to evaluate straight-line motion, turning, delayed motor actuation, and low-voltage behavior. The results illustrate where the linearized model closely represents the nonlinear system and where the approximation becomes less accurate as the operating condition changes.
Model Comparison
The simulation results demonstrate the strengths and limitations of linearizing a nonlinear system. The linearized model can closely match the nonlinear response near its operating point, while larger changes in motor input or robot motion can produce increasing disagreement. The animation compares the two simulated robots directly and makes this divergence visible in their predicted paths.