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

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

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 .
• Compute and from it, . It is important that be treated as a complete variable in its own right, and not as a derivative.
• Equate . 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, 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.

#### pendulum_example

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.

#### inverted_pendulum_example.doc

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.