Engee documentation
Notebook

A pendulum on a movable support: a physical component of Engee

This example shows the implementation of a mathematical pendulum, the suspension point of which can move along a horizontal axis.

This model is a natural extension of the classical pendulum and finds application in robotics tasks.

Description of the model

Consider the pendulum of mass fixed on a weightless rod with a length of . The suspension point can be moved horizontally at a variable speed. . The system is affected by:

  • Gravity ;
    is the damping force proportional to the speed of the pendulum by a factor of ;
  • The reaction of the support (rod tension).

When the support moves, an additional inertial force occurs due to the acceleration of the suspension point.

image.png

The position of the mass of the pendulum in the absolute coordinate system:

Mass velocity:

The equation of motion of a pendulum relative to the point of suspension:

where:

  • — the angle of deviation from the vertical (rad);
  • — angular velocity (rad/s);
  • — the mass of the pendulum (kg);
  • — rod length (m);
  • — damping coefficient (kg/s);
  • — acceleration of gravity (m/s2);
  • — the position of the suspension point (m).

Horizontal reaction force acting on the support:

This force is transmitted through a linear port and allows you to simulate the interaction of a pendulum with a trolley or other source of motion.

Launching the model

With the harmonic movement of the support, the pendulum demonstrates:

  1. Forced oscillations — the pendulum oscillates with the frequency of movement of the support;
  2. Resonance — when the frequency of movement of the support coincides with the natural frequency of the pendulum, the oscillation amplitude increases dramatically;
  3. Attenuation — amplitude is limited by damping;
  4. Transients — when the support movement is turned on, transient fluctuations are observed.
In [ ]:
engee.open("pendulum_on_moving_cart.engee")
data = engee.run()

angle_array = data["Отклонение маятника [град]"]
position_array = data["Перемещение тележки [м]"]

gr()
plot(
    plot( position_array.time, position_array.value, xlabel="Time, from", ylabel="Displacement, m",
      label = "Movement of the support platform (m)",
      title="The movement of a pendulum on a movable platform"),
    plot( angle_array.time, angle_array.value, c = 2, xlabel="Time, from", ylabel="Angle, degree",
      label = "The angle of deflection of the pendulum (degrees)"),
    layout=(2,1)
)
Out[0]:
No description has been provided for this image

Conclusion

The model of a pendulum on a movable support in polar coordinates takes into account the movement of the support through a linear port and allows you to simulate the movement of a system of medium complexity under the influence of different sources of motion (force, speed, signal), and the modeling approach through physical components provides high flexibility in describing complex mechanical systems.

This model can be used as a basis for modeling more complex systems, such as:

  • A pendulum on a trolley (a classic control task);
  • Seismic pendulum (oscillation sensor);
  • Suspension systems with a movable base.