Anonymous
×
Create a new article
Write your page title here:
We currently have 105 articles on MOR Wiki. Type your article name above or click on one of the titles below and start writing!



MOR Wiki

Difference between revisions of "Flexible Space Structures"

(Init FSS Benchmark)
 
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{preliminary}} <!-- Do not remove -->
 
 
 
[[Category:benchmark]]
 
[[Category:benchmark]]
 
[[Category:linear]]
 
[[Category:linear]]
 
[[Category:second differential order]]
 
[[Category:second differential order]]
  +
[[Category:Procedural]]
 
[[Category:SISO]]
 
[[Category:SISO]]
   
 
==Description==
 
==Description==
   
The '''flexible space structure''' benchmark<ref>W. Gawronski and T. Williams, "<span class="plainlinks">[http://doi.org/10.2541/3.20606 Model Reduction for Flexible Space Structures]</span>", Journal of Guidance 14(1): 68--76, 1991</ref> is a procedural modal model which represents structural dynamics with a selectable number actuators and sensors.
+
The '''flexible space structure''' benchmark <ref name="gawronski90"/>,<ref name="gawronski91"/>,<ref name="gawronski96"/> is a procedural modal model which represents structural dynamics with a selectable number actuators and sensors. This model is used for truss structures in space environments i.e. the COFS-1 (Control of Flexible Structures) mast flight experiment <ref name="horner86"/>,<ref name="horta86"/>.
   
==Model==
+
===Model===
   
 
In modal form the '''flexible space structure''' model for <math>K</math> modes, <math>M</math> actuators and <math>Q</math> sensors is of second order and given by:
 
In modal form the '''flexible space structure''' model for <math>K</math> modes, <math>M</math> actuators and <math>Q</math> sensors is of second order and given by:
  +
:<math>
 
\ddot{\nu}(t) &= (2 \xi \circ \omega) \circ \dot{\nu}(t) + (\omega \circ \omega) \circ \nu = Bu(t) \\
+
:<math>\ddot{\nu}(t) = (2 \xi \circ \omega) \circ \dot{\nu}(t) + (\omega \circ \omega) \circ \nu = Bu(t)</math>
  +
y(t) &= C_r\dot{\nu}(t) + C_d\nu(t)
+
:<math>y(t) = C_r\dot{\nu}(t) + C_d\nu(t)</math>
</math>
 
  +
with the parameters <math>\xi \in \mathbb{R}_{>0}^K</math> (damping ratio), <math>\omega \in \mathbb{R}_{>0}^K</math> (natural frequency) and using the Hadamard product $\circ$.
+
with the parameters <math>\xi \in \mathbb{R}_{>0}^K</math> (damping ratio), <math>\omega \in \mathbb{R}_{>0}^K</math> (natural frequency) and using the Hadamard product <math>\circ</math>.
The first order representation follows for <math>x(t) = (\dot{nu}(t), \omega_1\nu_1, \dots, \omega_K\nu_K)</math> by:
+
The first order representation follows for <math>x(t) = (\dot{\nu}(t), \omega_1\nu_1, \dots, \omega_K\nu_K)</math> by:
:<math>
 
  +
\dot{x}(t) &= Ax(t) + Bu(t) \\
 
y(t) &= Cx(t)
+
:<math>\dot{x}(t) = Ax(t) + Bu(t) </math>
  +
</math>
 
  +
:<math>y(t) = Cx(t)</math>
  +
 
with the matrices:
 
with the matrices:
  +
:<math>
 
A := \begin{pmatrix} A_1 & & \\ & \ddots & \\ & & A_K \end{pmatrix}, \\
+
:<math>A := \begin{pmatrix} A_1 & & \\ & \ddots & \\ & & A_K \end{pmatrix}, \; B := \begin{pmatrix} B_1 \\ \vdots \\ B_K \end{pmatrix}, \; C := \begin{pmatrix} C_1 & \dots & C_K \end{pmatrix}, </math>
  +
B := \begin{pmatrix} B_1 \\ \vdots \\ B_K \end{pmatrix}, \\
 
C := \begin{pmatrix} C_1 & \dots & C_K \end{pmatrix},
 
</math>
 
 
and their components:
 
and their components:
  +
:<math>
 
A_k := \begin{pmatrix} -2\xi_k\omega_k & -\omega_k \\ \omega_k & 0 \end{pmatrix}, \\
+
:<math>A_k := \begin{pmatrix} -2\xi_k\omega_k & -\omega_k \\ \omega_k & 0 \end{pmatrix}, \; B_k := \begin{pmatrix} b_k \\ 0 \end{pmatrix}, \; C_k := \begin{pmatrix} c_{rk} & \frac{c_{dk}}{\omega_k} \end{pmatrix},</math>
  +
B_k := \begin{pmatrix} b_k \\ 0 \end{pmatrix}, \\
 
C_k := \begin{pmatrix} c_{rk} & \frac{c_{dk}}{\omega_k} \end{pmatrix},
 
</math>
 
 
where <math>b_k \in \mathbb{R}^{1 \times M}</math> and <math>c_{rk}, c_{dk} \in \mathbb{R}^{Q \times 1}</math>.
 
where <math>b_k \in \mathbb{R}^{1 \times M}</math> and <math>c_{rk}, c_{dk} \in \mathbb{R}^{Q \times 1}</math>.
   
Line 41: Line 38:
   
 
For this benchmark the system matrix is block diagonal and thus chosen to be sparse.
 
For this benchmark the system matrix is block diagonal and thus chosen to be sparse.
The parameters <math>\xi</math> and math>\omega</math> are sampled from a uniform random distributions <math>\mathcal{U}_[0,\frac{1}{1000}]}^K</math> and <math>\mathcal{U}_[0,100]}^K</math> respectively.
+
The parameters <math>\xi</math> and <math>\omega</math> are sampled from a uniform random distributions <math>\mathcal{U}_{[0,\frac{1}{1000}]}^K</math> and <math>\mathcal{U}_{[0,100]}^K</math> respectively.
 
The components of the input matrix <math>b_k</math> are sampled form a uniform random distribution <math>\mathcal{U}_{[0,1]}</math>,
 
The components of the input matrix <math>b_k</math> are sampled form a uniform random distribution <math>\mathcal{U}_{[0,1]}</math>,
while the output matrix <math>C</math> is sampled from a uniform random distribution <math>\mathcal{U}^{}_[0,10]</math> completely w.l.o.g, since if the components of <math>C_d</math> are random their scaling can be ignored.
+
while the output matrix <math>C</math> is sampled from a uniform random distribution <math>\mathcal{U}_{[0,10]}</math> completely w.l.o.g, since if the components of <math>C_d</math> are random their scaling can be ignored.
   
   
 
==Data==
 
==Data==
   
The following Matlab code assembles the above described <math>A</math>, <math>B</math> and <math>C</math> matrix for a given number of modes <math>K</math>.
+
The following Matlab code assembles the above described <math>A</math>, <math>B</math> and <math>C</math> matrix for a given number of modes <math>K</math>, actuators (inputs) <math>M</math> and sensors (outputs) <math>Q</math>.
   
 
<div class="thumbinner" style="width:540px;text-align:left;">
 
<div class="thumbinner" style="width:540px;text-align:left;">
Line 56: Line 53:
 
rand('seed',1009);
 
rand('seed',1009);
 
xi = rand(1,K)*0.001; % Sample damping ratio
 
xi = rand(1,K)*0.001; % Sample damping ratio
omega = rand(1,K)*100; % Sample natural frequencies
+
omega = rand(1,K)*100.0; % Sample natural frequencies
   
 
A_k = cellfun(@(p) sparse([-2.0*p(1)*p(2),-p(2);p(2),0]), ...
 
A_k = cellfun(@(p) sparse([-2.0*p(1)*p(2),-p(2);p(2),0]), ...
Line 70: Line 67:
 
</div>
 
</div>
   
  +
==Dimensions==
  +
  +
System structure:
 
:<math>
  +
\begin{align}
 
\dot{x}(t) &= Ax(t) + Bu(t) \\
  +
y(t) &= Cx(t)
  +
\end{align}
 
</math>
  +
  +
System dimensions:
  +
  +
<math>A \in \mathbb{R}^{2K \times 2K}</math>,
  +
<math>B \in \mathbb{R}^{2K \times M}</math>,
  +
<math>C \in \mathbb{R}^{Q \times 2K}</math>.
  +
  +
==Citation==
  +
  +
To cite this benchmark, use the following references:
  +
  +
* For the benchmark itself and its data:
  +
::The MORwiki Community, '''Flexible Space Structures'''. MORwiki - Model Order Reduction Wiki, 2018. http://modelreduction.org/index.php/Flexible_Space_Structures
  +
  +
@MISC{morwiki-flexspacstruc,
  +
author = <nowiki>{{The MORwiki Community}}</nowiki>,
  +
title = {Flexible Space Structures},
  +
howpublished = {{MORwiki} -- Model Order Reduction Wiki},
  +
url = <nowiki>{https://modelreduction.org/morwiki/Flexible_Space_Structures}</nowiki>,
  +
year = 2018
  +
}
  +
  +
* For the background on the benchmark: [https://morwiki.mpi-magdeburg.mpg.de/BibTeX/#morGawW91 morGawW91] ([https://morwiki.mpi-magdeburg.mpg.de/BibTeX/html/mor_bib.html#morGawW91 BibTeX])
   
 
==Reference==
 
==Reference==
   
<references/>
+
<references>
  +
  +
<ref name="gawronski90">W. Gawronski and J.N. Juang. "<span class="plainlinks">[https://doi.org/10.1016/B978-0-12-012736-8.50010-3 Model Reduction for Flexible Structures]</span>", Control and Dynamic Systems, 36: 143--222, 1990.</ref>
  +
  +
<ref name="gawronski91">W. Gawronski and T. Williams, "<span class="plainlinks">[http://doi.org/10.2514/3.20606 Model Reduction for Flexible Space Structures]</span>", Journal of Guidance 14(1): 68--76, 1991</ref>
  +
  +
<ref name="gawronski96">W. Gawronski. "<span class="plainlinks">[https://doi.org/10.1007/3540760172_4 Model reduction]</span>". In: Balanced Control of Flexible Structures. Lecture Notes in Control and Information Sciences, vol 211: 45--106, 1996.</ref>
  +
  +
<ref name="horner86">G.C. Horner. "<span class="plainlinks">[https://ntrs.nasa.gov/search.jsp?R=19870006596 COFS-1 Research Overview]</span>". NASA / DOD Control Structures Interaction Technology: 233--251, 1986</ref>
  +
  +
<ref name="horta86">L.G. Horta, J.L. Walsh, G.C. Horner and J.P. Bailey. "<span class="plainlinks">[https://ntrs.nasa.gov/search.jsp?R=19870006613 Analysis and simulation of the MAST (COFS-1 flight hardware)]</span>". NASA / DOD Control Structures Interaction Technology: 515--532, 1986.</ref>
  +
  +
</references>
   
 
==Contact==
 
==Contact==

Latest revision as of 07:31, 17 June 2025


Description

The flexible space structure benchmark [1],[2],[3] is a procedural modal model which represents structural dynamics with a selectable number actuators and sensors. This model is used for truss structures in space environments i.e. the COFS-1 (Control of Flexible Structures) mast flight experiment [4],[5].

Model

In modal form the flexible space structure model for K modes, M actuators and Q sensors is of second order and given by:

\ddot{\nu}(t) = (2 \xi \circ \omega) \circ \dot{\nu}(t) + (\omega \circ \omega) \circ \nu = Bu(t)
y(t) = C_r\dot{\nu}(t) + C_d\nu(t)

with the parameters \xi \in \mathbb{R}_{>0}^K (damping ratio), \omega \in \mathbb{R}_{>0}^K (natural frequency) and using the Hadamard product \circ. The first order representation follows for x(t) = (\dot{\nu}(t), \omega_1\nu_1, \dots, \omega_K\nu_K) by:

\dot{x}(t) = Ax(t) + Bu(t)
y(t) = Cx(t)

with the matrices:

A := \begin{pmatrix} A_1 & & \\ & \ddots & \\ & & A_K \end{pmatrix}, \; B := \begin{pmatrix} B_1 \\ \vdots \\ B_K \end{pmatrix}, \; C := \begin{pmatrix} C_1 & \dots & C_K \end{pmatrix},

and their components:

A_k := \begin{pmatrix} -2\xi_k\omega_k & -\omega_k \\ \omega_k & 0 \end{pmatrix}, \; B_k := \begin{pmatrix} b_k \\ 0 \end{pmatrix}, \; C_k := \begin{pmatrix} c_{rk} & \frac{c_{dk}}{\omega_k} \end{pmatrix},

where b_k \in \mathbb{R}^{1 \times M} and c_{rk}, c_{dk} \in \mathbb{R}^{Q \times 1}.


Benchmark Specifics

For this benchmark the system matrix is block diagonal and thus chosen to be sparse. The parameters \xi and \omega are sampled from a uniform random distributions \mathcal{U}_{[0,\frac{1}{1000}]}^K and \mathcal{U}_{[0,100]}^K respectively. The components of the input matrix b_k are sampled form a uniform random distribution \mathcal{U}_{[0,1]}, while the output matrix C is sampled from a uniform random distribution \mathcal{U}_{[0,10]} completely w.l.o.g, since if the components of C_d are random their scaling can be ignored.


Data

The following Matlab code assembles the above described A, B and C matrix for a given number of modes K, actuators (inputs) M and sensors (outputs) Q.

function [A,B,C] = fss(K,M,Q)

    rand('seed',1009);
    xi = rand(1,K)*0.001;	% Sample damping ratio
    omega = rand(1,K)*100.0;	% Sample natural frequencies

    A_k = cellfun(@(p) sparse([-2.0*p(1)*p(2),-p(2);p(2),0]), ...
                  num2cell([xi;omega],1),'UniformOutput',0);

    A = blkdiag(A_k{:});

    B = kron(rand(K,M),[1;0]);

    C = 10.0*rand(Q,2*K);
end

Dimensions

System structure:


\begin{align}
\dot{x}(t) &= Ax(t) + Bu(t) \\
y(t) &= Cx(t)
\end{align}

System dimensions:

A \in \mathbb{R}^{2K \times 2K}, B \in \mathbb{R}^{2K \times M}, C \in \mathbb{R}^{Q \times 2K}.

Citation

To cite this benchmark, use the following references:

  • For the benchmark itself and its data:
The MORwiki Community, Flexible Space Structures. MORwiki - Model Order Reduction Wiki, 2018. http://modelreduction.org/index.php/Flexible_Space_Structures
@MISC{morwiki-flexspacstruc,
  author =       {{The MORwiki Community}},
  title =        {Flexible Space Structures},
  howpublished = {{MORwiki} -- Model Order Reduction Wiki},
  url =          {https://modelreduction.org/morwiki/Flexible_Space_Structures},
  year =         2018
}

Reference

  1. W. Gawronski and J.N. Juang. "Model Reduction for Flexible Structures", Control and Dynamic Systems, 36: 143--222, 1990.
  2. W. Gawronski and T. Williams, "Model Reduction for Flexible Space Structures", Journal of Guidance 14(1): 68--76, 1991
  3. W. Gawronski. "Model reduction". In: Balanced Control of Flexible Structures. Lecture Notes in Control and Information Sciences, vol 211: 45--106, 1996.
  4. G.C. Horner. "COFS-1 Research Overview". NASA / DOD Control Structures Interaction Technology: 233--251, 1986
  5. L.G. Horta, J.L. Walsh, G.C. Horner and J.P. Bailey. "Analysis and simulation of the MAST (COFS-1 flight hardware)". NASA / DOD Control Structures Interaction Technology: 515--532, 1986.

Contact

Christian Himpe