File Exchange

image thumbnail

Physical modeling in academia: the rotary pendulum with low-cost hardware

version (7.03 MB) by Mischa Kim
Model, analyze and deploy the rotary pendulum system


Updated 01 Sep 2016

View Version History

View License

Are you looking for a dynamics and controls example for teaching or research?
Check out the getting started video on YouTube:

This bundle demonstrates two different modeling approaches for physical systems: a traditional approach using textual programming (with MATLAB and Simulink) and through MathWorks' multi-body simulation environment, SimMechanics. As a use case for academia the two modeling approaches are applied for the controlled (inverted), rotary pendulum system. The system is visualized and animated using Simulink 3D Animation with a simple virtual reality world and a more sophisticated, imported CAD model on the one hand, and with the SimMechanics-built model on the other hand.

Also included in this bundle are the corresponding hardware implementation models for LEGO Mindstorms NXT and EV3, a video showing the controlled LEGO system in action, and a hardware construction manual. For the traditional modeling approach the Euler-Lagrange tool is used to derive the system differential equations:

For model handling and startup: either a) execute the startup script in the utilities folder and easily access all models through a html menu, or b) open up models individually.

You can model and develop more elaborate algorithms using the Control System Toolbox and Stateflow. MATLAB Coder, Simulink Coder and Embedded Coder allow you to inspect and modify the generated code to learn on and explore industry-grade hardware platforms.

Cite As

Mischa Kim (2020). Physical modeling in academia: the rotary pendulum with low-cost hardware (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (8)

faiez fatnassi

I couldnt find this version of the Glidewheel M encoders :/ does anyone know where i can buy them ?

Rodrigo Gallardo

Chanwoong Ahn

This is great. But how can I deal with the error massage
"Failed to load library 'aerolibanimutils' referenced by 'RotaryPendulum_SLdemo_SwingUp/Simulation Pace'".
This occured whie I was running Simulink.

saman zahiri rad

It doesn't work for R2017a!!!

Christian Tolks

Great work and fine to get it free for own experiments. Unfortunately, I cannot get it working in Matlab R2016b. As there are a lot of changes in hardware support package for ev3, have you any experience with this version? (E.g. TLC file changed from realtime.tlc to ert.tlc and sampling rate collapsed from 1kHz (R15a) down to 25Hz (R16b) in a simple model ).

Greg Drayer

This is great. Unbelievable how LEGO MINDSTORMS can be used to learn advanced modeling, simulation and controls.


Piotr Maciejewski

MATLAB Release Compatibility
Created with R2015a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!