File Exchange

image thumbnail

Bouncing Rod Simulator -- ODE45 Event Detection Example

version 1.0.0.0 (7.81 KB) by Matthew Sheen
Simulate a rod bouncing and tumbling with animation.

3 Downloads

Updated 25 Jun 2016

GitHub view license on GitHub

Video here: https://www.youtube.com/watch?v=G5IpQ53SY6A&feature=youtu.be


This is an example of how event detection works in MATLAB with integrator ODE45. A simple rod bounces and tumbles on flat ground until it finally begins sliding. This might be helpful to you if you have continuous dynamics with discrete events happening (like collisions).
Files:
1. MAIN_simulate.m -- Run this first!
2. deriveCollisions.m -- Derives contact map equations to determine how the rod acts after a collision. This file auto-generates:
* DiscreteCollisionsPt1.m
* DiscreteCollisionsPt2.m
3. slidingPhase.m -- Equations of motion for the sliding rod.
4. flightPhase.m -- Equations of motion for the flying rod.
5. contact.m -- Conditions passed to ODE45 so it can determine when events occur and what to do.
6. animate.m -- Draw the scene and show what happened during the simulation.

Cite As

Matthew Sheen (2020). Bouncing Rod Simulator -- ODE45 Event Detection Example (https://github.com/mws262/MATLABBouncingRod), GitHub. Retrieved .

Comments and Ratings (2)

Jan

Very interesting. Do you have a pdf doc with a description of the problem you are solving? It's difficult to follow particularly, the derivation without that

Updates

1.0.0.0

better picture

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