. : A C D - E X A M P L E : .
ACD Example - Cruise Control
Info: Please click on the pictures to enlarge them.
We have identified a transfer function system for our car model in IDCON Classic Tools Example. Lets now design a cruise controller for that vehicle by using the ACD, Automatic Controller Design Tools. The desired output of the cruise controller, is to keep the vehicle at a constant speed, which has been determined by the driver. So in this example we are wanting to keep the change in vehicle speed, from the "set" speed, to zero, even when the "Gas Pedal" is depressed, or when road conditions change. (Here we will look at varying the "Gas Pedal" only).
1. Start ACD
The Automatic Controller Design Tools, (ACD), can be be accessed through a very easy to use LabVIEW GUI called, ACD_LV-vi. Also the tight integration with the IDCON Classic Tools, allows either product to be launched from the respective GUIs, as shown in the IDCON Classic example.
This is the top part of the ACD Main Menu:
Straight away you notice the similarity of the GUI design with that of IDCON. The first part of the overall menu shows the plant behavior, which constitutes the open-loop system to be controlled.
2. Define Controller Parameters
Once the ACD is running, we need to define the type of controller we would like to design, and some parameters required for the design process. The parameters are shown:
We have decided a PIDT1 Type 1 controller will be used in the cruise controller. The PIDT1 Type 1 controller has the following form:
The ACD will determine the coefficients VC, TI, TL, and T1. The other parameters on this menu include the definition of desired closed-loop speed and damping. ACD will find a controller that meets these limits. A time horizon can also be specified to indicate a settling / steady state time limit.
The next item you need to define is the goal of the controller as well as the tolerance you will allow on the controller's response. This is easily done graphically, through the use of the "Goal & Tolerance Definition Window" together with the parameters right next to the curve window.
For this example, the change in velocity is wanted to be kept to zero, with tolerances that allow up to 3 MPH over / under shoot at zero seconds (Distance parameter is set to 3 in this case), that drops off exponentially to 0.1 MPH after 8 seconds. The controller will now be designed based on this Goal and tolerance curves.
To start the controller optimization process, we press the "Optimize" pushbutton. The controller may take a number of revisions to fit within the tolerance we have specified. By pressing the "Optimize" pushbutton again, the controller parameters would be optimized to get closer to the desired result. At any stage of the controller optimization, we can modify the parameters mentioned above.
After two to five iterations. I am happy with this response of the controller, so I press the "Results" pushbuttonstop and I get desired controller parameters. If I am interested in the controller coefficients in a transfer function representation I get them by just clicking inside the Fc(s) block:
We can also look at the closed-loop Step responses, if we desire.
The final part of this example is to then apply the new controller design in the MATRIXx/SystemBuild car model with noise model we developed initially for the IDCON Classic Tools Example.
As you can see from the output, even with all the noisy data, the controller is stable and keeps the car velocity at a constant speed with in tolerance.
Back to ACD Tools page.