Use online CSS and JS

This commit is contained in:
Thomas Dehaeze 2020-11-12 10:41:22 +01:00
parent 2c33a9b744
commit 92ceeeaf51
15 changed files with 598 additions and 2154 deletions

View File

@ -1,145 +0,0 @@
.org-bold { /* bold */ font-weight: bold; }
.org-bold-italic { /* bold-italic */ font-weight: bold; font-style: italic; }
.org-buffer-menu-buffer { /* buffer-menu-buffer */ font-weight: bold; }
.org-builtin { /* font-lock-builtin-face */ color: #7a378b; }
.org-button { /* button */ text-decoration: underline; }
.org-calendar-today { /* calendar-today */ text-decoration: underline; }
.org-change-log-acknowledgement { /* change-log-acknowledgement */ color: #b22222; }
.org-change-log-conditionals { /* change-log-conditionals */ color: #a0522d; }
.org-change-log-date { /* change-log-date */ color: #8b2252; }
.org-change-log-email { /* change-log-email */ color: #a0522d; }
.org-change-log-file { /* change-log-file */ color: #0000ff; }
.org-change-log-function { /* change-log-function */ color: #a0522d; }
.org-change-log-list { /* change-log-list */ color: #a020f0; }
.org-change-log-name { /* change-log-name */ color: #008b8b; }
.org-comint-highlight-input { /* comint-highlight-input */ font-weight: bold; }
.org-comint-highlight-prompt { /* comint-highlight-prompt */ color: #00008b; }
.org-comment { /* font-lock-comment-face */ color: #999988; font-style: italic; }
.org-comment-delimiter { /* font-lock-comment-delimiter-face */ color: #999988; font-style: italic; }
.org-completions-annotations { /* completions-annotations */ font-style: italic; }
.org-completions-common-part { /* completions-common-part */ color: #000000; background-color: #ffffff; }
.org-completions-first-difference { /* completions-first-difference */ font-weight: bold; }
.org-constant { /* font-lock-constant-face */ color: #008b8b; }
.org-diary { /* diary */ color: #ff0000; }
.org-diff-context { /* diff-context */ color: #7f7f7f; }
.org-diff-file-header { /* diff-file-header */ background-color: #b3b3b3; font-weight: bold; }
.org-diff-function { /* diff-function */ background-color: #cccccc; }
.org-diff-header { /* diff-header */ background-color: #cccccc; }
.org-diff-hunk-header { /* diff-hunk-header */ background-color: #cccccc; }
.org-diff-index { /* diff-index */ background-color: #b3b3b3; font-weight: bold; }
.org-diff-nonexistent { /* diff-nonexistent */ background-color: #b3b3b3; font-weight: bold; }
.org-diff-refine-change { /* diff-refine-change */ background-color: #d9d9d9; }
.org-dired-directory { /* dired-directory */ color: #0000ff; }
.org-dired-flagged { /* dired-flagged */ color: #ff0000; font-weight: bold; }
.org-dired-header { /* dired-header */ color: #228b22; }
.org-dired-ignored { /* dired-ignored */ color: #7f7f7f; }
.org-dired-mark { /* dired-mark */ color: #008b8b; }
.org-dired-marked { /* dired-marked */ color: #ff0000; font-weight: bold; }
.org-dired-perm-write { /* dired-perm-write */ color: #b22222; }
.org-dired-symlink { /* dired-symlink */ color: #a020f0; }
.org-dired-warning { /* dired-warning */ color: #ff0000; font-weight: bold; }
.org-doc { /* font-lock-doc-face */ color: #8b2252; }
.org-escape-glyph { /* escape-glyph */ color: #a52a2a; }
.org-file-name-shadow { /* file-name-shadow */ color: #7f7f7f; }
.org-flyspell-duplicate { /* flyspell-duplicate */ color: #cdad00; font-weight: bold; text-decoration: underline; }
.org-flyspell-incorrect { /* flyspell-incorrect */ color: #ff4500; font-weight: bold; text-decoration: underline; }
.org-fringe { /* fringe */ background-color: #f2f2f2; }
.org-function-name { /* font-lock-function-name-face */ color: teal; }
.org-header-line { /* header-line */ color: #333333; background-color: #e5e5e5; }
.org-help-argument-name { /* help-argument-name */ font-style: italic; }
.org-highlight { /* highlight */ background-color: #b4eeb4; }
.org-holiday { /* holiday */ background-color: #ffc0cb; }
.org-isearch { /* isearch */ color: #b0e2ff; background-color: #cd00cd; }
.org-isearch-fail { /* isearch-fail */ background-color: #ffc1c1; }
.org-italic { /* italic */ font-style: italic; }
.org-keyword { /* font-lock-keyword-face */ color: #0086b3; }
.org-lazy-highlight { /* lazy-highlight */ background-color: #afeeee; }
.org-link { /* link */ color: #0000ff; text-decoration: underline; }
.org-link-visited { /* link-visited */ color: #8b008b; text-decoration: underline; }
.org-log-edit-header { /* log-edit-header */ color: #a020f0; }
.org-log-edit-summary { /* log-edit-summary */ color: #0000ff; }
.org-log-edit-unknown-header { /* log-edit-unknown-header */ color: #b22222; }
.org-match { /* match */ background-color: #ffff00; }
.org-next-error { /* next-error */ background-color: #eedc82; }
.org-nobreak-space { /* nobreak-space */ color: #a52a2a; text-decoration: underline; }
.org-org-archived { /* org-archived */ color: #7f7f7f; }
.org-org-block { /* org-block */ color: #7f7f7f; }
.org-org-block-begin-line { /* org-block-begin-line */ color: #b22222; }
.org-org-block-end-line { /* org-block-end-line */ color: #b22222; }
.org-org-checkbox { /* org-checkbox */ font-weight: bold; }
.org-org-checkbox-statistics-done { /* org-checkbox-statistics-done */ color: #228b22; font-weight: bold; }
.org-org-checkbox-statistics-todo { /* org-checkbox-statistics-todo */ color: #ff0000; font-weight: bold; }
.org-org-clock-overlay { /* org-clock-overlay */ background-color: #ffff00; }
.org-org-code { /* org-code */ color: #7f7f7f; }
.org-org-column { /* org-column */ background-color: #e5e5e5; }
.org-org-column-title { /* org-column-title */ background-color: #e5e5e5; font-weight: bold; text-decoration: underline; }
.org-org-date { /* org-date */ color: #a020f0; text-decoration: underline; }
.org-org-document-info { /* org-document-info */ color: #191970; }
.org-org-document-info-keyword { /* org-document-info-keyword */ color: #7f7f7f; }
.org-org-document-title { /* org-document-title */ color: #191970; font-size: 144%; font-weight: bold; }
.org-org-done { /* org-done */ color: #228b22; font-weight: bold; }
.org-org-drawer { /* org-drawer */ color: #0000ff; }
.org-org-ellipsis { /* org-ellipsis */ color: #b8860b; text-decoration: underline; }
.org-org-footnote { /* org-footnote */ color: #a020f0; text-decoration: underline; }
.org-org-formula { /* org-formula */ color: #b22222; }
.org-org-headline-done { /* org-headline-done */ color: #bc8f8f; }
.org-org-hide { /* org-hide */ color: #ffffff; }
.org-org-latex-and-export-specials { /* org-latex-and-export-specials */ color: #8b4513; }
.org-org-level-1 { /* org-level-1 */ color: #0000ff; }
.org-org-level-2 { /* org-level-2 */ color: #a0522d; }
.org-org-level-3 { /* org-level-3 */ color: #a020f0; }
.org-org-level-4 { /* org-level-4 */ color: #b22222; }
.org-org-level-5 { /* org-level-5 */ color: #228b22; }
.org-org-level-6 { /* org-level-6 */ color: #008b8b; }
.org-org-level-7 { /* org-level-7 */ color: #7a378b; }
.org-org-level-8 { /* org-level-8 */ color: #8b2252; }
.org-org-link { /* org-link */ color: #0000ff; text-decoration: underline; }
.org-org-meta-line { /* org-meta-line */ color: #b22222; }
.org-org-mode-line-clock { /* org-mode-line-clock */ color: #000000; background-color: #bfbfbf; }
.org-org-mode-line-clock-overrun { /* org-mode-line-clock-overrun */ color: #000000; background-color: #ff0000; }
.org-org-quote { /* org-quote */ color: #7f7f7f; }
.org-org-scheduled { /* org-scheduled */ color: #006400; }
.org-org-scheduled-previously { /* org-scheduled-previously */ color: #b22222; }
.org-org-scheduled-today { /* org-scheduled-today */ color: #006400; }
.org-org-sexp-date { /* org-sexp-date */ color: #a020f0; }
.org-org-special-keyword { /* org-special-keyword */ color: #a020f0; }
.org-org-table { /* org-table */ color: #0000ff; }
.org-org-tag { /* org-tag */ font-weight: bold; }
.org-org-target { /* org-target */ text-decoration: underline; }
.org-org-time-grid { /* org-time-grid */ color: #b8860b; }
.org-org-todo { /* org-todo */ color: #ff0000; font-weight: bold; }
.org-org-upcoming-deadline { /* org-upcoming-deadline */ color: #b22222; }
.org-org-verbatim { /* org-verbatim */ color: #7f7f7f; }
.org-org-verse { /* org-verse */ color: #7f7f7f; }
.org-org-warning { /* org-warning */ color: #ff0000; font-weight: bold; }
.org-outline-1 { /* outline-1 */ color: #0000ff; }
.org-outline-2 { /* outline-2 */ color: #a0522d; }
.org-outline-3 { /* outline-3 */ color: #a020f0; }
.org-outline-4 { /* outline-4 */ color: #b22222; }
.org-outline-5 { /* outline-5 */ color: #228b22; }
.org-outline-6 { /* outline-6 */ color: #008b8b; }
.org-outline-7 { /* outline-7 */ color: #7a378b; }
.org-outline-8 { /* outline-8 */ color: #8b2252; }
.org-preprocessor { /* font-lock-preprocessor-face */ color: #7a378b; }
.org-query-replace { /* query-replace */ color: #b0e2ff; background-color: #cd00cd; }
.org-regexp-grouping-backslash { /* font-lock-regexp-grouping-backslash */ font-weight: bold; }
.org-regexp-grouping-construct { /* font-lock-regexp-grouping-construct */ font-weight: bold; }
.org-region { /* region */ background-color: #eedc82; }
.org-secondary-selection { /* secondary-selection */ background-color: #ffff00; }
.org-shadow { /* shadow */ color: #7f7f7f; }
.org-show-paren-match { /* show-paren-match */ background-color: #40e0d0; }
.org-show-paren-mismatch { /* show-paren-mismatch */ color: #ffffff; background-color: #a020f0; }
.org-string { /* font-lock-string-face */ color: #dd1144; }
.org-tool-bar { /* tool-bar */ color: #000000; background-color: #bfbfbf; }
.org-tooltip { /* tooltip */ color: #000000; background-color: #ffffe0; }
.org-trailing-whitespace { /* trailing-whitespace */ background-color: #ff0000; }
.org-type { /* font-lock-type-face */ color: #228b22; }
.org-underline { /* underline */ text-decoration: underline; }
.org-variable-name { /* font-lock-variable-name-face */ color: teal; }
.org-warning { /* font-lock-warning-face */ color: #ff0000; font-weight: bold; }
.org-widget-button { /* widget-button */ font-weight: bold; }
.org-widget-button-pressed { /* widget-button-pressed */ color: #ff0000; }
.org-widget-documentation { /* widget-documentation */ color: #006400; }
.org-widget-field { /* widget-field */ background-color: #d9d9d9; }
.org-widget-inactive { /* widget-inactive */ color: #7f7f7f; }
.org-widget-single-line-field { /* widget-single-line-field */ background-color: #d9d9d9; }

File diff suppressed because it is too large Load Diff

View File

@ -3,20 +3,20 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2020-10-08 jeu. 10:42 -->
<!-- 2020-11-12 jeu. 10:40 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Active Damping of Rotating Platforms using Integral Force Feedback</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Thomas Dehaeze" />
<link rel="stylesheet" type="text/css" href="css/htmlize.css"/>
<link rel="stylesheet" type="text/css" href="css/readtheorg.css"/>
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/jquery.stickytableheaders.min.js"></script>
<script src="js/readtheorg.js"></script>
<link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/>
<script type="text/javascript" src="https://research.tdehaeze.xyz/js/script.js"></script>
</head>
<body>
<div id="content">
<div id="org-div-home-and-up">
<a accesskey="h" href="../index.html"> UP </a>
|
<a accesskey="H" href="../index.html"> HOME </a>
</div><div id="content">
<h1 class="title">Active Damping of Rotating Platforms using Integral Force Feedback
<br />
<span class="subtitle">Dehaeze Thomas, Collette Christophe</span>
@ -36,36 +36,36 @@ The results reveal that, despite their different implementations, both modified
</p>
</blockquote>
<div id="outline-container-orgfc6637d" class="outline-2">
<h2 id="orgfc6637d">Paper (<a href="paper/dehaeze20_activ_dampin_rotat_platf_integ_force_feedb.pdf">link</a>)</h2>
<div class="outline-text-2" id="text-orgfc6637d">
<div id="outline-container-org8130d6a" class="outline-2">
<h2 id="org8130d6a">Paper (<a href="paper/dehaeze20_activ_dampin_rotat_platf_integ_force_feedb.pdf">link</a>)</h2>
<div class="outline-text-2" id="text-org8130d6a">
<p>
The paper has been created using <a href="https://orgmode.org/">Org Mode</a> (generating <a href="https://www.latex-project.org/">LaTeX</a> code) under <a href="https://www.gnu.org/software/emacs/">Emacs</a>.
</p>
</div>
</div>
<div id="outline-container-org93e7fd8" class="outline-2">
<h2 id="org93e7fd8">Matlab Scripts (<a href="matlab/index.html">link</a>)</h2>
<div class="outline-text-2" id="text-org93e7fd8">
<div id="outline-container-orgc3e4c1c" class="outline-2">
<h2 id="orgc3e4c1c">Matlab Scripts (<a href="matlab/index.html">link</a>)</h2>
<div class="outline-text-2" id="text-orgc3e4c1c">
<p>
The Matlab scripts that permits to obtain all the results presented in the paper are accessible <a href="matlab/index.html">here</a>.
</p>
</div>
</div>
<div id="outline-container-orgc429493" class="outline-2">
<h2 id="orgc429493">Figures (<a href="tikz/index.html">link</a>)</h2>
<div class="outline-text-2" id="text-orgc429493">
<div id="outline-container-orga5eb09b" class="outline-2">
<h2 id="orga5eb09b">Figures (<a href="tikz/index.html">link</a>)</h2>
<div class="outline-text-2" id="text-orga5eb09b">
<p>
All the figures in the paper are generated using either <a href="https://sourceforge.net/projects/pgf/">TikZ</a> or <a href="https://inkscape.org/">Inkscape</a>. The code snippets that was used to generate the figures are accessible <a href="tikz/index.html">here</a>.
</p>
</div>
</div>
<div id="outline-container-org0c9c58f" class="outline-2">
<h2 id="org0c9c58f">Talk (<a href="talk/talk.pdf">link</a>)</h2>
<div class="outline-text-2" id="text-org0c9c58f">
<div id="outline-container-org1bbe3ba" class="outline-2">
<h2 id="org1bbe3ba">Talk (<a href="talk/talk.pdf">link</a>)</h2>
<div class="outline-text-2" id="text-org1bbe3ba">
<iframe width="720"
height="540"
src="https://www.youtube.com/embed/F9j2-ge2FPE"
@ -73,9 +73,9 @@ All the figures in the paper are generated using either <a href="https://sourcef
</div>
</div>
<div id="outline-container-org0939b8a" class="outline-2">
<h2 id="org0939b8a">Cite this paper</h2>
<div class="outline-text-2" id="text-org0939b8a">
<div id="outline-container-org40a746d" class="outline-2">
<h2 id="org40a746d">Cite this paper</h2>
<div class="outline-text-2" id="text-org40a746d">
<p>
To cite this paper use the following bibtex code.
</p>

View File

@ -1,14 +1,15 @@
#+TITLE: Active Damping of Rotating Platforms using Integral Force Feedback
:DRAWER:
#+SUBTITLE: Dehaeze Thomas, Collette Christophe
#+OPTIONS: toc:nil
#+OPTIONS: html-postamble:nil
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="css/htmlize.css"/>
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="css/readtheorg.css"/>
#+HTML_HEAD: <script src="js/jquery.min.js"></script>
#+HTML_HEAD: <script src="js/bootstrap.min.js"></script>
#+HTML_HEAD: <script src="js/jquery.stickytableheaders.min.js"></script>
#+HTML_HEAD: <script src="js/readtheorg.js"></script>
#+HTML_LINK_HOME: ../index.html
#+HTML_LINK_UP: ../index.html
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/>
#+HTML_HEAD: <script type="text/javascript" src="https://research.tdehaeze.xyz/js/script.js"></script>
:END:
#+begin_quote

7
js/bootstrap.min.js vendored

File diff suppressed because one or more lines are too long

4
js/jquery.min.js vendored

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
!function(a,b){"use strict";function c(c,g){var h=this;h.$el=a(c),h.el=c,h.id=e++,h.$window=a(b),h.$document=a(document),h.$el.bind("destroyed",a.proxy(h.teardown,h)),h.$clonedHeader=null,h.$originalHeader=null,h.isSticky=!1,h.hasBeenSticky=!1,h.leftOffset=null,h.topOffset=null,h.init=function(){h.$el.each(function(){var b=a(this);b.css("padding",0),h.$originalHeader=a("thead:first",this),h.$clonedHeader=h.$originalHeader.clone(),b.trigger("clonedHeader."+d,[h.$clonedHeader]),h.$clonedHeader.addClass("tableFloatingHeader"),h.$clonedHeader.css("display","none"),h.$originalHeader.addClass("tableFloatingHeaderOriginal"),h.$originalHeader.after(h.$clonedHeader),h.$printStyle=a('<style type="text/css" media="print">.tableFloatingHeader{display:none !important;}.tableFloatingHeaderOriginal{position:static !important;}</style>'),a("head").append(h.$printStyle)}),h.setOptions(g),h.updateWidth(),h.toggleHeaders(),h.bind()},h.destroy=function(){h.$el.unbind("destroyed",h.teardown),h.teardown()},h.teardown=function(){h.isSticky&&h.$originalHeader.css("position","static"),a.removeData(h.el,"plugin_"+d),h.unbind(),h.$clonedHeader.remove(),h.$originalHeader.removeClass("tableFloatingHeaderOriginal"),h.$originalHeader.css("visibility","visible"),h.$printStyle.remove(),h.el=null,h.$el=null},h.bind=function(){h.$scrollableArea.on("scroll."+d,h.toggleHeaders),h.isWindowScrolling||(h.$window.on("scroll."+d+h.id,h.setPositionValues),h.$window.on("resize."+d+h.id,h.toggleHeaders)),h.$scrollableArea.on("resize."+d,h.toggleHeaders),h.$scrollableArea.on("resize."+d,h.updateWidth)},h.unbind=function(){h.$scrollableArea.off("."+d,h.toggleHeaders),h.isWindowScrolling||(h.$window.off("."+d+h.id,h.setPositionValues),h.$window.off("."+d+h.id,h.toggleHeaders)),h.$scrollableArea.off("."+d,h.updateWidth)},h.toggleHeaders=function(){h.$el&&h.$el.each(function(){var b,c=a(this),d=h.isWindowScrolling?isNaN(h.options.fixedOffset)?h.options.fixedOffset.outerHeight():h.options.fixedOffset:h.$scrollableArea.offset().top+(isNaN(h.options.fixedOffset)?0:h.options.fixedOffset),e=c.offset(),f=h.$scrollableArea.scrollTop()+d,g=h.$scrollableArea.scrollLeft(),i=h.isWindowScrolling?f>e.top:d>e.top,j=(h.isWindowScrolling?f:0)<e.top+c.height()-h.$clonedHeader.height()-(h.isWindowScrolling?0:d);i&&j?(b=e.left-g+h.options.leftOffset,h.$originalHeader.css({position:"fixed","margin-top":h.options.marginTop,left:b,"z-index":3}),h.leftOffset=b,h.topOffset=d,h.$clonedHeader.css("display",""),h.isSticky||(h.isSticky=!0,h.updateWidth()),h.setPositionValues()):h.isSticky&&(h.$originalHeader.css("position","static"),h.$clonedHeader.css("display","none"),h.isSticky=!1,h.resetWidth(a("td,th",h.$clonedHeader),a("td,th",h.$originalHeader)))})},h.setPositionValues=function(){var a=h.$window.scrollTop(),b=h.$window.scrollLeft();!h.isSticky||0>a||a+h.$window.height()>h.$document.height()||0>b||b+h.$window.width()>h.$document.width()||h.$originalHeader.css({top:h.topOffset-(h.isWindowScrolling?0:a),left:h.leftOffset-(h.isWindowScrolling?0:b)})},h.updateWidth=function(){if(h.isSticky){h.$originalHeaderCells||(h.$originalHeaderCells=a("th,td",h.$originalHeader)),h.$clonedHeaderCells||(h.$clonedHeaderCells=a("th,td",h.$clonedHeader));var b=h.getWidth(h.$clonedHeaderCells);h.setWidth(b,h.$clonedHeaderCells,h.$originalHeaderCells),h.$originalHeader.css("width",h.$clonedHeader.width())}},h.getWidth=function(c){var d=[];return c.each(function(c){var e,f=a(this);if("border-box"===f.css("box-sizing"))e=f[0].getBoundingClientRect().width;else{var g=a("th",h.$originalHeader);if("collapse"===g.css("border-collapse"))if(b.getComputedStyle)e=parseFloat(b.getComputedStyle(this,null).width);else{var i=parseFloat(f.css("padding-left")),j=parseFloat(f.css("padding-right")),k=parseFloat(f.css("border-width"));e=f.outerWidth()-i-j-k}else e=f.width()}d[c]=e}),d},h.setWidth=function(a,b,c){b.each(function(b){var d=a[b];c.eq(b).css({"min-width":d,"max-width":d})})},h.resetWidth=function(b,c){b.each(function(b){var d=a(this);c.eq(b).css({"min-width":d.css("min-width"),"max-width":d.css("max-width")})})},h.setOptions=function(c){h.options=a.extend({},f,c),h.$scrollableArea=a(h.options.scrollableArea),h.isWindowScrolling=h.$scrollableArea[0]===b},h.updateOptions=function(a){h.setOptions(a),h.unbind(),h.bind(),h.updateWidth(),h.toggleHeaders()},h.init()}var d="stickyTableHeaders",e=0,f={fixedOffset:0,leftOffset:0,marginTop:0,scrollableArea:b};a.fn[d]=function(b){return this.each(function(){var e=a.data(this,"plugin_"+d);e?"string"==typeof b?e[b].apply(e):e.updateOptions(b):"destroy"!==b&&a.data(this,"plugin_"+d,new c(this,b))})}}(jQuery,window);

View File

@ -1,85 +0,0 @@
$(function() {
$('.note').before("<p class='admonition-title note'>Note</p>");
$('.seealso').before("<p class='admonition-title seealso'>See also</p>");
$('.warning').before("<p class='admonition-title warning'>Warning</p>");
$('.caution').before("<p class='admonition-title caution'>Caution</p>");
$('.attention').before("<p class='admonition-title attention'>Attention</p>");
$('.tip').before("<p class='admonition-title tip'>Tip</p>");
$('.important').before("<p class='admonition-title important'>Important</p>");
$('.hint').before("<p class='admonition-title hint'>Hint</p>");
$('.error').before("<p class='admonition-title error'>Error</p>");
$('.danger').before("<p class='admonition-title danger'>Danger</p>");
});
$( document ).ready(function() {
// Shift nav in mobile when clicking the menu.
$(document).on('click', "[data-toggle='wy-nav-top']", function() {
$("[data-toggle='wy-nav-shift']").toggleClass("shift");
$("[data-toggle='rst-versions']").toggleClass("shift");
});
// Close menu when you click a link.
$(document).on('click', ".wy-menu-vertical .current ul li a", function() {
$("[data-toggle='wy-nav-shift']").removeClass("shift");
$("[data-toggle='rst-versions']").toggleClass("shift");
});
$(document).on('click', "[data-toggle='rst-current-version']", function() {
$("[data-toggle='rst-versions']").toggleClass("shift-up");
});
// Make tables responsive
$("table.docutils:not(.field-list)").wrap("<div class='wy-table-responsive'></div>");
});
$( document ).ready(function() {
$('#text-table-of-contents ul').first().addClass('nav');
// ScrollSpy also requires that we use
// a Bootstrap nav component.
$('body').scrollspy({target: '#text-table-of-contents'});
// add sticky table headers
$('table').stickyTableHeaders();
// set the height of tableOfContents
var $postamble = $('#postamble');
var $tableOfContents = $('#table-of-contents');
$tableOfContents.css({paddingBottom: $postamble.outerHeight()});
// add TOC button
var toggleSidebar = $('<div id="toggle-sidebar"><a href="#table-of-contents"><h2>Table of Contents</h2></a></div>');
$('#content').prepend(toggleSidebar);
// add close button when sidebar showed in mobile screen
var closeBtn = $('<a class="close-sidebar" href="#">Close</a>');
var tocTitle = $('#table-of-contents').find('h2');
tocTitle.append(closeBtn);
});
window.SphinxRtdTheme = (function (jquery) {
var stickyNav = (function () {
var navBar,
win,
stickyNavCssClass = 'stickynav',
applyStickNav = function () {
if (navBar.height() <= win.height()) {
navBar.addClass(stickyNavCssClass);
} else {
navBar.removeClass(stickyNavCssClass);
}
},
enable = function () {
applyStickNav();
win.on('resize', applyStickNav);
},
init = function () {
navBar = jquery('nav.wy-nav-side:first');
win = jquery(window);
};
jquery(init);
return {
enable : enable
};
}());
return {
StickyNav : stickyNav
};
}($));

File diff suppressed because one or more lines are too long

View File

@ -3,17 +3,13 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2020-10-27 mar. 09:18 -->
<!-- 2020-11-12 jeu. 10:40 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Active Damping of Rotating Platforms using Integral Force Feedback - Matlab Computation</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Thomas Dehaeze" />
<link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
<link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
<script src="../js/jquery.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script src="../js/jquery.stickytableheaders.min.js"></script>
<script src="../js/readtheorg.js"></script>
<link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/>
<script type="text/javascript" src="https://research.tdehaeze.xyz/js/script.js"></script>
<script>MathJax = {
tex: {
tags: 'ams',
@ -34,58 +30,58 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org4dd3571">1. System Description and Analysis</a>
<li><a href="#org19f8b41">1. System Description and Analysis</a>
<ul>
<li><a href="#org102a388">1.1. System description</a></li>
<li><a href="#orgf2f55e2">1.2. Equations</a></li>
<li><a href="#org5e98250">1.3. Numerical Values</a></li>
<li><a href="#org3640334">1.4. Campbell Diagram</a></li>
<li><a href="#orga12b88a">1.5. Simscape Model</a></li>
<li><a href="#org375be86">1.6. Effect of the rotation speed</a></li>
<li><a href="#org98a8dea">1.1. System description</a></li>
<li><a href="#orgfaaa549">1.2. Equations</a></li>
<li><a href="#org34789ad">1.3. Numerical Values</a></li>
<li><a href="#org1e81232">1.4. Campbell Diagram</a></li>
<li><a href="#orga9a73f1">1.5. Simscape Model</a></li>
<li><a href="#org70c5289">1.6. Effect of the rotation speed</a></li>
</ul>
</li>
<li><a href="#orgcf5b992">2. Problem with pure Integral Force Feedback</a>
<li><a href="#orgd11a8cf">2. Problem with pure Integral Force Feedback</a>
<ul>
<li><a href="#org8f2a6ef">2.1. Plant Parameters</a></li>
<li><a href="#orgfb449f5">2.2. Equations</a></li>
<li><a href="#org05033a6">2.3. Comparison of the Analytical Model and the Simscape Model</a></li>
<li><a href="#orge2f7644">2.4. Effect of the rotation speed</a></li>
<li><a href="#org5688a92">2.5. Decentralized Integral Force Feedback</a></li>
<li><a href="#org9987b80">2.1. Plant Parameters</a></li>
<li><a href="#orgbd3b27a">2.2. Equations</a></li>
<li><a href="#orgfa7d7a2">2.3. Comparison of the Analytical Model and the Simscape Model</a></li>
<li><a href="#orgcab9733">2.4. Effect of the rotation speed</a></li>
<li><a href="#org358cdd6">2.5. Decentralized Integral Force Feedback</a></li>
</ul>
</li>
<li><a href="#org073f9e0">3. Integral Force Feedback with an High Pass Filter</a>
<li><a href="#orgd71a2dc">3. Integral Force Feedback with an High Pass Filter</a>
<ul>
<li><a href="#org2a5c510">3.1. Plant Parameters</a></li>
<li><a href="#org7bb3bef">3.2. Modified Integral Force Feedback Controller</a></li>
<li><a href="#org9335519">3.3. Root Locus</a></li>
<li><a href="#org1172118">3.4. What is the optimal \(\omega_i\) and \(g\)?</a></li>
<li><a href="#orgf7495fd">3.1. Plant Parameters</a></li>
<li><a href="#org2950938">3.2. Modified Integral Force Feedback Controller</a></li>
<li><a href="#org38695fe">3.3. Root Locus</a></li>
<li><a href="#org60aa70e">3.4. What is the optimal \(\omega_i\) and \(g\)?</a></li>
</ul>
</li>
<li><a href="#org4422289">4. IFF with a stiffness in parallel with the force sensor</a>
<li><a href="#orgdb918b6">4. IFF with a stiffness in parallel with the force sensor</a>
<ul>
<li><a href="#org114428c">4.1. Schematic</a></li>
<li><a href="#orgfa353f8">4.2. Equations</a></li>
<li><a href="#orgfc70f3c">4.3. Plant Parameters</a></li>
<li><a href="#orgc8587f7">4.4. Comparison of the Analytical Model and the Simscape Model</a></li>
<li><a href="#orgee3f689">4.5. Effect of the parallel stiffness on the IFF plant</a></li>
<li><a href="#orgd0375c8">4.6. IFF when adding a spring in parallel</a></li>
<li><a href="#org75d1588">4.7. Effect of \(k_p\) on the attainable damping</a></li>
<li><a href="#orgad442be">4.1. Schematic</a></li>
<li><a href="#orgeaf20e9">4.2. Equations</a></li>
<li><a href="#org754aa7c">4.3. Plant Parameters</a></li>
<li><a href="#org09dcf36">4.4. Comparison of the Analytical Model and the Simscape Model</a></li>
<li><a href="#orga083ad0">4.5. Effect of the parallel stiffness on the IFF plant</a></li>
<li><a href="#org9a801a8">4.6. IFF when adding a spring in parallel</a></li>
<li><a href="#org43bf919">4.7. Effect of \(k_p\) on the attainable damping</a></li>
</ul>
</li>
<li><a href="#orgddb3c90">5. Comparison</a>
<li><a href="#org49b4648">5. Comparison</a>
<ul>
<li><a href="#org431d055">5.1. Plant Parameters</a></li>
<li><a href="#orge2bc0fb">5.2. Root Locus</a></li>
<li><a href="#org4408310">5.3. Controllers - Optimal Gains</a></li>
<li><a href="#orge8f52b1">5.4. Passive Damping - Critical Damping</a></li>
<li><a href="#org72e760e">5.5. Transmissibility And Compliance</a>
<li><a href="#org49053ce">5.1. Plant Parameters</a></li>
<li><a href="#orgb7ee15d">5.2. Root Locus</a></li>
<li><a href="#org410d42d">5.3. Controllers - Optimal Gains</a></li>
<li><a href="#orga369eef">5.4. Passive Damping - Critical Damping</a></li>
<li><a href="#orga86e2e4">5.5. Transmissibility And Compliance</a>
<ul>
<li><a href="#org6712b69">5.5.1. Passive Damping</a></li>
<li><a href="#orga1f0122">5.5.1. Passive Damping</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org0deef61">6. Notations</a></li>
<li><a href="#org5f907f2">6. Notations</a></li>
</ul>
</div>
</div>
@ -98,12 +94,12 @@ This document gathers the Matlab code used to for the paper (<a href="#citeproc_
It is structured in several sections:
</p>
<ul class="org-ul">
<li>Section <a href="#orgc0bf01d">1</a>: presents a simple model of a rotating suspended platform that will be used throughout this study.</li>
<li>Section <a href="#orgef5f38f">2</a>: explains how the unconditional stability of IFF is lost due to Gyroscopic effects induced by the rotation.</li>
<li>Section <a href="#orgc5d9c3c">3</a>: suggests a simple modification of the control law such that damping can be added to the suspension modes in a robust way.</li>
<li>Section <a href="#org630382c">4</a>: proposes to add springs in parallel with the force sensors to regain the unconditional stability of IFF.</li>
<li>Section <a href="#orge4c5d48">5</a>: compares both proposed modifications to the classical IFF in terms of damping authority and closed-loop system behavior.</li>
<li>Section <a href="#orgf01f0c5">6</a>: contains the notations used for both the Matlab code and the paper</li>
<li>Section <a href="#orge2ad7e2">1</a>: presents a simple model of a rotating suspended platform that will be used throughout this study.</li>
<li>Section <a href="#org5675407">2</a>: explains how the unconditional stability of IFF is lost due to Gyroscopic effects induced by the rotation.</li>
<li>Section <a href="#orgbed1a10">3</a>: suggests a simple modification of the control law such that damping can be added to the suspension modes in a robust way.</li>
<li>Section <a href="#org63d6e2c">4</a>: proposes to add springs in parallel with the force sensors to regain the unconditional stability of IFF.</li>
<li>Section <a href="#orgaede0ad">5</a>: compares both proposed modifications to the classical IFF in terms of damping authority and closed-loop system behavior.</li>
<li>Section <a href="#org15fb531">6</a>: contains the notations used for both the Matlab code and the paper</li>
</ul>
<p>
@ -130,49 +126,49 @@ To run the Matlab code, go in the <code>matlab</code> directory and run the foll
</thead>
<tbody>
<tr>
<td class="org-left">Section <a href="#orgc0bf01d">1</a></td>
<td class="org-left">Section <a href="#orge2ad7e2">1</a></td>
<td class="org-left"><code>s1_system_description.m</code></td>
</tr>
<tr>
<td class="org-left">Section <a href="#orgef5f38f">2</a></td>
<td class="org-left">Section <a href="#org5675407">2</a></td>
<td class="org-left"><code>s2_iff_pure_int.m</code></td>
</tr>
<tr>
<td class="org-left">Section <a href="#orgc5d9c3c">3</a></td>
<td class="org-left">Section <a href="#orgbed1a10">3</a></td>
<td class="org-left"><code>s3_iff_hpf.m</code></td>
</tr>
<tr>
<td class="org-left">Section <a href="#org630382c">4</a></td>
<td class="org-left">Section <a href="#org63d6e2c">4</a></td>
<td class="org-left"><code>s4_iff_kp.m</code></td>
</tr>
<tr>
<td class="org-left">Section <a href="#orge4c5d48">5</a></td>
<td class="org-left">Section <a href="#orgaede0ad">5</a></td>
<td class="org-left"><code>s5_act_damp_comparison.m</code></td>
</tr>
</tbody>
</table>
<div id="outline-container-org4dd3571" class="outline-2">
<h2 id="org4dd3571"><span class="section-number-2">1</span> System Description and Analysis</h2>
<div id="outline-container-org19f8b41" class="outline-2">
<h2 id="org19f8b41"><span class="section-number-2">1</span> System Description and Analysis</h2>
<div class="outline-text-2" id="text-1">
<p>
<a id="orgc0bf01d"></a>
<a id="orge2ad7e2"></a>
</p>
</div>
<div id="outline-container-org102a388" class="outline-3">
<h3 id="org102a388"><span class="section-number-3">1.1</span> System description</h3>
<div id="outline-container-org98a8dea" class="outline-3">
<h3 id="org98a8dea"><span class="section-number-3">1.1</span> System description</h3>
<div class="outline-text-3" id="text-1-1">
<p>
The system consists of one 2 degree of freedom translation stage on top of a spindle (figure <a href="#orga4d0ff4">1</a>).
The system consists of one 2 degree of freedom translation stage on top of a spindle (figure <a href="#org1c9a817">1</a>).
</p>
<div id="orga4d0ff4" class="figure">
<div id="org1c9a817" class="figure">
<p><img src="figs-paper/system.png" alt="system.png" />
</p>
<p><span class="figure-number">Figure 1: </span>Schematic of the studied system</p>
@ -185,13 +181,13 @@ As the translation stage is rotating around the Z axis due to the spindle, the f
</div>
</div>
<div id="outline-container-orgf2f55e2" class="outline-3">
<h3 id="orgf2f55e2"><span class="section-number-3">1.2</span> Equations</h3>
<div id="outline-container-orgfaaa549" class="outline-3">
<h3 id="orgfaaa549"><span class="section-number-3">1.2</span> Equations</h3>
<div class="outline-text-3" id="text-1-2">
<p>
Based on the Figure <a href="#orga4d0ff4">1</a>, the equations of motions are:
Based on the Figure <a href="#org1c9a817">1</a>, the equations of motions are:
</p>
<div class="important" id="orgc9bbc1e">
<div class="important" id="org68f2629">
\begin{equation}
\begin{bmatrix} d_u \\ d_v \end{bmatrix} =
\bm{G}_d
@ -221,8 +217,8 @@ With:
</div>
</div>
<div id="outline-container-org5e98250" class="outline-3">
<h3 id="org5e98250"><span class="section-number-3">1.3</span> Numerical Values</h3>
<div id="outline-container-org34789ad" class="outline-3">
<h3 id="org34789ad"><span class="section-number-3">1.3</span> Numerical Values</h3>
<div class="outline-text-3" id="text-1-3">
<p>
Let&rsquo;s define initial values for the model.
@ -242,28 +238,35 @@ w0 = sqrt(k<span class="org-type">/</span>m); <span class="org-comment">% [rad/s
</div>
</div>
<div id="outline-container-org3640334" class="outline-3">
<h3 id="org3640334"><span class="section-number-3">1.4</span> Campbell Diagram</h3>
<div id="outline-container-org1e81232" class="outline-3">
<h3 id="org1e81232"><span class="section-number-3">1.4</span> Campbell Diagram</h3>
<div class="outline-text-3" id="text-1-4">
<p>
The Campbell Diagram displays the evolution of the real and imaginary parts of the system as a function of the rotating speed.
</p>
<p>
It is shown in Figure <a href="#orga8b6b21">2</a>, and one can see that the system becomes unstable for \(\Omega > \omega_0\) (the real part of one of the poles becomes positive).
It is shown in Figures <a href="#org4431307">2</a> and <a href="#orgca54070">3</a>, and one can see that the system becomes unstable for \(\Omega > \omega_0\) (the real part of one of the poles becomes positive).
</p>
<div id="orga8b6b21" class="figure">
<p><img src="figs/campbell_diagram.png" alt="campbell_diagram.png" />
<div id="org4431307" class="figure">
<p><img src="figs/campbell_diagram_real.png" alt="campbell_diagram_real.png" />
</p>
<p><span class="figure-number">Figure 2: </span>Campbell Diagram</p>
<p><span class="figure-number">Figure 2: </span>Campbell Diagram - Real Part</p>
</div>
<div id="orgca54070" class="figure">
<p><img src="figs/campbell_diagram_imag.png" alt="campbell_diagram_imag.png" />
</p>
<p><span class="figure-number">Figure 3: </span>Campbell Diagram - Imaginary Part</p>
</div>
</div>
</div>
<div id="outline-container-orga12b88a" class="outline-3">
<h3 id="orga12b88a"><span class="section-number-3">1.5</span> Simscape Model</h3>
<div id="outline-container-orga9a73f1" class="outline-3">
<h3 id="orga9a73f1"><span class="section-number-3">1.5</span> Simscape Model</h3>
<div class="outline-text-3" id="text-1-5">
<p>
In order to validate all the equations of motion, a Simscape model of the same system has been developed.
@ -318,20 +321,20 @@ The same transfer function from \([F_u, F_v]\) to \([d_u, d_v]\) is written down
</div>
<p>
Both transfer functions are compared in Figure <a href="#org1f0413f">3</a> and are found to perfectly match.
Both transfer functions are compared in Figure <a href="#orga2b2c73">4</a> and are found to perfectly match.
</p>
<div id="org1f0413f" class="figure">
<div id="orga2b2c73" class="figure">
<p><img src="figs/plant_simscape_analytical.png" alt="plant_simscape_analytical.png" />
</p>
<p><span class="figure-number">Figure 3: </span>Bode plot of the transfer function from \([F_u, F_v]\) to \([d_u, d_v]\) as identified from the Simscape model and from an analytical model</p>
<p><span class="figure-number">Figure 4: </span>Bode plot of the transfer function from \([F_u, F_v]\) to \([d_u, d_v]\) as identified from the Simscape model and from an analytical model</p>
</div>
</div>
</div>
<div id="outline-container-org375be86" class="outline-3">
<h3 id="org375be86"><span class="section-number-3">1.6</span> Effect of the rotation speed</h3>
<div id="outline-container-org70c5289" class="outline-3">
<h3 id="org70c5289"><span class="section-number-3">1.6</span> Effect of the rotation speed</h3>
<div class="outline-text-3" id="text-1-6">
<p>
The transfer functions from \([F_u, F_v]\) to \([d_u, d_v]\) are identified for the following rotating speeds.
@ -355,27 +358,34 @@ The transfer functions from \([F_u, F_v]\) to \([d_u, d_v]\) are identified for
</div>
<p>
They are compared in Figure <a href="#org6839846">4</a>.
They are compared in Figures <a href="#orgb60dd62">5</a> and <a href="#org8c7bb13">6</a>.
</p>
<div id="org6839846" class="figure">
<p><img src="figs/plant_compare_rotating_speed.png" alt="plant_compare_rotating_speed.png" />
<div id="orgb60dd62" class="figure">
<p><img src="figs/plant_compare_rotating_speed_direct.png" alt="plant_compare_rotating_speed_direct.png" />
</p>
<p><span class="figure-number">Figure 4: </span>Comparison of the transfer functions from \([F_u, F_v]\) to \([d_u, d_v]\) for several rotating speed</p>
<p><span class="figure-number">Figure 5: </span>Comparison of the transfer functions from \([F_u, F_v]\) to \([d_u, d_v]\) for several rotating speed - Direct Terms</p>
</div>
<div id="org8c7bb13" class="figure">
<p><img src="figs/plant_compare_rotating_speed_coupling.png" alt="plant_compare_rotating_speed_coupling.png" />
</p>
<p><span class="figure-number">Figure 6: </span>Comparison of the transfer functions from \([F_u, F_v]\) to \([d_u, d_v]\) for several rotating speed - Coupling Terms</p>
</div>
</div>
</div>
</div>
<div id="outline-container-orgcf5b992" class="outline-2">
<h2 id="orgcf5b992"><span class="section-number-2">2</span> Problem with pure Integral Force Feedback</h2>
<div id="outline-container-orgd11a8cf" class="outline-2">
<h2 id="orgd11a8cf"><span class="section-number-2">2</span> Problem with pure Integral Force Feedback</h2>
<div class="outline-text-2" id="text-2">
<p>
<a id="orgef5f38f"></a>
<a id="org5675407"></a>
</p>
<p>
Force sensors are added in series with the two actuators (Figure <a href="#orgd005cc2">5</a>).
Force sensors are added in series with the two actuators (Figure <a href="#org2c86f67">7</a>).
</p>
<p>
@ -383,15 +393,15 @@ Two identical controllers \(K_F\) are used to feedback each of the sensed force
</p>
<div id="orgd005cc2" class="figure">
<div id="org2c86f67" class="figure">
<p><img src="figs-paper/system_iff.png" alt="system_iff.png" />
</p>
<p><span class="figure-number">Figure 5: </span>System with added Force Sensor in series with the actuators</p>
<p><span class="figure-number">Figure 7: </span>System with added Force Sensor in series with the actuators</p>
</div>
</div>
<div id="outline-container-org8f2a6ef" class="outline-3">
<h3 id="org8f2a6ef"><span class="section-number-3">2.1</span> Plant Parameters</h3>
<div id="outline-container-org9987b80" class="outline-3">
<h3 id="org9987b80"><span class="section-number-3">2.1</span> Plant Parameters</h3>
<div class="outline-text-3" id="text-2-1">
<p>
Let&rsquo;s define initial values for the model.
@ -411,8 +421,8 @@ w0 = sqrt(k<span class="org-type">/</span>m); <span class="org-comment">% [rad/s
</div>
</div>
<div id="outline-container-orgfb449f5" class="outline-3">
<h3 id="orgfb449f5"><span class="section-number-3">2.2</span> Equations</h3>
<div id="outline-container-orgbd3b27a" class="outline-3">
<h3 id="orgbd3b27a"><span class="section-number-3">2.2</span> Equations</h3>
<div class="outline-text-3" id="text-2-2">
<p>
The sensed forces are equal to:
@ -430,7 +440,7 @@ The sensed forces are equal to:
<p>
Which then gives:
</p>
<div class="important" id="org82cdaab">
<div class="important" id="org19dc48f">
\begin{equation}
\begin{bmatrix} f_{u} \\ f_{v} \end{bmatrix} =
\bm{G}_{f}
@ -457,8 +467,8 @@ Which then gives:
</div>
</div>
<div id="outline-container-org05033a6" class="outline-3">
<h3 id="org05033a6"><span class="section-number-3">2.3</span> Comparison of the Analytical Model and the Simscape Model</h3>
<div id="outline-container-orgfa7d7a2" class="outline-3">
<h3 id="orgfa7d7a2"><span class="section-number-3">2.3</span> Comparison of the Analytical Model and the Simscape Model</h3>
<div class="outline-text-3" id="text-2-3">
<p>
The rotation speed is set to \(\Omega = 0.1 \omega_0\).
@ -507,25 +517,25 @@ The same transfer function from \([F_u, F_v]\) to \([f_u, f_v]\) is written down
</div>
<p>
The two are compared in Figure <a href="#org9b003d1">6</a> and found to perfectly match.
The two are compared in Figure <a href="#org38c526e">8</a> and found to perfectly match.
</p>
<div id="org9b003d1" class="figure">
<div id="org38c526e" class="figure">
<p><img src="figs/plant_iff_comp_simscape_analytical.png" alt="plant_iff_comp_simscape_analytical.png" />
</p>
<p><span class="figure-number">Figure 6: </span>Comparison of the transfer functions from \([F_u, F_v]\) to \([f_u, f_v]\) between the Simscape model and the analytical one</p>
<p><span class="figure-number">Figure 8: </span>Comparison of the transfer functions from \([F_u, F_v]\) to \([f_u, f_v]\) between the Simscape model and the analytical one</p>
</div>
</div>
</div>
<div id="outline-container-orge2f7644" class="outline-3">
<h3 id="orge2f7644"><span class="section-number-3">2.4</span> Effect of the rotation speed</h3>
<div id="outline-container-orgcab9733" class="outline-3">
<h3 id="orgcab9733"><span class="section-number-3">2.4</span> Effect of the rotation speed</h3>
<div class="outline-text-3" id="text-2-4">
<p>
The transfer functions from \([F_u, F_v]\) to \([f_u, f_v]\) are identified for the following rotating speeds.
</p>
<div class="org-src-container">
<pre class="src src-matlab">Ws = [0, 0.2, 0.7, 1.1]<span class="org-type">*</span>w0; <span class="org-comment">% Rotating Speeds [rad/s]</span>
<pre class="src src-matlab">Ws = [0, 0.2, 0.7]<span class="org-type">*</span>w0; <span class="org-comment">% Rotating Speeds [rad/s]</span>
</pre>
</div>
@ -543,19 +553,19 @@ The transfer functions from \([F_u, F_v]\) to \([f_u, f_v]\) are identified for
</div>
<p>
The obtained transfer functions are shown in Figure <a href="#orgd195c47">7</a>.
The obtained transfer functions are shown in Figure <a href="#org6f772b1">9</a>.
</p>
<div id="orgd195c47" class="figure">
<div id="org6f772b1" class="figure">
<p><img src="figs/plant_iff_compare_rotating_speed.png" alt="plant_iff_compare_rotating_speed.png" />
</p>
<p><span class="figure-number">Figure 7: </span>Comparison of the transfer functions from \([F_u, F_v]\) to \([f_u, f_v]\) for several rotating speed</p>
<p><span class="figure-number">Figure 9: </span>Comparison of the transfer functions from \([F_u, F_v]\) to \([f_u, f_v]\) for several rotating speed</p>
</div>
</div>
</div>
<div id="outline-container-org5688a92" class="outline-3">
<h3 id="org5688a92"><span class="section-number-3">2.5</span> Decentralized Integral Force Feedback</h3>
<div id="outline-container-org358cdd6" class="outline-3">
<h3 id="org358cdd6"><span class="section-number-3">2.5</span> Decentralized Integral Force Feedback</h3>
<div class="outline-text-3" id="text-2-5">
<p>
The decentralized IFF controller consists of pure integrators:
@ -568,30 +578,30 @@ The decentralized IFF controller consists of pure integrators:
\end{equation}
<p>
The Root Locus (evolution of the poles of the closed loop system in the complex plane as a function of \(g\)) is shown in Figure <a href="#org6455a6c">8</a>.
The Root Locus (evolution of the poles of the closed loop system in the complex plane as a function of \(g\)) is shown in Figure <a href="#org3cd7728">10</a>.
It is shown that for non-null rotating speed, one pole is bound to the right-half plane, and thus the closed loop system is unstable.
</p>
<div id="org6455a6c" class="figure">
<div id="org3cd7728" class="figure">
<p><img src="figs/root_locus_pure_iff.png" alt="root_locus_pure_iff.png" />
</p>
<p><span class="figure-number">Figure 8: </span>Root Locus for the Decentralized Integral Force Feedback controller. Several rotating speed are shown.</p>
<p><span class="figure-number">Figure 10: </span>Root Locus for the Decentralized Integral Force Feedback controller. Several rotating speed are shown.</p>
</div>
</div>
</div>
</div>
<div id="outline-container-org073f9e0" class="outline-2">
<h2 id="org073f9e0"><span class="section-number-2">3</span> Integral Force Feedback with an High Pass Filter</h2>
<div id="outline-container-orgd71a2dc" class="outline-2">
<h2 id="orgd71a2dc"><span class="section-number-2">3</span> Integral Force Feedback with an High Pass Filter</h2>
<div class="outline-text-2" id="text-3">
<p>
<a id="orgc5d9c3c"></a>
<a id="orgbed1a10"></a>
</p>
</div>
<div id="outline-container-org2a5c510" class="outline-3">
<h3 id="org2a5c510"><span class="section-number-3">3.1</span> Plant Parameters</h3>
<div id="outline-container-orgf7495fd" class="outline-3">
<h3 id="orgf7495fd"><span class="section-number-3">3.1</span> Plant Parameters</h3>
<div class="outline-text-3" id="text-3-1">
<p>
Let&rsquo;s define initial values for the model.
@ -611,8 +621,8 @@ w0 = sqrt(k<span class="org-type">/</span>m); <span class="org-comment">% [rad/s
</div>
</div>
<div id="outline-container-org7bb3bef" class="outline-3">
<h3 id="org7bb3bef"><span class="section-number-3">3.2</span> Modified Integral Force Feedback Controller</h3>
<div id="outline-container-org2950938" class="outline-3">
<h3 id="org2950938"><span class="section-number-3">3.2</span> Modified Integral Force Feedback Controller</h3>
<div class="outline-text-3" id="text-3-2">
<p>
Let&rsquo;s modify the initial Integral Force Feedback Controller ; instead of using pure integrators, pseudo integrators (i.e. low pass filters) are used:
@ -647,38 +657,45 @@ And the following rotating speed.
</div>
<p>
The obtained Loop Gain is shown in Figure <a href="#org3f82ef6">9</a>.
The obtained Loop Gain is shown in Figure <a href="#org30acdfb">11</a>.
</p>
<div id="org3f82ef6" class="figure">
<div id="org30acdfb" class="figure">
<p><img src="figs/loop_gain_modified_iff.png" alt="loop_gain_modified_iff.png" />
</p>
<p><span class="figure-number">Figure 9: </span>Loop Gain for the modified IFF controller</p>
<p><span class="figure-number">Figure 11: </span>Loop Gain for the modified IFF controller</p>
</div>
</div>
</div>
<div id="outline-container-org9335519" class="outline-3">
<h3 id="org9335519"><span class="section-number-3">3.3</span> Root Locus</h3>
<div id="outline-container-org38695fe" class="outline-3">
<h3 id="org38695fe"><span class="section-number-3">3.3</span> Root Locus</h3>
<div class="outline-text-3" id="text-3-3">
<p>
As shown in the Root Locus plot (Figure <a href="#orgf377d23">10</a>), for some value of the gain, the system remains stable.
As shown in the Root Locus plot (Figure <a href="#org8fd08f7">12</a>), for some value of the gain, the system remains stable.
</p>
<div id="orgf377d23" class="figure">
<div id="org8fd08f7" class="figure">
<p><img src="figs/root_locus_modified_iff.png" alt="root_locus_modified_iff.png" />
</p>
<p><span class="figure-number">Figure 10: </span>Root Locus for the modified IFF controller</p>
<p><span class="figure-number">Figure 12: </span>Root Locus for the modified IFF controller</p>
</div>
<div id="org6bf833a" class="figure">
<p><img src="figs/root_locus_modified_iff_zoom.png" alt="root_locus_modified_iff_zoom.png" />
</p>
<p><span class="figure-number">Figure 13: </span>Root Locus for the modified IFF controller - Zoom</p>
</div>
</div>
</div>
<div id="outline-container-org1172118" class="outline-3">
<h3 id="org1172118"><span class="section-number-3">3.4</span> What is the optimal \(\omega_i\) and \(g\)?</h3>
<div id="outline-container-org60aa70e" class="outline-3">
<h3 id="org60aa70e"><span class="section-number-3">3.4</span> What is the optimal \(\omega_i\) and \(g\)?</h3>
<div class="outline-text-3" id="text-3-4">
<p>
In order to visualize the effect of \(\omega_i\) on the attainable damping, the Root Locus is displayed in Figure <a href="#orge3358a4">11</a> for the following \(\omega_i\):
In order to visualize the effect of \(\omega_i\) on the attainable damping, the Root Locus is displayed in Figure <a href="#orgc07662f">14</a> for the following \(\omega_i\):
</p>
<div class="org-src-container">
<pre class="src src-matlab">wis = [0.01, 0.1, 0.5, 1]<span class="org-type">*</span>w0; <span class="org-comment">% [rad/s]</span>
@ -686,10 +703,17 @@ In order to visualize the effect of \(\omega_i\) on the attainable damping, the
</div>
<div id="orge3358a4" class="figure">
<div id="orgc07662f" class="figure">
<p><img src="figs/root_locus_wi_modified_iff.png" alt="root_locus_wi_modified_iff.png" />
</p>
<p><span class="figure-number">Figure 11: </span>Root Locus for the modified IFF controller (zoomed plot on the left)</p>
<p><span class="figure-number">Figure 14: </span>Root Locus for the modified IFF controller (zoomed plot on the left)</p>
</div>
<div id="org9068d66" class="figure">
<p><img src="figs/root_locus_wi_modified_iff_zoom.png" alt="root_locus_wi_modified_iff_zoom.png" />
</p>
<p><span class="figure-number">Figure 15: </span>Root Locus for the modified IFF controller (zoomed plot on the left)</p>
</div>
<p>
@ -709,12 +733,12 @@ The gain at which the system becomes unstable is
\end{equation}
<p>
While it seems that small \(\omega_i\) do allow more damping to be added to the system (Figure <a href="#orge3358a4">11</a>), the control gains may be limited to small values due to \eqref{eq:iff_gmax} thus reducing the attainable damping.
While it seems that small \(\omega_i\) do allow more damping to be added to the system (Figure <a href="#orgc07662f">14</a>), the control gains may be limited to small values due to \eqref{eq:iff_gmax} thus reducing the attainable damping.
</p>
<p>
There must be an optimum for \(\omega_i\).
To find the optimum, the gain that maximize the simultaneous damping of the mode is identified for a wide range of \(\omega_i\) (Figure <a href="#org1939966">12</a>).
To find the optimum, the gain that maximize the simultaneous damping of the mode is identified for a wide range of \(\omega_i\) (Figure <a href="#org609eb89">16</a>).
</p>
<div class="org-src-container">
@ -737,35 +761,35 @@ opt_gain = zeros(1, length(wis)); <span class="org-comment">% Corresponding opti
</div>
<div id="org1939966" class="figure">
<div id="org609eb89" class="figure">
<p><img src="figs/mod_iff_damping_wi.png" alt="mod_iff_damping_wi.png" />
</p>
<p><span class="figure-number">Figure 12: </span>Simultaneous attainable damping of the closed loop poles as a function of \(\omega_i\)</p>
<p><span class="figure-number">Figure 16: </span>Simultaneous attainable damping of the closed loop poles as a function of \(\omega_i\)</p>
</div>
</div>
</div>
</div>
<div id="outline-container-org4422289" class="outline-2">
<h2 id="org4422289"><span class="section-number-2">4</span> IFF with a stiffness in parallel with the force sensor</h2>
<div id="outline-container-orgdb918b6" class="outline-2">
<h2 id="orgdb918b6"><span class="section-number-2">4</span> IFF with a stiffness in parallel with the force sensor</h2>
<div class="outline-text-2" id="text-4">
<p>
<a id="org630382c"></a>
<a id="org63d6e2c"></a>
</p>
</div>
<div id="outline-container-org114428c" class="outline-3">
<h3 id="org114428c"><span class="section-number-3">4.1</span> Schematic</h3>
<div id="outline-container-orgad442be" class="outline-3">
<h3 id="orgad442be"><span class="section-number-3">4.1</span> Schematic</h3>
<div class="outline-text-3" id="text-4-1">
<p>
In this section additional springs in parallel with the force sensors are added to counteract the negative stiffness induced by the rotation.
</p>
<div id="orgfdfe933" class="figure">
<div id="org13edf46" class="figure">
<p><img src="figs-paper/system_parallel_springs.png" alt="system_parallel_springs.png" />
</p>
<p><span class="figure-number">Figure 13: </span>Studied system with additional springs in parallel with the actuators and force sensors</p>
<p><span class="figure-number">Figure 17: </span>Studied system with additional springs in parallel with the actuators and force sensors</p>
</div>
<p>
@ -777,10 +801,10 @@ In order to keep the overall stiffness \(k = k_a + k_p\) constant, a scalar para
</div>
</div>
<div id="outline-container-orgfa353f8" class="outline-3">
<h3 id="orgfa353f8"><span class="section-number-3">4.2</span> Equations</h3>
<div id="outline-container-orgeaf20e9" class="outline-3">
<h3 id="orgeaf20e9"><span class="section-number-3">4.2</span> Equations</h3>
<div class="outline-text-3" id="text-4-2">
<div class="important" id="org96d2e1e">
<div class="important" id="org6c89777">
\begin{equation}
\begin{bmatrix} f_u \\ f_v \end{bmatrix} =
\bm{G}_k
@ -817,8 +841,8 @@ In order to have two complex conjugate zeros (instead of real zeros):
</div>
</div>
<div id="outline-container-orgfc70f3c" class="outline-3">
<h3 id="orgfc70f3c"><span class="section-number-3">4.3</span> Plant Parameters</h3>
<div id="outline-container-org754aa7c" class="outline-3">
<h3 id="org754aa7c"><span class="section-number-3">4.3</span> Plant Parameters</h3>
<div class="outline-text-3" id="text-4-3">
<p>
Let&rsquo;s define initial values for the model.
@ -838,8 +862,8 @@ w0 = sqrt(k<span class="org-type">/</span>m); <span class="org-comment">% [rad/s
</div>
</div>
<div id="outline-container-orgc8587f7" class="outline-3">
<h3 id="orgc8587f7"><span class="section-number-3">4.4</span> Comparison of the Analytical Model and the Simscape Model</h3>
<div id="outline-container-org09dcf36" class="outline-3">
<h3 id="org09dcf36"><span class="section-number-3">4.4</span> Comparison of the Analytical Model and the Simscape Model</h3>
<div class="outline-text-3" id="text-4-4">
<p>
The same transfer function from \([F_u, F_v]\) to \([f_u, f_v]\) is written down from the analytical model.
@ -887,16 +911,16 @@ Giff_th.OutputName = {<span class="org-string">'fu'</span>, <span class="org-str
</div>
<div id="org51b5cf2" class="figure">
<div id="org87b6263" class="figure">
<p><img src="figs/plant_iff_kp_comp_simscape_analytical.png" alt="plant_iff_kp_comp_simscape_analytical.png" />
</p>
<p><span class="figure-number">Figure 14: </span>Comparison of the transfer functions from \([F_u, F_v]\) to \([f_u, f_v]\) between the Simscape model and the analytical one</p>
<p><span class="figure-number">Figure 18: </span>Comparison of the transfer functions from \([F_u, F_v]\) to \([f_u, f_v]\) between the Simscape model and the analytical one</p>
</div>
</div>
</div>
<div id="outline-container-orgee3f689" class="outline-3">
<h3 id="orgee3f689"><span class="section-number-3">4.5</span> Effect of the parallel stiffness on the IFF plant</h3>
<div id="outline-container-orga083ad0" class="outline-3">
<h3 id="orga083ad0"><span class="section-number-3">4.5</span> Effect of the parallel stiffness on the IFF plant</h3>
<div class="outline-text-3" id="text-4-5">
<p>
The rotation speed is set to \(\Omega = 0.1 \omega_0\).
@ -916,7 +940,7 @@ And the IFF plant (transfer function from \([F_u, F_v]\) to \([f_u, f_v]\)) is i
</ul>
<p>
The results are shown in Figure <a href="#org03c4484">15</a>.
The results are shown in Figure <a href="#org6ecd303">19</a>.
</p>
<p>
@ -962,19 +986,19 @@ Giff_l = 1<span class="org-type">/</span>( (s<span class="org-type">^</span>2<sp
</div>
<div id="org03c4484" class="figure">
<div id="org6ecd303" class="figure">
<p><img src="figs/plant_iff_kp.png" alt="plant_iff_kp.png" />
</p>
<p><span class="figure-number">Figure 15: </span>Transfer function from \([F_u, F_v]\) to \([f_u, f_v]\) for \(k_p = 0\), \(k_p < m \Omega^2\) and \(k_p > m \Omega^2\)</p>
<p><span class="figure-number">Figure 19: </span>Transfer function from \([F_u, F_v]\) to \([f_u, f_v]\) for \(k_p = 0\), \(k_p < m \Omega^2\) and \(k_p > m \Omega^2\)</p>
</div>
</div>
</div>
<div id="outline-container-orgd0375c8" class="outline-3">
<h3 id="orgd0375c8"><span class="section-number-3">4.6</span> IFF when adding a spring in parallel</h3>
<div id="outline-container-org9a801a8" class="outline-3">
<h3 id="org9a801a8"><span class="section-number-3">4.6</span> IFF when adding a spring in parallel</h3>
<div class="outline-text-3" id="text-4-6">
<p>
In Figure <a href="#org2e1709c">16</a> is displayed the Root Locus in the three considered cases with
In Figure <a href="#org1f55ab2">20</a> is displayed the Root Locus in the three considered cases with
</p>
\begin{equation}
K_{\text{IFF}} = \frac{g}{s} \begin{bmatrix}
@ -995,23 +1019,30 @@ Thus, decentralized IFF controller with pure integrators can be used if:
\end{equation}
<div id="org2e1709c" class="figure">
<div id="org1f55ab2" class="figure">
<p><img src="figs/root_locus_iff_kp.png" alt="root_locus_iff_kp.png" />
</p>
<p><span class="figure-number">Figure 16: </span>Root Locus</p>
<p><span class="figure-number">Figure 20: </span>Root Locus</p>
</div>
<div id="orgf23aef5" class="figure">
<p><img src="figs/root_locus_iff_kp_zoom.png" alt="root_locus_iff_kp_zoom.png" />
</p>
<p><span class="figure-number">Figure 21: </span>Root Locus</p>
</div>
</div>
</div>
<div id="outline-container-org75d1588" class="outline-3">
<h3 id="org75d1588"><span class="section-number-3">4.7</span> Effect of \(k_p\) on the attainable damping</h3>
<div id="outline-container-org43bf919" class="outline-3">
<h3 id="org43bf919"><span class="section-number-3">4.7</span> Effect of \(k_p\) on the attainable damping</h3>
<div class="outline-text-3" id="text-4-7">
<p>
However, having large values of \(k_p\) may decrease the attainable damping.
</p>
<p>
To study the second point, Root Locus plots for the following values of \(k_p\) are shown in Figure <a href="#org00f5b30">17</a>.
To study the second point, Root Locus plots for the following values of \(k_p\) are shown in Figure <a href="#org49df006">22</a>.
</p>
<div class="org-src-container">
<pre class="src src-matlab">kps = [2, 20, 40]<span class="org-type">*</span>m<span class="org-type">*</span>W<span class="org-type">^</span>2;
@ -1022,10 +1053,10 @@ To study the second point, Root Locus plots for the following values of \(k_p\)
It is shown that large values of \(k_p\) decreases the attainable damping.
</p>
<div id="org00f5b30" class="figure">
<div id="org49df006" class="figure">
<p><img src="figs/root_locus_iff_kps.png" alt="root_locus_iff_kps.png" />
</p>
<p><span class="figure-number">Figure 17: </span>Root Locus plot</p>
<p><span class="figure-number">Figure 22: </span>Root Locus plot</p>
</div>
<div class="org-src-container">
@ -1057,19 +1088,20 @@ Kiff = 1<span class="org-type">/</span>s<span class="org-type">*</span>eye(2);
</div>
<div id="org9598cb2" class="figure">
<div id="orgfa8828a" class="figure">
<p><img src="figs/opt_damp_alpha.png" alt="opt_damp_alpha.png" />
</p>
<p><span class="figure-number">Figure 23: </span>Attainable damping ratio and corresponding controller gain for different parameter \(\alpha\)</p>
</div>
</div>
</div>
</div>
<div id="outline-container-orgddb3c90" class="outline-2">
<h2 id="orgddb3c90"><span class="section-number-2">5</span> Comparison</h2>
<div id="outline-container-org49b4648" class="outline-2">
<h2 id="org49b4648"><span class="section-number-2">5</span> Comparison</h2>
<div class="outline-text-2" id="text-5">
<p>
<a id="orge4c5d48"></a>
<a id="orgaede0ad"></a>
</p>
<p>
Two modifications to adapt the IFF control strategy to rotating platforms have been proposed.
@ -1077,8 +1109,8 @@ These two methods are now compared in terms of added damping, closed-loop compli
</p>
</div>
<div id="outline-container-org431d055" class="outline-3">
<h3 id="org431d055"><span class="section-number-3">5.1</span> Plant Parameters</h3>
<div id="outline-container-org49053ce" class="outline-3">
<h3 id="org49053ce"><span class="section-number-3">5.1</span> Plant Parameters</h3>
<div class="outline-text-3" id="text-5-1">
<p>
Let&rsquo;s define initial values for the model.
@ -1106,8 +1138,8 @@ The rotating speed is set to \(\Omega = 0.1 \omega_0\).
</div>
</div>
<div id="outline-container-orge2bc0fb" class="outline-3">
<h3 id="orge2bc0fb"><span class="section-number-3">5.2</span> Root Locus</h3>
<div id="outline-container-orgb7ee15d" class="outline-3">
<h3 id="orgb7ee15d"><span class="section-number-3">5.2</span> Root Locus</h3>
<div class="outline-text-3" id="text-5-2">
<p>
IFF with High Pass Filter
@ -1140,16 +1172,16 @@ k = k <span class="org-type">+</span> kp;
</div>
<div id="org79055fa" class="figure">
<div id="orgda0a6de" class="figure">
<p><img src="figs/comp_root_locus.png" alt="comp_root_locus.png" />
</p>
<p><span class="figure-number">Figure 19: </span>Root Locus plot - Comparison of IFF with additional high pass filter, IFF with additional parallel stiffness</p>
<p><span class="figure-number">Figure 24: </span>Root Locus plot - Comparison of IFF with additional high pass filter, IFF with additional parallel stiffness</p>
</div>
</div>
</div>
<div id="outline-container-org4408310" class="outline-3">
<h3 id="org4408310"><span class="section-number-3">5.3</span> Controllers - Optimal Gains</h3>
<div id="outline-container-org410d42d" class="outline-3">
<h3 id="org410d42d"><span class="section-number-3">5.3</span> Controllers - Optimal Gains</h3>
<div class="outline-text-3" id="text-5-3">
<p>
In order to compare to three considered Active Damping techniques, gains that yield maximum damping of all the modes are computed for each case.
@ -1193,8 +1225,8 @@ The obtained damping ratio and control are shown below.
</div>
</div>
<div id="outline-container-orge8f52b1" class="outline-3">
<h3 id="orge8f52b1"><span class="section-number-3">5.4</span> Passive Damping - Critical Damping</h3>
<div id="outline-container-orga369eef" class="outline-3">
<h3 id="orga369eef"><span class="section-number-3">5.4</span> Passive Damping - Critical Damping</h3>
<div class="outline-text-3" id="text-5-4">
\begin{equation}
\xi = \frac{c}{2 \sqrt{km}}
@ -1214,11 +1246,11 @@ Critical Damping corresponds to to \(\xi = 1\), and thus:
</div>
</div>
<div id="outline-container-org72e760e" class="outline-3">
<h3 id="org72e760e"><span class="section-number-3">5.5</span> Transmissibility And Compliance</h3>
<div id="outline-container-orga86e2e4" class="outline-3">
<h3 id="orga86e2e4"><span class="section-number-3">5.5</span> Transmissibility And Compliance</h3>
<div class="outline-text-3" id="text-5-5">
<p>
<a id="org2d9db6b"></a>
<a id="orgd9d7966"></a>
</p>
<div class="org-src-container">
@ -1247,8 +1279,8 @@ G_ol.OutputName = {<span class="org-string">'Dx'</span>, <span class="org-string
</div>
</div>
<div id="outline-container-org6712b69" class="outline-4">
<h4 id="org6712b69"><span class="section-number-4">5.5.1</span> Passive Damping</h4>
<div id="outline-container-orga1f0122" class="outline-4">
<h4 id="orga1f0122"><span class="section-number-4">5.5.1</span> Passive Damping</h4>
<div class="outline-text-4" id="text-5-5-1">
<div class="org-src-container">
<pre class="src src-matlab">kp = 0;
@ -1318,29 +1350,29 @@ G_kp.OutputName = {<span class="org-string">'Dx'</span>, <span class="org-string
<div class="outline-text-3" id="text-5-5">
<div id="orga7bab8c" class="figure">
<div id="org5cf2c73" class="figure">
<p><img src="figs/comp_transmissibility.png" alt="comp_transmissibility.png" />
</p>
<p><span class="figure-number">Figure 20: </span>Comparison of the transmissibility</p>
<p><span class="figure-number">Figure 25: </span>Comparison of the transmissibility</p>
</div>
</div>
<div class="outline-text-3" id="text-5-5">
<div id="orgfd8c372" class="figure">
<div id="orga885ca6" class="figure">
<p><img src="figs/comp_compliance.png" alt="comp_compliance.png" />
</p>
<p><span class="figure-number">Figure 21: </span>Comparison of the obtained Compliance</p>
<p><span class="figure-number">Figure 26: </span>Comparison of the obtained Compliance</p>
</div>
</div>
</div>
</div>
<div id="outline-container-org0deef61" class="outline-2">
<h2 id="org0deef61"><span class="section-number-2">6</span> Notations</h2>
<div id="outline-container-org5f907f2" class="outline-2">
<h2 id="org5f907f2"><span class="section-number-2">6</span> Notations</h2>
<div class="outline-text-2" id="text-6">
<p>
<a id="orgf01f0c5"></a>
<a id="org15fb531"></a>
</p>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
@ -1494,7 +1526,7 @@ G_kp.OutputName = {<span class="org-string">'Dx'</span>, <span class="org-string
</div>
<div id="postamble" class="status">
<p class="author">Author: Thomas Dehaeze</p>
<p class="date">Created: 2020-10-27 mar. 09:18</p>
<p class="date">Created: 2020-11-12 jeu. 10:40</p>
</div>
</body>
</html>

View File

@ -1,18 +1,14 @@
#+TITLE: Active Damping of Rotating Platforms using Integral Force Feedback - Matlab Computation
:DRAWER:
#+HTML_LINK_HOME: ../index.html
#+HTML_LINK_UP: ../index.html
#+HTML_LINK_UP: ../index.html
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/>
#+HTML_HEAD: <script type="text/javascript" src="https://research.tdehaeze.xyz/js/script.js"></script>
#+LATEX_CLASS: cleanreport
#+LATEX_CLASS_OPTIONS: [tocnp, secbreak, minted]
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
#+HTML_HEAD: <script src="../js/jquery.min.js"></script>
#+HTML_HEAD: <script src="../js/bootstrap.min.js"></script>
#+HTML_HEAD: <script src="../js/jquery.stickytableheaders.min.js"></script>
#+HTML_HEAD: <script src="../js/readtheorg.js"></script>
#+PROPERTY: header-args:matlab :session *MATLAB*
#+PROPERTY: header-args:matlab+ :comments org
#+PROPERTY: header-args:matlab+ :exports both

View File

@ -3,310 +3,79 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2019-07-22 lun. 09:28 -->
<!-- 2020-11-12 jeu. 10:40 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>LaTeX Configuration for Tikz export</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Thomas Dehaeze" />
<style type="text/css">
<!--/*--><![CDATA[/*><!--*/
.title { text-align: center;
margin-bottom: .2em; }
.subtitle { text-align: center;
font-size: medium;
font-weight: bold;
margin-top:0; }
.todo { font-family: monospace; color: red; }
.done { font-family: monospace; color: green; }
.priority { font-family: monospace; color: orange; }
.tag { background-color: #eee; font-family: monospace;
padding: 2px; font-size: 80%; font-weight: normal; }
.timestamp { color: #bebebe; }
.timestamp-kwd { color: #5f9ea0; }
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
.underline { text-decoration: underline; }
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
p.verse { margin-left: 3%; }
pre {
border: 1px solid #ccc;
box-shadow: 3px 3px 3px #eee;
padding: 8pt;
font-family: monospace;
overflow: auto;
margin: 1.2em;
}
pre.src {
position: relative;
overflow: visible;
padding-top: 1.2em;
}
pre.src:before {
display: none;
position: absolute;
background-color: white;
top: -10px;
right: 10px;
padding: 3px;
border: 1px solid black;
}
pre.src:hover:before { display: inline;}
/* Languages per Org manual */
pre.src-asymptote:before { content: 'Asymptote'; }
pre.src-awk:before { content: 'Awk'; }
pre.src-C:before { content: 'C'; }
/* pre.src-C++ doesn't work in CSS */
pre.src-clojure:before { content: 'Clojure'; }
pre.src-css:before { content: 'CSS'; }
pre.src-D:before { content: 'D'; }
pre.src-ditaa:before { content: 'ditaa'; }
pre.src-dot:before { content: 'Graphviz'; }
pre.src-calc:before { content: 'Emacs Calc'; }
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
pre.src-fortran:before { content: 'Fortran'; }
pre.src-gnuplot:before { content: 'gnuplot'; }
pre.src-haskell:before { content: 'Haskell'; }
pre.src-hledger:before { content: 'hledger'; }
pre.src-java:before { content: 'Java'; }
pre.src-js:before { content: 'Javascript'; }
pre.src-latex:before { content: 'LaTeX'; }
pre.src-ledger:before { content: 'Ledger'; }
pre.src-lisp:before { content: 'Lisp'; }
pre.src-lilypond:before { content: 'Lilypond'; }
pre.src-lua:before { content: 'Lua'; }
pre.src-matlab:before { content: 'MATLAB'; }
pre.src-mscgen:before { content: 'Mscgen'; }
pre.src-ocaml:before { content: 'Objective Caml'; }
pre.src-octave:before { content: 'Octave'; }
pre.src-org:before { content: 'Org mode'; }
pre.src-oz:before { content: 'OZ'; }
pre.src-plantuml:before { content: 'Plantuml'; }
pre.src-processing:before { content: 'Processing.js'; }
pre.src-python:before { content: 'Python'; }
pre.src-R:before { content: 'R'; }
pre.src-ruby:before { content: 'Ruby'; }
pre.src-sass:before { content: 'Sass'; }
pre.src-scheme:before { content: 'Scheme'; }
pre.src-screen:before { content: 'Gnu Screen'; }
pre.src-sed:before { content: 'Sed'; }
pre.src-sh:before { content: 'shell'; }
pre.src-sql:before { content: 'SQL'; }
pre.src-sqlite:before { content: 'SQLite'; }
/* additional languages in org.el's org-babel-load-languages alist */
pre.src-forth:before { content: 'Forth'; }
pre.src-io:before { content: 'IO'; }
pre.src-J:before { content: 'J'; }
pre.src-makefile:before { content: 'Makefile'; }
pre.src-maxima:before { content: 'Maxima'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-picolisp:before { content: 'Pico Lisp'; }
pre.src-scala:before { content: 'Scala'; }
pre.src-shell:before { content: 'Shell Script'; }
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
/* additional language identifiers per "defun org-babel-execute"
in ob-*.el */
pre.src-cpp:before { content: 'C++'; }
pre.src-abc:before { content: 'ABC'; }
pre.src-coq:before { content: 'Coq'; }
pre.src-groovy:before { content: 'Groovy'; }
/* additional language identifiers from org-babel-shell-names in
ob-shell.el: ob-shell is the only babel language using a lambda to put
the execution function name together. */
pre.src-bash:before { content: 'bash'; }
pre.src-csh:before { content: 'csh'; }
pre.src-ash:before { content: 'ash'; }
pre.src-dash:before { content: 'dash'; }
pre.src-ksh:before { content: 'ksh'; }
pre.src-mksh:before { content: 'mksh'; }
pre.src-posh:before { content: 'posh'; }
/* Additional Emacs modes also supported by the LaTeX listings package */
pre.src-ada:before { content: 'Ada'; }
pre.src-asm:before { content: 'Assembler'; }
pre.src-caml:before { content: 'Caml'; }
pre.src-delphi:before { content: 'Delphi'; }
pre.src-html:before { content: 'HTML'; }
pre.src-idl:before { content: 'IDL'; }
pre.src-mercury:before { content: 'Mercury'; }
pre.src-metapost:before { content: 'MetaPost'; }
pre.src-modula-2:before { content: 'Modula-2'; }
pre.src-pascal:before { content: 'Pascal'; }
pre.src-ps:before { content: 'PostScript'; }
pre.src-prolog:before { content: 'Prolog'; }
pre.src-simula:before { content: 'Simula'; }
pre.src-tcl:before { content: 'tcl'; }
pre.src-tex:before { content: 'TeX'; }
pre.src-plain-tex:before { content: 'Plain TeX'; }
pre.src-verilog:before { content: 'Verilog'; }
pre.src-vhdl:before { content: 'VHDL'; }
pre.src-xml:before { content: 'XML'; }
pre.src-nxml:before { content: 'XML'; }
/* add a generic configuration mode; LaTeX export needs an additional
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
pre.src-conf:before { content: 'Configuration File'; }
table { border-collapse:collapse; }
caption.t-above { caption-side: top; }
caption.t-bottom { caption-side: bottom; }
td, th { vertical-align:top; }
th.org-right { text-align: center; }
th.org-left { text-align: center; }
th.org-center { text-align: center; }
td.org-right { text-align: right; }
td.org-left { text-align: left; }
td.org-center { text-align: center; }
dt { font-weight: bold; }
.footpara { display: inline; }
.footdef { margin-bottom: 1em; }
.figure { padding: 1em; }
.figure p { text-align: center; }
.equation-container {
display: table;
text-align: center;
width: 100%;
}
.equation {
vertical-align: middle;
}
.equation-label {
display: table-cell;
text-align: right;
vertical-align: middle;
}
.inlinetask {
padding: 10px;
border: 2px solid gray;
margin: 10px;
background: #ffffcc;
}
#org-div-home-and-up
{ text-align: right; font-size: 70%; white-space: nowrap; }
textarea { overflow-x: auto; }
.linenr { font-size: smaller }
.code-highlighted { background-color: #ffff00; }
.org-info-js_info-navigation { border-style: none; }
#org-info-js_console-label
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; }
.org-svg { width: 90%; }
/*]]>*/-->
</style>
<link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
<link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
<script src="../js/jquery.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script src="../js/jquery.stickytableheaders.min.js"></script>
<script src="../js/readtheorg.js"></script>
<script type="text/javascript">
/*
@licstart The following is the entire license notice for the
JavaScript code in this tag.
Copyright (C) 2012-2019 Free Software Foundation, Inc.
The JavaScript code in this tag is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version. The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.
@licend The above is the entire license notice
for the JavaScript code in this tag.
*/
<!--/*--><![CDATA[/*><!--*/
function CodeHighlightOn(elem, id)
{
var target = document.getElementById(id);
if(null != target) {
elem.cacheClassElem = elem.className;
elem.cacheClassTarget = target.className;
target.className = "code-highlighted";
elem.className = "code-highlighted";
}
}
function CodeHighlightOff(elem, id)
{
var target = document.getElementById(id);
if(elem.cacheClassElem)
elem.className = elem.cacheClassElem;
if(elem.cacheClassTarget)
target.className = elem.cacheClassTarget;
}
/*]]>*///-->
</script>
<link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/>
<script type="text/javascript" src="https://research.tdehaeze.xyz/js/script.js"></script>
</head>
<body>
<div id="content">
<div id="org-div-home-and-up">
<a accesskey="h" href="../index.html"> UP </a>
|
<a accesskey="H" href="../index.html"> HOME </a>
</div><div id="content">
<h1 class="title">LaTeX Configuration for Tikz export</h1>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org13cdd0b">1. Packages</a></li>
<li><a href="#orgdde3902">2. Tikz related packages</a></li>
<li><a href="#org6f1aa48">3. Tikz Libraries</a></li>
<li><a href="#orgc56d4ac">4. PGF Plot libraries and config</a></li>
<li><a href="#org7894a69">5. Setup size of figures</a></li>
<li><a href="#org4c1d064">6. Setup Arrows style</a></li>
<li><a href="#orgdd61554">7. Colors</a></li>
<li><a href="#orgef1f74b">8. Control</a>
<li><a href="#org867af51">1. Packages</a></li>
<li><a href="#org0ce4790">2. Tikz related packages</a></li>
<li><a href="#org8bcc408">3. Tikz Libraries</a></li>
<li><a href="#orgde57bbd">4. PGF Plot libraries and config</a></li>
<li><a href="#org94164aa">5. Setup size of figures</a></li>
<li><a href="#org502b962">6. Setup Arrows style</a></li>
<li><a href="#orgf6c80f8">7. Colors</a></li>
<li><a href="#org6bc9bcf">8. Control</a>
<ul>
<li><a href="#org468ed5f">8.1. Blocks</a></li>
<li><a href="#org81f4982">8.2. <span class="todo TODO">TODO</span> Branches</a></li>
<li><a href="#org75793ae">8.3. <span class="todo TODO">TODO</span> Hand Writen Style</a></li>
<li><a href="#orgec26eec">8.4. DAC</a></li>
<li><a href="#orgd83e65a">8.5. ADC</a></li>
<li><a href="#orgc010f75">8.6. <span class="todo TODO">TODO</span> Gain</a></li>
<li><a href="#org0d9b00d">8.7. Add / Substract / Divide / Multiply block</a></li>
<li><a href="#org1d11095">8.1. Blocks</a></li>
<li><a href="#org2c3854c">8.2. Branches</a></li>
<li><a href="#orgf96b1b7">8.3. Hand Writen Style</a></li>
<li><a href="#org37871dd">8.4. DAC</a></li>
<li><a href="#orgbe02fb3">8.5. ADC</a></li>
<li><a href="#org1589875">8.6. Gain</a></li>
<li><a href="#orgbda9747">8.7. Add / Substract / Divide / Multiply block</a></li>
</ul>
</li>
<li><a href="#orgc9ce345">9. Plots</a>
<li><a href="#org419f26c">9. Plots</a>
<ul>
<li><a href="#org0bd5535">9.1. Grid</a></li>
<li><a href="#orgc348c6f">9.2. Lines</a></li>
<li><a href="#org5b74dc5">9.3. Ticks</a></li>
<li><a href="#org307b1f0">9.4. Size</a></li>
<li><a href="#org70303e6">9.5. Label</a></li>
<li><a href="#org60b0bc9">9.6. Legend</a></li>
<li><a href="#org242c2f9">9.7. Upper and Lower bounds</a></li>
<li><a href="#org7dfc3fb">9.8. Pole</a></li>
<li><a href="#org232b5eb">9.9. Zero</a></li>
<li><a href="#org1e09080">9.1. Grid</a></li>
<li><a href="#orgfbf200f">9.2. Lines</a></li>
<li><a href="#orgb0c9fcd">9.3. Ticks</a></li>
<li><a href="#org6657c23">9.4. Size</a></li>
<li><a href="#org834808f">9.5. Label</a></li>
<li><a href="#org3d4f938">9.6. Legend</a></li>
<li><a href="#org834d8fb">9.7. Upper and Lower bounds</a></li>
<li><a href="#org006768d">9.8. Pole</a></li>
<li><a href="#org4d0b582">9.9. Zero</a></li>
</ul>
</li>
<li><a href="#org7e8ae8c">10. Mechanical</a>
<li><a href="#orgf4cc3ee">10. Mechanical</a>
<ul>
<li><a href="#org4168afd">10.1. Spring</a></li>
<li><a href="#org9393c3a">10.2. Coil</a></li>
<li><a href="#orgb277e7a">10.3. Damper</a></li>
<li><a href="#orge2d98e3">10.4. Actuator</a></li>
<li><a href="#org5203197">10.5. Ground</a></li>
<li><a href="#orge7277b0">10.6. Force Sensor</a></li>
<li><a href="#orgf823627">10.7. Inertial Sensor</a></li>
<li><a href="#orgb1f5b0f">10.8. Axis Rotator</a></li>
<li><a href="#org762f1f0">10.9. Cross</a></li>
<li><a href="#org174927e">10.10. Piezoelectric actuator</a></li>
<li><a href="#org5adf9aa">10.11. Voice coil</a></li>
<li><a href="#orge4f0590">10.1. Spring</a></li>
<li><a href="#org5b9134f">10.2. Coil</a></li>
<li><a href="#orgd2347a6">10.3. Damper</a></li>
<li><a href="#orgdd8b774">10.4. Actuator</a></li>
<li><a href="#orgbf79dfb">10.5. Ground</a></li>
<li><a href="#org29f9d60">10.6. Force Sensor</a></li>
<li><a href="#org1e03e32">10.7. Inertial Sensor</a></li>
<li><a href="#orgeae9e18">10.8. Axis Rotator</a></li>
<li><a href="#orgc22a8c6">10.9. Cross</a></li>
<li><a href="#org2167d13">10.10. Piezoelectric actuator</a></li>
<li><a href="#org2ae4369">10.11. Voice coil</a></li>
</ul>
</li>
<li><a href="#org1b4e825">11. Optics</a></li>
<li><a href="#org506bf1a">12. Misc</a></li>
<li><a href="#org3730519">11. Optics</a></li>
<li><a href="#org0b6e57a">12. Misc</a></li>
</ul>
</div>
</div>
<div id="outline-container-org13cdd0b" class="outline-2">
<h2 id="org13cdd0b"><span class="section-number-2">1</span> Packages</h2>
<div id="outline-container-org867af51" class="outline-2">
<h2 id="org867af51"><span class="section-number-2">1</span> Packages</h2>
<div class="outline-text-2" id="text-1">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate"><span class="org-keyword">\usepackage</span></span>[<span class="org-variable-name">utf8</span>]{<span class="org-function-name">inputenc</span>}
@ -352,8 +121,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-orgdde3902" class="outline-2">
<h2 id="orgdde3902"><span class="section-number-2">2</span> Tikz related packages</h2>
<div id="outline-container-org0ce4790" class="outline-2">
<h2 id="org0ce4790"><span class="section-number-2">2</span> Tikz related packages</h2>
<div class="outline-text-2" id="text-2">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate"><span class="org-keyword">\usepackage</span></span>{<span class="org-function-name">tikz</span>} <span class="org-comment">% Tikz</span>
@ -367,8 +136,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org6f1aa48" class="outline-2">
<h2 id="org6f1aa48"><span class="section-number-2">3</span> Tikz Libraries</h2>
<div id="outline-container-org8bcc408" class="outline-2">
<h2 id="org8bcc408"><span class="section-number-2">3</span> Tikz Libraries</h2>
<div class="outline-text-2" id="text-3">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\usetikzlibrary</span>{arrows} <span class="org-comment">% Arrow tip library</span>
@ -395,8 +164,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-orgc56d4ac" class="outline-2">
<h2 id="orgc56d4ac"><span class="section-number-2">4</span> PGF Plot libraries and config</h2>
<div id="outline-container-orgde57bbd" class="outline-2">
<h2 id="orgde57bbd"><span class="section-number-2">4</span> PGF Plot libraries and config</h2>
<div class="outline-text-2" id="text-4">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\usepgfplotslibrary</span>{patchplots}
@ -409,8 +178,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org7894a69" class="outline-2">
<h2 id="org7894a69"><span class="section-number-2">5</span> Setup size of figures</h2>
<div id="outline-container-org94164aa" class="outline-2">
<h2 id="org94164aa"><span class="section-number-2">5</span> Setup size of figures</h2>
<div class="outline-text-2" id="text-5">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate"><span class="org-keyword">\newlength</span></span>{<span class="org-font-latex-sedate"><span class="org-function-name">\fheight</span></span>}
@ -423,8 +192,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org4c1d064" class="outline-2">
<h2 id="org4c1d064"><span class="section-number-2">6</span> Setup Arrows style</h2>
<div id="outline-container-org502b962" class="outline-2">
<h2 id="org502b962"><span class="section-number-2">6</span> Setup Arrows style</h2>
<div class="outline-text-2" id="text-6">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\tikzset</span>{&gt;=Stealth}
@ -435,8 +204,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-orgdd61554" class="outline-2">
<h2 id="orgdd61554"><span class="section-number-2">7</span> Colors</h2>
<div id="outline-container-orgf6c80f8" class="outline-2">
<h2 id="orgf6c80f8"><span class="section-number-2">7</span> Colors</h2>
<div class="outline-text-2" id="text-7">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate"><span class="org-keyword">\usepackage</span></span>{<span class="org-function-name">xcolor</span>}<span class="org-comment">% Color extension</span>
@ -458,12 +227,12 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-orgef1f74b" class="outline-2">
<h2 id="orgef1f74b"><span class="section-number-2">8</span> Control</h2>
<div id="outline-container-org6bc9bcf" class="outline-2">
<h2 id="org6bc9bcf"><span class="section-number-2">8</span> Control</h2>
<div class="outline-text-2" id="text-8">
</div>
<div id="outline-container-org468ed5f" class="outline-3">
<h3 id="org468ed5f"><span class="section-number-3">8.1</span> Blocks</h3>
<div id="outline-container-org1d11095" class="outline-3">
<h3 id="org1d11095"><span class="section-number-3">8.1</span> Blocks</h3>
<div class="outline-text-3" id="text-8-1">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\tikzset</span>{<span class="org-comment">%</span>
@ -480,8 +249,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org81f4982" class="outline-3">
<h3 id="org81f4982"><span class="section-number-3">8.2</span> <span class="todo TODO">TODO</span> Branches</h3>
<div id="outline-container-org2c3854c" class="outline-3">
<h3 id="org2c3854c"><span class="section-number-3">8.2</span> Branches</h3>
<div class="outline-text-3" id="text-8-2">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\tikzstyle</span>{branch}=[fill,shape=circle,minimum size=4pt,inner sep=0pt]
@ -492,8 +261,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org75793ae" class="outline-3">
<h3 id="org75793ae"><span class="section-number-3">8.3</span> <span class="todo TODO">TODO</span> Hand Writen Style</h3>
<div id="outline-container-orgf96b1b7" class="outline-3">
<h3 id="orgf96b1b7"><span class="section-number-3">8.3</span> Hand Writen Style</h3>
<div class="outline-text-3" id="text-8-3">
<p>
Usefull for schematic plots
@ -505,8 +274,8 @@ Usefull for schematic plots
</div>
</div>
<div id="outline-container-orgec26eec" class="outline-3">
<h3 id="orgec26eec"><span class="section-number-3">8.4</span> DAC</h3>
<div id="outline-container-org37871dd" class="outline-3">
<h3 id="org37871dd"><span class="section-number-3">8.4</span> DAC</h3>
<div class="outline-text-3" id="text-8-4">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\tikzset</span>{<span class="org-comment">%</span>
@ -520,8 +289,8 @@ Usefull for schematic plots
</div>
</div>
<div id="outline-container-orgd83e65a" class="outline-3">
<h3 id="orgd83e65a"><span class="section-number-3">8.5</span> ADC</h3>
<div id="outline-container-orgbe02fb3" class="outline-3">
<h3 id="orgbe02fb3"><span class="section-number-3">8.5</span> ADC</h3>
<div class="outline-text-3" id="text-8-5">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\tikzset</span>{<span class="org-comment">%</span>
@ -536,8 +305,8 @@ Usefull for schematic plots
</div>
</div>
<div id="outline-container-orgc010f75" class="outline-3">
<h3 id="orgc010f75"><span class="section-number-3">8.6</span> <span class="todo TODO">TODO</span> Gain</h3>
<div id="outline-container-org1589875" class="outline-3">
<h3 id="org1589875"><span class="section-number-3">8.6</span> Gain</h3>
<div class="outline-text-3" id="text-8-6">
<p>
Maybe use <code>isosceles</code> instead of regular polygon?
@ -578,8 +347,8 @@ Maybe use <code>isosceles</code> instead of regular polygon?
</div>
</div>
<div id="outline-container-org0d9b00d" class="outline-3">
<h3 id="org0d9b00d"><span class="section-number-3">8.7</span> Add / Substract / Divide / Multiply block</h3>
<div id="outline-container-orgbda9747" class="outline-3">
<h3 id="orgbda9747"><span class="section-number-3">8.7</span> Add / Substract / Divide / Multiply block</h3>
<div class="outline-text-3" id="text-8-7">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\tikzset</span>{<span class="org-comment">% Add block with Circled operations</span>
@ -591,7 +360,7 @@ Maybe use <code>isosceles</code> instead of regular polygon?
inner sep = 0pt,
minimum size = 2em,
execute at begin node={<span class="org-font-latex-sedate"><span class="org-keyword">\LARGE</span></span><span class="org-type"> </span><span class="org-type"><span class="org-font-latex-math">$#1$</span></span>},
append after command={<span class="org-font-latex-sedate">\pgfextra</span>{<span class="org-font-latex-sedate">\let\mainnode=\tikzlastnode</span>}
append after command={<span class="org-font-latex-sedate">\pgfextra</span>{<span class="org-font-latex-sedate">\let\mainnode</span>=<span class="org-font-latex-sedate">\tikzlastnode</span>}
<span class="org-font-latex-sedate">\ifx</span>#2<span class="org-font-latex-sedate">\empty\else</span>
node[draw, circle, outer sep=6pt, inner sep=0pt, above left] at (<span class="org-font-latex-sedate">\mainnode</span>.west) {<span class="org-font-latex-math">$#2$</span>}<span class="org-comment">%</span>
<span class="org-font-latex-sedate">\fi</span>
@ -621,7 +390,7 @@ Maybe use <code>isosceles</code> instead of regular polygon?
inner sep = 0pt,
minimum size = 2em,
execute at begin node={<span class="org-font-latex-sedate"><span class="org-keyword">\LARGE</span></span><span class="org-type"> </span><span class="org-type"><span class="org-font-latex-math">$#1$</span></span>},
append after command={<span class="org-font-latex-sedate">\pgfextra</span>{<span class="org-font-latex-sedate">\let\mainnode=\tikzlastnode</span>}
append after command={<span class="org-font-latex-sedate">\pgfextra</span>{<span class="org-font-latex-sedate">\let\mainnode</span>=<span class="org-font-latex-sedate">\tikzlastnode</span>}
<span class="org-font-latex-sedate">\ifx</span>#2<span class="org-font-latex-sedate">\empty\else</span>
node[outer sep=2pt, inner sep=0pt, above left] at (<span class="org-font-latex-sedate">\mainnode</span>.west) {<span class="org-font-latex-math">$#2$</span>}<span class="org-comment">%</span>
<span class="org-font-latex-sedate">\fi</span>
@ -644,12 +413,12 @@ Maybe use <code>isosceles</code> instead of regular polygon?
</div>
</div>
<div id="outline-container-orgc9ce345" class="outline-2">
<h2 id="orgc9ce345"><span class="section-number-2">9</span> Plots</h2>
<div id="outline-container-org419f26c" class="outline-2">
<h2 id="org419f26c"><span class="section-number-2">9</span> Plots</h2>
<div class="outline-text-2" id="text-9">
</div>
<div id="outline-container-org0bd5535" class="outline-3">
<h3 id="org0bd5535"><span class="section-number-3">9.1</span> Grid</h3>
<div id="outline-container-org1e09080" class="outline-3">
<h3 id="org1e09080"><span class="section-number-3">9.1</span> Grid</h3>
<div class="outline-text-3" id="text-9-1">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\pgfplotsset</span>{grid style={black}}
@ -662,8 +431,8 @@ Maybe use <code>isosceles</code> instead of regular polygon?
</div>
</div>
<div id="outline-container-orgc348c6f" class="outline-3">
<h3 id="orgc348c6f"><span class="section-number-3">9.2</span> Lines</h3>
<div id="outline-container-orgfbf200f" class="outline-3">
<h3 id="orgfbf200f"><span class="section-number-3">9.2</span> Lines</h3>
<div class="outline-text-3" id="text-9-2">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\pgfplotsset</span>{separate axis lines=false} <span class="org-comment">% draw axis as rectangle and not as 4 lines</span>
@ -677,8 +446,8 @@ Maybe use <code>isosceles</code> instead of regular polygon?
</div>
</div>
<div id="outline-container-org5b74dc5" class="outline-3">
<h3 id="org5b74dc5"><span class="section-number-3">9.3</span> Ticks</h3>
<div id="outline-container-orgb0c9fcd" class="outline-3">
<h3 id="orgb0c9fcd"><span class="section-number-3">9.3</span> Ticks</h3>
<div class="outline-text-3" id="text-9-3">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\pgfplotsset</span>{every y tick label/.append style={font=<span class="org-font-latex-sedate">\color</span>{black}}}
@ -690,8 +459,8 @@ Maybe use <code>isosceles</code> instead of regular polygon?
</div>
</div>
<div id="outline-container-org307b1f0" class="outline-3">
<h3 id="org307b1f0"><span class="section-number-3">9.4</span> Size</h3>
<div id="outline-container-org6657c23" class="outline-3">
<h3 id="org6657c23"><span class="section-number-3">9.4</span> Size</h3>
<div class="outline-text-3" id="text-9-4">
<p>
If <code>scale only axis=false</code> (the default), pgfplots will try to produce the desired width including labels, titles and ticks.
@ -703,8 +472,8 @@ If <code>scale only axis=false</code> (the default), pgfplots will try to produc
</div>
</div>
<div id="outline-container-org70303e6" class="outline-3">
<h3 id="org70303e6"><span class="section-number-3">9.5</span> Label</h3>
<div id="outline-container-org834808f" class="outline-3">
<h3 id="org834808f"><span class="section-number-3">9.5</span> Label</h3>
<div class="outline-text-3" id="text-9-5">
<p>
Used to align all of ylabel of one figure.
@ -716,8 +485,8 @@ Used to align all of ylabel of one figure.
</div>
</div>
<div id="outline-container-org60b0bc9" class="outline-3">
<h3 id="org60b0bc9"><span class="section-number-3">9.6</span> Legend</h3>
<div id="outline-container-org3d4f938" class="outline-3">
<h3 id="org3d4f938"><span class="section-number-3">9.6</span> Legend</h3>
<div class="outline-text-3" id="text-9-6">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-comment-delimiter">% </span><span class="org-comment">https://tex.stackexchange.com/questions/54794/using-a-pgfplots-style-legend-in-a-plain-old-tikzpicture#54834</span>
@ -754,8 +523,8 @@ Used to align all of ylabel of one figure.
</div>
</div>
<div id="outline-container-org242c2f9" class="outline-3">
<h3 id="org242c2f9"><span class="section-number-3">9.7</span> Upper and Lower bounds</h3>
<div id="outline-container-org834d8fb" class="outline-3">
<h3 id="org834d8fb"><span class="section-number-3">9.7</span> Upper and Lower bounds</h3>
<div class="outline-text-3" id="text-9-7">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\tikzstyle</span>{upperbound}=[line cap=round, postaction={decorate,draw,decoration={border, segment length=0.2cm, amplitude=0.3cm, angle=60}}]
@ -783,8 +552,8 @@ And we add the corresdonding
</div>
</div>
<div id="outline-container-org7dfc3fb" class="outline-3">
<h3 id="org7dfc3fb"><span class="section-number-3">9.8</span> Pole</h3>
<div id="outline-container-org006768d" class="outline-3">
<h3 id="org006768d"><span class="section-number-3">9.8</span> Pole</h3>
<div class="outline-text-3" id="text-9-8">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\tikzset</span>{<span class="org-comment">%</span>
@ -803,8 +572,8 @@ And we add the corresdonding
</div>
</div>
<div id="outline-container-org232b5eb" class="outline-3">
<h3 id="org232b5eb"><span class="section-number-3">9.9</span> Zero</h3>
<div id="outline-container-org4d0b582" class="outline-3">
<h3 id="org4d0b582"><span class="section-number-3">9.9</span> Zero</h3>
<div class="outline-text-3" id="text-9-9">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\tikzset</span>{<span class="org-comment">%</span>
@ -824,12 +593,12 @@ And we add the corresdonding
</div>
</div>
<div id="outline-container-org7e8ae8c" class="outline-2">
<h2 id="org7e8ae8c"><span class="section-number-2">10</span> Mechanical</h2>
<div id="outline-container-orgf4cc3ee" class="outline-2">
<h2 id="orgf4cc3ee"><span class="section-number-2">10</span> Mechanical</h2>
<div class="outline-text-2" id="text-10">
</div>
<div id="outline-container-org4168afd" class="outline-3">
<h3 id="org4168afd"><span class="section-number-3">10.1</span> Spring</h3>
<div id="outline-container-orge4f0590" class="outline-3">
<h3 id="orge4f0590"><span class="section-number-3">10.1</span> Spring</h3>
<div class="outline-text-3" id="text-10-1">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\tikzset</span>{<span class="org-comment">%</span>
@ -850,8 +619,8 @@ And we add the corresdonding
</div>
</div>
<div id="outline-container-org9393c3a" class="outline-3">
<h3 id="org9393c3a"><span class="section-number-3">10.2</span> Coil</h3>
<div id="outline-container-org5b9134f" class="outline-3">
<h3 id="org5b9134f"><span class="section-number-3">10.2</span> Coil</h3>
<div class="outline-text-3" id="text-10-2">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\tikzset</span>{<span class="org-comment">%</span>
@ -872,8 +641,8 @@ And we add the corresdonding
</div>
</div>
<div id="outline-container-orgb277e7a" class="outline-3">
<h3 id="orgb277e7a"><span class="section-number-3">10.3</span> Damper</h3>
<div id="outline-container-orgd2347a6" class="outline-3">
<h3 id="orgd2347a6"><span class="section-number-3">10.3</span> Damper</h3>
<div class="outline-text-3" id="text-10-3">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\tikzset</span>{<span class="org-comment">%</span>
@ -900,8 +669,8 @@ And we add the corresdonding
</div>
</div>
<div id="outline-container-orge2d98e3" class="outline-3">
<h3 id="orge2d98e3"><span class="section-number-3">10.4</span> Actuator</h3>
<div id="outline-container-orgdd8b774" class="outline-3">
<h3 id="orgdd8b774"><span class="section-number-3">10.4</span> Actuator</h3>
<div class="outline-text-3" id="text-10-4">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\tikzset</span>{<span class="org-comment">%</span>
@ -931,8 +700,8 @@ And we add the corresdonding
</div>
</div>
<div id="outline-container-org5203197" class="outline-3">
<h3 id="org5203197"><span class="section-number-3">10.5</span> Ground</h3>
<div id="outline-container-orgbf79dfb" class="outline-3">
<h3 id="orgbf79dfb"><span class="section-number-3">10.5</span> Ground</h3>
<div class="outline-text-3" id="text-10-5">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\tikzset</span>{<span class="org-comment">%</span>
@ -954,8 +723,8 @@ And we add the corresdonding
</div>
</div>
<div id="outline-container-orge7277b0" class="outline-3">
<h3 id="orge7277b0"><span class="section-number-3">10.6</span> Force Sensor</h3>
<div id="outline-container-org29f9d60" class="outline-3">
<h3 id="org29f9d60"><span class="section-number-3">10.6</span> Force Sensor</h3>
<div class="outline-text-3" id="text-10-6">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\tikzset</span>{<span class="org-comment">%</span>
@ -984,8 +753,8 @@ And we add the corresdonding
</div>
</div>
<div id="outline-container-orgf823627" class="outline-3">
<h3 id="orgf823627"><span class="section-number-3">10.7</span> Inertial Sensor</h3>
<div id="outline-container-org1e03e32" class="outline-3">
<h3 id="org1e03e32"><span class="section-number-3">10.7</span> Inertial Sensor</h3>
<div class="outline-text-3" id="text-10-7">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\tikzset</span>{<span class="org-comment">%</span>
@ -1013,8 +782,8 @@ And we add the corresdonding
</div>
</div>
<div id="outline-container-orgb1f5b0f" class="outline-3">
<h3 id="orgb1f5b0f"><span class="section-number-3">10.8</span> Axis Rotator</h3>
<div id="outline-container-orgeae9e18" class="outline-3">
<h3 id="orgeae9e18"><span class="section-number-3">10.8</span> Axis Rotator</h3>
<div class="outline-text-3" id="text-10-8">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate"><span class="org-keyword">\newcommand</span></span>{<span class="org-font-latex-sedate"><span class="org-function-name">\AxisRotator</span></span>}[<span class="org-variable-name">1</span>][<span class="org-variable-name">rotate=0</span>]{<span class="org-function-name"><span class="org-comment">%</span></span>
@ -1025,8 +794,8 @@ And we add the corresdonding
</div>
</div>
<div id="outline-container-org762f1f0" class="outline-3">
<h3 id="org762f1f0"><span class="section-number-3">10.9</span> Cross</h3>
<div id="outline-container-orgc22a8c6" class="outline-3">
<h3 id="orgc22a8c6"><span class="section-number-3">10.9</span> Cross</h3>
<div class="outline-text-3" id="text-10-9">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\tikzstyle</span>{cross}=[path picture={
@ -1039,8 +808,8 @@ And we add the corresdonding
</div>
</div>
<div id="outline-container-org174927e" class="outline-3">
<h3 id="org174927e"><span class="section-number-3">10.10</span> Piezoelectric actuator</h3>
<div id="outline-container-org2167d13" class="outline-3">
<h3 id="org2167d13"><span class="section-number-3">10.10</span> Piezoelectric actuator</h3>
<div class="outline-text-3" id="text-10-10">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\tikzset</span>{<span class="org-comment">%</span>
@ -1057,7 +826,7 @@ And we add the corresdonding
black,
}]
<span class="org-font-latex-sedate">\foreach</span> <span class="org-font-latex-sedate">\i</span> in {1,...,#3}{
(<span class="org-font-latex-math">${</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\i/</span></span><span class="org-font-latex-math">(1+#3)}*(</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\tikzlastnode</span></span><span class="org-font-latex-math">.north west)+{(1+#3-</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\i</span></span><span class="org-font-latex-math">)/(1+#3)}*(</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\tikzlastnode</span></span><span class="org-font-latex-math">.south west)+0.1*(#1,0)$</span>) edge (<span class="org-font-latex-math">${</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\i/</span></span><span class="org-font-latex-math">(1+#3)}*(</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\tikzlastnode</span></span><span class="org-font-latex-math">.north east)+{(1+#3-</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\i</span></span><span class="org-font-latex-math">)/(1+#3)}*(</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\tikzlastnode</span></span><span class="org-font-latex-math">.south east)-0.1*(#1,0)$</span>)
(<span class="org-font-latex-math">${</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\i</span></span><span class="org-font-latex-math">/(1+#3)}*(</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\tikzlastnode</span></span><span class="org-font-latex-math">.north west)+{(1+#3-</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\i</span></span><span class="org-font-latex-math">)/(1+#3)}*(</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\tikzlastnode</span></span><span class="org-font-latex-math">.south west)+0.1*(#1,0)$</span>) edge (<span class="org-font-latex-math">${</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\i</span></span><span class="org-font-latex-math">/(1+#3)}*(</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\tikzlastnode</span></span><span class="org-font-latex-math">.north east)+{(1+#3-</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\i</span></span><span class="org-font-latex-math">)/(1+#3)}*(</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\tikzlastnode</span></span><span class="org-font-latex-math">.south east)-0.1*(#1,0)$</span>)
}
}
},
@ -1068,8 +837,8 @@ And we add the corresdonding
</div>
</div>
<div id="outline-container-org5adf9aa" class="outline-3">
<h3 id="org5adf9aa"><span class="section-number-3">10.11</span> Voice coil</h3>
<div id="outline-container-org2ae4369" class="outline-3">
<h3 id="org2ae4369"><span class="section-number-3">10.11</span> Voice coil</h3>
<div class="outline-text-3" id="text-10-11">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\def\voicecoil</span>#1#2#3{
@ -1080,7 +849,7 @@ And we add the corresdonding
<span class="org-font-latex-sedate">\def\voicecoilh</span>{#2} <span class="org-comment">% Total Height</span>
<span class="org-font-latex-sedate">\def\magnetw</span>{<span class="org-font-latex-sedate">\voicecoilw</span>} <span class="org-comment">% Width of the magnet</span>
<span class="org-font-latex-sedate">\def\magneth</span>{<span class="org-font-latex-sedate">\voicecoilh/1</span>.4} <span class="org-comment">% Height of the magnet</span>
<span class="org-font-latex-sedate">\def\magneth</span>{<span class="org-font-latex-sedate">\voicecoilh</span>/1.4} <span class="org-comment">% Height of the magnet</span>
<span class="org-font-latex-sedate">\def\magnetwb</span>{0.15*<span class="org-font-latex-sedate">\magnetw</span>} <span class="org-comment">% Width of the borders of the magnet</span>
<span class="org-font-latex-sedate">\def\magnetmw</span>{0.15*<span class="org-font-latex-sedate">\magnetw</span>} <span class="org-comment">% Width of the middle part of the magnet</span>
@ -1095,26 +864,26 @@ And we add the corresdonding
<span class="org-comment">% ======================</span>
<span class="org-comment">% Magnet</span>
<span class="org-comment">% ======================</span>
<span class="org-font-latex-sedate">\draw</span>[fill=white] (0, 0) -| ++(0.5*<span class="org-font-latex-sedate">\magnetw</span>, <span class="org-font-latex-sedate">\magneth</span>) -| ++(-0.5*<span class="org-font-latex-sedate">\magnetw+0</span>.5*<span class="org-font-latex-sedate">\magnetwg</span>, -<span class="org-font-latex-sedate">\magnethg</span>) -| (0.5*<span class="org-font-latex-sedate">\magnetw-\magnetwb</span>, <span class="org-font-latex-sedate">\magnethl</span>) -| (-0.5*<span class="org-font-latex-sedate">\magnetw+\magnetwb</span>, <span class="org-font-latex-sedate">\magneth-\magnethg</span>) -| (-0.5*<span class="org-font-latex-sedate">\magnetwg</span>, <span class="org-font-latex-sedate">\magneth</span>) -| (-0.5*<span class="org-font-latex-sedate">\magnetw</span>, 0) -- (cycle);
<span class="org-font-latex-sedate">\draw</span>[fill=white] (0, 0) -| ++(0.5*<span class="org-font-latex-sedate">\magnetw</span>, <span class="org-font-latex-sedate">\magneth</span>) -| ++(-0.5*<span class="org-font-latex-sedate">\magnetw</span>+0.5*<span class="org-font-latex-sedate">\magnetwg</span>, -<span class="org-font-latex-sedate">\magnethg</span>) -| (0.5*<span class="org-font-latex-sedate">\magnetw</span>-<span class="org-font-latex-sedate">\magnetwb</span>, <span class="org-font-latex-sedate">\magnethl</span>) -| (-0.5*<span class="org-font-latex-sedate">\magnetw</span>+<span class="org-font-latex-sedate">\magnetwb</span>, <span class="org-font-latex-sedate">\magneth</span>-<span class="org-font-latex-sedate">\magnethg</span>) -| (-0.5*<span class="org-font-latex-sedate">\magnetwg</span>, <span class="org-font-latex-sedate">\magneth</span>) -| (-0.5*<span class="org-font-latex-sedate">\magnetw</span>, 0) -- (cycle);
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">scope</span>}[shift={(0, <span class="org-font-latex-sedate">\magnethl</span>)}]
<span class="org-font-latex-sedate">\draw</span>[fill=red] (-0.5*<span class="org-font-latex-sedate">\magnetmw</span>, 0) rectangle (0.5*<span class="org-font-latex-sedate">\magnetmw</span>, <span class="org-font-latex-sedate">\magnetmh</span>);
<span class="org-font-latex-sedate">\draw</span>[fill=blue] (-0.5*<span class="org-font-latex-sedate">\magnetmw</span>, <span class="org-font-latex-sedate">\magnetmh</span>) rectangle (0.5*<span class="org-font-latex-sedate">\magnetmw</span>, 2*<span class="org-font-latex-sedate">\magnetmh</span>);
<span class="org-comment">% Top conductive Magnet</span>
<span class="org-font-latex-sedate">\draw</span>[fill=white] (-0.5*<span class="org-font-latex-sedate">\magnetmw</span>, 2*<span class="org-font-latex-sedate">\magnetmh</span>) -| (0.5*<span class="org-font-latex-sedate">\magnetmw</span>, -<span class="org-font-latex-sedate">\magnethl+\magneth-\magnethg</span>) -| ++(0.1, <span class="org-font-latex-sedate">\magnethg</span>) -| ++(-0.2-<span class="org-font-latex-sedate">\magnetmw</span>, -<span class="org-font-latex-sedate">\magnethg</span>) -| (-0.5*<span class="org-font-latex-sedate">\magnetmw</span>, <span class="org-font-latex-sedate">\magnetmh</span>);
<span class="org-font-latex-sedate">\draw</span>[fill=white] (-0.5*<span class="org-font-latex-sedate">\magnetmw</span>, 2*<span class="org-font-latex-sedate">\magnetmh</span>) -| (0.5*<span class="org-font-latex-sedate">\magnetmw</span>, -<span class="org-font-latex-sedate">\magnethl</span>+<span class="org-font-latex-sedate">\magneth</span>-<span class="org-font-latex-sedate">\magnethg</span>) -| ++(0.1, <span class="org-font-latex-sedate">\magnethg</span>) -| ++(-0.2-<span class="org-font-latex-sedate">\magnetmw</span>, -<span class="org-font-latex-sedate">\magnethg</span>) -| (-0.5*<span class="org-font-latex-sedate">\magnetmw</span>, <span class="org-font-latex-sedate">\magnetmh</span>);
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">scope</span>}
<span class="org-comment">% ======================</span>
<span class="org-comment">% ======================</span>
<span class="org-comment">% Coil</span>
<span class="org-comment">% ======================</span>
<span class="org-font-latex-sedate">\pgfmathsetmacro</span>{<span class="org-font-latex-sedate">\coilwidth</span>}{0.5*0.5*<span class="org-font-latex-sedate">\magnetmw+0</span>.5*0.1+0.25*<span class="org-font-latex-sedate">\magnetwg</span>}<span class="org-comment">%</span>
<span class="org-font-latex-sedate">\pgfmathsetmacro</span>{<span class="org-font-latex-sedate">\coilwidth</span>}{0.5*0.5*<span class="org-font-latex-sedate">\magnetmw</span>+0.5*0.1+0.25*<span class="org-font-latex-sedate">\magnetwg</span>}<span class="org-comment">%</span>
<span class="org-font-latex-sedate">\draw</span>[] ( <span class="org-font-latex-sedate">\coilwidth</span>, 0.5*<span class="org-font-latex-sedate">\magneth</span>) -- ++(0, 0.7*<span class="org-font-latex-sedate">\magneth</span>);
<span class="org-font-latex-sedate">\draw</span>[] (-<span class="org-font-latex-sedate">\coilwidth</span>, 0.5*<span class="org-font-latex-sedate">\magneth</span>) -- ++(0, 0.7*<span class="org-font-latex-sedate">\magneth</span>);
<span class="org-comment">% Point on the coil</span>
<span class="org-font-latex-sedate">\foreach</span> <span class="org-font-latex-sedate">\x</span> in {0,1,...,9}
{
<span class="org-font-latex-sedate">\node</span>[circle,inner sep=0.6pt,fill] at ( <span class="org-font-latex-sedate">\coilwidth</span>, <span class="org-font-latex-sedate">\x*0</span>.7*<span class="org-font-latex-sedate">\magneth/10+0</span>.5*<span class="org-font-latex-sedate">\magneth</span>);
<span class="org-font-latex-sedate">\node</span>[circle,inner sep=0.6pt,fill] at (-<span class="org-font-latex-sedate">\coilwidth</span>, <span class="org-font-latex-sedate">\x*0</span>.7*<span class="org-font-latex-sedate">\magneth/10+0</span>.5*<span class="org-font-latex-sedate">\magneth</span>);
<span class="org-font-latex-sedate">\node</span>[circle,inner sep=0.6pt,fill] at ( <span class="org-font-latex-sedate">\coilwidth</span>, <span class="org-font-latex-sedate">\x</span>*0.7*<span class="org-font-latex-sedate">\magneth</span>/10+0.5*<span class="org-font-latex-sedate">\magneth</span>);
<span class="org-font-latex-sedate">\node</span>[circle,inner sep=0.6pt,fill] at (-<span class="org-font-latex-sedate">\coilwidth</span>, <span class="org-font-latex-sedate">\x</span>*0.7*<span class="org-font-latex-sedate">\magneth</span>/10+0.5*<span class="org-font-latex-sedate">\magneth</span>);
}
<span class="org-font-latex-sedate">\draw</span>[fill=white] (-0.5*<span class="org-font-latex-sedate">\magnetw</span>, 1.2*<span class="org-font-latex-sedate">\magneth</span>) rectangle ++(<span class="org-font-latex-sedate">\magnetw</span>, <span class="org-font-latex-sedate">\magnethg</span>);
<span class="org-comment">% ======================</span>
@ -1123,7 +892,7 @@ And we add the corresdonding
<span class="org-comment">% Coordinates</span>
<span class="org-comment">% ======================</span>
<span class="org-comment">% Force</span>
<span class="org-font-latex-sedate">\coordinate</span>[] (vc_force) at (0, <span class="org-font-latex-sedate">\magneth-0</span>.5*<span class="org-font-latex-sedate">\magnethg</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (vc_force) at (0, <span class="org-font-latex-sedate">\magneth</span>-0.5*<span class="org-font-latex-sedate">\magnethg</span>);
<span class="org-comment">% Coil</span>
<span class="org-font-latex-sedate">\coordinate</span>[] (vc_coil) at (0, <span class="org-font-latex-sedate">\voicecoilh</span>);
<span class="org-comment">% Magnet</span>
@ -1140,8 +909,8 @@ And we add the corresdonding
</div>
</div>
<div id="outline-container-org1b4e825" class="outline-2">
<h2 id="org1b4e825"><span class="section-number-2">11</span> Optics</h2>
<div id="outline-container-org3730519" class="outline-2">
<h2 id="org3730519"><span class="section-number-2">11</span> Optics</h2>
<div class="outline-text-2" id="text-11">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\tikzset</span>{<span class="org-comment">%</span>
@ -1169,8 +938,8 @@ And we add the corresdonding
</div>
</div>
<div id="outline-container-org506bf1a" class="outline-2">
<h2 id="org506bf1a"><span class="section-number-2">12</span> Misc</h2>
<div id="outline-container-org0b6e57a" class="outline-2">
<h2 id="org0b6e57a"><span class="section-number-2">12</span> Misc</h2>
<div class="outline-text-2" id="text-12">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\tikzset</span>{<span class="org-comment">%</span>
@ -1189,8 +958,7 @@ And we add the corresdonding
</div>
<div id="postamble" class="status">
<p class="author">Author: Thomas Dehaeze</p>
<p class="date">Created: 2019-07-22 lun. 09:28</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
<p class="date">Created: 2020-11-12 jeu. 10:40</p>
</div>
</body>
</html>

View File

@ -1,11 +1,10 @@
#+TITLE: LaTeX Configuration for Tikz export
:drawer:
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
#+HTML_HEAD: <script src="../js/jquery.min.js"></script>
#+HTML_HEAD: <script src="../js/bootstrap.min.js"></script>
#+HTML_HEAD: <script src="../js/jquery.stickytableheaders.min.js"></script>
#+HTML_HEAD: <script src="../js/readtheorg.js"></script>
#+HTML_LINK_HOME: ../index.html
#+HTML_LINK_UP: ../index.html
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/>
#+HTML_HEAD: <script type="text/javascript" src="https://research.tdehaeze.xyz/js/script.js"></script>
#+PROPERTY: header-args:latex+ :tangle config.tex
#+PROPERTY: header-args:latex+ :exports code

View File

@ -3,17 +3,13 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2020-07-09 jeu. 09:31 -->
<!-- 2020-11-12 jeu. 10:40 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Active Damping of Rotating Platforms using Integral Force Feedback - Tikz Figures</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Thomas Dehaeze" />
<link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
<link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
<script src="../js/jquery.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script src="../js/jquery.stickytableheaders.min.js"></script>
<script src="../js/readtheorg.js"></script>
<link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/>
<script type="text/javascript" src="https://research.tdehaeze.xyz/js/script.js"></script>
</head>
<body>
<div id="org-div-home-and-up">
@ -26,10 +22,10 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orgb9c9150">1. X-Y Rotating Positioning Platform</a></li>
<li><a href="#org0c90cdd">2. X-Y Rotating Positioning Platform</a></li>
<li><a href="#orgef77a1d">3. Decentralized Integral Force Feedback</a></li>
<li><a href="#org5339b95">4. Springs in parallel</a></li>
<li><a href="#orgd15976a">1. X-Y Rotating Positioning Platform</a></li>
<li><a href="#orgfba88c8">2. X-Y Rotating Positioning Platform</a></li>
<li><a href="#org732f401">3. Decentralized Integral Force Feedback</a></li>
<li><a href="#org1dd642f">4. Springs in parallel</a></li>
</ul>
</div>
</div>
@ -37,280 +33,280 @@
Configuration file is accessible <a href="config.html">here</a>.
</p>
<div id="outline-container-orgb9c9150" class="outline-2">
<h2 id="orgb9c9150"><span class="section-number-2">1</span> X-Y Rotating Positioning Platform</h2>
<div id="outline-container-orgd15976a" class="outline-2">
<h2 id="orgd15976a"><span class="section-number-2">1</span> X-Y Rotating Positioning Platform</h2>
<div class="outline-text-2" id="text-1">
<div class="org-src-container">
<pre class="src src-latex">\begin{tikzpicture}
% Angle
\def\thetau{25}
<pre class="src src-latex"><span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
<span class="org-comment">% Angle</span>
<span class="org-font-latex-sedate">\def\thetau</span>{25}
% Rotational Stage
\draw[fill=black!60!white] (0, 0) circle (4.3);
\draw[fill=black!40!white] (0, 0) circle (3.8);
<span class="org-comment">% Rotational Stage</span>
<span class="org-font-latex-sedate">\draw</span>[fill=black!60!white] (0, 0) circle (4.3);
<span class="org-font-latex-sedate">\draw</span>[fill=black!40!white] (0, 0) circle (3.8);
% Label
\node[anchor=north west, rotate=\thetau] at (-2.5, 2.5) {\small Rotating Stage};
<span class="org-comment">% Label</span>
<span class="org-font-latex-sedate">\node</span>[anchor=north west, rotate=<span class="org-font-latex-sedate">\thetau</span>] at (-2.5, 2.5) {<span class="org-font-latex-sedate"><span class="org-keyword">\small</span></span><span class="org-type"> Rotating Stage</span>};
% Rotating Scope
\begin{scope}[rotate=\thetau]
% Rotating Frame
\draw[fill=black!20!white] (-2.6, -2.6) rectangle (2.6, 2.6);
% Label
\node[anchor=north west, rotate=\thetau] at (-2.6, 2.6) {\small Suspended Platform};
<span class="org-comment">% Rotating Scope</span>
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">scope</span>}[rotate=<span class="org-font-latex-sedate">\thetau</span>]
<span class="org-comment">% Rotating Frame</span>
<span class="org-font-latex-sedate">\draw</span>[fill=black!20!white] (-2.6, -2.6) rectangle (2.6, 2.6);
<span class="org-comment">% Label</span>
<span class="org-font-latex-sedate">\node</span>[anchor=north west, rotate=<span class="org-font-latex-sedate">\thetau</span>] at (-2.6, 2.6) {<span class="org-font-latex-sedate"><span class="org-keyword">\small</span></span><span class="org-type"> Suspended Platform</span>};
% Mass
\draw[fill=white] (-1, -1) rectangle (1, 1);
% Label
\node[anchor=south west, rotate=\thetau] at (-1, -1) {\small Payload};
<span class="org-comment">% Mass</span>
<span class="org-font-latex-sedate">\draw</span>[fill=white] (-1, -1) rectangle (1, 1);
<span class="org-comment">% Label</span>
<span class="org-font-latex-sedate">\node</span>[anchor=south west, rotate=<span class="org-font-latex-sedate">\thetau</span>] at (-1, -1) {<span class="org-font-latex-sedate"><span class="org-keyword">\small</span></span><span class="org-type"> Payload</span>};
% Attached Points
\node[] at (-1, 0){$\bullet$};
\draw[] (-1, 0) -- ++(-0.2, 0) coordinate(cu);
\draw[] ($(cu) + (0, -0.8)$) coordinate(actu) -- ($(cu) + (0, 0.8)$) coordinate(ku);
\node[] at (0, -1){$\bullet$};
\draw[] (0, -1) -- ++(0, -0.2) coordinate(cv);
\draw[] ($(cv) + (-0.8, 0)$)coordinate(kv) -- ($(cv) + (0.8, 0)$) coordinate(actv);
<span class="org-comment">% Attached Points</span>
<span class="org-font-latex-sedate">\node</span>[] at (-1, 0){<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\bullet</span></span><span class="org-font-latex-math">$</span>};
<span class="org-font-latex-sedate">\draw</span>[] (-1, 0) -- ++(-0.2, 0) coordinate(cu);
<span class="org-font-latex-sedate">\draw</span>[] (<span class="org-font-latex-math">$(cu) + (0, -0.8)$</span>) coordinate(actu) -- (<span class="org-font-latex-math">$(cu) + (0, 0.8)$</span>) coordinate(ku);
<span class="org-font-latex-sedate">\node</span>[] at (0, -1){<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\bullet</span></span><span class="org-font-latex-math">$</span>};
<span class="org-font-latex-sedate">\draw</span>[] (0, -1) -- ++(0, -0.2) coordinate(cv);
<span class="org-font-latex-sedate">\draw</span>[] (<span class="org-font-latex-math">$(cv) + (-0.8, 0)$</span>)coordinate(kv) -- (<span class="org-font-latex-math">$(cv) + (0.8, 0)$</span>) coordinate(actv);
% Spring and Actuator for U
\draw[actuator={0.6}{0.2}] (actu) -- node[above=0.1, rotate=\thetau]{$F_u$} (actu-|-2.6,0);
\draw[spring=0.2] (ku) -- node[above=0.1, rotate=\thetau]{$k$} (ku-|-2.6,0);
\draw[damper={8}{8}] (cu) -- node[above left=0.2 and -0.1, rotate=\thetau]{$c$} (cu-|-2.6,0);
<span class="org-comment">% Spring and Actuator for U</span>
<span class="org-font-latex-sedate">\draw</span>[actuator={0.6}{0.2}] (actu) -- node[above=0.1, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$F</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">u$</span>} (actu-|-2.6,0);
<span class="org-font-latex-sedate">\draw</span>[spring=0.2] (ku) -- node[above=0.1, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$k$</span>} (ku-|-2.6,0);
<span class="org-font-latex-sedate">\draw</span>[damper={8}{8}] (cu) -- node[above left=0.2 and -0.1, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$c$</span>} (cu-|-2.6,0);
\draw[actuator={0.6}{0.2}] (actv) -- node[left, rotate=\thetau]{$F_v$} (actv|-0,-2.6);
\draw[spring=0.2] (kv) -- node[left, rotate=\thetau]{$k$} (kv|-0,-2.6);
\draw[damper={8}{8}] (cv) -- node[left=0.1, rotate=\thetau]{$c$} (cv|-0,-2.6);
\end{scope}
<span class="org-font-latex-sedate">\draw</span>[actuator={0.6}{0.2}] (actv) -- node[left, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$F</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">v$</span>} (actv|-0,-2.6);
<span class="org-font-latex-sedate">\draw</span>[spring=0.2] (kv) -- node[left, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$k$</span>} (kv|-0,-2.6);
<span class="org-font-latex-sedate">\draw</span>[damper={8}{8}] (cv) -- node[left=0.1, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$c$</span>} (cv|-0,-2.6);
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">scope</span>}
% Inertial Frame
\draw[-&gt;] (-4, -4) -- ++(2, 0) node[below]{$\vec{i}_x$};
\draw[-&gt;] (-4, -4) -- ++(0, 2) node[left]{$\vec{i}_y$};
\draw[fill, color=black] (-4, -4) circle (0.06);
\node[draw, circle, inner sep=0pt, minimum size=0.3cm, label=left:$\vec{i}_z$] at (-4, -4){};
<span class="org-comment">% Inertial Frame</span>
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (-4, -4) -- ++(2, 0) node[below]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\vec</span></span><span class="org-font-latex-math">{i}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">x$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (-4, -4) -- ++(0, 2) node[left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\vec</span></span><span class="org-font-latex-math">{i}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">y$</span>};
<span class="org-font-latex-sedate">\draw</span>[fill, color=black] (-4, -4) circle (0.06);
<span class="org-font-latex-sedate">\node</span>[draw, circle, inner sep=0pt, minimum size=0.3cm, label=left:<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\vec</span></span><span class="org-font-latex-math">{i}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">z$</span>] at (-4, -4){};
\draw[-&gt;] (0, 0) node[above left, rotate=\thetau]{$\vec{i}_w$} -- ++(\thetau:2) node[above, rotate=\thetau]{$\vec{i}_u$};
\draw[-&gt;] (0, 0) -- ++(\thetau+90:2) node[left, rotate=\thetau]{$\vec{i}_v$};
\draw[fill, color=black] (0,0) circle (0.06);
\node[draw, circle, inner sep=0pt, minimum size=0.3cm] at (0, 0){};
\draw[dashed] (0, 0) -- ++(2, 0);
\draw[] (1.5, 0) arc (0:\thetau:1.5) node[midway, right]{$\theta$};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (0, 0) node[above left, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\vec</span></span><span class="org-font-latex-math">{i}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">w$</span>} -- ++(<span class="org-font-latex-sedate">\thetau</span>:2) node[above, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\vec</span></span><span class="org-font-latex-math">{i}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">u$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (0, 0) -- ++(<span class="org-font-latex-sedate">\thetau</span>+90:2) node[left, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\vec</span></span><span class="org-font-latex-math">{i}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">v$</span>};
<span class="org-font-latex-sedate">\draw</span>[fill, color=black] (0,0) circle (0.06);
<span class="org-font-latex-sedate">\node</span>[draw, circle, inner sep=0pt, minimum size=0.3cm] at (0, 0){};
<span class="org-font-latex-sedate">\draw</span>[dashed] (0, 0) -- ++(2, 0);
<span class="org-font-latex-sedate">\draw</span>[] (1.5, 0) arc (0:<span class="org-font-latex-sedate">\thetau</span>:1.5) node[midway, right]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\theta</span></span><span class="org-font-latex-math">$</span>};
\draw[-&gt;] (3.5, 0) arc (0:40:3.5) node[midway, left]{$\Omega$};
\end{tikzpicture}
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (3.5, 0) arc (0:40:3.5) node[midway, left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\Omega</span></span><span class="org-font-latex-math">$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div class="figure">
<div id="orge4c1dec" class="figure">
<p><img src="figs/system.png" alt="system.png" />
</p>
</div>
</div>
</div>
<div id="outline-container-org0c90cdd" class="outline-2">
<h2 id="org0c90cdd"><span class="section-number-2">2</span> X-Y Rotating Positioning Platform</h2>
<div id="outline-container-orgfba88c8" class="outline-2">
<h2 id="orgfba88c8"><span class="section-number-2">2</span> X-Y Rotating Positioning Platform</h2>
<div class="outline-text-2" id="text-2">
<div class="org-src-container">
<pre class="src src-latex">\tikzset{block/.default={0.8cm}{0.8cm}}
\tikzset{addb/.append style={scale=0.7}}
\tikzset{node distance=0.6}
<pre class="src src-latex"><span class="org-font-latex-sedate">\tikzset</span>{block/.default={0.8cm}{0.8cm}}
<span class="org-font-latex-sedate">\tikzset</span>{addb/.append style={scale=0.7}}
<span class="org-font-latex-sedate">\tikzset</span>{node distance=0.6}
\begin{tikzpicture}
\node[block={1.8cm}{2.2cm}] (G) {$\bm{G}_f$};
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
<span class="org-font-latex-sedate">\node</span>[block={1.8cm}{2.2cm}] (G) {<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\bm</span></span><span class="org-font-latex-math">{G}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">f$</span>};
% Inputs of the controllers
\coordinate[] (output1) at ($(G.south east)!0.75!(G.north east)$);
\coordinate[] (output2) at ($(G.south east)!0.25!(G.north east)$);
\coordinate[] (input1) at ($(G.south west)!0.75!(G.north west)$);
\coordinate[] (input2) at ($(G.south west)!0.25!(G.north west)$);
<span class="org-comment">% Inputs of the controllers</span>
<span class="org-font-latex-sedate">\coordinate</span>[] (output1) at (<span class="org-font-latex-math">$(G.south east)!0.75!(G.north east)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (output2) at (<span class="org-font-latex-math">$(G.south east)!0.25!(G.north east)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (input1) at (<span class="org-font-latex-math">$(G.south west)!0.75!(G.north west)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (input2) at (<span class="org-font-latex-math">$(G.south west)!0.25!(G.north west)$</span>);
\node[block, left=1.8 of input1] (K1) {$K_F$};
\node[block] (K2) at ($(K1.east|-input2)+(0.6, 0)$) {$K_F$};
<span class="org-font-latex-sedate">\node</span>[block, left=1.8 of input1] (K1) {<span class="org-font-latex-math">$K</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">F$</span>};
<span class="org-font-latex-sedate">\node</span>[block] (K2) at (<span class="org-font-latex-math">$(K1.east|-input2)+(0.6, 0)$</span>) {<span class="org-font-latex-math">$K</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">F$</span>};
% Connections and labels
\draw[-&gt;] (K1.east) -- (input1)node[above left]{$F_u$}node[below left]{$-$};
\draw[-&gt;] (K2.east) -- (input2)node[above left]{$F_v$}node[below left]{$-$};
<span class="org-comment">% Connections and labels</span>
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (K1.east) -- (input1)node[above left]{<span class="org-font-latex-math">$F</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">u$</span>}node[below left]{<span class="org-font-latex-math">$-$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (K2.east) -- (input2)node[above left]{<span class="org-font-latex-math">$F</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">v$</span>}node[below left]{<span class="org-font-latex-math">$-$</span>};
\draw[-&gt;] (output1) -- ++(0.8, 0) node[above left]{$f_u$};
\draw[-&gt;] (output2) -- ++(0.8, 0) node[above left]{$f_v$};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (output1) -- ++(0.8, 0) node[above left]{<span class="org-font-latex-math">$f</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">u$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (output2) -- ++(0.8, 0) node[above left]{<span class="org-font-latex-math">$f</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">v$</span>};
\draw[-&gt;] ($(output1)+(0.2, 0)$)node[branch]{} -- ++(0, 1.2) -| ($(K1.west) + (-0.8, 0)$)coordinate(start) -- (K1.west);
\draw[-&gt;] ($(output2)+(0.2, 0)$)node[branch]{} -- ++(0, -1.2) -| (start|-K2) -- (K2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (<span class="org-font-latex-math">$(output1)+(0.2, 0)$</span>)node[branch]{} -- ++(0, 1.2) -| (<span class="org-font-latex-math">$(K1.west) + (-0.8, 0)$</span>)coordinate(start) -- (K1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (<span class="org-font-latex-math">$(output2)+(0.2, 0)$</span>)node[branch]{} -- ++(0, -1.2) -| (start|-K2) -- (K2.west);
\begin{scope}[on background layer]
\node[fit={(K1.north west) (K2.south east)}, inner sep=6pt, draw, dashed, fill=black!20!white] (K) {};
\node[below left] at (K.north east) {$\bm{K}_F$};
\end{scope}
\end{tikzpicture}
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">scope</span>}[on background layer]
<span class="org-font-latex-sedate">\node</span>[fit={(K1.north west) (K2.south east)}, inner sep=6pt, draw, dashed, fill=black!20!white] (K) {};
<span class="org-font-latex-sedate">\node</span>[below left] at (K.north east) {<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\bm</span></span><span class="org-font-latex-math">{K}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">F$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">scope</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div class="figure">
<div id="orgd28fad3" class="figure">
<p><img src="figs/control_diagram_iff.png" alt="control_diagram_iff.png" />
</p>
</div>
</div>
</div>
<div id="outline-container-orgef77a1d" class="outline-2">
<h2 id="orgef77a1d"><span class="section-number-2">3</span> Decentralized Integral Force Feedback</h2>
<div id="outline-container-org732f401" class="outline-2">
<h2 id="org732f401"><span class="section-number-2">3</span> Decentralized Integral Force Feedback</h2>
<div class="outline-text-2" id="text-3">
<div class="org-src-container">
<pre class="src src-latex">\begin{tikzpicture}
% Angle
\def\thetau{25}
<pre class="src src-latex"><span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
<span class="org-comment">% Angle</span>
<span class="org-font-latex-sedate">\def\thetau</span>{25}
% Rotational Stage
\draw[fill=black!60!white] (0, 0) circle (4.3);
\draw[fill=black!40!white] (0, 0) circle (3.8);
<span class="org-comment">% Rotational Stage</span>
<span class="org-font-latex-sedate">\draw</span>[fill=black!60!white] (0, 0) circle (4.3);
<span class="org-font-latex-sedate">\draw</span>[fill=black!40!white] (0, 0) circle (3.8);
% Label
\node[anchor=north west, rotate=\thetau] at (-2.5, 2.5) {\small Rotating Stage};
<span class="org-comment">% Label</span>
<span class="org-font-latex-sedate">\node</span>[anchor=north west, rotate=<span class="org-font-latex-sedate">\thetau</span>] at (-2.5, 2.5) {<span class="org-font-latex-sedate"><span class="org-keyword">\small</span></span><span class="org-type"> Rotating Stage</span>};
% Rotating Scope
\begin{scope}[rotate=\thetau]
% Rotating Frame
\draw[fill=black!20!white] (-2.6, -2.6) rectangle (2.6, 2.6);
% Label
\node[anchor=north west, rotate=\thetau] at (-2.6, 2.6) {\small Suspended Platform};
<span class="org-comment">% Rotating Scope</span>
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">scope</span>}[rotate=<span class="org-font-latex-sedate">\thetau</span>]
<span class="org-comment">% Rotating Frame</span>
<span class="org-font-latex-sedate">\draw</span>[fill=black!20!white] (-2.6, -2.6) rectangle (2.6, 2.6);
<span class="org-comment">% Label</span>
<span class="org-font-latex-sedate">\node</span>[anchor=north west, rotate=<span class="org-font-latex-sedate">\thetau</span>] at (-2.6, 2.6) {<span class="org-font-latex-sedate"><span class="org-keyword">\small</span></span><span class="org-type"> Suspended Platform</span>};
% Mass
\draw[fill=white] (-1, -1) rectangle (1, 1);
% Label
\node[anchor=south west, rotate=\thetau] at (-1, -1) {\small Payload};
<span class="org-comment">% Mass</span>
<span class="org-font-latex-sedate">\draw</span>[fill=white] (-1, -1) rectangle (1, 1);
<span class="org-comment">% Label</span>
<span class="org-font-latex-sedate">\node</span>[anchor=south west, rotate=<span class="org-font-latex-sedate">\thetau</span>] at (-1, -1) {<span class="org-font-latex-sedate"><span class="org-keyword">\small</span></span><span class="org-type"> Payload</span>};
% Attached Points
\node[] at (-1, 0){$\bullet$};
\draw[] (-1, 0) -- ++(-0.2, 0) coordinate(au);
\node[] at (0, -1){$\bullet$};
\draw[] (0, -1) -- ++(0, -0.2) coordinate(av);
<span class="org-comment">% Attached Points</span>
<span class="org-font-latex-sedate">\node</span>[] at (-1, 0){<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\bullet</span></span><span class="org-font-latex-math">$</span>};
<span class="org-font-latex-sedate">\draw</span>[] (-1, 0) -- ++(-0.2, 0) coordinate(au);
<span class="org-font-latex-sedate">\node</span>[] at (0, -1){<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\bullet</span></span><span class="org-font-latex-math">$</span>};
<span class="org-font-latex-sedate">\draw</span>[] (0, -1) -- ++(0, -0.2) coordinate(av);
% Force Sensors
\draw[fill=white] ($(au) + (-0.2, -0.5)$) rectangle ($(au) + (0, 0.5)$);
\draw[] ($(au) + (-0.2, -0.5)$)coordinate(actu) -- ($(au) + (0, 0.5)$);
\draw[] ($(au) + (-0.2, 0.5)$)coordinate(ku) -- ($(au) + (0, -0.5)$);
<span class="org-comment">% Force Sensors</span>
<span class="org-font-latex-sedate">\draw</span>[fill=white] (<span class="org-font-latex-math">$(au) + (-0.2, -0.5)$</span>) rectangle (<span class="org-font-latex-math">$(au) + (0, 0.5)$</span>);
<span class="org-font-latex-sedate">\draw</span>[] (<span class="org-font-latex-math">$(au) + (-0.2, -0.5)$</span>)coordinate(actu) -- (<span class="org-font-latex-math">$(au) + (0, 0.5)$</span>);
<span class="org-font-latex-sedate">\draw</span>[] (<span class="org-font-latex-math">$(au) + (-0.2, 0.5)$</span>)coordinate(ku) -- (<span class="org-font-latex-math">$(au) + (0, -0.5)$</span>);
\draw[fill=white] ($(av) + (-0.5, -0.2)$) rectangle ($(av) + (0.5, 0)$);
\draw[] ($(av) + ( 0.5, -0.2)$)coordinate(actv) -- ($(av) + (-0.5, 0)$);
\draw[] ($(av) + (-0.5, -0.2)$)coordinate(kv) -- ($(av) + ( 0.5, 0)$);
<span class="org-font-latex-sedate">\draw</span>[fill=white] (<span class="org-font-latex-math">$(av) + (-0.5, -0.2)$</span>) rectangle (<span class="org-font-latex-math">$(av) + (0.5, 0)$</span>);
<span class="org-font-latex-sedate">\draw</span>[] (<span class="org-font-latex-math">$(av) + ( 0.5, -0.2)$</span>)coordinate(actv) -- (<span class="org-font-latex-math">$(av) + (-0.5, 0)$</span>);
<span class="org-font-latex-sedate">\draw</span>[] (<span class="org-font-latex-math">$(av) + (-0.5, -0.2)$</span>)coordinate(kv) -- (<span class="org-font-latex-math">$(av) + ( 0.5, 0)$</span>);
% Spring and Actuator for U
\draw[actuator={0.6}{0.2}] (actu) -- coordinate[midway](actumid) (actu-|-2.6,0);
\draw[spring=0.2] (ku) -- node[above=0.1, rotate=\thetau]{$k$} (ku-|-2.6,0);
<span class="org-comment">% Spring and Actuator for U</span>
<span class="org-font-latex-sedate">\draw</span>[actuator={0.6}{0.2}] (actu) -- coordinate[midway](actumid) (actu-|-2.6,0);
<span class="org-font-latex-sedate">\draw</span>[spring=0.2] (ku) -- node[above=0.1, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$k$</span>} (ku-|-2.6,0);
% \draw[actuator={0.6}{0.2}] (actv) -- node[right, rotate=\thetau]{$F_v$} (actv|-0,-2.6);
\draw[actuator={0.6}{0.2}] (actv) -- coordinate[midway](actvmid) (actv|-0,-2.6);
\draw[spring=0.2] (kv) -- node[left, rotate=\thetau]{$k$} (kv|-0,-2.6);
<span class="org-comment">% </span><span class="org-font-latex-sedate"><span class="org-comment">\draw</span></span><span class="org-comment">[actuator={0.6}{0.2}] (actv) -- node[right, rotate=</span><span class="org-font-latex-sedate"><span class="org-comment">\thetau</span></span><span class="org-comment">]{$F_v$} (actv|-0,-2.6);</span>
<span class="org-font-latex-sedate">\draw</span>[actuator={0.6}{0.2}] (actv) -- coordinate[midway](actvmid) (actv|-0,-2.6);
<span class="org-font-latex-sedate">\draw</span>[spring=0.2] (kv) -- node[left, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$k$</span>} (kv|-0,-2.6);
\node[block={0.8cm}{0.6cm}, rotate=\thetau] (Ku) at ($(actumid) + (0, -1.2)$) {$K_{F}$};
\draw[-&gt;] ($(au) + (-0.1, -0.5)$) |- (Ku.east) node[below right, rotate=\thetau]{$f_{u}$};
\draw[-&gt;] (Ku.north) -- ($(actumid) + (0, -0.1)$) node[below left, rotate=\thetau]{$F_u$} node[below right, rotate=\thetau]{$-$};
<span class="org-font-latex-sedate">\node</span>[block={0.8cm}{0.6cm}, rotate=<span class="org-font-latex-sedate">\thetau</span>] (Ku) at (<span class="org-font-latex-math">$(actumid) + (0, -1.2)$</span>) {<span class="org-font-latex-math">$K_{F}$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (<span class="org-font-latex-math">$(au) + (-0.1, -0.5)$</span>) |- (Ku.east) node[below right, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$f_{u}$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (Ku.north) -- (<span class="org-font-latex-math">$(actumid) + (0, -0.1)$</span>) node[below left, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$F_u$</span>} node[below right, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$-$</span>};
\node[block={0.8cm}{0.6cm}, rotate=\thetau] (Kv) at ($(actvmid) + (1.2, 0)$) {$K_{F}$};
\draw[-&gt;] ($(av) + (0.5, -0.1)$) -| (Kv.north) node[above right, rotate=\thetau]{$f_{v}$};
\draw[-&gt;] (Kv.west) -- ($(actvmid) + (0.1, 0)$) node[below right, rotate=\thetau]{$F_v$} node[above right, rotate=\thetau]{$-$};
\end{scope}
<span class="org-font-latex-sedate">\node</span>[block={0.8cm}{0.6cm}, rotate=<span class="org-font-latex-sedate">\thetau</span>] (Kv) at (<span class="org-font-latex-math">$(actvmid) + (1.2, 0)$</span>) {<span class="org-font-latex-math">$K_{F}$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (<span class="org-font-latex-math">$(av) + (0.5, -0.1)$</span>) -| (Kv.north) node[above right, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$f_{v}$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (Kv.west) -- (<span class="org-font-latex-math">$(actvmid) + (0.1, 0)$</span>) node[below right, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$F_v$</span>} node[above right, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$-$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">scope</span>}
% Inertial Frame
\draw[-&gt;] (-4, -4) -- ++(2, 0) node[below]{$\vec{i}_x$};
\draw[-&gt;] (-4, -4) -- ++(0, 2) node[left]{$\vec{i}_y$};
\draw[fill, color=black] (-4, -4) circle (0.06);
\node[draw, circle, inner sep=0pt, minimum size=0.3cm, label=left:$\vec{i}_z$] at (-4, -4){};
<span class="org-comment">% Inertial Frame</span>
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (-4, -4) -- ++(2, 0) node[below]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\vec</span></span><span class="org-font-latex-math">{i}_x$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (-4, -4) -- ++(0, 2) node[left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\vec</span></span><span class="org-font-latex-math">{i}_y$</span>};
<span class="org-font-latex-sedate">\draw</span>[fill, color=black] (-4, -4) circle (0.06);
<span class="org-font-latex-sedate">\node</span>[draw, circle, inner sep=0pt, minimum size=0.3cm, label=left:<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\vec</span></span><span class="org-font-latex-math">{i}_z$</span>] at (-4, -4){};
\node[draw, circle, inner sep=0pt, minimum size=0.3cm] at (0, 0){};
\draw[-&gt;] (0, 0) node[above left, rotate=\thetau]{$\vec{i}_w$} -- ++(\thetau:2) node[above, rotate=\thetau]{$\vec{i}_u$};
\draw[-&gt;] (0, 0) -- ++(\thetau+90:2) node[left, rotate=\thetau]{$\vec{i}_v$};
\draw[dashed] (0, 0) -- ++(2, 0);
\draw[] (1.5, 0) arc (0:\thetau:1.5) node[midway, right]{$\theta$};
\node[] at (0,0) {$\bullet$};
<span class="org-font-latex-sedate">\node</span>[draw, circle, inner sep=0pt, minimum size=0.3cm] at (0, 0){};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (0, 0) node[above left, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\vec</span></span><span class="org-font-latex-math">{i}_w$</span>} -- ++(<span class="org-font-latex-sedate">\thetau</span>:2) node[above, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\vec</span></span><span class="org-font-latex-math">{i}_u$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (0, 0) -- ++(<span class="org-font-latex-sedate">\thetau</span>+90:2) node[left, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\vec</span></span><span class="org-font-latex-math">{i}_v$</span>};
<span class="org-font-latex-sedate">\draw</span>[dashed] (0, 0) -- ++(2, 0);
<span class="org-font-latex-sedate">\draw</span>[] (1.5, 0) arc (0:<span class="org-font-latex-sedate">\thetau</span>:1.5) node[midway, right]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\theta</span></span><span class="org-font-latex-math">$</span>};
<span class="org-font-latex-sedate">\node</span>[] at (0,0) {<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\bullet</span></span><span class="org-font-latex-math">$</span>};
\draw[-&gt;] (3.5, 0) arc (0:40:3.5) node[midway, left]{$\Omega$};
\end{tikzpicture}
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (3.5, 0) arc (0:40:3.5) node[midway, left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\Omega</span></span><span class="org-font-latex-math">$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div class="figure">
<div id="orgfc98ac7" class="figure">
<p><img src="figs/system_iff.png" alt="system_iff.png" />
</p>
</div>
</div>
</div>
<div id="outline-container-org5339b95" class="outline-2">
<h2 id="org5339b95"><span class="section-number-2">4</span> Springs in parallel</h2>
<div id="outline-container-org1dd642f" class="outline-2">
<h2 id="org1dd642f"><span class="section-number-2">4</span> Springs in parallel</h2>
<div class="outline-text-2" id="text-4">
<div class="org-src-container">
<pre class="src src-latex">\begin{tikzpicture}
% Angle
\def\thetau{25}
<pre class="src src-latex"><span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
<span class="org-comment">% Angle</span>
<span class="org-font-latex-sedate">\def\thetau</span>{25}
% Rotational Stage
\draw[fill=black!60!white] (0, 0) circle (4.3);
\draw[fill=black!40!white] (0, 0) circle (3.8);
<span class="org-comment">% Rotational Stage</span>
<span class="org-font-latex-sedate">\draw</span>[fill=black!60!white] (0, 0) circle (4.3);
<span class="org-font-latex-sedate">\draw</span>[fill=black!40!white] (0, 0) circle (3.8);
% Label
\node[anchor=north west, rotate=\thetau] at (-2.5, 2.5) {\small Rotating Stage};
<span class="org-comment">% Label</span>
<span class="org-font-latex-sedate">\node</span>[anchor=north west, rotate=<span class="org-font-latex-sedate">\thetau</span>] at (-2.5, 2.5) {<span class="org-font-latex-sedate"><span class="org-keyword">\small</span></span><span class="org-type"> Rotating Stage</span>};
% Rotating Scope
\begin{scope}[rotate=\thetau]
% Rotating Frame
\draw[fill=black!20!white] (-2.6, -2.6) rectangle (2.6, 2.6);
% Label
\node[anchor=north west, rotate=\thetau] at (-2.6, 2.6) {\small Suspended Platform};
<span class="org-comment">% Rotating Scope</span>
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">scope</span>}[rotate=<span class="org-font-latex-sedate">\thetau</span>]
<span class="org-comment">% Rotating Frame</span>
<span class="org-font-latex-sedate">\draw</span>[fill=black!20!white] (-2.6, -2.6) rectangle (2.6, 2.6);
<span class="org-comment">% Label</span>
<span class="org-font-latex-sedate">\node</span>[anchor=north west, rotate=<span class="org-font-latex-sedate">\thetau</span>] at (-2.6, 2.6) {<span class="org-font-latex-sedate"><span class="org-keyword">\small</span></span><span class="org-type"> Suspended Platform</span>};
% Mass
\draw[fill=white] (-1, -1) rectangle (1, 1);
% Label
\node[anchor=south west, rotate=\thetau] at (-1, -1) {\small Payload};
<span class="org-comment">% Mass</span>
<span class="org-font-latex-sedate">\draw</span>[fill=white] (-1, -1) rectangle (1, 1);
<span class="org-comment">% Label</span>
<span class="org-font-latex-sedate">\node</span>[anchor=south west, rotate=<span class="org-font-latex-sedate">\thetau</span>] at (-1, -1) {<span class="org-font-latex-sedate"><span class="org-keyword">\small</span></span><span class="org-type"> Payload</span>};
% Attached Points
\draw[] (-1, 0) -- ++(-0.2, 0) coordinate(au);
\draw[] (0, -1) -- ++(0, -0.2) coordinate(av);
<span class="org-comment">% Attached Points</span>
<span class="org-font-latex-sedate">\draw</span>[] (-1, 0) -- ++(-0.2, 0) coordinate(au);
<span class="org-font-latex-sedate">\draw</span>[] (0, -1) -- ++(0, -0.2) coordinate(av);
% Force Sensors
\draw[fill=white] ($(au) + (-0.2, -0.5)$) rectangle ($(au) + (0, 0.5)$);
\draw[] ($(au) + (-0.2, -0.5)$)coordinate(actu) -- ($(au) + (0, 0.5)$);
\draw[] ($(au) + (-0.2, 0.5)$)coordinate(ku) -- ($(au) + (0, -0.5)$);
\node[below=0.1, rotate=\thetau] at ($(au) + (-0.1, -0.5)$) {$f_{u}$}
<span class="org-comment">% Force Sensors</span>
<span class="org-font-latex-sedate">\draw</span>[fill=white] (<span class="org-font-latex-math">$(au) + (-0.2, -0.5)$</span>) rectangle (<span class="org-font-latex-math">$(au) + (0, 0.5)$</span>);
<span class="org-font-latex-sedate">\draw</span>[] (<span class="org-font-latex-math">$(au) + (-0.2, -0.5)$</span>)coordinate(actu) -- (<span class="org-font-latex-math">$(au) + (0, 0.5)$</span>);
<span class="org-font-latex-sedate">\draw</span>[] (<span class="org-font-latex-math">$(au) + (-0.2, 0.5)$</span>)coordinate(ku) -- (<span class="org-font-latex-math">$(au) + (0, -0.5)$</span>);
<span class="org-font-latex-sedate">\node</span>[below=0.1, rotate=<span class="org-font-latex-sedate">\thetau</span>] at (<span class="org-font-latex-math">$(au) + (-0.1, -0.5)$</span>) {<span class="org-font-latex-math">$f</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">{u}$</span>}
\draw[fill=white] ($(av) + (-0.5, -0.2)$) rectangle ($(av) + (0.5, 0)$);
\draw[] ($(av) + ( 0.5, -0.2)$)coordinate(actv) -- ($(av) + (-0.5, 0)$);
\draw[] ($(av) + (-0.5, -0.2)$)coordinate(kv) -- ($(av) + ( 0.5, 0)$) ;
\node[right=0.1, rotate=\thetau] at ($(av) + (0.5, -0.1)$) {$f_{v}$}
<span class="org-font-latex-sedate">\draw</span>[fill=white] (<span class="org-font-latex-math">$(av) + (-0.5, -0.2)$</span>) rectangle (<span class="org-font-latex-math">$(av) + (0.5, 0)$</span>);
<span class="org-font-latex-sedate">\draw</span>[] (<span class="org-font-latex-math">$(av) + ( 0.5, -0.2)$</span>)coordinate(actv) -- (<span class="org-font-latex-math">$(av) + (-0.5, 0)$</span>);
<span class="org-font-latex-sedate">\draw</span>[] (<span class="org-font-latex-math">$(av) + (-0.5, -0.2)$</span>)coordinate(kv) -- (<span class="org-font-latex-math">$(av) + ( 0.5, 0)$</span>) ;
<span class="org-font-latex-sedate">\node</span>[right=0.1, rotate=<span class="org-font-latex-sedate">\thetau</span>] at (<span class="org-font-latex-math">$(av) + (0.5, -0.1)$</span>) {<span class="org-font-latex-math">$f</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">{v}$</span>}
% Spring and Actuator for U
\draw[actuator={0.6}{0.2}] (actu) -- node[below=0.1, rotate=\thetau]{$F_u$} (actu-|-2.6,0);
\draw[spring=0.2] (ku) -- node[below=0.1, rotate=\thetau]{$k_a$} (ku-|-2.6,0);
\draw[spring=0.2] (-1, 0.8) -- node[above=0.1, rotate=\thetau]{$k_p$} (-1, 0.8-|-2.6,0);
<span class="org-comment">% Spring and Actuator for U</span>
<span class="org-font-latex-sedate">\draw</span>[actuator={0.6}{0.2}] (actu) -- node[below=0.1, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$F</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">u$</span>} (actu-|-2.6,0);
<span class="org-font-latex-sedate">\draw</span>[spring=0.2] (ku) -- node[below=0.1, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$k</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">a$</span>} (ku-|-2.6,0);
<span class="org-font-latex-sedate">\draw</span>[spring=0.2] (-1, 0.8) -- node[above=0.1, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$k</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">p$</span>} (-1, 0.8-|-2.6,0);
\draw[actuator={0.6}{0.2}] (actv) -- node[right=0.1, rotate=\thetau]{$F_v$} (actv|-0,-2.6);
\draw[spring=0.2] (kv) -- node[right=0.1, rotate=\thetau]{$k_a$} (kv|-0,-2.6);
\draw[spring=0.2] (-0.8, -1) -- node[left=0.1, rotate=\thetau]{$k_p$} (-0.8, -1|-0,-2.6);
\end{scope}
<span class="org-font-latex-sedate">\draw</span>[actuator={0.6}{0.2}] (actv) -- node[right=0.1, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$F</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">v$</span>} (actv|-0,-2.6);
<span class="org-font-latex-sedate">\draw</span>[spring=0.2] (kv) -- node[right=0.1, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$k</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">a$</span>} (kv|-0,-2.6);
<span class="org-font-latex-sedate">\draw</span>[spring=0.2] (-0.8, -1) -- node[left=0.1, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$k</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">p$</span>} (-0.8, -1|-0,-2.6);
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">scope</span>}
% Inertial Frame
\draw[-&gt;] (-4, -4) -- ++(2, 0) node[below]{$\vec{i}_x$};
\draw[-&gt;] (-4, -4) -- ++(0, 2) node[left]{$\vec{i}_y$};
\draw[fill, color=black] (-4, -4) circle (0.06);
\node[draw, circle, inner sep=0pt, minimum size=0.3cm, label=left:$\vec{i}_z$] at (-4, -4){};
<span class="org-comment">% Inertial Frame</span>
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (-4, -4) -- ++(2, 0) node[below]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\vec</span></span><span class="org-font-latex-math">{i}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">x$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (-4, -4) -- ++(0, 2) node[left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\vec</span></span><span class="org-font-latex-math">{i}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">y$</span>};
<span class="org-font-latex-sedate">\draw</span>[fill, color=black] (-4, -4) circle (0.06);
<span class="org-font-latex-sedate">\node</span>[draw, circle, inner sep=0pt, minimum size=0.3cm, label=left:<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\vec</span></span><span class="org-font-latex-math">{i}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">z$</span>] at (-4, -4){};
\node[draw, circle, inner sep=0pt, minimum size=0.3cm] at (0, 0){};
\draw[-&gt;] (0, 0) node[above left, rotate=\thetau]{$\vec{i}_w$} -- ++(\thetau:2) node[above, rotate=\thetau]{$\vec{i}_u$};
\draw[-&gt;] (0, 0) -- ++(\thetau+90:2) node[left, rotate=\thetau]{$\vec{i}_v$};
\draw[dashed] (0, 0) -- ++(2, 0);
\draw[] (1.5, 0) arc (0:\thetau:1.5) node[midway, right]{$\theta$};
\node[] at (0,0) {$\bullet$};
<span class="org-font-latex-sedate">\node</span>[draw, circle, inner sep=0pt, minimum size=0.3cm] at (0, 0){};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (0, 0) node[above left, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\vec</span></span><span class="org-font-latex-math">{i}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">w$</span>} -- ++(<span class="org-font-latex-sedate">\thetau</span>:2) node[above, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\vec</span></span><span class="org-font-latex-math">{i}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">u$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (0, 0) -- ++(<span class="org-font-latex-sedate">\thetau</span>+90:2) node[left, rotate=<span class="org-font-latex-sedate">\thetau</span>]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\vec</span></span><span class="org-font-latex-math">{i}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">v$</span>};
<span class="org-font-latex-sedate">\draw</span>[dashed] (0, 0) -- ++(2, 0);
<span class="org-font-latex-sedate">\draw</span>[] (1.5, 0) arc (0:<span class="org-font-latex-sedate">\thetau</span>:1.5) node[midway, right]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\theta</span></span><span class="org-font-latex-math">$</span>};
<span class="org-font-latex-sedate">\node</span>[] at (0,0) {<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\bullet</span></span><span class="org-font-latex-math">$</span>};
\draw[-&gt;] (3.5, 0) arc (0:40:3.5) node[midway, left]{$\Omega$};
\end{tikzpicture}
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (3.5, 0) arc (0:40:3.5) node[midway, left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\Omega</span></span><span class="org-font-latex-math">$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div class="figure">
<div id="orgc785e50" class="figure">
<p><img src="figs/system_parallel_springs.png" alt="system_parallel_springs.png" />
</p>
</div>
@ -319,7 +315,7 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
<div id="postamble" class="status">
<p class="author">Author: Thomas Dehaeze</p>
<p class="date">Created: 2020-07-09 jeu. 09:31</p>
<p class="date">Created: 2020-11-12 jeu. 10:40</p>
</div>
</body>
</html>

View File

@ -1,14 +1,10 @@
#+TITLE: Active Damping of Rotating Platforms using Integral Force Feedback - Tikz Figures
:DRAWER:
#+HTML_LINK_HOME: ../index.html
#+HTML_LINK_UP: ../index.html
#+HTML_LINK_UP: ../index.html
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
#+HTML_HEAD: <script src="../js/jquery.min.js"></script>
#+HTML_HEAD: <script src="../js/bootstrap.min.js"></script>
#+HTML_HEAD: <script src="../js/jquery.stickytableheaders.min.js"></script>
#+HTML_HEAD: <script src="../js/readtheorg.js"></script>
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/>
#+HTML_HEAD: <script type="text/javascript" src="https://research.tdehaeze.xyz/js/script.js"></script>
#+PROPERTY: header-args:latex :headers '("\\usepackage{tikz}" "\\usepackage{import}" "\\import{/home/thomas/Cloud/thesis/papers/dehaeze20_contr_stewa_platf/tikz/}{config.tex}")
#+PROPERTY: header-args:latex+ :imagemagick t :fit yes