Skip to content

In this project a controller for an inverse pendulum in the unstable standing position is designed. Flatness-based feedforward control allows the pendulum to be laterally displaced for arbitrary carriage positions. The control concepts are checked and validated in Simulink.

Notifications You must be signed in to change notification settings

KlausHerburger/InversePendulumController

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

InversePendulumController

In this project a controller for an inverse pendulum in the unstable standing position is designed. Flatness-based feedforward control allows the pendulum to be laterally displaced for arbitrary carriage positions. The control concepts are checked and validated in Simulink.

ezgif com-gif-maker (2)

Concept

In the first step, the mathematical model of the pendulum system was derived and linearized for the subsequent controller design. A velocity controller was designed for the carriage without pendulum attachment, which could be implemented sufficiently fast and robust using a PI controller with anti-windup. This was followed by the design of a controller to stabilize the inverse pendulum at the upper rest position. For this purpose, an optimal Ricatti controller was calculated, which minimizes a quality measure adapted to the state model. The states are thereby estimated by a Luenberger observer. Subsequently, the stabilizing controller was extended by a flatness-based feedforward control, which allows lateral displacement of the pendulum for arbitrary carriage positions in a given time. For this purpose, a polynomial approach was used to generate the desired trajectory for lateral displacement and, using a previously defined flat output, to compute the resulting state trajectories and setpoint trajectories. In the two-degree-of-freedom controller structure, the setpoint trajectories are used for feedforward control and provide good guidance behavior. The calculated state trajectories are fed into the Ricatti controller together with the observed states so that additional disturbances can be suppressed.

Results

Carriage position and pendulum angle for the carriage starting position , the carriage desired final position and the transition time .

Without disruptions:

values

With disruptions:

values3

About

In this project a controller for an inverse pendulum in the unstable standing position is designed. Flatness-based feedforward control allows the pendulum to be laterally displaced for arbitrary carriage positions. The control concepts are checked and validated in Simulink.

Topics

Resources

Stars

Watchers

Forks

Languages