Skip to content

Commit

Permalink
Built site for gh-pages
Browse files Browse the repository at this point in the history
  • Loading branch information
hurak committed Dec 6, 2024
1 parent 1440ae6 commit 81ffb3d
Show file tree
Hide file tree
Showing 65 changed files with 84,156 additions and 8,503 deletions.
2 changes: 1 addition & 1 deletion .nojekyll
Original file line number Diff line number Diff line change
@@ -1 +1 @@
d6620934
9ce7609c
1,190 changes: 1,190 additions & 0 deletions classes_PWA 12.html

Large diffs are not rendered by default.

1,164 changes: 1,164 additions & 0 deletions classes_references 16.html

Large diffs are not rendered by default.

1,499 changes: 1,499 additions & 0 deletions classes_reset 12.html

Large diffs are not rendered by default.

136 changes: 68 additions & 68 deletions classes_reset.html

Large diffs are not rendered by default.

1,107 changes: 1,107 additions & 0 deletions classes_software 19.html

Large diffs are not rendered by default.

1,544 changes: 1,544 additions & 0 deletions classes_switched 14.html

Large diffs are not rendered by default.

58 changes: 29 additions & 29 deletions classes_switched.html

Large diffs are not rendered by default.

1,267 changes: 1,267 additions & 0 deletions complementarity_constraints 16.html

Large diffs are not rendered by default.

1,105 changes: 1,105 additions & 0 deletions complementarity_references 20.html

Large diffs are not rendered by default.

1,949 changes: 1,949 additions & 0 deletions complementarity_simulations 11.html

Large diffs are not rendered by default.

867 changes: 468 additions & 399 deletions complementarity_simulations.html

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1,140 changes: 1,140 additions & 0 deletions complementarity_software 11.html

Large diffs are not rendered by default.

1,369 changes: 1,369 additions & 0 deletions complementarity_systems 12.html

Large diffs are not rendered by default.

58 changes: 33 additions & 25 deletions complementarity_systems.html
Original file line number Diff line number Diff line change
Expand Up @@ -762,7 +762,7 @@ <h2 class="anchored" data-anchor-id="linear-complementarity-system-lcs">Linear c
</span></p>
</div>
<div id="exm-mass-spring-damper-as-LCS" class="theorem example">
<p><span class="theorem-title"><strong>Example 2 (Mass-spring system with a hard stop as a linear complementarity system)</strong></span> Two carts moving horitontally (left or right) are interconnected through a spring. The left cart is also interconnected with the wall through a another spring. Furthemore, the motion of the left cart is constrained in that there is a <em>hard stop</em> that prevents the cart from moving further to the left. The setup is shown in <a href="#fig-mass-spring-hard-stop" class="quarto-xref">Fig.&nbsp;1</a>.</p>
<p><span class="theorem-title"><strong>Example 2 (Mass-spring system with a hard stop as a linear complementarity system)</strong></span> Two carts moving horitontally (left or right) are interconnected through a spring. The left cart is also interconnected with the wall through a another spring. Furthemore, the motion of the left cart is constrained in that there is a <em>hard stop</em> that prevents the cart from moving further to the left. Another natural constraint is that the right cart cannot get to the left of the other vehicle. The setup is shown in <a href="#fig-mass-spring-hard-stop" class="quarto-xref">Fig.&nbsp;1</a>.</p>
<div id="fig-mass-spring-hard-stop" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-mass-spring-hard-stop-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Expand All @@ -773,33 +773,41 @@ <h2 class="anchored" data-anchor-id="linear-complementarity-system-lcs">Linear c
</figcaption>
</figure>
</div>
<p>The variables <span class="math inline">x_1</span> and <span class="math inline">x_2</span> give deviations of the two carts from their equilibrium positions.</p>
<p>The variables <span class="math inline">x_1</span> and <span class="math inline">x_2</span> give deviations of the two carts from their equilibrium positions. As we are considering negligible sizes of the two carts, the equilibrium position for both is 0. The derivatives of the two positions are also introduced as state variables <span class="math inline">x_3</span> and <span class="math inline">x_4</span>, respectively.</p>
<p>The hard stop is located at the equilibrium position of the left cart.</p>
<p>Besides the two positions, their derivatives are also introduced as state vectors. The input <span class="math inline">u</span> corresponds to the reaction force of the hard stop.</p>
<p>As the output, only the position of the left cart is (arbitrarily) chosen.</p>
<p>The state equations and the output equation are <span class="math display">
\begin{aligned}
\dot x_1(t) &amp;= x_3\\
\dot x_2(t) &amp;= x_4\\
\dot x_3(t) &amp;= -\frac{k_1+k_2}{m_1}x_1(t) + \frac{k_2}{m_1}x_2(t) + \frac{1}{m_1}u(t)\\
\dot x_4(t) &amp;= \frac{k_2}{m_2}x_1(t) - \frac{k_2}{m_2} x_2(t)\\
y(t) &amp;= x_1(t).
\end{aligned}
<p>The input <span class="math inline">u_1</span> corresponds to the reaction force of the hard stop applied to the left cart. Another input is <span class="math inline">u_2</span> that corresponds to the force exerted by the left cart onto the right cart.</p>
<p>The state equations are <span class="math display">
\begin{aligned}
\dot x_1(t) &amp;= x_3\\
\dot x_2(t) &amp;= x_4\\
\dot x_3(t) &amp;= -\frac{k_1+k_2}{m_1}x_1(t) + \frac{k_2}{m_1}x_2(t) + \frac{1}{m_1}u_1(t) - \frac{1}{m_1}u_2(t)\\
\dot x_4(t) &amp;= \frac{k_2}{m_2}x_1(t) - \frac{k_2}{m_2} x_2(t) + \frac{1}{m_2}u_2(t).
\end{aligned}
</span></p>
<p>The presence of the hard stop can be modelled as an inequality constraint on the state (or the output in this case) <span class="math display">x_1(t) = y(t) \geq 0.</span></p>
<p>Strictly speaking, similar constraint should also be imposed on the right cart. That one can not overcome the hard stop either. Furthermore, the left cart would stand in the way too. But we ignore it here for the sake of simplicity of our explanation.</p>
<p>The reaction force <span class="math inline">u</span> can only be nonnegative <span class="math display">
u(t) \geq 0.
<p>The presence of the hard stop can be modelled as an inequality constraint on the state <span class="math display">x_1(t) \geq 0.</span></p>
<p>Similarly, the fact that the right cart cannot get to the left of the left cart can be expressed as <span class="math display">
x_2(t) - x_1(t) \geq 0.
</span></p>
<p>This motivates us to define two output variables as <span class="math display">
\begin{aligned}
y_1(t) &amp;= x_1(t)\\
y_2(t) &amp;= x_2(t)-x_1(t).
\end{aligned}
</span></p>
<p>Furthermore, the reaction force is acting if and only if the left cart hits the hard stop, that is,<br>
<p>Now, the reaction force <span class="math inline">u_1</span> exerted by the hard stop onto the left cart can only be nonnegative <span class="math display">
u_1(t) \geq 0,
</span><br>
and it is positive if and only if the left cart hits the hard stop<br>
<span class="math display">
y(t) u(t) = 0.
</span></p>
<p>All the above three constraints can be written compactly as a complementarity constraint <span class="math display">
0\leq y(t) \perp u(t) \geq 0.
<p>The condition can be written compactly as <span class="math display">
0\leq y_1(t) \perp u_1(t) \geq 0.
</span></p>
<p>Once again, for convenience we now reformat the results in the matrix-vector form</p>
<p><span class="math display">
<p>Similarly for the force <span class="math inline">u_2</span> exerted by the left cart onto the right cart <span class="math display">
0\leq y_2(t) \perp u_2(t) \geq 0.
</span></p>
<p>For convenience, we now give a full model in the matrix-vector form. <span id="eq-mass-spring-hard-stop"><span class="math display">
\begin{aligned}
\begin{bmatrix} \dot x_1\\ \dot x_2\\ \dot x_3\\ \dot x_4 \end{bmatrix}
&amp;=
Expand All @@ -810,11 +818,11 @@ <h2 class="anchored" data-anchor-id="linear-complementarity-system-lcs">Linear c
\frac{k_2}{m_2} &amp; -\frac{k_2}{m_2} &amp; 0 &amp; 0
\end{bmatrix}
\begin{bmatrix} x_1\\ x_2\\ x_3\\ x_4 \end{bmatrix} +
\begin{bmatrix} 0\\ 0\\ \frac{1}{m_1}\\ 0 \end{bmatrix} u,\\
y &amp;= \begin{bmatrix} 1 &amp; 0 &amp; 0 &amp; 0 \end{bmatrix} \begin{bmatrix} x_1\\ x_2\\ x_3\\ x_4 \end{bmatrix},\\
0 &amp;\leq y \perp u \geq 0.
\begin{bmatrix} 0 &amp; 0\\ 0 &amp; 0\\ \frac{1}{m_1} &amp;-\frac{1}{m_1}\\ 0 &amp; \frac{1}{m_2}\end{bmatrix} \begin{bmatrix} u_1\\u_2\end{bmatrix},\\
\begin{bmatrix} y_1 \\ y_2 \end{bmatrix} &amp;= \begin{bmatrix} 1 &amp; 0 &amp; 0 &amp; 0\\ -1 &amp; 1 &amp; 0 &amp; 0\end{bmatrix} \begin{bmatrix} x_1\\ x_2\\ x_3\\ x_4 \end{bmatrix},\\
\mathbf 0 &amp;\leq \bm y \perp \bm u \geq \mathbf 0.
\end{aligned}
</span></p>
\tag{2}</span></span></p>
</div>
</section>
<section id="complementarity-system-as-a-feedback-interconnection" class="level2">
Expand Down
Loading

0 comments on commit 81ffb3d

Please sign in to comment.