Control systems are basically what they sound like: a way to control a system. The system could be any process, be it a filling water tank, altitude control for an airplane, or just about anything you can think of. There are two main ways to attack such problems, and depending on your system, you choose one or the other.
Open loop system control requires two things. The first is a reference, or the way a system is supposed to operate. The second is a way to control the systems output. Imagine a car engine that you wish to run at a constant speed, like idling. In the best circumstances, you can set the carburetor to let in so much gas, and the engine will use that gas to produce torque and therefore turn. The friction in the engine as well as other factors eventually balance the torque as the engine runs at higher speeds until the engine is producing as much internal friction and forces to counteract the torque it is producing, and the engine runs at a constant speed. If you want the engine to run faster, you crank in the idle screw on the carburetor and more gas goes into the engine, it produces more torque, and the balance occurs at a higher speed. The system looks like this:
In a closed loop system, you need one more thing, feedback. Feedback is used to compare the desired condition to the actual condition, and corrective action is taken by the system to make the difference, or error, go away.
In other words, if you want a motor to run at 1500 rpm, and the tachometer or encoder attached to it is indicating that the motor's running at 1400 rpm, the system will increase the reference to the motor to command more torque to speed the motor up. This system looks like this:
The little "E" is called the summing junction, and that's where the action happens. The feedback is subtracted from the setpoint to come up with the "error". In the picture, it's referred to as (setpoint - feedback). If the error is positive, then you need more torque. If it's negative, you need less torque. The controller then adjusts the torque command up or down until the error goes to zero. Because the feedback is sutracted, it's called "negative feedback".
This is the basic loop. Many times, there are loops within loops to control the system. For instance, a position loop may be put around a speed loop to control position.