Skip to content
Back to Projects

Multibody and Nonlinear Dynamics

December 1, 2025Completedacademic
dynamics matlab control-systems lagrangian-mechanics simulation

Overview

In the MSc course Multibody and Nonlinear Dynamics (4DM10, Q2 2025) at TU Eindhoven, I worked on two substantial modeling and simulation assignments that pushed the boundaries of analytical mechanics and numerical simulation.

Report 1 — Floating Telescopic Crane
Download
Report 2 — Oscillating Mass on Rolling Ring
Download

Assignment 1: Floating Telescopic Crane

Problem

Model a floating telescopic crane as a constrained multibody system with three rigid bodies:

  • Body 1 (Boat): Constrained to vertical motion and rotation (2 DOF)
  • Body 2 (Rotary Arm): Connected via a revolute joint (1 DOF)
  • Body 3 (Telescopic Rod): Connected via a prismatic joint (1 DOF)

Total system: 4 degrees of freedom, 9 generalized coordinates, 5 holonomic scleronomic constraints.

Approach

Starting from the coordinate vector q=[x1,y1,θ1,x2,y2,θ2,x3,y3,θ3]T\underline{q} = [x_1, y_1, \theta_1, x_2, y_2, \theta_2, x_3, y_3, \theta_3]^T, I derived:

  1. Constraint equations — Revolute and prismatic joint constraints relating dependent coordinates
  2. Kinetic energy — Including coupling terms from the point mass load at the rod tip
  3. Potential energy — Gravitational + elastic (buoyancy spring, wave disturbance)
  4. Equations of motion — Via the Lagrange multiplier method, yielding a DAE system

Simulation

The system was simulated in MATLAB using ode15s (stiff DAE solver) with Baumgarte stabilization to prevent constraint drift. Post-simulation analysis included:

  • Trajectory visualization of all bodies
  • Frequency Response Functions — computed from linearized equations around static equilibrium
  • Inverse dynamics — reconstructing wave disturbance forces from measured crane motion

Assignment 2: Oscillating Mass on a Rolling Ring

Problem

A point mass oscillates along the rim of a ring that rolls without slipping on a flat surface, connected by a spring. The system has nonlinear coupling between the rolling motion and the mass oscillation.

Energy-Based Control

The most interesting aspect of this assignment was implementing Hamiltonian energy tracking control. Rather than linearizing the system and applying classical control, we exploited the system's energy structure:

H(q,q˙)=T(q,q˙)+V(q)H(\underline{q}, \dot{\underline{q}}) = T(\underline{q}, \dot{\underline{q}}) + V(\underline{q})

The controller was designed to track a desired energy level, using the natural energy flow of the system to achieve stable oscillation patterns. This approach is particularly powerful for nonlinear systems where linearization would lose essential dynamics.

Simulation Results

The MATLAB simulations produced rich visualizations of:

  • Phase portraits showing the nonlinear coupling
  • Energy evolution under the Hamiltonian controller
  • Comparison between uncontrolled and controlled dynamics

What I Learned

These assignments solidified my understanding of analytical mechanics at a graduate level. Deriving equations of motion from energy principles (rather than free-body diagrams) is elegant but demanding — every sign error propagates through the entire derivation. The energy-based control approach in Assignment 2 was a revelation: sometimes the most powerful control strategy is to work with the system's natural dynamics rather than fighting them.

Technologies Used

MATLAB (ode15s, symbolic toolbox), Lagrangian mechanics, Baumgarte stabilization, Hamiltonian control, frequency response analysis