My Portfolio

Nonlinear Control of an Inverted Pendulum by Partial Feedback Linearization

within the course of Nonlinear Control, I was intended to simulate the result of this paper, “Velocity and Position Control of a Wheeled Inverted Pendulum by Partial Feedback Linearization”, via MATLAB. Considering the inverted pendulum is an underactuated system, it is demanding to control such a nonlinear underactuated system, because there are less controllabe states than total states of the system.

inverted pendulum model

As we know that Feedback Linearization is a technique for transforming the main system to a simpler form, in this case, first we derive the dynamic equations of the system, next we partially feedback linearize the system, Finally apply the controller.

Dynamic Model

Eliminate Lagrange multipliers \(\lambda\) with \(S^T\):

Then the input-affine form of equations:

And the new feedback law is:

Now let’s feedback linearize the system. Considering, it has maximum relative degree, the change of coordinates is given by:

Finally the equations of the system become:

Design and Implementation of Controllers

Velocity Controller

In order to control desired parameters of the system, we need two controllers; a lower level controller with fast dynamics to track \(\theta_d\) and \(\alpha_r\), and a higher level controller with slow dynamics to make sure \(\lambda_r \in A_s\):

Simulation of equation (11):

f_ss

Now the outputs for step and stop commands:

stop command

step command

Position and Stabilization Control

Here we want to design a controller to stabilize the robot in a desired coordination against the world frame. For this, it is better to deploy polar coordination for for configuration space of the robot:

The simulation:

f_ss_theta_dot

Same as befor we need two types of controller, higher level and lower level controllers, for higher level controller, we consider the following potential function:

We propose the following control signal:

Finally, by substituting \(\alpha_r\) in the following equation, stability would be satisfied.

And the lower level controller is:

References

[1] Velocity and Position Control of a Wheeled Inverted Pendulum by Partial Feedback Linearization

To get more details, please refer to the papaer and keep in touch with me. :)