7: Control Systems

Command Purpose
abort_autotune Use abort_autotune if the autotuning process seems to be taking too long. Note that the length of time to autotune is dependent on the period of oscillation of the system.

This task initiates tuning of a specified PID loop using the Ziegler-Nichols method (closed loop version – with relay caused oscillations). Note that the length of time to autotune is dependent on the period of oscillation of the system.

calc_gains Compute control loop gains after auto-tuning. The completion of the autotune processes produces 3 outputs listed below. The calc_gains utility takes these 3 input values and produces recommended P,I, and D gains that can be inserted into the ctrl_specs file.
chirp Generate swept-frequency cosine signal
cmd_map_gen Generate control command map

This process is normally started from the ‘go.scp’ startup script and is usually run as a critical task which will cause a watchdog shutdown if it fails. It should be launched after the ‘ctrl_task’.

ctrl_cfg_dsply The ctrl_cfg_dsply task displays the new_state, action, subcode, index, and label information about the control configuration event when an event occurs.
ctrl_disp Display controller values
ctrl_params Utility for setting gains for control loops using parameters specified in a datafile.
ctrl_specs Specify control task configuration
ctrl_specs_new Specify user loop configuration via keywords
ctrl_task This task provides PID control algorithms for engine control and user control loops.
disp_dygains To display dyno controller gains.
eng_ctrl_specs Specify the engine control task configuration
eng_ctrl_task This task provides PID control algorithms for engine throttle and dyno(s). It will normally be spawned by the eng_ctrl_specs task but can also be started manually. It does not become active until configuration is completed successfully.
filter_k The filter_k program allows a user to enter an AI or FI channel name along with the filter_coefficient, frequency cutoff or a time constant. If no value is entered after the channel name, then the current settings will be displayed.
gen_load Sets DO bits that control relays in a load bank.
other Set target for ‘other’ chan
prbs Generate pseudo random binary sequence
prop To perform torque control to simulate a propeller.
pwm_ctrl PWM control task for the dilution flow actuator.
pwm_specs Specify a specification file for use by the pwm_ctrl task.
reset_dyno_int Set dyno controller integral term to 0.0
reset_int_term To zero out the integral term of a PID controller (i.e., to be able to start from the same zero initial conditions).
reset_throt_int Set throttle controller integral term to 0.0
set_dndt_k Set filter coefficient for engine acceleration (dN/dt) measurement
set_eng_mode Set engine control mode
set_lwr_bnd Set controller lower bound
set_upr_bnd Set controller upper bound
sp Set Speed target
th Set throttle in open loop
th_ff Switch throttle feed forward ON/OFF
th_gains Set throttle gains
th_ramp Set Throttle Ramp
to Set Torque target
torq_conv Specify torque converter characteristics.
torq_sched Specify a torque schedule as a function of speed
update_eng_specs Modify a designated spec file with either new throttle or dyno controller gains.
update_user_specs Update the user control specification file with new values that are presently in user variables.
user_ctrl_specs Specify user control task configuration
user_ctrl_task This task provides PID control algorithms for user control loops. It will normally be spawned by the user_ctrl_specs task.
u_ctrl This program will change specification settings for a user_control task.
u_ff Switch user loop feed forward ON/OFF
u_gains User Control Loop Gains
u_mode User Control Loop Mode
u_ramp User Control Loop Ramp
u_target User Control Loop Target
u_toler User Control Loop Tolerance
v4_ctrl Slave Froude V4 controller to CyFlex