I became interested in control systems during my undergraduate curriculum. After reading Bart Kosko's book, Fuzzy Thinking, I decided, if I ever went back to school, I wanted to study expert systems applications to control. The rest is (recent) history.
My first semester here, as a project for the graduate controls course, I helped design a fuzzy logic controller for a barrel balancer. A copper barrel is free to roll on a 25 mm long bar. The bar pivots about its center, driven by a DC motor. A continuous piece of fishing line attached to each side of the bar is wrapped around the motor's shaft. A potentiometer in the bar gives feedback of the barrel's position, and a tachometer on the motor gives its speed. A picture of the setup is shown in below.

Controller Results
A linear quadratic regulator (LQR) had been implemented on the system before, and worked very well. However, it could only operate within +/- 5 cm of the center. Starting beyond that caused such a large initial control effort it usually catapulted the barrel of the beam.
The fuzzy controller was designed to extend this range. Barrel position, beam angle (derived from motor speed), and rate of change of the beam angle were inputs to the fuzzy inference system. Its output was motor voltage. The results are shown in the next figure.
The figure shows the fuzzy controller greatly increased the controllable range of the system. The fuzzy controller resulted in a small steady-state error, but the barrel did not oscillate around the center as it did with the LQR.
The figure below shows the output response to a unit-step input from a neural network designed to emulate a standard, second-order plant of the form
,where wn= 264.4 rad/sec andz= 0.31. The network consisted of 2 layers and an input layer. The training inputs to the network were the desired input, the previous plant output, and the derivative of the plant output. The hidden layer contained 5 neurons and the output layer contained 1 neuron. All neurons were linear.
The emulator output in the figure is multiplied by 1.1 to offset it from the plant's response. The average of the absolute error between the two was 0.001. The emulator also matched the plant output for a sine wave and for a random input.
My thesis topic was to design a fuzzy logic controller for a hand orthosis to restore fingertip pinch, key pinch, and cylindrical grasp in individuals with reduced hand functions. The finger and thumb were modeled as a 3 link kinematic chain with springs and dampers containing 4 rotational degrees-of-freedom. Since fuzzy logic is non-model based, the finger was simulated in Working Model 2D. Matlab was used to design the controllers. The two programs communicate through DDE.
Animated Gifs
The figures show an animation of the finger's movement when a load is applied through a pulley system attached to the tip of the finger to perform a tip pinch and a cylindrical grasp. The finger is not anatomically correct, but only representative of actual finger bones.
To improve download time,
the figures
do not loop. If you want to see it again you can reload the page
or, if you are using a PC, hit the right mouse button while your cursor
is on the image and select "view image". This should rerun the
animation.