cBook‎ > ‎

Adaptive Control of Manipulators

-- Adaptive Manipulator Controllers

posted Mar 16, 2011, 10:05 AM by Javad Taghia   [ updated Apr 24, 2011, 12:32 AM ]

This article is based on books: Crage, D.P Stoten,...

Adaptive Manipulator Control Introduction

As we discussed briefly in the introduction. Adaptive control is commonly used in robotics. There are some important reasons for using adaptive controllers. 
  • Non-linear dynamics: Dynamic behavior of manipulators has different nonlinear terms. These terms are due to the centrifugal, Coriolis and gravity forces. 
  • Dynamic coupling between links: Due to Newtons's Third law.
  • Parameter variation: Aging, wearing and other changes in the mechanical devices are important factors in internal parameter variation.
  • High-frequency dynamics: We design controller based on the assumption of rigid body. Actually we do not model high-frequency dynamics in robot. So, the effects of unmodelled parameters we have uncertainty in our dynamic model.
  • External noise: There are different noises which affect our dynamic model; they reduce the performance of control. The sources can be backlash in motor gears and readout errors. Some other noises.
Hence, we should cope with these problems. There are different approaches. The conventional approach which is based on accurate modeling is computed torque strategy. I discuss this strategy in detail later. The main disadvantage of computed torque strategy is accurate modelling and non-adaptable to time-varying parameters. So, aging is considerable destructive factor in this strategy. 
Another approach, which is a good alternative for manipulator control specially in high change in dynamics and disturbance is STR (self-tuning regulators). This approach as introduced in the introduction note is costly in computation. The main assumption of this method is a linear estimated system resulted from system identification. Then using minimum variance controller or pole-placement is applied. This approach will be also discussed later. 
The third one which is respectable in sense of low computational effort and adaptable behavior is MRAC. There are some key advantages for this method as are listed below.
  • The effects of modelling and parameter disturbance errors can be neglected.
  • The amount of computation required is small.
  • No on-line system identification is required.

Motion Equation and Modeling

We start with a simple example. An inverted pendulum. 
At first it is good to know the Euler–Lagrange equation. 

Basic method

To find the equations of motions for a given system, one only has to follow these steps:

  • From the kinetic energy T, and the potential energy V, compute the Lagrangian L = T  V.
  • Compute \frac{\partial L}{\partial q}.
  • Compute \frac{\partial L}{\partial \dot{q}} and from it, \frac{d}{dt}\frac{\partial L}{\partial \dot{q}}. It is important that \dot{q} be treated as a complete variable in its own right, and not as a derivative.
  • Equate \frac{\partial L}{\partial q} = \frac{d}{dt}\frac{\partial L}{\partial \dot{q}}. This is the Euler–Lagrange equation.
We can rewrite this equation in presence or absence of any external force as below. 

Solve the differential equation obtained in the preceding step. At this point,
 \dot{q} is treated "normally". Note that the above might be a system of equations and not simply one equation.
By using this formula we are able to calculate equation of motion. 
What is use of equation of motion? 
Actually, if you look in to one moving body. There are two types of movements. One is linear movement another is rotational movement. Newton law is famous for linear movement. We know F=M.A; this is a famous formula. It means if we apply force to a mass then we have acceleration. What about rotation? based on Euler equation we have a similar case. T=J.angular acceleration. So, if we want to rotate an object we need torque. There is relation between Angle and moment of inertia and applied torque. Very similar to Newton linear movement. 
In equation of motion, we try to find this relations combined for an object. 
Consider a simple case, when you have a cart and you are going to control the position of the cart on a line. You have to know the relation between cart movement and applied force and total forces from gravity friction or other kinds of forces. So If you are going to control the acceleration of the cart. you have to calculate F=M.A, then you are able to calculate force which is needed to produce the wanted amount of acceleration. Now, if we have some uncertainties in our system. For example the friction coefficient is not constant and known. So we have one unknown force which can change or assumption about applied force. We need a loop to do control over changes. We monitor the acceleration continuously to ensure there is not any deviation from the desired acceleration. So we used P.I.D and so no and so for. 
As a result we need the equation of motion to do the same. If we know, the relationship between total force consists of every known forces we are able to produce appropriate amount for reaching to desired angle or angular velocity as well. 
In rotary control, which equation of motion is also is considered a more general case of it. The angular acceleration is not important. Angle and Angular velocity is important in most of the cases. So we want to know how much torque is required to reach to desired values. 
The problem is, there are so many unknown or not easy to calculate parameters in equation of motion for sophisticated robots. In introduction I listed the most important ones such as coupling, aging, noise, etc. So, the equation of motion for independently for a link is possible but when we have interactions between links it is not an easy job. So, uncertainties are beyond of our considerations in classical control. As a simple result a simple PID controller is not able to control a sophisticated robot by just a decoupled simplified model and its equation of motion. 

Here, I represent how to derive equation of motion for a simple dynamics before going through our main topic which is designing a good controller to cope problems and cover weaknesses of our poor modeling as different approaches of adaptive control.


I will continue this discussion with more examples. We want to reach to a point that can derive equation of motion for simple cases. It is really helpful because we can understand how to control them. These two examples are good explained on wiki page. One is about one inverted fixed pendulum another is about an inverted pendulum on a cart. 


If we do the calculation for simple manipulators as has been down in http://www.informaworld.com/smpp/content~db=all?content=10.1080/00207178908953496
Dynamical equations for the major degrees-of-freedom of a general class of manipulator are presented. 

The hard effort is needed to calculate and linearize models to perform control on. 

We continue with the approach of MRAC for robot arm control.

Model Reference Adaptive Control for Manipulators

In this section we use one simple manipulator as an example and perform MRAC on this model. 

-- Introduction to Adaptive Control

posted Mar 16, 2011, 7:35 AM by Javad Taghia   [ updated Apr 24, 2011, 12:33 AM ]

Adaptive Control is one approach which is taken for controlling systems when we are not able to use conventional P.I.D Controllers. The problem is a kind of complexity in our plant. For example there are some unexpected disturbances in our plant or the change in plant's parameters in some systems; specially systems which are changing during the time. For example if the wearing is considerable in a system or the dynamic of the system varies during time because of change in mass or other properties of the plant. So, the assumption of Linear time invariant system is not always acceptable. We have to adapt the controller to overcome the problems and perform control in range of tolerance. There are different applications for adaptive control from aviation to robotics.

There are different methods for design such controllers.
  • High gain robust controller.
  • Self-oscillating adaptive systems.
  • Variable structure adaptive controller
  • Gain scheduling
  • Auto-tuning
  • Model-reference adaptive controller
  • Self-tuning regulators
There are two important categories for adaptive controllers which are more common. The first one is MRAC (Model-reference adaptive controller) and the other one is Self-tuning regulators. 
Each one has advantages. The most important advantage of MRAC controllers is less on-line computational effort comparing to Self-tuning regulators.
In self-tuning regulators we are able to use system identification in order to update the transfer function of our plant on-line. this is an advantage because we are able to cope with unexpected situations and also we are able to perform more robust control. Calculation cost is considerable because the parameters are under monitor continuously. 

In the following picture you can see a MRAC in general form. 

As it is clear, we have one Model we calculate the ym  is the output from the model. We compare this output with the real plant output. by use of some methods such as MIT rule or other approaches we try to calculate new parameters for  regulator. So, we are able to tolerate changes in the plant by adjustment mechanism. 

On the other hand we have self-tuning controller (STR). 
As you can see in STR, we have the outer loop which is monitor the change in the plant to change design characteristics for regulator parameters. If we ignore the estimation block the STR controller is not adoptable to plant changes. Minimum variance controllers by using system identification method recursive least square (RLS) are common approach as an adoptable minimum variance controller, a good candidate fro STR. 

-Pictures are from lecture notes Dr. Olena Kuzmicheva Bremen university Germany. 

1-2 of 2