An angular velocity of a rigid body is governed by
Ω˙=Jb−1(S(JbΩ)Ω+τa),
where Ω, Jb, and τa denote an angular velocity, body inertia, and action torque, and S(⋅) is a skew-symmetric matrix such that S(x)y=x×y(x,y∈R3) holds.
Let τ be the sum of a control input τc and disturbance τd, i.e.,
Ω˙=Jb−1(S(JbΩ)Ω+τc+τd).
A disturbance observer estimates τd and enable us suppress that effect.
To construct the observer, let us introduce extended-state-space representation
and v denotes a process noise that includes perturbation and the derivative of τd.
The observable matrix of this extended system is full rank and the observer is able to be constructed:
Ma∴=[0J−1I0]rank(Ma)=6,
Since Jb is known parameter and Ω is measurable, S(JbΩ)Ω can be regarded as an input to the extended system.
Following to the Gopinath's method, the minimal-order state observer is obtained as
τ^dQ=−Q(u^−sJ^bΩ)≡(sI+ωg)−1ωg,
where Q and ωg≡diag{ωg,i}(i=1,2,3) represent the observer gain and relating parameters that specify the cutoff frequencies of disturbance observation.
An observation error converges to 0 when the derivative of τd is 0, namely, the observer correctly estimates step disturbance and estimates other disturbance with the variation of a gain and phase.
Construct an acceleration controller
The acceleration control is established using τ^d.
Let τc be composed of a reference input τref and τ^d as
τc=τref−τ^d.
With this rule, the governing equations are expressed as
Within the bandwidth of ωgm=min(ωg,i), H≈I and T≈0 hold and hence the acceleration control is achieved.
Attitude controller
An acceleration controller using a disturbance observer enables to control angular acceleration.
Therefore, a controller design is boil down to calculate a proper acceleration reference.
To control an attitude, a feedforward controller and feedback controller that work as
is adopted, where Φ=[ϕθψ]T and K denote a state that includes the roll, pitch, and yaw angles of a rigid body and command smoother.
The smoother K should have a relative order of 2 to make the controller be proper.
Assuming that τe is quite small enough to be ignored, a relation between Φcmd and Φ is expressed as
Since a tracking error cannot be removed due to uncertainty and disturbance, Kp and Kd should get the form of a diagonal matrix to decouple the dynamics on each axis.
Let us use the generalized form of a gain set that determines the natural frequency and attenuation rate of the closed-loop system:
KpKd=diag(ωn,i2)=diag(2ζiωn,i),
where ωn,i and ζi (i=1,2,3) denote the nominal natural frequency and attenuation rate of the controllers on each axis.
In an ideal condition, model fluctuation is small and there is no delay in both thrust control and state observation, the open-loop transfer functions of each axis Li (i=1,2,3) are expressed as
Li=s−2(2ζiωn,is+ωn,i2).
Here, the gain crossover frequencies and the phase margins of each axis ωg,i,pi (i=1,2,3) are expected to be
A phase margin gets almost 76.35 deg for ζ=1.0 and 65.53 deg for ζ=0.707.
The total phase lag of thrust control and state observation around a frequency band of ωg is permissible in the range shown above.