A non-transitory computer readable medium having instructions stored therein that, when executed by one or more processors of a compensator, cause the one or more processors to perform a method of determining controller tuning parameters for a system of decoupled plant controllers each connected to a plant, comprising:
- sampling, by an adder, As, connected to the system of decoupled plant controllers, a set point signals, SPi, from each plant and a set of plant outputs, POi, for each i=1 to N;
- performing a Fourier transform of the set point signals, SPi, which transforms the set point signals, SPi, to a frequency domain;
- receiving, at a compensator interface, a frequency domain assessment function, Q(ω), Λ), where Q(ω, Λ) is a subset of an admissible region, Ψ, in the frequency domain;
- generating a tuning parameter space vector, Λ, given by Λ=[1 2 . . . L]T, where i represents an ith tuning parameter and T represents a transpose, based on the frequency domain assessment function, Q(ω, Λ), where Q(ω, Λ);
- obtaining the L tuning parameters from the tuning parameter space vector, Λ,
- transmitting, by a transmitter connected to the compensator, the frequency domain assessment function, Q(ω, Λ) and the L tuning parameters to each controller of the system of decoupled plant controllers;
- and
- wherein each controller of the system of decoupled plant controllers is configured for:
- receiving the frequency domain assessment function, Q(ω, Λ) and the L tuning parameters;
- modifying a feedback error signal based on the tuning parameter space vector, Λ;
- generating drive signals based on the frequency domain assessment function, Q(ω, Λ) and the L tuning parameters for
- transmitting the drive signals to a plant connected in series with the controller;
- actuating, with the drive signals, a motor located within the plant;
- operating, by the motor, a load;
- generating the plant output, POi;
- determining a virtual action, F, which populates a virtual region, Γ, in a complex plane, C, of the frequency domain having a set of points, P, where the virtual region Γ=(C-Ψ), wherein the virtual action, F, maps each point, P, in the complex plane to a force, F(P), such that C→R2, where F(P)=[Fr(P) FI(P)]T, where R2 is a two-dimensional real number plane, and Fr and FI are real and imaginary components of F, respectively, wherein the force, F(P), is configured to drive any point, P, in the virtual region, Γ, to a point in the admissible region, Ψ, and where the virtual action, F, is zero in the admissible region, ;
- generating, by the compensator, a sampling frequency vector, Ω, where Ω=[ω1, ω2, ωN]T;
- apply, by the compensator, the sampling frequency vector, Ω, to the force, F(P);
- generating, by the compensator, a force vector, F(Ω);
- determining that the compensator is in compliance with a set of constraints when |F(Ω) =0;
- determining that the compensator is not in compliance with the set of constraints when |F(Ω)|>0;
- when the compensator is in compliance with the set of constraints, generating an L-dimensional state space, Λ(), having coordinates equal to each coordinate of the tuning parameter space vector, Λ;
- generating an L-dimensional image subspace, (Λ), based on the L-dimensional state space, Λ();
- constructing, by the compensator, an extended Jacobian matrix, JΩ(Ω), at each sampling frequency;
- constructing, by the compensator, a complete orthonormal set of vectors tangent to (Λ) from each column of the extended Jacobian matrix, JΩ(Ω);
- projecting, by the compensator, the force vector, F(Ω), on Λ, such that Λ=IΩT(Ω) FΩ(Ω);
- calculating {dot over (Λ)}=JΩT(Q(Ω,Λ)))FΩ(Q(Ω,Λ) for Λ(0)=Λ0, wherein {dot over (Λ)} is a change in the tuning parameter space vector, Λ;
- and
- integrating {dot over (Λ)} to obtain the tuning parameter space vector, Λ.