Current Problems and Recommendations

Compilation Problem

The current "Makefile" "/ralph/local/sources/transputer/control/Makefile" will return the error message

"Must be a separator on line 94. Stop."

In addition, that "Makefile" also seems to contain control characters not recognized by emacs. In this project, another home-made "Makefile" has been built and posted up as an example in this document. However, this new "Makefile" is not generic and does not put the (*.tco, *.lku, ...) files in a structured way and needs to be improved.

Static friction problem

As mentioned in the Current Performance section, the difference in the effect of the static friction (stiction), and the dynamic friction makes the system much harder to control. The control system that we had performance problems with, used a proportional and derivative gain algorithm. We tried several schemes to get better performance out of this controller.

A model of the nonlinearity by means of an arctangent multiplier already existed in the code that we inherited and we tried several trials with this compensation. We found that we got better tracking of small inputs signals but that the overall comparison of the desired signal to the actual position was worse under this method.

Another tested scheme, was to add a high frequency, very low amplitude signal on top of the input signal. The idea behind this trial was to see if the small signal would allow the immobile actuator to exhibit more freedom of motion. When the control signal was fairly large (around 3V), the small amplitude sine wave would have an effect on the actuator position. Again, we were noticing the big difference between the amplitudes necessary to keep the actuator under motion, and those necessary to start it. We tried to make the amplitude of the small signal much smaller to avoid this unwanted motion, but found that we were no longer seeing any difference between the behaviour of the original system and this modified one.

From the actuator behaviour that we observed, the suggestion we feel will have the most impact on the system performance will be to better compensate for the nonlinearity. The arctangent multiplier compensation is a step in the right direction, but it fails to account for the difference between the static and dynamic cases. Under this scheme, if the control signal is small it is multiplied by a bigger factor than if it is big, but no distinction is made between a moving or stalled actuator. From our experimentation, we found that the minimum voltage needed to keep the actuator moving is approximately 0.1 - 0.5 V. On the contrary, the minimum voltage to start moving the idle actuator is approximately 1.2 - 1.6 V. Although these values fluctuated quite a lot from experiment to experiment, we found that the difference between their magnitudes was consistent.

To better control this system, the next nonlinearity compensator will have to model these differences. One way to discriminate between the static and dynamic cases is to look at the change in the actual position between samples ( a measure of velocity ). Note that the derivative gain does not represent the velocity of the actuator; it represents the change in the error signal at two points in time.

A possible controller could be a Quasi Fuzzy Logic/PD Control. The Fuzzy Logic would be used to describe what to do when control inputs fall into the highly nonlinear range after the PD control has determined what the linear response should be. A method that could be employed to model the nonlinearity is to compare the control signal to the velocity (calculated over the previous sample). If, for example, the current control signal is greater than a certain minimum threshold (noise level), and the actuator is stopped, then the control signal could be reset to a minimum voltage needed to put the actuator in motion. If the signal is greater than the threshold and the actuator is moving, a check could be done to see if it is big enough to maintain the motion of the actuator. If ..., a complete ennumeration of static and dynamic cases of interest could be defined in this way, to define the behaviour the actuator should have to move to the desired input.

There are obviously many different control algorithms that can work to make the system performance better. It is important to be aware of the power of the digital control. I don't think that I can emphasize the value of such a controller, for this kind of system, strongly enough. The nonlinearity compensation would be much more difficult, if not impossible, with any other control (mechanical, analog, etc.). With the digital controller, changes can be made quickly with little effort and time. Before choosing specific algorithms to implement the controller, the user should carefully think about how the controller resource can best be used to meet system requirements.

Something to keep in mind is that research has shown Fuzzy Logic controllers to have higher performance than conventional PID controllers for many applications: their response is often smoother than that of the PID controllers. However, a drawback with Fuzzy Logic controllers is the amount of time required to tune them. This problem can be overcome by using neural networks so that the systems can train themselves.

The required system performance will also have a big impact on the choice of the next controller, and has to be clearly defined. Other than the time response, we have to determine the type of signals which are the most important for the Knee experimentation as well as the range of actuator movement desired for each signal. The different signals and their corresponding amplitude ranges, must be rated in terms of importance, so that optimum performance can be achieved for the most crucial input/amplitude selection. There are often tradeoffs between the performance of the system for the different input/amplitude selection. For example, an optimum controller for the random signal noise input with very low amplitude could be very different from the same for a sequence of pulse inputs with high amplitude (If a PD algorithm was used in such a case, the proportional and derivative gains would need to be different to best track each signal). With the flexibility of the digital controller, it would also be possible to have a control program which performs different control code depending upon the type (and amplitude) of the signal that is sent to the controller.

Previous page
Index


Last modified: Sat Dec 9 21:42:11 EST 1995
By: Philip Guindi and Thang Pham H.