Use online CSS and JS

This commit is contained in:
Thomas Dehaeze 2020-11-12 10:34:47 +01:00
parent b9ea3cb05d
commit d4579bf04d
8 changed files with 205 additions and 1556 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,17 +3,13 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2020-10-29 jeu. 10:08 --> <!-- 2020-11-12 jeu. 10:34 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Finite Element Model with Simscape</title> <title>Finite Element Model with Simscape</title>
<meta name="generator" content="Org mode" /> <meta name="generator" content="Org mode" />
<meta name="author" content="Dehaeze Thomas" /> <meta name="author" content="Dehaeze Thomas" />
<link rel="stylesheet" type="text/css" href="./css/htmlize.css"/> <link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/>
<link rel="stylesheet" type="text/css" href="./css/readtheorg.css"/> <script type="text/javascript" src="https://research.tdehaeze.xyz/js/script.js"></script>
<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>MathJax = { <script>MathJax = {
tex: { tex: {
tags: 'ams', tags: 'ams',
@ -34,88 +30,88 @@
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#org3ded9a3">1. Amplified Piezoelectric Actuator - 3D elements</a> <li><a href="#org5a554a0">1. Amplified Piezoelectric Actuator - 3D elements</a>
<ul> <ul>
<li><a href="#org7436688">1.1. Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</a></li> <li><a href="#org29056ab">1.1. Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</a></li>
<li><a href="#org4ad8afa">1.2. Output parameters</a></li> <li><a href="#orgccb0a56">1.2. Output parameters</a></li>
<li><a href="#org1477fec">1.3. Piezoelectric parameters</a></li> <li><a href="#orgdd7c7ba">1.3. Piezoelectric parameters</a></li>
<li><a href="#orgdd0f3d7">1.4. Identification of the Dynamics</a></li> <li><a href="#orgb2959d5">1.4. Identification of the Dynamics</a></li>
<li><a href="#org740df84">1.5. Comparison with Ansys</a></li> <li><a href="#org1e29135">1.5. Comparison with Ansys</a></li>
<li><a href="#org1555a0d">1.6. Force Sensor</a></li> <li><a href="#org3f1fc2e">1.6. Force Sensor</a></li>
<li><a href="#org71b73d0">1.7. Distributed Actuator</a></li> <li><a href="#org4f1753f">1.7. Distributed Actuator</a></li>
<li><a href="#org023858d">1.8. Distributed Actuator and Force Sensor</a></li> <li><a href="#org21246e5">1.8. Distributed Actuator and Force Sensor</a></li>
<li><a href="#org91149a1">1.9. Dynamics from input voltage to displacement</a></li> <li><a href="#orgd0b2aaa">1.9. Dynamics from input voltage to displacement</a></li>
<li><a href="#orgc531f2d">1.10. Dynamics from input voltage to output voltage</a></li> <li><a href="#org5452b7e">1.10. Dynamics from input voltage to output voltage</a></li>
<li><a href="#org527cbaa">1.11. Identification for a simpler model</a></li> <li><a href="#orgaff4afc">1.11. Identification for a simpler model</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org5e5f531">2. APA300ML</a> <li><a href="#org3dc5d8d">2. APA300ML</a>
<ul> <ul>
<li><a href="#org9691c9e">2.1. Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</a></li> <li><a href="#org3eaf978">2.1. Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</a></li>
<li><a href="#org34676bd">2.2. Output parameters</a></li> <li><a href="#org160ca26">2.2. Output parameters</a></li>
<li><a href="#orgf6ad2fe">2.3. Piezoelectric parameters</a></li> <li><a href="#org7932f3c">2.3. Piezoelectric parameters</a></li>
<li><a href="#orgfcc3b27">2.4. Identification of the APA Characteristics</a> <li><a href="#org18316cd">2.4. Identification of the APA Characteristics</a>
<ul> <ul>
<li><a href="#org7c141d1">2.4.1. Stiffness</a></li> <li><a href="#orgc0281f1">2.4.1. Stiffness</a></li>
<li><a href="#org6336a4d">2.4.2. Resonance Frequency</a></li> <li><a href="#orgcebe0f9">2.4.2. Resonance Frequency</a></li>
<li><a href="#org7adcbea">2.4.3. Amplification factor</a></li> <li><a href="#orgda4f233">2.4.3. Amplification factor</a></li>
<li><a href="#org924ba9a">2.4.4. Stroke</a></li> <li><a href="#org59829b6">2.4.4. Stroke</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org0334d98">2.5. Identification of the Dynamics</a></li> <li><a href="#org1cbc8a6">2.5. Identification of the Dynamics</a></li>
<li><a href="#org889c8e8">2.6. IFF</a></li> <li><a href="#org44a32d5">2.6. IFF</a></li>
<li><a href="#org6f11c82">2.7. DVF</a></li> <li><a href="#org3e558c6">2.7. DVF</a></li>
<li><a href="#org1c376b5">2.8. Identification for a simpler model</a></li> <li><a href="#orgad3fdd9">2.8. Identification for a simpler model</a></li>
<li><a href="#org30bc4bf">2.9. Identification of the stiffness properties</a> <li><a href="#orge0b9f5a">2.9. Identification of the stiffness properties</a>
<ul> <ul>
<li><a href="#orge89f3f8">2.9.1. APA Alone</a></li> <li><a href="#org52ddecb">2.9.1. APA Alone</a></li>
<li><a href="#org4651c6e">2.9.2. See how the global stiffness is changing with the flexible joints</a></li> <li><a href="#org02b6855">2.9.2. See how the global stiffness is changing with the flexible joints</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgbb1e485">2.10. Effect of APA300ML in the flexibility of the leg</a></li> <li><a href="#org34de703">2.10. Effect of APA300ML in the flexibility of the leg</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org71e2995">3. Flexible Joint</a> <li><a href="#orgb6c0ee0">3. Flexible Joint</a>
<ul> <ul>
<li><a href="#org4609327">3.1. Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</a></li> <li><a href="#orgd7b1d5f">3.1. Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</a></li>
<li><a href="#org222b467">3.2. Output parameters</a></li> <li><a href="#org9778a32">3.2. Output parameters</a></li>
<li><a href="#orgace43b0">3.3. Flexible Joint Characteristics</a></li> <li><a href="#orgcb9bad1">3.3. Flexible Joint Characteristics</a></li>
<li><a href="#orgc60e392">3.4. Identification of the parameters using Simscape</a></li> <li><a href="#org4dadc02">3.4. Identification of the parameters using Simscape</a></li>
<li><a href="#org43c8aa7">3.5. Simpler Model</a></li> <li><a href="#org30336a6">3.5. Simpler Model</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org5d2c10d">4. Optimal Flexible Joint</a> <li><a href="#orgd9d5aff">4. Optimal Flexible Joint</a>
<ul> <ul>
<li><a href="#orgfec12e9">4.1. Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</a></li> <li><a href="#org83c1679">4.1. Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</a></li>
<li><a href="#org51a4b8d">4.2. Output parameters</a></li> <li><a href="#orgbee4a84">4.2. Output parameters</a></li>
<li><a href="#org9df419b">4.3. Flexible Joint Characteristics</a></li> <li><a href="#org7609951">4.3. Flexible Joint Characteristics</a></li>
<li><a href="#org4ea4053">4.4. Identification of the parameters using Simscape</a></li> <li><a href="#org8bf4f56">4.4. Identification of the parameters using Simscape</a></li>
<li><a href="#org070daa9">4.5. Simpler Model</a></li> <li><a href="#orgd8cb8ff">4.5. Simpler Model</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org72ebb5c">5. Integral Force Feedback with Amplified Piezo</a> <li><a href="#org7f2d76d">5. Integral Force Feedback with Amplified Piezo</a>
<ul> <ul>
<li><a href="#orgffa90de">5.1. Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</a></li> <li><a href="#orgd9dc7be">5.1. Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</a></li>
<li><a href="#org4ac5a6e">5.2. IFF Plant</a></li> <li><a href="#org3671fca">5.2. IFF Plant</a></li>
<li><a href="#orgdc46434">5.3. IFF controller</a></li> <li><a href="#org1cbfb66">5.3. IFF controller</a></li>
<li><a href="#orgc9d8168">5.4. Closed Loop System</a></li> <li><a href="#org7b29313">5.4. Closed Loop System</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orge46f2bf">6. Complete Strut with Encoder</a> <li><a href="#org1272d3f">6. Complete Strut with Encoder</a>
<ul> <ul>
<li><a href="#org9c8b2a0">6.1. Introduction</a></li> <li><a href="#orgddf8d43">6.1. Introduction</a></li>
<li><a href="#org6b21925">6.2. Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</a></li> <li><a href="#org4742c38">6.2. Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</a></li>
<li><a href="#org40668e1">6.3. Output parameters</a></li> <li><a href="#org332b172">6.3. Output parameters</a></li>
<li><a href="#org6d5c440">6.4. Piezoelectric parameters</a></li> <li><a href="#orgadca4a4">6.4. Piezoelectric parameters</a></li>
<li><a href="#org2521017">6.5. Identification of the Dynamics</a></li> <li><a href="#org226d3f3">6.5. Identification of the Dynamics</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</div> </div>
</div> </div>
<div id="outline-container-org3ded9a3" class="outline-2"> <div id="outline-container-org5a554a0" class="outline-2">
<h2 id="org3ded9a3"><span class="section-number-2">1</span> Amplified Piezoelectric Actuator - 3D elements</h2> <h2 id="org5a554a0"><span class="section-number-2">1</span> Amplified Piezoelectric Actuator - 3D elements</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-1">
<p> <p>
The idea here is to: The idea here is to:
@ -129,8 +125,8 @@ The idea here is to:
</ul> </ul>
</div> </div>
<div id="outline-container-org7436688" class="outline-3"> <div id="outline-container-org29056ab" class="outline-3">
<h3 id="org7436688"><span class="section-number-3">1.1</span> Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</h3> <h3 id="org29056ab"><span class="section-number-3">1.1</span> Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</h3>
<div class="outline-text-3" id="text-1-1"> <div class="outline-text-3" id="text-1-1">
<p> <p>
We first extract the stiffness and mass matrices. We first extract the stiffness and mass matrices.
@ -156,8 +152,8 @@ Then, we extract the coordinates of the interface nodes.
</div> </div>
</div> </div>
<div id="outline-container-org4ad8afa" class="outline-3"> <div id="outline-container-orgccb0a56" class="outline-3">
<h3 id="org4ad8afa"><span class="section-number-3">1.2</span> Output parameters</h3> <h3 id="orgccb0a56"><span class="section-number-3">1.2</span> Output parameters</h3>
<div class="outline-text-3" id="text-1-2"> <div class="outline-text-3" id="text-1-2">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">load(<span class="org-string">'./mat/piezo_amplified_3d.mat'</span>, <span class="org-string">'int_xyz'</span>, <span class="org-string">'int_i'</span>, <span class="org-string">'n_xyz'</span>, <span class="org-string">'n_i'</span>, <span class="org-string">'nodes'</span>, <span class="org-string">'M'</span>, <span class="org-string">'K'</span>); <pre class="src src-matlab">load(<span class="org-string">'./mat/piezo_amplified_3d.mat'</span>, <span class="org-string">'int_xyz'</span>, <span class="org-string">'int_i'</span>, <span class="org-string">'n_xyz'</span>, <span class="org-string">'n_i'</span>, <span class="org-string">'nodes'</span>, <span class="org-string">'M'</span>, <span class="org-string">'K'</span>);
@ -196,7 +192,7 @@ Then, we extract the coordinates of the interface nodes.
</table> </table>
<div id="org52ce3d2" class="figure"> <div id="orgf427fec" class="figure">
<p><img src="figs/amplified_piezo_interface_nodes.png" alt="amplified_piezo_interface_nodes.png" /> <p><img src="figs/amplified_piezo_interface_nodes.png" alt="amplified_piezo_interface_nodes.png" />
</p> </p>
<p><span class="figure-number">Figure 1: </span>Interface Nodes for the Amplified Piezo Actuator</p> <p><span class="figure-number">Figure 1: </span>Interface Nodes for the Amplified Piezo Actuator</p>
@ -654,8 +650,8 @@ Using <code>K</code>, <code>M</code> and <code>int_xyz</code>, we can use the <c
</div> </div>
<div id="outline-container-org1477fec" class="outline-3"> <div id="outline-container-orgdd7c7ba" class="outline-3">
<h3 id="org1477fec"><span class="section-number-3">1.3</span> Piezoelectric parameters</h3> <h3 id="orgdd7c7ba"><span class="section-number-3">1.3</span> Piezoelectric parameters</h3>
<div class="outline-text-3" id="text-1-3"> <div class="outline-text-3" id="text-1-3">
<p> <p>
Parameters for the APA95ML: Parameters for the APA95ML:
@ -716,8 +712,8 @@ where:
</div> </div>
</div> </div>
<div id="outline-container-orgdd0f3d7" class="outline-3"> <div id="outline-container-orgb2959d5" class="outline-3">
<h3 id="orgdd0f3d7"><span class="section-number-3">1.4</span> Identification of the Dynamics</h3> <h3 id="orgb2959d5"><span class="section-number-3">1.4</span> Identification of the Dynamics</h3>
<div class="outline-text-3" id="text-1-4"> <div class="outline-text-3" id="text-1-4">
<p> <p>
The flexible element is imported using the <code>Reduced Order Flexible Solid</code> simscape block. The flexible element is imported using the <code>Reduced Order Flexible Solid</code> simscape block.
@ -769,7 +765,7 @@ And the dynamics is identified.
</p> </p>
<p> <p>
The two identified dynamics are compared in Figure <a href="#org49f8567">2</a>. The two identified dynamics are compared in Figure <a href="#orgd90f204">2</a>.
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab"><span class="org-matlab-cellbreak"><span class="org-comment">%% Name of the Simulink File</span></span> <pre class="src src-matlab"><span class="org-matlab-cellbreak"><span class="org-comment">%% Name of the Simulink File</span></span>
@ -785,7 +781,7 @@ Ghm = <span class="org-type">-</span>linearize(mdl, io);
</div> </div>
<div id="org49f8567" class="figure"> <div id="orgd90f204" class="figure">
<p><img src="figs/dynamics_act_disp_comp_mass.png" alt="dynamics_act_disp_comp_mass.png" /> <p><img src="figs/dynamics_act_disp_comp_mass.png" alt="dynamics_act_disp_comp_mass.png" />
</p> </p>
<p><span class="figure-number">Figure 2: </span>Dynamics from \(F\) to \(d\) without a payload and with a 10kg payload</p> <p><span class="figure-number">Figure 2: </span>Dynamics from \(F\) to \(d\) without a payload and with a 10kg payload</p>
@ -793,8 +789,8 @@ Ghm = <span class="org-type">-</span>linearize(mdl, io);
</div> </div>
</div> </div>
<div id="outline-container-org740df84" class="outline-3"> <div id="outline-container-org1e29135" class="outline-3">
<h3 id="org740df84"><span class="section-number-3">1.5</span> Comparison with Ansys</h3> <h3 id="org1e29135"><span class="section-number-3">1.5</span> Comparison with Ansys</h3>
<div class="outline-text-3" id="text-1-5"> <div class="outline-text-3" id="text-1-5">
<p> <p>
Let&rsquo;s import the results from an Harmonic response analysis in Ansys. Let&rsquo;s import the results from an Harmonic response analysis in Ansys.
@ -806,11 +802,11 @@ Gresp10 = readtable(<span class="org-string">'FEA_HarmResponse_10kg.txt'</span>)
</div> </div>
<p> <p>
The obtained dynamics from the Simscape model and from the Ansys analysis are compare in Figure <a href="#orga47bfac">3</a>. The obtained dynamics from the Simscape model and from the Ansys analysis are compare in Figure <a href="#org32de39c">3</a>.
</p> </p>
<div id="orga47bfac" class="figure"> <div id="org32de39c" class="figure">
<p><img src="figs/dynamics_force_disp_comp_anasys.png" alt="dynamics_force_disp_comp_anasys.png" /> <p><img src="figs/dynamics_force_disp_comp_anasys.png" alt="dynamics_force_disp_comp_anasys.png" />
</p> </p>
<p><span class="figure-number">Figure 3: </span>Comparison of the obtained dynamics using Simscape with the harmonic response analysis using Ansys</p> <p><span class="figure-number">Figure 3: </span>Comparison of the obtained dynamics using Simscape with the harmonic response analysis using Ansys</p>
@ -818,15 +814,15 @@ The obtained dynamics from the Simscape model and from the Ansys analysis are co
</div> </div>
</div> </div>
<div id="outline-container-org1555a0d" class="outline-3"> <div id="outline-container-org3f1fc2e" class="outline-3">
<h3 id="org1555a0d"><span class="section-number-3">1.6</span> Force Sensor</h3> <h3 id="org3f1fc2e"><span class="section-number-3">1.6</span> Force Sensor</h3>
<div class="outline-text-3" id="text-1-6"> <div class="outline-text-3" id="text-1-6">
<p> <p>
The dynamics is identified from internal forces applied between nodes 3 and 11 to the relative displacement of nodes 11 and 13. The dynamics is identified from internal forces applied between nodes 3 and 11 to the relative displacement of nodes 11 and 13.
</p> </p>
<p> <p>
The obtained dynamics is shown in Figure <a href="#orgb045fc0">4</a>. The obtained dynamics is shown in Figure <a href="#org5ab3306">4</a>.
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
@ -866,7 +862,7 @@ Gfm = linearize(mdl, io);
</div> </div>
<div id="orgb045fc0" class="figure"> <div id="org5ab3306" class="figure">
<p><img src="figs/dynamics_force_force_sensor_comp_mass.png" alt="dynamics_force_force_sensor_comp_mass.png" /> <p><img src="figs/dynamics_force_force_sensor_comp_mass.png" alt="dynamics_force_force_sensor_comp_mass.png" />
</p> </p>
<p><span class="figure-number">Figure 4: </span>Dynamics from \(F\) to \(F_m\) for \(m=0\) and \(m = 10kg\)</p> <p><span class="figure-number">Figure 4: </span>Dynamics from \(F\) to \(F_m\) for \(m=0\) and \(m = 10kg\)</p>
@ -874,8 +870,8 @@ Gfm = linearize(mdl, io);
</div> </div>
</div> </div>
<div id="outline-container-org71b73d0" class="outline-3"> <div id="outline-container-org4f1753f" class="outline-3">
<h3 id="org71b73d0"><span class="section-number-3">1.7</span> Distributed Actuator</h3> <h3 id="org4f1753f"><span class="section-number-3">1.7</span> Distributed Actuator</h3>
<div class="outline-text-3" id="text-1-7"> <div class="outline-text-3" id="text-1-7">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">m = 0; <pre class="src src-matlab">m = 0;
@ -924,8 +920,8 @@ Gdm = linearize(mdl, io);
</div> </div>
</div> </div>
<div id="outline-container-org023858d" class="outline-3"> <div id="outline-container-org21246e5" class="outline-3">
<h3 id="org023858d"><span class="section-number-3">1.8</span> Distributed Actuator and Force Sensor</h3> <h3 id="org21246e5"><span class="section-number-3">1.8</span> Distributed Actuator and Force Sensor</h3>
<div class="outline-text-3" id="text-1-8"> <div class="outline-text-3" id="text-1-8">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">m = 0; <pre class="src src-matlab">m = 0;
@ -965,8 +961,8 @@ Gfdm = linearize(mdl, io);
</div> </div>
</div> </div>
<div id="outline-container-org91149a1" class="outline-3"> <div id="outline-container-orgd0b2aaa" class="outline-3">
<h3 id="org91149a1"><span class="section-number-3">1.9</span> Dynamics from input voltage to displacement</h3> <h3 id="orgd0b2aaa"><span class="section-number-3">1.9</span> Dynamics from input voltage to displacement</h3>
<div class="outline-text-3" id="text-1-9"> <div class="outline-text-3" id="text-1-9">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">m = 5; <pre class="src src-matlab">m = 5;
@ -978,7 +974,7 @@ And the dynamics is identified.
</p> </p>
<p> <p>
The two identified dynamics are compared in Figure <a href="#org49f8567">2</a>. The two identified dynamics are compared in Figure <a href="#orgd90f204">2</a>.
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab"><span class="org-matlab-cellbreak"><span class="org-comment">%% Name of the Simulink File</span></span> <pre class="src src-matlab"><span class="org-matlab-cellbreak"><span class="org-comment">%% Name of the Simulink File</span></span>
@ -1000,8 +996,8 @@ G = <span class="org-type">-</span>linearize(mdl, io);
</div> </div>
</div> </div>
<div id="outline-container-orgc531f2d" class="outline-3"> <div id="outline-container-org5452b7e" class="outline-3">
<h3 id="orgc531f2d"><span class="section-number-3">1.10</span> Dynamics from input voltage to output voltage</h3> <h3 id="org5452b7e"><span class="section-number-3">1.10</span> Dynamics from input voltage to output voltage</h3>
<div class="outline-text-3" id="text-1-10"> <div class="outline-text-3" id="text-1-10">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">m = 5; <pre class="src src-matlab">m = 5;
@ -1023,8 +1019,8 @@ G = <span class="org-type">-</span>linearize(mdl, io);
</div> </div>
</div> </div>
<div id="outline-container-org527cbaa" class="outline-3"> <div id="outline-container-orgaff4afc" class="outline-3">
<h3 id="org527cbaa"><span class="section-number-3">1.11</span> Identification for a simpler model</h3> <h3 id="orgaff4afc"><span class="section-number-3">1.11</span> Identification for a simpler model</h3>
<div class="outline-text-3" id="text-1-11"> <div class="outline-text-3" id="text-1-11">
<p> <p>
The goal in this section is to identify the parameters of a simple APA model from the FEM. The goal in this section is to identify the parameters of a simple APA model from the FEM.
@ -1036,12 +1032,12 @@ The presented model is based on (<a href="#citeproc_bib_item_2">Souleille et al.
</p> </p>
<p> <p>
The model represents the Amplified Piezo Actuator (APA) from Cedrat-Technologies (Figure <a href="#orgb1100b8">5</a>). The model represents the Amplified Piezo Actuator (APA) from Cedrat-Technologies (Figure <a href="#org73ab5e6">5</a>).
The parameters are shown in the table below. The parameters are shown in the table below.
</p> </p>
<div id="orgb1100b8" class="figure"> <div id="org73ab5e6" class="figure">
<p><img src="./figs/souleille18_model_piezo.png" alt="souleille18_model_piezo.png" /> <p><img src="./figs/souleille18_model_piezo.png" alt="souleille18_model_piezo.png" />
</p> </p>
<p><span class="figure-number">Figure 5: </span>Picture of an APA100M from Cedrat Technologies. Simplified model of a one DoF payload mounted on such isolator</p> <p><span class="figure-number">Figure 5: </span>Picture of an APA100M from Cedrat Technologies. Simplified model of a one DoF payload mounted on such isolator</p>
@ -1190,7 +1186,7 @@ Adjust the DC gain for the force sensor:
</div> </div>
<div id="org6fbe971" class="figure"> <div id="org629ff2d" class="figure">
<p><img src="figs/apa95ml_comp_simpler_model.png" alt="apa95ml_comp_simpler_model.png" /> <p><img src="figs/apa95ml_comp_simpler_model.png" alt="apa95ml_comp_simpler_model.png" />
</p> </p>
<p><span class="figure-number">Figure 6: </span>Comparison of the Dynamics between the FEM model and the simplified one</p> <p><span class="figure-number">Figure 6: </span>Comparison of the Dynamics between the FEM model and the simplified one</p>
@ -1207,19 +1203,19 @@ We save the parameters of the simplified model for the APA95ML:
</div> </div>
</div> </div>
<div id="outline-container-org5e5f531" class="outline-2"> <div id="outline-container-org3dc5d8d" class="outline-2">
<h2 id="org5e5f531"><span class="section-number-2">2</span> APA300ML</h2> <h2 id="org3dc5d8d"><span class="section-number-2">2</span> APA300ML</h2>
<div class="outline-text-2" id="text-2"> <div class="outline-text-2" id="text-2">
<div id="orgbd02022" class="figure"> <div id="org60aa4c9" class="figure">
<p><img src="figs/apa300ml_ansys.jpg" alt="apa300ml_ansys.jpg" /> <p><img src="figs/apa300ml_ansys.jpg" alt="apa300ml_ansys.jpg" />
</p> </p>
<p><span class="figure-number">Figure 7: </span>Ansys FEM of the APA300ML</p> <p><span class="figure-number">Figure 7: </span>Ansys FEM of the APA300ML</p>
</div> </div>
</div> </div>
<div id="outline-container-org9691c9e" class="outline-3"> <div id="outline-container-org3eaf978" class="outline-3">
<h3 id="org9691c9e"><span class="section-number-3">2.1</span> Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</h3> <h3 id="org3eaf978"><span class="section-number-3">2.1</span> Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</h3>
<div class="outline-text-3" id="text-2-1"> <div class="outline-text-3" id="text-2-1">
<p> <p>
We first extract the stiffness and mass matrices. We first extract the stiffness and mass matrices.
@ -1245,8 +1241,8 @@ Then, we extract the coordinates of the interface nodes.
</div> </div>
</div> </div>
<div id="outline-container-org34676bd" class="outline-3"> <div id="outline-container-org160ca26" class="outline-3">
<h3 id="org34676bd"><span class="section-number-3">2.2</span> Output parameters</h3> <h3 id="org160ca26"><span class="section-number-3">2.2</span> Output parameters</h3>
<div class="outline-text-3" id="text-2-2"> <div class="outline-text-3" id="text-2-2">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">load(<span class="org-string">'./mat/APA300ML.mat'</span>, <span class="org-string">'int_xyz'</span>, <span class="org-string">'int_i'</span>, <span class="org-string">'n_xyz'</span>, <span class="org-string">'n_i'</span>, <span class="org-string">'nodes'</span>, <span class="org-string">'M'</span>, <span class="org-string">'K'</span>); <pre class="src src-matlab">load(<span class="org-string">'./mat/APA300ML.mat'</span>, <span class="org-string">'int_xyz'</span>, <span class="org-string">'int_i'</span>, <span class="org-string">'n_xyz'</span>, <span class="org-string">'n_i'</span>, <span class="org-string">'nodes'</span>, <span class="org-string">'M'</span>, <span class="org-string">'K'</span>);
@ -1687,8 +1683,8 @@ Using <code>K</code>, <code>M</code> and <code>int_xyz</code>, we can use the <c
</div> </div>
</div> </div>
<div id="outline-container-orgf6ad2fe" class="outline-3"> <div id="outline-container-org7932f3c" class="outline-3">
<h3 id="orgf6ad2fe"><span class="section-number-3">2.3</span> Piezoelectric parameters</h3> <h3 id="org7932f3c"><span class="section-number-3">2.3</span> Piezoelectric parameters</h3>
<div class="outline-text-3" id="text-2-3"> <div class="outline-text-3" id="text-2-3">
<p> <p>
Parameters for the APA300ML: Parameters for the APA300ML:
@ -1749,12 +1745,12 @@ where:
</div> </div>
</div> </div>
<div id="outline-container-orgfcc3b27" class="outline-3"> <div id="outline-container-org18316cd" class="outline-3">
<h3 id="orgfcc3b27"><span class="section-number-3">2.4</span> Identification of the APA Characteristics</h3> <h3 id="org18316cd"><span class="section-number-3">2.4</span> Identification of the APA Characteristics</h3>
<div class="outline-text-3" id="text-2-4"> <div class="outline-text-3" id="text-2-4">
</div> </div>
<div id="outline-container-org7c141d1" class="outline-4"> <div id="outline-container-orgc0281f1" class="outline-4">
<h4 id="org7c141d1"><span class="section-number-4">2.4.1</span> Stiffness</h4> <h4 id="orgc0281f1"><span class="section-number-4">2.4.1</span> Stiffness</h4>
<div class="outline-text-4" id="text-2-4-1"> <div class="outline-text-4" id="text-2-4-1">
<p> <p>
The transfer function from vertical external force to the relative vertical displacement is identified. The transfer function from vertical external force to the relative vertical displacement is identified.
@ -1779,16 +1775,16 @@ The specified stiffness in the datasheet is \(k = 1.8\, [N/\mu m]\).
</div> </div>
</div> </div>
<div id="outline-container-org6336a4d" class="outline-4"> <div id="outline-container-orgcebe0f9" class="outline-4">
<h4 id="org6336a4d"><span class="section-number-4">2.4.2</span> Resonance Frequency</h4> <h4 id="orgcebe0f9"><span class="section-number-4">2.4.2</span> Resonance Frequency</h4>
<div class="outline-text-4" id="text-2-4-2"> <div class="outline-text-4" id="text-2-4-2">
<p> <p>
The resonance frequency is specified to be between 650Hz and 840Hz. The resonance frequency is specified to be between 650Hz and 840Hz.
This is also the case for the FEM model (Figure <a href="#org2f62cd6">8</a>). This is also the case for the FEM model (Figure <a href="#orgbb4a26e">8</a>).
</p> </p>
<div id="org2f62cd6" class="figure"> <div id="orgbb4a26e" class="figure">
<p><img src="figs/apa300ml_resonance.png" alt="apa300ml_resonance.png" /> <p><img src="figs/apa300ml_resonance.png" alt="apa300ml_resonance.png" />
</p> </p>
<p><span class="figure-number">Figure 8: </span>First resonance is around 800Hz</p> <p><span class="figure-number">Figure 8: </span>First resonance is around 800Hz</p>
@ -1796,8 +1792,8 @@ This is also the case for the FEM model (Figure <a href="#org2f62cd6">8</a>).
</div> </div>
</div> </div>
<div id="outline-container-org7adcbea" class="outline-4"> <div id="outline-container-orgda4f233" class="outline-4">
<h4 id="org7adcbea"><span class="section-number-4">2.4.3</span> Amplification factor</h4> <h4 id="orgda4f233"><span class="section-number-4">2.4.3</span> Amplification factor</h4>
<div class="outline-text-4" id="text-2-4-3"> <div class="outline-text-4" id="text-2-4-3">
<p> <p>
The amplification factor is the ratio of the axial displacement to the stack displacement. The amplification factor is the ratio of the axial displacement to the stack displacement.
@ -1830,8 +1826,8 @@ If we take the ratio of the piezo height and length (approximation of the amplif
</div> </div>
</div> </div>
<div id="outline-container-org924ba9a" class="outline-4"> <div id="outline-container-org59829b6" class="outline-4">
<h4 id="org924ba9a"><span class="section-number-4">2.4.4</span> Stroke</h4> <h4 id="org59829b6"><span class="section-number-4">2.4.4</span> Stroke</h4>
<div class="outline-text-4" id="text-2-4-4"> <div class="outline-text-4" id="text-2-4-4">
<p> <p>
Estimation of the actuator stroke: Estimation of the actuator stroke:
@ -1862,8 +1858,8 @@ This is exactly the specified stroke in the data-sheet.
</div> </div>
</div> </div>
<div id="outline-container-org0334d98" class="outline-3"> <div id="outline-container-org1cbc8a6" class="outline-3">
<h3 id="org0334d98"><span class="section-number-3">2.5</span> Identification of the Dynamics</h3> <h3 id="org1cbc8a6"><span class="section-number-3">2.5</span> Identification of the Dynamics</h3>
<div class="outline-text-3" id="text-2-5"> <div class="outline-text-3" id="text-2-5">
<p> <p>
The flexible element is imported using the <code>Reduced Order Flexible Solid</code> simscape block. The flexible element is imported using the <code>Reduced Order Flexible Solid</code> simscape block.
@ -1889,7 +1885,7 @@ The same dynamics is identified for a payload mass of 10Kg.
</div> </div>
<div id="org452a3a7" class="figure"> <div id="orgb07566c" class="figure">
<p><img src="figs/apa300ml_plant_dynamics.png" alt="apa300ml_plant_dynamics.png" /> <p><img src="figs/apa300ml_plant_dynamics.png" alt="apa300ml_plant_dynamics.png" />
</p> </p>
<p><span class="figure-number">Figure 9: </span>Transfer function from forces applied by the stack to the axial displacement of the APA</p> <p><span class="figure-number">Figure 9: </span>Transfer function from forces applied by the stack to the axial displacement of the APA</p>
@ -1897,28 +1893,28 @@ The same dynamics is identified for a payload mass of 10Kg.
</div> </div>
</div> </div>
<div id="outline-container-org889c8e8" class="outline-3"> <div id="outline-container-org44a32d5" class="outline-3">
<h3 id="org889c8e8"><span class="section-number-3">2.6</span> IFF</h3> <h3 id="org44a32d5"><span class="section-number-3">2.6</span> IFF</h3>
<div class="outline-text-3" id="text-2-6"> <div class="outline-text-3" id="text-2-6">
<p> <p>
Let&rsquo;s use 2 stacks as actuators and 1 stack as force sensor. Let&rsquo;s use 2 stacks as actuators and 1 stack as force sensor.
</p> </p>
<p> <p>
The transfer function from actuator to sensors is identified and shown in Figure <a href="#orge704515">10</a>. The transfer function from actuator to sensors is identified and shown in Figure <a href="#org0cb4e3c">10</a>.
</p> </p>
<div id="orge704515" class="figure"> <div id="org0cb4e3c" class="figure">
<p><img src="figs/apa300ml_iff_plant.png" alt="apa300ml_iff_plant.png" /> <p><img src="figs/apa300ml_iff_plant.png" alt="apa300ml_iff_plant.png" />
</p> </p>
<p><span class="figure-number">Figure 10: </span>Transfer function from actuator to force sensor</p> <p><span class="figure-number">Figure 10: </span>Transfer function from actuator to force sensor</p>
</div> </div>
<p> <p>
For root locus corresponding to IFF is shown in Figure <a href="#org4d28155">11</a>. For root locus corresponding to IFF is shown in Figure <a href="#org57c3b0d">11</a>.
</p> </p>
<div id="org4d28155" class="figure"> <div id="org57c3b0d" class="figure">
<p><img src="figs/apa300ml_iff_root_locus.png" alt="apa300ml_iff_root_locus.png" /> <p><img src="figs/apa300ml_iff_root_locus.png" alt="apa300ml_iff_root_locus.png" />
</p> </p>
<p><span class="figure-number">Figure 11: </span>Root Locus for IFF</p> <p><span class="figure-number">Figure 11: </span>Root Locus for IFF</p>
@ -1926,25 +1922,25 @@ For root locus corresponding to IFF is shown in Figure <a href="#org4d28155">11<
</div> </div>
</div> </div>
<div id="outline-container-org6f11c82" class="outline-3"> <div id="outline-container-org3e558c6" class="outline-3">
<h3 id="org6f11c82"><span class="section-number-3">2.7</span> DVF</h3> <h3 id="org3e558c6"><span class="section-number-3">2.7</span> DVF</h3>
<div class="outline-text-3" id="text-2-7"> <div class="outline-text-3" id="text-2-7">
<p> <p>
Now the dynamics from the stack actuator to the relative motion sensor is identified and shown in Figure <a href="#org84dd7d9">12</a>. Now the dynamics from the stack actuator to the relative motion sensor is identified and shown in Figure <a href="#org828d315">12</a>.
</p> </p>
<div id="org84dd7d9" class="figure"> <div id="org828d315" class="figure">
<p><img src="figs/apa300ml_dvf_plant.png" alt="apa300ml_dvf_plant.png" /> <p><img src="figs/apa300ml_dvf_plant.png" alt="apa300ml_dvf_plant.png" />
</p> </p>
<p><span class="figure-number">Figure 12: </span>Transfer function from stack actuator to relative motion sensor</p> <p><span class="figure-number">Figure 12: </span>Transfer function from stack actuator to relative motion sensor</p>
</div> </div>
<p> <p>
The root locus for DVF is shown in Figure <a href="#org362161f">13</a>. The root locus for DVF is shown in Figure <a href="#orgf2f0551">13</a>.
</p> </p>
<div id="org362161f" class="figure"> <div id="orgf2f0551" class="figure">
<p><img src="figs/apa300ml_dvf_root_locus.png" alt="apa300ml_dvf_root_locus.png" /> <p><img src="figs/apa300ml_dvf_root_locus.png" alt="apa300ml_dvf_root_locus.png" />
</p> </p>
<p><span class="figure-number">Figure 13: </span>Root Locus for Direct Velocity Feedback</p> <p><span class="figure-number">Figure 13: </span>Root Locus for Direct Velocity Feedback</p>
@ -1952,8 +1948,8 @@ The root locus for DVF is shown in Figure <a href="#org362161f">13</a>.
</div> </div>
</div> </div>
<div id="outline-container-org1c376b5" class="outline-3"> <div id="outline-container-orgad3fdd9" class="outline-3">
<h3 id="org1c376b5"><span class="section-number-3">2.8</span> Identification for a simpler model</h3> <h3 id="orgad3fdd9"><span class="section-number-3">2.8</span> Identification for a simpler model</h3>
<div class="outline-text-3" id="text-2-8"> <div class="outline-text-3" id="text-2-8">
<p> <p>
The goal in this section is to identify the parameters of a simple APA model from the FEM. The goal in this section is to identify the parameters of a simple APA model from the FEM.
@ -1965,12 +1961,12 @@ The presented model is based on (<a href="#citeproc_bib_item_2">Souleille et al.
</p> </p>
<p> <p>
The model represents the Amplified Piezo Actuator (APA) from Cedrat-Technologies (Figure <a href="#orgb1100b8">5</a>). The model represents the Amplified Piezo Actuator (APA) from Cedrat-Technologies (Figure <a href="#org73ab5e6">5</a>).
The parameters are shown in the table below. The parameters are shown in the table below.
</p> </p>
<div id="orgd4eeaf2" class="figure"> <div id="org2d53ab0" class="figure">
<p><img src="./figs/souleille18_model_piezo.png" alt="souleille18_model_piezo.png" /> <p><img src="./figs/souleille18_model_piezo.png" alt="souleille18_model_piezo.png" />
</p> </p>
<p><span class="figure-number">Figure 14: </span>Picture of an APA100M from Cedrat Technologies. Simplified model of a one DoF payload mounted on such isolator</p> <p><span class="figure-number">Figure 14: </span>Picture of an APA100M from Cedrat Technologies. Simplified model of a one DoF payload mounted on such isolator</p>
@ -2119,7 +2115,7 @@ Adjust the DC gain for the force sensor:
</div> </div>
<div id="org36826f6" class="figure"> <div id="org6c57210" class="figure">
<p><img src="figs/apa300ml_comp_simpler_model.png" alt="apa300ml_comp_simpler_model.png" /> <p><img src="figs/apa300ml_comp_simpler_model.png" alt="apa300ml_comp_simpler_model.png" />
</p> </p>
<p><span class="figure-number">Figure 15: </span>Comparison of the Dynamics between the FEM model and the simplified one</p> <p><span class="figure-number">Figure 15: </span>Comparison of the Dynamics between the FEM model and the simplified one</p>
@ -2129,7 +2125,7 @@ Adjust the DC gain for the force sensor:
We now compare the FEM model with the simplified simscape model. We now compare the FEM model with the simplified simscape model.
</p> </p>
<div id="orge85d5a8" class="figure"> <div id="orgdec5f8c" class="figure">
<p><img src="figs/apa300ml_comp_simpler_simscape.png" alt="apa300ml_comp_simpler_simscape.png" /> <p><img src="figs/apa300ml_comp_simpler_simscape.png" alt="apa300ml_comp_simpler_simscape.png" />
</p> </p>
<p><span class="figure-number">Figure 16: </span>Comparison of the Dynamics between the FEM model and the simplified simscape model</p> <p><span class="figure-number">Figure 16: </span>Comparison of the Dynamics between the FEM model and the simplified simscape model</p>
@ -2145,12 +2141,12 @@ We save the parameters of the simplified model for the APA300ML:
</div> </div>
</div> </div>
<div id="outline-container-org30bc4bf" class="outline-3"> <div id="outline-container-orge0b9f5a" class="outline-3">
<h3 id="org30bc4bf"><span class="section-number-3">2.9</span> Identification of the stiffness properties</h3> <h3 id="orge0b9f5a"><span class="section-number-3">2.9</span> Identification of the stiffness properties</h3>
<div class="outline-text-3" id="text-2-9"> <div class="outline-text-3" id="text-2-9">
</div> </div>
<div id="outline-container-orge89f3f8" class="outline-4"> <div id="outline-container-org52ddecb" class="outline-4">
<h4 id="orge89f3f8"><span class="section-number-4">2.9.1</span> APA Alone</h4> <h4 id="org52ddecb"><span class="section-number-4">2.9.1</span> APA Alone</h4>
<div class="outline-text-4" id="text-2-9-1"> <div class="outline-text-4" id="text-2-9-1">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
@ -2201,8 +2197,8 @@ We save the parameters of the simplified model for the APA300ML:
</div> </div>
</div> </div>
<div id="outline-container-org4651c6e" class="outline-4"> <div id="outline-container-org02b6855" class="outline-4">
<h4 id="org4651c6e"><span class="section-number-4">2.9.2</span> See how the global stiffness is changing with the flexible joints</h4> <h4 id="org02b6855"><span class="section-number-4">2.9.2</span> See how the global stiffness is changing with the flexible joints</h4>
<div class="outline-text-4" id="text-2-9-2"> <div class="outline-text-4" id="text-2-9-2">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">flex = load(<span class="org-string">'./mat/flexor_ID16.mat'</span>, <span class="org-string">'int_xyz'</span>, <span class="org-string">'int_i'</span>, <span class="org-string">'n_xyz'</span>, <span class="org-string">'n_i'</span>, <span class="org-string">'nodes'</span>, <span class="org-string">'M'</span>, <span class="org-string">'K'</span>); <pre class="src src-matlab">flex = load(<span class="org-string">'./mat/flexor_ID16.mat'</span>, <span class="org-string">'int_xyz'</span>, <span class="org-string">'int_i'</span>, <span class="org-string">'n_xyz'</span>, <span class="org-string">'n_i'</span>, <span class="org-string">'nodes'</span>, <span class="org-string">'M'</span>, <span class="org-string">'K'</span>);
@ -2290,8 +2286,8 @@ legend(<span class="org-string">'location'</span>, <span class="org-string">'nor
</div> </div>
</div> </div>
<div id="outline-container-orgbb1e485" class="outline-3"> <div id="outline-container-org34de703" class="outline-3">
<h3 id="orgbb1e485"><span class="section-number-3">2.10</span> Effect of APA300ML in the flexibility of the leg</h3> <h3 id="org34de703"><span class="section-number-3">2.10</span> Effect of APA300ML in the flexibility of the leg</h3>
<div class="outline-text-3" id="text-2-10"> <div class="outline-text-3" id="text-2-10">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
@ -2352,11 +2348,11 @@ legend(<span class="org-string">'location'</span>, <span class="org-string">'nor
</div> </div>
</div> </div>
<div id="outline-container-org71e2995" class="outline-2"> <div id="outline-container-orgb6c0ee0" class="outline-2">
<h2 id="org71e2995"><span class="section-number-2">3</span> Flexible Joint</h2> <h2 id="orgb6c0ee0"><span class="section-number-2">3</span> Flexible Joint</h2>
<div class="outline-text-2" id="text-3"> <div class="outline-text-2" id="text-3">
<p> <p>
The studied flexor is shown in Figure <a href="#org0b718d7">17</a>. The studied flexor is shown in Figure <a href="#orgdff9d67">17</a>.
</p> </p>
<p> <p>
@ -2369,15 +2365,15 @@ A simplified model of the flexor is then developped.
</p> </p>
<div id="org0b718d7" class="figure"> <div id="orgdff9d67" class="figure">
<p><img src="figs/flexor_id16_screenshot.png" alt="flexor_id16_screenshot.png" /> <p><img src="figs/flexor_id16_screenshot.png" alt="flexor_id16_screenshot.png" />
</p> </p>
<p><span class="figure-number">Figure 17: </span>Flexor studied</p> <p><span class="figure-number">Figure 17: </span>Flexor studied</p>
</div> </div>
</div> </div>
<div id="outline-container-org4609327" class="outline-3"> <div id="outline-container-orgd7b1d5f" class="outline-3">
<h3 id="org4609327"><span class="section-number-3">3.1</span> Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</h3> <h3 id="orgd7b1d5f"><span class="section-number-3">3.1</span> Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</h3>
<div class="outline-text-3" id="text-3-1"> <div class="outline-text-3" id="text-3-1">
<p> <p>
We first extract the stiffness and mass matrices. We first extract the stiffness and mass matrices.
@ -2403,8 +2399,8 @@ Then, we extract the coordinates of the interface nodes.
</div> </div>
</div> </div>
<div id="outline-container-org222b467" class="outline-3"> <div id="outline-container-org9778a32" class="outline-3">
<h3 id="org222b467"><span class="section-number-3">3.2</span> Output parameters</h3> <h3 id="org9778a32"><span class="section-number-3">3.2</span> Output parameters</h3>
<div class="outline-text-3" id="text-3-2"> <div class="outline-text-3" id="text-3-2">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">load(<span class="org-string">'./mat/flexor_ID16.mat'</span>, <span class="org-string">'int_xyz'</span>, <span class="org-string">'int_i'</span>, <span class="org-string">'n_xyz'</span>, <span class="org-string">'n_i'</span>, <span class="org-string">'nodes'</span>, <span class="org-string">'M'</span>, <span class="org-string">'K'</span>); <pre class="src src-matlab">load(<span class="org-string">'./mat/flexor_ID16.mat'</span>, <span class="org-string">'int_xyz'</span>, <span class="org-string">'int_i'</span>, <span class="org-string">'n_xyz'</span>, <span class="org-string">'n_i'</span>, <span class="org-string">'nodes'</span>, <span class="org-string">'M'</span>, <span class="org-string">'K'</span>);
@ -2805,8 +2801,8 @@ Using <code>K</code>, <code>M</code> and <code>int_xyz</code>, we can use the <c
</div> </div>
</div> </div>
<div id="outline-container-orgace43b0" class="outline-3"> <div id="outline-container-orgcb9bad1" class="outline-3">
<h3 id="orgace43b0"><span class="section-number-3">3.3</span> Flexible Joint Characteristics</h3> <h3 id="orgcb9bad1"><span class="section-number-3">3.3</span> Flexible Joint Characteristics</h3>
<div class="outline-text-3" id="text-3-3"> <div class="outline-text-3" id="text-3-3">
<p> <p>
The most important parameters of the flexible joint can be directly estimated from the stiffness matrix. The most important parameters of the flexible joint can be directly estimated from the stiffness matrix.
@ -2864,8 +2860,8 @@ The most important parameters of the flexible joint can be directly estimated fr
</div> </div>
</div> </div>
<div id="outline-container-orgc60e392" class="outline-3"> <div id="outline-container-org4dadc02" class="outline-3">
<h3 id="orgc60e392"><span class="section-number-3">3.4</span> Identification of the parameters using Simscape</h3> <h3 id="org4dadc02"><span class="section-number-3">3.4</span> Identification of the parameters using Simscape</h3>
<div class="outline-text-3" id="text-3-4"> <div class="outline-text-3" id="text-3-4">
<p> <p>
The flexor is now imported into Simscape and its parameters are estimated using an identification. The flexor is now imported into Simscape and its parameters are estimated using an identification.
@ -2922,15 +2918,15 @@ And we find the same parameters as the one estimated from the Stiffness matrix.
</div> </div>
</div> </div>
<div id="outline-container-org43c8aa7" class="outline-3"> <div id="outline-container-org30336a6" class="outline-3">
<h3 id="org43c8aa7"><span class="section-number-3">3.5</span> Simpler Model</h3> <h3 id="org30336a6"><span class="section-number-3">3.5</span> Simpler Model</h3>
<div class="outline-text-3" id="text-3-5"> <div class="outline-text-3" id="text-3-5">
<p> <p>
Let&rsquo;s now model the flexible joint with a &ldquo;perfect&rdquo; Bushing joint as shown in Figure <a href="#orga4765e3">18</a>. Let&rsquo;s now model the flexible joint with a &ldquo;perfect&rdquo; Bushing joint as shown in Figure <a href="#org9c5b090">18</a>.
</p> </p>
<div id="orga4765e3" class="figure"> <div id="org9c5b090" class="figure">
<p><img src="figs/flexible_joint_simscape.png" alt="flexible_joint_simscape.png" /> <p><img src="figs/flexible_joint_simscape.png" alt="flexible_joint_simscape.png" />
</p> </p>
<p><span class="figure-number">Figure 18: </span>Bushing Joint used to model the flexible joint</p> <p><span class="figure-number">Figure 18: </span>Bushing Joint used to model the flexible joint</p>
@ -2955,7 +2951,7 @@ The two obtained dynamics are compared in Figure
</p> </p>
<div id="org54ce633" class="figure"> <div id="org6baee4c" class="figure">
<p><img src="figs/flexor_ID16_compare_bushing_joint.png" alt="flexor_ID16_compare_bushing_joint.png" /> <p><img src="figs/flexor_ID16_compare_bushing_joint.png" alt="flexor_ID16_compare_bushing_joint.png" />
</p> </p>
<p><span class="figure-number">Figure 19: </span>Comparison of the Joint compliance between the FEM model and the simpler model</p> <p><span class="figure-number">Figure 19: </span>Comparison of the Joint compliance between the FEM model and the simpler model</p>
@ -2964,19 +2960,19 @@ The two obtained dynamics are compared in Figure
</div> </div>
</div> </div>
<div id="outline-container-org5d2c10d" class="outline-2"> <div id="outline-container-orgd9d5aff" class="outline-2">
<h2 id="org5d2c10d"><span class="section-number-2">4</span> Optimal Flexible Joint</h2> <h2 id="orgd9d5aff"><span class="section-number-2">4</span> Optimal Flexible Joint</h2>
<div class="outline-text-2" id="text-4"> <div class="outline-text-2" id="text-4">
<div id="orgc598a8a" class="figure"> <div id="org47739fa" class="figure">
<p><img src="data/flexor_circ_025/CS.jpg" alt="CS.jpg" /> <p><img src="data/flexor_circ_025/CS.jpg" alt="CS.jpg" />
</p> </p>
<p><span class="figure-number">Figure 20: </span>Flexor studied</p> <p><span class="figure-number">Figure 20: </span>Flexor studied</p>
</div> </div>
</div> </div>
<div id="outline-container-orgfec12e9" class="outline-3"> <div id="outline-container-org83c1679" class="outline-3">
<h3 id="orgfec12e9"><span class="section-number-3">4.1</span> Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</h3> <h3 id="org83c1679"><span class="section-number-3">4.1</span> Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</h3>
<div class="outline-text-3" id="text-4-1"> <div class="outline-text-3" id="text-4-1">
<p> <p>
We first extract the stiffness and mass matrices. We first extract the stiffness and mass matrices.
@ -3002,8 +2998,8 @@ Then, we extract the coordinates of the interface nodes.
</div> </div>
</div> </div>
<div id="outline-container-org51a4b8d" class="outline-3"> <div id="outline-container-orgbee4a84" class="outline-3">
<h3 id="org51a4b8d"><span class="section-number-3">4.2</span> Output parameters</h3> <h3 id="orgbee4a84"><span class="section-number-3">4.2</span> Output parameters</h3>
<div class="outline-text-3" id="text-4-2"> <div class="outline-text-3" id="text-4-2">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">load(<span class="org-string">'./mat/flexor_025.mat'</span>, <span class="org-string">'int_xyz'</span>, <span class="org-string">'int_i'</span>, <span class="org-string">'n_xyz'</span>, <span class="org-string">'n_i'</span>, <span class="org-string">'nodes'</span>, <span class="org-string">'M'</span>, <span class="org-string">'K'</span>); <pre class="src src-matlab">load(<span class="org-string">'./mat/flexor_025.mat'</span>, <span class="org-string">'int_xyz'</span>, <span class="org-string">'int_i'</span>, <span class="org-string">'n_xyz'</span>, <span class="org-string">'n_i'</span>, <span class="org-string">'nodes'</span>, <span class="org-string">'M'</span>, <span class="org-string">'K'</span>);
@ -3404,8 +3400,8 @@ Using <code>K</code>, <code>M</code> and <code>int_xyz</code>, we can use the <c
</div> </div>
</div> </div>
<div id="outline-container-org9df419b" class="outline-3"> <div id="outline-container-org7609951" class="outline-3">
<h3 id="org9df419b"><span class="section-number-3">4.3</span> Flexible Joint Characteristics</h3> <h3 id="org7609951"><span class="section-number-3">4.3</span> Flexible Joint Characteristics</h3>
<div class="outline-text-3" id="text-4-3"> <div class="outline-text-3" id="text-4-3">
<p> <p>
The most important parameters of the flexible joint can be directly estimated from the stiffness matrix. The most important parameters of the flexible joint can be directly estimated from the stiffness matrix.
@ -3455,8 +3451,8 @@ The most important parameters of the flexible joint can be directly estimated fr
</div> </div>
</div> </div>
<div id="outline-container-org4ea4053" class="outline-3"> <div id="outline-container-org8bf4f56" class="outline-3">
<h3 id="org4ea4053"><span class="section-number-3">4.4</span> Identification of the parameters using Simscape</h3> <h3 id="org8bf4f56"><span class="section-number-3">4.4</span> Identification of the parameters using Simscape</h3>
<div class="outline-text-3" id="text-4-4"> <div class="outline-text-3" id="text-4-4">
<p> <p>
The flexor is now imported into Simscape and its parameters are estimated using an identification. The flexor is now imported into Simscape and its parameters are estimated using an identification.
@ -3513,15 +3509,15 @@ And we find the same parameters as the one estimated from the Stiffness matrix.
</div> </div>
</div> </div>
<div id="outline-container-org070daa9" class="outline-3"> <div id="outline-container-orgd8cb8ff" class="outline-3">
<h3 id="org070daa9"><span class="section-number-3">4.5</span> Simpler Model</h3> <h3 id="orgd8cb8ff"><span class="section-number-3">4.5</span> Simpler Model</h3>
<div class="outline-text-3" id="text-4-5"> <div class="outline-text-3" id="text-4-5">
<p> <p>
Let&rsquo;s now model the flexible joint with a &ldquo;perfect&rdquo; Bushing joint as shown in Figure <a href="#orga4765e3">18</a>. Let&rsquo;s now model the flexible joint with a &ldquo;perfect&rdquo; Bushing joint as shown in Figure <a href="#org9c5b090">18</a>.
</p> </p>
<div id="orgaded736" class="figure"> <div id="orgc5e5982" class="figure">
<p><img src="figs/flexible_joint_simscape.png" alt="flexible_joint_simscape.png" /> <p><img src="figs/flexible_joint_simscape.png" alt="flexible_joint_simscape.png" />
</p> </p>
<p><span class="figure-number">Figure 21: </span>Bushing Joint used to model the flexible joint</p> <p><span class="figure-number">Figure 21: </span>Bushing Joint used to model the flexible joint</p>
@ -3546,7 +3542,7 @@ The two obtained dynamics are compared in Figure
</p> </p>
<div id="orga26c578" class="figure"> <div id="org2936555" class="figure">
<p><img src="figs/flexor_ID16_compare_bushing_joint.png" alt="flexor_ID16_compare_bushing_joint.png" /> <p><img src="figs/flexor_ID16_compare_bushing_joint.png" alt="flexor_ID16_compare_bushing_joint.png" />
</p> </p>
<p><span class="figure-number">Figure 22: </span>Comparison of the Joint compliance between the FEM model and the simpler model</p> <p><span class="figure-number">Figure 22: </span>Comparison of the Joint compliance between the FEM model and the simpler model</p>
@ -3555,16 +3551,16 @@ The two obtained dynamics are compared in Figure
</div> </div>
</div> </div>
<div id="outline-container-org72ebb5c" class="outline-2"> <div id="outline-container-org7f2d76d" class="outline-2">
<h2 id="org72ebb5c"><span class="section-number-2">5</span> Integral Force Feedback with Amplified Piezo</h2> <h2 id="org7f2d76d"><span class="section-number-2">5</span> Integral Force Feedback with Amplified Piezo</h2>
<div class="outline-text-2" id="text-5"> <div class="outline-text-2" id="text-5">
<p> <p>
In this section, we try to replicate the results obtained in (<a href="#citeproc_bib_item_2">Souleille et al. 2018</a>). In this section, we try to replicate the results obtained in (<a href="#citeproc_bib_item_2">Souleille et al. 2018</a>).
</p> </p>
</div> </div>
<div id="outline-container-orgffa90de" class="outline-3"> <div id="outline-container-orgd9dc7be" class="outline-3">
<h3 id="orgffa90de"><span class="section-number-3">5.1</span> Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</h3> <h3 id="orgd9dc7be"><span class="section-number-3">5.1</span> Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</h3>
<div class="outline-text-3" id="text-5-1"> <div class="outline-text-3" id="text-5-1">
<p> <p>
We first extract the stiffness and mass matrices. We first extract the stiffness and mass matrices.
@ -3585,11 +3581,11 @@ Then, we extract the coordinates of the interface nodes.
</div> </div>
</div> </div>
<div id="outline-container-org4ac5a6e" class="outline-3"> <div id="outline-container-org3671fca" class="outline-3">
<h3 id="org4ac5a6e"><span class="section-number-3">5.2</span> IFF Plant</h3> <h3 id="org3671fca"><span class="section-number-3">5.2</span> IFF Plant</h3>
<div class="outline-text-3" id="text-5-2"> <div class="outline-text-3" id="text-5-2">
<p> <p>
The transfer function from the force actuator to the force sensor is identified and shown in Figure <a href="#org4390f0c">23</a>. The transfer function from the force actuator to the force sensor is identified and shown in Figure <a href="#org294cdfb">23</a>.
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
@ -3626,7 +3622,7 @@ Gf = linearize(mdl, io);
</div> </div>
<div id="org4390f0c" class="figure"> <div id="org294cdfb" class="figure">
<p><img src="figs/piezo_amplified_iff_plant.png" alt="piezo_amplified_iff_plant.png" /> <p><img src="figs/piezo_amplified_iff_plant.png" alt="piezo_amplified_iff_plant.png" />
</p> </p>
<p><span class="figure-number">Figure 23: </span>IFF Plant</p> <p><span class="figure-number">Figure 23: </span>IFF Plant</p>
@ -3634,11 +3630,11 @@ Gf = linearize(mdl, io);
</div> </div>
</div> </div>
<div id="outline-container-orgdc46434" class="outline-3"> <div id="outline-container-org1cbfb66" class="outline-3">
<h3 id="orgdc46434"><span class="section-number-3">5.3</span> IFF controller</h3> <h3 id="org1cbfb66"><span class="section-number-3">5.3</span> IFF controller</h3>
<div class="outline-text-3" id="text-5-3"> <div class="outline-text-3" id="text-5-3">
<p> <p>
The controller is defined and the loop gain is shown in Figure <a href="#orgc28c610">24</a>. The controller is defined and the loop gain is shown in Figure <a href="#orgbcc66e9">24</a>.
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">Kiff = <span class="org-type">-</span>1e12<span class="org-type">/</span>s; <pre class="src src-matlab">Kiff = <span class="org-type">-</span>1e12<span class="org-type">/</span>s;
@ -3646,7 +3642,7 @@ The controller is defined and the loop gain is shown in Figure <a href="#orgc28c
</div> </div>
<div id="orgc28c610" class="figure"> <div id="orgbcc66e9" class="figure">
<p><img src="figs/piezo_amplified_iff_loop_gain.png" alt="piezo_amplified_iff_loop_gain.png" /> <p><img src="figs/piezo_amplified_iff_loop_gain.png" alt="piezo_amplified_iff_loop_gain.png" />
</p> </p>
<p><span class="figure-number">Figure 24: </span>IFF Loop Gain</p> <p><span class="figure-number">Figure 24: </span>IFF Loop Gain</p>
@ -3654,8 +3650,8 @@ The controller is defined and the loop gain is shown in Figure <a href="#orgc28c
</div> </div>
</div> </div>
<div id="outline-container-orgc9d8168" class="outline-3"> <div id="outline-container-org7b29313" class="outline-3">
<h3 id="orgc9d8168"><span class="section-number-3">5.4</span> Closed Loop System</h3> <h3 id="org7b29313"><span class="section-number-3">5.4</span> Closed Loop System</h3>
<div class="outline-text-3" id="text-5-4"> <div class="outline-text-3" id="text-5-4">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">m = 10; <pre class="src src-matlab">m = 10;
@ -3698,7 +3694,7 @@ G.OutputName = {<span class="org-string">'x1'</span>, <span class="org-string">
</div> </div>
<div id="orgcc44982" class="figure"> <div id="org9317d23" class="figure">
<p><img src="figs/piezo_amplified_iff_comp.png" alt="piezo_amplified_iff_comp.png" /> <p><img src="figs/piezo_amplified_iff_comp.png" alt="piezo_amplified_iff_comp.png" />
</p> </p>
<p><span class="figure-number">Figure 25: </span>OL and CL transfer functions</p> <p><span class="figure-number">Figure 25: </span>OL and CL transfer functions</p>
@ -3706,7 +3702,7 @@ G.OutputName = {<span class="org-string">'x1'</span>, <span class="org-string">
<div id="org9e21ddc" class="figure"> <div id="org7f216a9" class="figure">
<p><img src="figs/souleille18_results.png" alt="souleille18_results.png" /> <p><img src="figs/souleille18_results.png" alt="souleille18_results.png" />
</p> </p>
<p><span class="figure-number">Figure 26: </span>Results obtained in <a class='org-ref-reference' href="#souleille18_concep_activ_mount_space_applic">souleille18_concep_activ_mount_space_applic</a></p> <p><span class="figure-number">Figure 26: </span>Results obtained in <a class='org-ref-reference' href="#souleille18_concep_activ_mount_space_applic">souleille18_concep_activ_mount_space_applic</a></p>
@ -3715,15 +3711,15 @@ G.OutputName = {<span class="org-string">'x1'</span>, <span class="org-string">
</div> </div>
</div> </div>
<div id="outline-container-orge46f2bf" class="outline-2"> <div id="outline-container-org1272d3f" class="outline-2">
<h2 id="orge46f2bf"><span class="section-number-2">6</span> Complete Strut with Encoder</h2> <h2 id="org1272d3f"><span class="section-number-2">6</span> Complete Strut with Encoder</h2>
<div class="outline-text-2" id="text-6"> <div class="outline-text-2" id="text-6">
</div> </div>
<div id="outline-container-org9c8b2a0" class="outline-3"> <div id="outline-container-orgddf8d43" class="outline-3">
<h3 id="org9c8b2a0"><span class="section-number-3">6.1</span> Introduction</h3> <h3 id="orgddf8d43"><span class="section-number-3">6.1</span> Introduction</h3>
<div class="outline-text-3" id="text-6-1"> <div class="outline-text-3" id="text-6-1">
<div id="org169745c" class="figure"> <div id="org1af2e05" class="figure">
<p><img src="data/strut_encoder/points3.jpg" alt="points3.jpg" /> <p><img src="data/strut_encoder/points3.jpg" alt="points3.jpg" />
</p> </p>
<p><span class="figure-number">Figure 27: </span>Interface points</p> <p><span class="figure-number">Figure 27: </span>Interface points</p>
@ -3735,8 +3731,8 @@ Flexible joints have 0.25mm width.
</div> </div>
</div> </div>
<div id="outline-container-org6b21925" class="outline-3"> <div id="outline-container-org4742c38" class="outline-3">
<h3 id="org6b21925"><span class="section-number-3">6.2</span> Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</h3> <h3 id="org4742c38"><span class="section-number-3">6.2</span> Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates</h3>
<div class="outline-text-3" id="text-6-2"> <div class="outline-text-3" id="text-6-2">
<p> <p>
We first extract the stiffness and mass matrices. We first extract the stiffness and mass matrices.
@ -3762,8 +3758,8 @@ Then, we extract the coordinates of the interface nodes.
</div> </div>
</div> </div>
<div id="outline-container-org40668e1" class="outline-3"> <div id="outline-container-org332b172" class="outline-3">
<h3 id="org40668e1"><span class="section-number-3">6.3</span> Output parameters</h3> <h3 id="org332b172"><span class="section-number-3">6.3</span> Output parameters</h3>
<div class="outline-text-3" id="text-6-3"> <div class="outline-text-3" id="text-6-3">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab">load(<span class="org-string">'./mat/strut_encoder.mat'</span>, <span class="org-string">'int_xyz'</span>, <span class="org-string">'int_i'</span>, <span class="org-string">'n_xyz'</span>, <span class="org-string">'n_i'</span>, <span class="org-string">'nodes'</span>, <span class="org-string">'M'</span>, <span class="org-string">'K'</span>); <pre class="src src-matlab">load(<span class="org-string">'./mat/strut_encoder.mat'</span>, <span class="org-string">'int_xyz'</span>, <span class="org-string">'int_i'</span>, <span class="org-string">'n_xyz'</span>, <span class="org-string">'n_i'</span>, <span class="org-string">'nodes'</span>, <span class="org-string">'M'</span>, <span class="org-string">'K'</span>);
@ -4215,8 +4211,8 @@ Using <code>K</code>, <code>M</code> and <code>int_xyz</code>, we can use the <c
<div id="outline-container-org6d5c440" class="outline-3"> <div id="outline-container-orgadca4a4" class="outline-3">
<h3 id="org6d5c440"><span class="section-number-3">6.4</span> Piezoelectric parameters</h3> <h3 id="orgadca4a4"><span class="section-number-3">6.4</span> Piezoelectric parameters</h3>
<div class="outline-text-3" id="text-6-4"> <div class="outline-text-3" id="text-6-4">
<p> <p>
Parameters for the APA300ML: Parameters for the APA300ML:
@ -4240,8 +4236,8 @@ ns = 1; <span class="org-comment">% Number of stacks used as force sensor</span>
</div> </div>
</div> </div>
<div id="outline-container-org2521017" class="outline-3"> <div id="outline-container-org226d3f3" class="outline-3">
<h3 id="org2521017"><span class="section-number-3">6.5</span> Identification of the Dynamics</h3> <h3 id="org226d3f3"><span class="section-number-3">6.5</span> Identification of the Dynamics</h3>
<div class="outline-text-3" id="text-6-5"> <div class="outline-text-3" id="text-6-5">
<p> <p>
The dynamics is identified from the applied force to the measured relative displacement. The dynamics is identified from the applied force to the measured relative displacement.
@ -4267,7 +4263,7 @@ The same dynamics is identified for a payload mass of 10Kg.
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p> <p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-10-29 jeu. 10:08</p> <p class="date">Created: 2020-11-12 jeu. 10:34</p>
</div> </div>
</body> </body>
</html> </html>

View File

@ -9,12 +9,8 @@
#+HTML_LINK_HOME: ../index.html #+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="https://research.tdehaeze.xyz/css/style.css"/>
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="./css/readtheorg.css"/> #+HTML_HEAD: <script type="text/javascript" src="https://research.tdehaeze.xyz/js/script.js"></script>
#+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 :session *MATLAB*
#+PROPERTY: header-args:matlab+ :comments org #+PROPERTY: header-args:matlab+ :comments org
@ -57,7 +53,6 @@ The idea here is to:
#+end_src #+end_src
#+begin_src matlab #+begin_src matlab
addpath('./src/');
addpath('./data/piezo_amplified_3d/'); addpath('./data/piezo_amplified_3d/');
#+end_src #+end_src
@ -843,7 +838,6 @@ We save the parameters of the simplified model for the APA95ML:
#+end_src #+end_src
#+begin_src matlab #+begin_src matlab
addpath('./src/');
addpath('./data/APA300ML_new/'); addpath('./data/APA300ML_new/');
#+end_src #+end_src
@ -1935,7 +1929,6 @@ A simplified model of the flexor is then developped.
#+end_src #+end_src
#+begin_src matlab #+begin_src matlab
addpath('./src/');
addpath('./data/flexor_ID16/'); addpath('./data/flexor_ID16/');
#+end_src #+end_src
@ -2176,7 +2169,6 @@ The two obtained dynamics are compared in Figure
#+end_src #+end_src
#+begin_src matlab #+begin_src matlab
addpath('./src/');
addpath('./data/flexor_circ_025/'); addpath('./data/flexor_circ_025/');
#+end_src #+end_src
@ -2415,7 +2407,6 @@ In this section, we try to replicate the results obtained in cite:souleille18_co
#+end_src #+end_src
#+begin_src matlab #+begin_src matlab
addpath('./src/');
addpath('./data/piezo_amplified_IFF/'); addpath('./data/piezo_amplified_IFF/');
#+end_src #+end_src
@ -2681,7 +2672,6 @@ Flexible joints have 0.25mm width.
#+end_src #+end_src
#+begin_src matlab #+begin_src matlab
addpath('./src/');
addpath('./data/strut_encoder/'); addpath('./data/strut_encoder/');
#+end_src #+end_src

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
};
}($));