Sticky Notes

This blog is officially closed. Do check out the new blog at http://www.utmrobocon.com

Thursday, January 27, 2011

A Word on Controllers

Introduction
We are living in a world of dynamics. What ever physical parameters in this world keeps changing dynamically. What is important is these parameters cannot change instantaneously. For example, John is in London right now and for the next second, he cannot appear in Paris. There have to be a way for him to travel from London and reach Paris.


He may use a plane, or he can swim and walk there, or he can use a bus, or even teleport using some sophisticated technology (if there is one). One important thing is John cannot suddenly appear in Paris. This is the reason we need controllers. So does robotics.

"Control engineering is often called a hidden technology" (Christian Schmid, 2005). I really do agree on this. Control engineering is not like mechanical or electrical or chemical or civil. Those is where the result and product is apparent. For control, the result is not apparent.

People might say human can send people to the moon because of mechanical engineering, or aerospace engineering, or electronics engineering, but they will not say it is because of control engineering. It is not apparent enough. But believe me, control do plays an important role is our daily life.

Examples
Feedback System by K.J. Astrom really provides good examples of control system in life. It ranges from electrical to mechanical, sociology to ecosystem, internet to human. Even control of HIV and AIDS can be related to control system engineering.


In robotics, control is very important to have a desired movement for our manipulator or navigation of wheeled robot. There are few types of controller discussed here namely, Bang bang Control, PID Control, Modern Control, and Intelligent Control.

Bang Bang Controller
This controller is the simplest type of controller. It is easy to implement in a microcontroller using a IF-THEN-ELSE-THEN pseudo-code. For example if we wanted to control a position of a robot, we could read a counter from a rotary encoder and set the motor speed.
___________________________________________
while(1){
    if(counter > DESIRED_POSITION){
        motor_speed = 1000;
    } else {
        motor_speed = 0;
    }
}
___________________________________________
Example of position control using bang bang

Although bang-bang controller is simple, but the response is not really desirable. For example the position control, the robot will just oscillate rigorously in the desired_position.

Good implementation of a bang-bang controller is a line following robot.



PID Controller 
This type of controller is also known as a frequency domain controller. If you have taken Control System Engineering in any institute, PID controller is actually placing two poles and one zero.


In other way to put it, PID is a three term controller. The proportional, integral and derivative of error. Integral contributeto one pole and derivative contribute to another pole and another zero.

Of course it is not hard to find the way to implement PID controller and almost 90% of industrial controller is a PID controller.

Modern Controller

For frequency domain controller, only linear actuators can be used. Take for example, if a 5 volts are input to a motor, the speed is 50 rpm, 10 volts, 100 rpm. But it is not necessary if we input 100 volts, the motor will run at 1000 rpm. The relationship is not linear. Again, another example, if we input 5 volts, 50 rpm, 1 volts 10 rpm, not necessary if we input 0.1 volts, it will be 1 rpm. The motor will not move at all at this low a voltage.

Frequency domain analysis cannot take this non-linearity into account. Only time domain analysis can. Therefore, a modern control of state-space representation is needed for analysis.

Another advantage of modern control is the ability to use intelligent control. Most of modern controller analysis uses modern control.

Intelligent Control
This controller deals with artificial human reasoning. When human reasons, they need to have certain kind of inputs and they produce the decision. For example driving a car.



If there is a car in front of me, then I should slow down. Note that this is not similar to a bang bang controller. An example of intelligent control is fuzzy logic.

Conclusion
If we want to have a desirable movement for our robot, we cannot escape from using a controller.

All photo credit goes to respective owner via the link at the photo itself.

No comments:

Related Posts Plugin for WordPress, Blogger...