Finish active vibration platform section, introduction and conclusion

This commit is contained in:
Thomas Dehaeze 2025-02-19 16:33:19 +01:00
parent d4703f9e89
commit a836399bee
34 changed files with 16235 additions and 166 deletions

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -81,29 +81,23 @@
<path d="M 11.5625 -4.28125 C 11.5625 -4.578125 11.28125 -4.578125 11.03125 -4.578125 L 6.46875 -4.578125 L 6.46875 -9.140625 C 6.46875 -9.375 6.46875 -9.671875 6.1875 -9.671875 C 5.875 -9.671875 5.875 -9.390625 5.875 -9.140625 L 5.875 -4.578125 L 1.328125 -4.578125 C 1.078125 -4.578125 0.796875 -4.578125 0.796875 -4.296875 C 0.796875 -3.984375 1.0625 -3.984375 1.328125 -3.984375 L 5.875 -3.984375 L 5.875 0.5625 C 5.875 0.8125 5.875 1.09375 6.171875 1.09375 C 6.46875 1.09375 6.46875 0.828125 6.46875 0.5625 L 6.46875 -3.984375 L 11.03125 -3.984375 C 11.265625 -3.984375 11.5625 -3.984375 11.5625 -4.28125 Z M 11.5625 -4.28125 "/>
</g>
<g id="glyph-5-0">
<path d="M 5.453125 -1.734375 C 5.453125 -1.90625 5.296875 -1.90625 5.1875 -1.90625 L 1.015625 -1.90625 C 0.90625 -1.90625 0.75 -1.90625 0.75 -1.734375 C 0.75 -1.578125 0.921875 -1.578125 1.015625 -1.578125 L 5.1875 -1.578125 C 5.28125 -1.578125 5.453125 -1.578125 5.453125 -1.734375 Z M 5.453125 -1.734375 "/>
</g>
<g id="glyph-5-1">
<path d="M 2.078125 -3.5 C 2.078125 -3.71875 1.890625 -3.890625 1.671875 -3.890625 C 1.390625 -3.890625 1.328125 -3.65625 1.296875 -3.5625 L 0.375 -0.5625 L 0.328125 -0.4375 C 0.328125 -0.359375 0.546875 -0.28125 0.609375 -0.28125 C 0.65625 -0.28125 0.6875 -0.3125 0.703125 -0.390625 L 2.015625 -3.28125 C 2.046875 -3.359375 2.078125 -3.40625 2.078125 -3.5 Z M 2.078125 -3.5 "/>
</g>
<g id="glyph-5-2">
<path d="M 5.3125 -0.6875 C 5.3125 -0.734375 5.265625 -0.734375 5.234375 -0.734375 C 5.125 -0.734375 4.84375 -0.625 4.703125 -0.421875 C 4.46875 -0.421875 4.203125 -0.421875 4.078125 -1.0625 L 3.875 -2.46875 C 3.875 -2.5 3.890625 -2.515625 3.90625 -2.53125 L 4.15625 -2.65625 C 6.21875 -3.78125 6.21875 -4.09375 6.21875 -4.34375 C 6.21875 -4.546875 6.109375 -4.75 5.828125 -4.75 C 5.609375 -4.75 5.265625 -4.5 5.265625 -4.390625 C 5.265625 -4.328125 5.296875 -4.328125 5.34375 -4.328125 C 5.515625 -4.296875 5.578125 -4.15625 5.578125 -4.015625 C 5.578125 -3.875 5.578125 -3.796875 4.9375 -3.40625 C 4.8125 -3.3125 4.671875 -3.21875 3.84375 -2.78125 C 3.75 -3.28125 3.703125 -3.84375 3.640625 -4.09375 C 3.515625 -4.65625 3.265625 -4.75 2.953125 -4.75 C 2.1875 -4.75 1.78125 -4.234375 1.78125 -4.078125 C 1.78125 -4.015625 1.828125 -4.015625 1.859375 -4.015625 C 1.984375 -4.015625 2.265625 -4.125 2.40625 -4.328125 C 2.625 -4.328125 2.875 -4.328125 3 -3.75 L 3.1875 -2.421875 C 2.796875 -2.21875 2.0625 -1.828125 1.640625 -1.578125 C 0.546875 -0.890625 0.484375 -0.625 0.484375 -0.40625 C 0.484375 -0.203125 0.59375 0 0.890625 0 C 1.09375 0 1.453125 -0.234375 1.453125 -0.375 C 1.453125 -0.421875 1.390625 -0.421875 1.359375 -0.421875 C 1.203125 -0.4375 1.140625 -0.5625 1.140625 -0.734375 C 1.140625 -0.890625 1.140625 -0.984375 1.984375 -1.484375 L 3.21875 -2.15625 C 3.328125 -1.625 3.40625 -0.921875 3.421875 -0.78125 C 3.53125 -0.3125 3.640625 0 4.140625 0 C 4.90625 0 5.3125 -0.5 5.3125 -0.6875 Z M 5.3125 -0.6875 "/>
</g>
<g id="glyph-5-3">
<path d="M 5.125 -0.984375 C 5.125 -1.015625 5.109375 -1.046875 5.0625 -1.046875 C 4.953125 -1.046875 4.5 -0.890625 4.421875 -0.609375 C 4.3125 -0.3125 4.234375 -0.3125 4.0625 -0.3125 C 3.6875 -0.3125 3.1875 -0.4375 2.84375 -0.53125 C 2.484375 -0.625 2.109375 -0.703125 1.75 -0.703125 C 1.71875 -0.703125 1.578125 -0.703125 1.484375 -0.6875 C 1.859375 -1.234375 1.953125 -1.578125 2.0625 -2.015625 C 2.203125 -2.53125 2.40625 -3.25 2.75 -3.828125 C 3.09375 -4.390625 3.265625 -4.421875 3.5 -4.421875 C 3.828125 -4.421875 4.046875 -4.1875 4.046875 -3.84375 C 4.046875 -3.734375 4.03125 -3.65625 4.03125 -3.625 C 4.03125 -3.59375 4.046875 -3.5625 4.109375 -3.5625 C 4.125 -3.5625 4.296875 -3.59375 4.546875 -3.765625 C 4.6875 -3.859375 4.765625 -3.9375 4.765625 -4.203125 C 4.765625 -4.46875 4.609375 -4.890625 4.0625 -4.890625 C 3.453125 -4.890625 2.78125 -4.484375 2.421875 -4.046875 C 1.953125 -3.515625 1.640625 -2.8125 1.359375 -1.671875 C 1.1875 -1.03125 0.9375 -0.5 0.609375 -0.234375 C 0.546875 -0.171875 0.359375 0 0.359375 0.09375 C 0.359375 0.140625 0.421875 0.140625 0.4375 0.140625 C 0.6875 0.140625 1 -0.15625 1.09375 -0.25 C 1.296875 -0.25 1.578125 -0.234375 2.203125 -0.078125 C 2.734375 0.0625 3.109375 0.140625 3.5 0.140625 C 4.375 0.140625 5.125 -0.65625 5.125 -0.984375 Z M 5.125 -0.984375 "/>
</g>
<g id="glyph-6-0">
<path d="M 3.28125 0 L 3.28125 -0.25 L 3.03125 -0.25 C 2.328125 -0.25 2.328125 -0.34375 2.328125 -0.5625 L 2.328125 -4.421875 C 2.328125 -4.609375 2.3125 -4.609375 2.125 -4.609375 C 1.671875 -4.171875 1.046875 -4.171875 0.765625 -4.171875 L 0.765625 -3.921875 C 0.921875 -3.921875 1.390625 -3.921875 1.765625 -4.109375 L 1.765625 -0.5625 C 1.765625 -0.34375 1.765625 -0.25 1.078125 -0.25 L 0.8125 -0.25 L 0.8125 0 L 2.046875 -0.03125 Z M 3.28125 0 "/>
</g>
<g id="glyph-7-0">
<path d="M 6.890625 -2.484375 C 6.890625 -2.6875 6.703125 -2.6875 6.5625 -2.6875 L 1.15625 -2.6875 C 1.015625 -2.6875 0.828125 -2.6875 0.828125 -2.484375 C 0.828125 -2.28125 1.015625 -2.28125 1.15625 -2.28125 L 6.5625 -2.28125 C 6.703125 -2.28125 6.890625 -2.28125 6.890625 -2.484375 Z M 6.890625 -2.484375 "/>
</g>
<g id="glyph-8-0">
<g id="glyph-6-0">
<path d="M 4.578125 -1 C 4.578125 -1.078125 4.484375 -1.078125 4.46875 -1.078125 C 4.359375 -1.078125 4.359375 -1.046875 4.328125 -0.96875 C 4.171875 -0.40625 3.875 -0.125 3.59375 -0.125 C 3.453125 -0.125 3.421875 -0.21875 3.421875 -0.375 C 3.421875 -0.53125 3.453125 -0.625 3.578125 -0.9375 C 3.671875 -1.140625 3.953125 -1.890625 3.953125 -2.28125 C 3.953125 -2.953125 3.40625 -3.0625 3.046875 -3.0625 C 2.46875 -3.0625 2.078125 -2.71875 1.875 -2.4375 C 1.828125 -2.90625 1.40625 -3.0625 1.125 -3.0625 C 0.828125 -3.0625 0.671875 -2.84375 0.578125 -2.6875 C 0.421875 -2.4375 0.328125 -2.03125 0.328125 -2 C 0.328125 -1.90625 0.421875 -1.90625 0.4375 -1.90625 C 0.546875 -1.90625 0.546875 -1.9375 0.59375 -2.125 C 0.703125 -2.53125 0.828125 -2.875 1.109375 -2.875 C 1.28125 -2.875 1.328125 -2.71875 1.328125 -2.53125 C 1.328125 -2.40625 1.265625 -2.140625 1.21875 -1.953125 L 1.078125 -1.328125 L 0.84375 -0.4375 C 0.828125 -0.34375 0.78125 -0.171875 0.78125 -0.15625 C 0.78125 0 0.90625 0.0625 1.015625 0.0625 C 1.140625 0.0625 1.25 -0.015625 1.28125 -0.078125 C 1.328125 -0.140625 1.375 -0.375 1.40625 -0.515625 L 1.5625 -1.140625 C 1.609375 -1.296875 1.640625 -1.453125 1.6875 -1.609375 C 1.765625 -1.890625 1.765625 -1.953125 1.96875 -2.234375 C 2.171875 -2.515625 2.5 -2.875 3.015625 -2.875 C 3.421875 -2.875 3.421875 -2.515625 3.421875 -2.390625 C 3.421875 -1.96875 3.125 -1.203125 3.015625 -0.90625 C 2.9375 -0.703125 2.90625 -0.640625 2.90625 -0.53125 C 2.90625 -0.15625 3.21875 0.0625 3.578125 0.0625 C 4.265625 0.0625 4.578125 -0.890625 4.578125 -1 Z M 4.578125 -1 "/>
</g>
<g id="glyph-9-0">
<g id="glyph-7-0">
<path d="M 7.734375 -1.0625 C 7.734375 -1.171875 7.625 -1.1875 7.546875 -1.1875 C 7.390625 -1.1875 7.0625 -1.078125 6.78125 -0.859375 C 6.375 -0.859375 6.0625 -0.859375 5.90625 -2.09375 L 5.734375 -3.625 C 8.359375 -5.0625 9.015625 -5.71875 9.015625 -6.234375 C 9.015625 -6.640625 8.640625 -6.8125 8.34375 -6.8125 C 7.90625 -6.8125 7.21875 -6.328125 7.21875 -6.078125 C 7.21875 -6.03125 7.234375 -5.96875 7.390625 -5.953125 C 7.703125 -5.921875 7.71875 -5.671875 7.71875 -5.609375 C 7.71875 -5.5 7.6875 -5.453125 7.453125 -5.265625 C 7.03125 -4.953125 6.328125 -4.5625 5.671875 -4.1875 C 5.53125 -5.109375 5.53125 -5.578125 5.421875 -6.03125 C 5.1875 -6.8125 4.671875 -6.8125 4.359375 -6.8125 C 3.015625 -6.8125 2.421875 -6 2.421875 -5.75 C 2.421875 -5.640625 2.53125 -5.625 2.59375 -5.625 C 2.59375 -5.625 2.9375 -5.625 3.375 -5.953125 C 3.6875 -5.953125 4.0625 -5.953125 4.203125 -4.984375 L 4.375 -3.484375 C 3.703125 -3.125 2.796875 -2.625 2.0625 -2.140625 C 1.609375 -1.859375 0.5625 -1.1875 0.5625 -0.578125 C 0.5625 -0.171875 0.90625 0 1.21875 0 C 1.65625 0 2.34375 -0.484375 2.34375 -0.734375 C 2.34375 -0.84375 2.234375 -0.859375 2.15625 -0.859375 C 1.984375 -0.890625 1.84375 -1.03125 1.84375 -1.203125 C 1.84375 -1.328125 1.890625 -1.375 2.15625 -1.5625 C 2.640625 -1.921875 3.375 -2.328125 4.4375 -2.921875 C 4.65625 -1.125 4.671875 -1 4.703125 -0.890625 C 4.921875 0 5.453125 0 5.78125 0 C 7.15625 0 7.734375 -0.828125 7.734375 -1.0625 Z M 7.734375 -1.0625 "/>
</g>
<g id="glyph-8-0">
<path d="M 2.078125 -3.5 C 2.078125 -3.71875 1.890625 -3.890625 1.671875 -3.890625 C 1.390625 -3.890625 1.328125 -3.65625 1.296875 -3.5625 L 0.375 -0.5625 L 0.328125 -0.4375 C 0.328125 -0.359375 0.546875 -0.28125 0.609375 -0.28125 C 0.65625 -0.28125 0.6875 -0.3125 0.703125 -0.390625 L 2.015625 -3.28125 C 2.046875 -3.359375 2.078125 -3.40625 2.078125 -3.5 Z M 2.078125 -3.5 "/>
</g>
<g id="glyph-8-1">
<path d="M 5.3125 -0.6875 C 5.3125 -0.734375 5.265625 -0.734375 5.234375 -0.734375 C 5.125 -0.734375 4.84375 -0.625 4.703125 -0.421875 C 4.46875 -0.421875 4.203125 -0.421875 4.078125 -1.0625 L 3.875 -2.46875 C 3.875 -2.5 3.890625 -2.515625 3.90625 -2.53125 L 4.15625 -2.65625 C 6.21875 -3.78125 6.21875 -4.09375 6.21875 -4.34375 C 6.21875 -4.546875 6.109375 -4.75 5.828125 -4.75 C 5.609375 -4.75 5.265625 -4.5 5.265625 -4.390625 C 5.265625 -4.328125 5.296875 -4.328125 5.34375 -4.328125 C 5.515625 -4.296875 5.578125 -4.15625 5.578125 -4.015625 C 5.578125 -3.875 5.578125 -3.796875 4.9375 -3.40625 C 4.8125 -3.3125 4.671875 -3.21875 3.84375 -2.78125 C 3.75 -3.28125 3.703125 -3.84375 3.640625 -4.09375 C 3.515625 -4.65625 3.265625 -4.75 2.953125 -4.75 C 2.1875 -4.75 1.78125 -4.234375 1.78125 -4.078125 C 1.78125 -4.015625 1.828125 -4.015625 1.859375 -4.015625 C 1.984375 -4.015625 2.265625 -4.125 2.40625 -4.328125 C 2.625 -4.328125 2.875 -4.328125 3 -3.75 L 3.1875 -2.421875 C 2.796875 -2.21875 2.0625 -1.828125 1.640625 -1.578125 C 0.546875 -0.890625 0.484375 -0.625 0.484375 -0.40625 C 0.484375 -0.203125 0.59375 0 0.890625 0 C 1.09375 0 1.453125 -0.234375 1.453125 -0.375 C 1.453125 -0.421875 1.390625 -0.421875 1.359375 -0.421875 C 1.203125 -0.4375 1.140625 -0.5625 1.140625 -0.734375 C 1.140625 -0.890625 1.140625 -0.984375 1.984375 -1.484375 L 3.21875 -2.15625 C 3.328125 -1.625 3.40625 -0.921875 3.421875 -0.78125 C 3.53125 -0.3125 3.640625 0 4.140625 0 C 4.90625 0 5.3125 -0.5 5.3125 -0.6875 Z M 5.3125 -0.6875 "/>
</g>
<g id="glyph-8-2">
<path d="M 5.125 -0.984375 C 5.125 -1.015625 5.109375 -1.046875 5.0625 -1.046875 C 4.953125 -1.046875 4.5 -0.890625 4.421875 -0.609375 C 4.3125 -0.3125 4.234375 -0.3125 4.0625 -0.3125 C 3.6875 -0.3125 3.1875 -0.4375 2.84375 -0.53125 C 2.484375 -0.625 2.109375 -0.703125 1.75 -0.703125 C 1.71875 -0.703125 1.578125 -0.703125 1.484375 -0.6875 C 1.859375 -1.234375 1.953125 -1.578125 2.0625 -2.015625 C 2.203125 -2.53125 2.40625 -3.25 2.75 -3.828125 C 3.09375 -4.390625 3.265625 -4.421875 3.5 -4.421875 C 3.828125 -4.421875 4.046875 -4.1875 4.046875 -3.84375 C 4.046875 -3.734375 4.03125 -3.65625 4.03125 -3.625 C 4.03125 -3.59375 4.046875 -3.5625 4.109375 -3.5625 C 4.125 -3.5625 4.296875 -3.59375 4.546875 -3.765625 C 4.6875 -3.859375 4.765625 -3.9375 4.765625 -4.203125 C 4.765625 -4.46875 4.609375 -4.890625 4.0625 -4.890625 C 3.453125 -4.890625 2.78125 -4.484375 2.421875 -4.046875 C 1.953125 -3.515625 1.640625 -2.8125 1.359375 -1.671875 C 1.1875 -1.03125 0.9375 -0.5 0.609375 -0.234375 C 0.546875 -0.171875 0.359375 0 0.359375 0.09375 C 0.359375 0.140625 0.421875 0.140625 0.4375 0.140625 C 0.6875 0.140625 1 -0.15625 1.09375 -0.25 C 1.296875 -0.25 1.578125 -0.234375 2.203125 -0.078125 C 2.734375 0.0625 3.109375 0.140625 3.5 0.140625 C 4.375 0.140625 5.125 -0.65625 5.125 -0.984375 Z M 5.125 -0.984375 "/>
</g>
</g>
<clipPath id="clip-0">
<path clip-rule="nonzero" d="M 172 0.046875 L 310 0.046875 L 310 110 L 172 110 Z M 172 0.046875 "/>
@ -174,20 +168,14 @@
</g>
<path fill-rule="nonzero" fill="rgb(100%, 100%, 100%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M -186.364197 -14.172788 L -152.345351 -14.172788 L -152.345351 14.171681 L -186.364197 14.171681 Z M -186.364197 -14.172788 " transform="matrix(0.997494, 0, 0, -0.997494, 252.502633, 72.690854)"/>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-2-1" x="74.602574" y="76.734695"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-5-0" x="81.876301" y="73.128754"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-6-0" x="88.087696" y="73.128754"/>
<use xlink:href="#glyph-2-1" x="79.937172" y="76.099291"/>
</g>
<path fill-rule="nonzero" fill="rgb(100%, 100%, 100%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M -209.539462 -0.00055342 C -209.539462 5.501516 -213.999859 9.961913 -219.501928 9.961913 C -225.003998 9.961913 -229.464395 5.501516 -229.464395 -0.00055342 C -229.464395 -5.502623 -225.003998 -9.96302 -219.501928 -9.96302 C -213.999859 -9.96302 -209.539462 -5.502623 -209.539462 -0.00055342 Z M -209.539462 -0.00055342 " transform="matrix(0.997494, 0, 0, -0.997494, 252.502633, 72.690854)"/>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-4-0" x="27.37323" y="76.846414"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-7-0" x="23.837114" y="90.412332"/>
<use xlink:href="#glyph-5-0" x="23.837114" y="90.412332"/>
</g>
<path fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 28.843086 17.308448 L 48.685781 17.308448 L 48.685781 49.185207 L 22.138785 49.185207 " transform="matrix(0.997494, 0, 0, -0.997494, 252.502633, 72.690854)"/>
<path fill-rule="nonzero" fill="rgb(0%, 0%, 0%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 6.054563 0.000542718 L 1.609831 1.68445 L 3.086187 0.000542718 L 1.609831 -1.683365 Z M 6.054563 0.000542718 " transform="matrix(-0.997494, 0, 0, 0.997494, 277.418296, 23.628365)"/>
@ -195,7 +183,7 @@
<use xlink:href="#glyph-2-2" x="285.083778" y="49.685651"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-8-0" x="290.728597" y="51.175907"/>
<use xlink:href="#glyph-6-0" x="290.728597" y="51.175907"/>
</g>
<path fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M -17.507444 49.185207 L -61.48484 49.185207 L -61.48484 14.594616 " transform="matrix(0.997494, 0, 0, -0.997494, 252.502633, 72.690854)"/>
<path fill-rule="nonzero" fill="rgb(0%, 0%, 0%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 6.055312 0.000369931 L 1.61058 1.684277 L 3.086936 0.000369931 L 1.61058 -1.683537 Z M 6.055312 0.000369931 " transform="matrix(0, 0.997494, 0.997494, 0, 191.171506, 55.299706)"/>
@ -210,7 +198,7 @@
<path fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 6.054222 0.00150087 L 1.609489 1.681492 L 3.085846 0.00150087 L 1.609489 -1.682407 Z M 6.054222 0.00150087 " transform="matrix(0.997494, 0, 0, -0.997494, 321.890638, 89.954622)"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-9-0" x="315.956217" y="86.145053"/>
<use xlink:href="#glyph-7-0" x="315.956217" y="86.145053"/>
</g>
<path fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M -94.125231 -0.00055342 L -76.08001 -0.00055342 " transform="matrix(0.997494, 0, 0, -0.997494, 252.502633, 72.690854)"/>
<path fill-rule="nonzero" fill="rgb(0%, 0%, 0%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 6.055139 -0.00055342 L 1.610406 1.683354 L 3.086762 -0.00055342 L 1.610406 -1.684461 Z M 6.055139 -0.00055342 " transform="matrix(0.997494, 0, 0, -0.997494, 173.780348, 72.690854)"/>
@ -218,7 +206,7 @@
<use xlink:href="#glyph-2-2" x="162.422942" y="66.949279"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-5-1" x="169.166001" y="63.342341"/>
<use xlink:href="#glyph-8-0" x="169.166001" y="63.342341"/>
</g>
<g clip-path="url(#clip-2)">
<path fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 62.861932 -17.305639 L 62.861932 -43.977949 L -219.501928 -43.977949 L -219.501928 -14.595723 " transform="matrix(0.997494, 0, 0, -0.997494, 252.502633, 72.690854)"/>
@ -231,7 +219,7 @@
<use xlink:href="#glyph-2-3" x="50.287661" y="67.391169"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-5-2" x="55.090595" y="68.881425"/>
<use xlink:href="#glyph-8-1" x="55.090595" y="68.881425"/>
</g>
<path fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M -151.848011 -0.00055342 L -133.806705 -0.00055342 " transform="matrix(0.997494, 0, 0, -0.997494, 252.502633, 72.690854)"/>
<path fill-rule="nonzero" fill="rgb(0%, 0%, 0%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 6.051883 -0.00055342 L 1.607151 1.683354 L 3.087423 -0.00055342 L 1.607151 -1.684461 Z M 6.051883 -0.00055342 " transform="matrix(0.997494, 0, 0, -0.997494, 116.201564, 72.690854)"/>
@ -239,7 +227,7 @@
<use xlink:href="#glyph-2-3" x="109.040056" y="67.391169"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-5-3" x="113.84299" y="68.881425"/>
<use xlink:href="#glyph-8-2" x="113.84299" y="68.881425"/>
</g>
<path fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M -234.097098 -0.00055342 L -252.14232 -0.00055342 " transform="matrix(0.997494, 0, 0, -0.997494, 252.502633, 72.690854)"/>
<path fill-rule="nonzero" fill="rgb(0%, 0%, 0%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 6.05444 -0.00055342 L 1.609708 1.683354 L 3.086064 -0.00055342 L 1.609708 -1.684461 Z M 6.05444 -0.00055342 " transform="matrix(0.997494, 0, 0, -0.997494, 16.159951, 72.690854)"/>
@ -247,6 +235,6 @@
<use xlink:href="#glyph-2-4" x="4.804928" y="67.391169"/>
</g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-5-2" x="10.058729" y="68.881425"/>
<use xlink:href="#glyph-8-1" x="10.058729" y="68.881425"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 702 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 304 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 876 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 KiB

1422
figs/nhexa_stages_sapoti.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 703 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 647 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

View File

@ -0,0 +1,469 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
version="1.1"
id="svg1"
width="405.81152"
height="284.11676"
viewBox="0 0 405.81153 284.11676"
sodipodi:docname="nhexa_stages_villar.svg"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1">
<marker
style="overflow:visible"
id="marker12"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Concave triangle arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.7)"
d="M -2,-4 9,0 -2,4 c 2,-2.33 2,-5.66 0,-8 z"
style="fill:context-stroke;fill-rule:evenodd;stroke:none"
id="path12" />
</marker>
<marker
style="overflow:visible"
id="ConcaveTriangle"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Concave triangle arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.7)"
d="M -2,-4 9,0 -2,4 c 2,-2.33 2,-5.66 0,-8 z"
style="fill:context-stroke;fill-rule:evenodd;stroke:none"
id="path9" />
</marker>
</defs>
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="2.8919598"
inkscape:cx="235.48045"
inkscape:cy="95.437011"
inkscape:window-width="2560"
inkscape:window-height="1440"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g1" />
<g
inkscape:groupmode="layer"
inkscape:label="Image"
id="g1"
transform="translate(33.070989,-114.37187)">
<path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 61.194666,166.81566 5.8719188,339.67825"
id="path4" />
<path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="m 302.70645,166.81566 55.86298,172.86259"
id="path5" />
<path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="m 202.93224,339.67825 53.37611,-92.42444"
id="path2"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 322.65645,339.67825 269.28034,247.25381"
id="path3"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 95.832184,247.25381 71.058953,339.67825"
id="path1"
sodipodi:nodetypes="cc" />
<rect
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#fbeed0;fill-opacity:1;stroke:#000000;stroke-width:1.32133;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
id="rect8"
width="194.87016"
height="53.019554"
x="84.284462"
y="194.23425" />
<rect
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#e8f4d7;fill-opacity:1;stroke:#000000;stroke-width:1.32155;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
id="rect29"
width="18.300337"
height="31.700216"
x="173.39015"
y="120.92148" />
<rect
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#cccccc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none"
id="rect7"
width="366.74323"
height="58.31039"
x="-1.6520551"
y="339.67825" />
<rect
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#e5e5e5;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
id="rect11"
width="234.59543"
height="12.198973"
x="64.421837"
y="160.71617" />
<text
xml:space="preserve"
style="font-size:13.3333px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, Normal';fill:#77ac30"
x="32.955513"
y="132.74815"
id="text6"><tspan
sodipodi:role="line"
id="tspan6"
x="32.955513"
y="132.74815">Sample</tspan></text>
<text
xml:space="preserve"
style="font-size:13.3333px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, Normal';fill:#7e2f8e"
x="-33.817654"
y="150.5638"
id="text7"><tspan
sodipodi:role="line"
id="tspan7"
x="-33.817654"
y="150.5638">Capacitive Sensors</tspan></text>
<rect
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#fbeed0;fill-opacity:1;stroke:#000000;stroke-width:1.32133;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
id="rect9"
width="142.77277"
height="10.504819"
x="110.33317"
y="183.72943" />
<rect
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ccebff;fill-opacity:1;stroke:#000000;stroke-width:1.32133;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
id="rect10"
width="12.73592"
height="62.275959"
x="150.20767"
y="229.83876"
transform="matrix(0.96594378,0.25875202,-0.25888609,0.96590786,0,0)" />
<rect
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ccebff;fill-opacity:1;stroke:#000000;stroke-width:1.32133;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
id="rect10-1"
width="12.735273"
height="62.279125"
x="339.23914"
y="104.32326"
transform="matrix(0.8660855,0.4998959,-0.50010411,0.86596529,0,0)" />
<rect
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ccebff;fill-opacity:1;stroke:#000000;stroke-width:1.32133;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
id="rect10-1-3"
width="12.735273"
height="62.279125"
x="-115.90243"
y="366.00101"
transform="matrix(-0.8660855,0.4998959,0.50010411,0.86596529,0,0)" />
<ellipse
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#33aeff;fill-opacity:1;stroke:#000000;stroke-width:1.32133;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
id="path11"
cx="71.058952"
cy="339.67825"
rx="6.0815859"
ry="6.0798979" />
<ellipse
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#33aeff;fill-opacity:1;stroke:#000000;stroke-width:1.32133;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
id="circle11"
cx="202.93224"
cy="339.67825"
rx="6.0815859"
ry="6.0798979" />
<ellipse
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#33aeff;fill-opacity:1;stroke:#000000;stroke-width:1.32133;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
id="circle12"
cx="322.65643"
cy="339.67825"
rx="6.0815859"
ry="6.0798979" />
<ellipse
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
id="circle13"
cx="358.56943"
cy="339.67825"
rx="6.0815859"
ry="6.0798979" />
<ellipse
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#33aeff;fill-opacity:1;stroke:#000000;stroke-width:1.32133;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
id="circle14"
cx="269.28033"
cy="247.25381"
rx="6.0815859"
ry="6.0798979" />
<ellipse
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#33aeff;fill-opacity:1;stroke:#000000;stroke-width:1.32133;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
id="circle15"
cx="256.30835"
cy="247.25381"
rx="6.0815859"
ry="6.0798979" />
<ellipse
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#33aeff;fill-opacity:1;stroke:#000000;stroke-width:1.32133;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
id="circle16"
cx="95.832184"
cy="247.25381"
rx="6.0815859"
ry="6.0798979" />
<ellipse
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
id="circle17"
cx="5.8719187"
cy="339.67825"
rx="6.0815859"
ry="6.0798979" />
<ellipse
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
id="circle18"
cx="61.194668"
cy="166.81566"
rx="6.0815859"
ry="6.0798979" />
<ellipse
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
id="circle19"
cx="302.70645"
cy="166.81566"
rx="6.0815859"
ry="6.0798979" />
<rect
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#cccccc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
id="rect23"
width="33.903244"
height="12.198972"
x="64.421837"
y="160.71617" />
<rect
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#cccccc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
id="rect23-9"
width="33.903244"
height="12.198972"
x="265.84323"
y="160.71617" />
<path
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#faddd1;fill-opacity:1;stroke:#000000;stroke-width:1.32133;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
d="m 254.00449,152.93015 -3.61124,10.70876 -135.70586,-0.61692 -3.61124,-10.70876 z"
id="path26"
sodipodi:nodetypes="ccccc" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 125.28132,183.72944 10.32089,-20.3381"
id="path28"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 145.9231,183.72944 -10.32089,-20.3381"
id="path29"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 218.81066,184.06427 10.32088,-20.33809"
id="path28-2"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 239.45243,184.06427 229.13154,163.72618"
id="path29-9"
sodipodi:nodetypes="cc" />
<rect
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#eed9f2;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none"
id="rect30"
width="10.114603"
height="13.11536"
x="116.1009"
y="164.67943" />
<rect
style="font-variation-settings:normal;vector-effect:none;fill:#eed9f2;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none"
id="rect30-3"
width="10.114603"
height="13.11536"
x="238.86514"
y="165.72498" />
<text
xml:space="preserve"
style="font-size:13.3333px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, Normal';fill:#edb120"
x="185.8485"
y="209.32468"
id="text30"><tspan
sodipodi:role="line"
id="tspan30"
x="185.8485"
y="209.32468">Rotation Stage</tspan></text>
<text
xml:space="preserve"
style="font-size:13.3333px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, Normal';fill:#0072bd"
x="95.471916"
y="312.79327"
id="text31"><tspan
sodipodi:role="line"
id="tspan31"
x="95.471916"
y="312.79327">Piezo Hexapod</tspan></text>
<text
xml:space="preserve"
style="font-size:13.3333px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, Normal';fill:#d95319"
x="277.37073"
y="143.55104"
id="text32"><tspan
sodipodi:role="line"
id="tspan32"
x="277.37073"
y="143.55104">Metrology Cone</tspan></text>
<rect
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#eed9f2;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none"
id="rect19"
width="10.200583"
height="22.716125"
x="182.08461"
y="-46.815914"
transform="matrix(0.35402295,0.93523673,-0.93530178,0.35385106,0,0)" />
<rect
style="font-variation-settings:normal;vector-effect:none;fill:#eed9f2;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none"
id="rect19-5"
width="10.200583"
height="22.716125"
x="53.477428"
y="294.83932"
transform="matrix(-0.35402297,0.93523673,0.93530178,0.35385108,0,0)" />
<g
style="fill:#000000;fill-opacity:1"
id="g194"
transform="matrix(1.3333333,0,0,1.3333333,155.30497,104.48664)">
<text
xml:space="preserve"
style="font-size:10px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, Normal';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#a2142f;stroke-width:0.75"
x="128.36696"
y="14.243925"
id="text3875"><tspan
sodipodi:role="line"
style="font-size:10px;fill:#a2142f;stroke-width:0.75"
x="128.36696"
y="14.243925"
id="tspan3877">X-ray</tspan></text>
</g>
<path
style="fill:#a2142f;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 344.12479,128.50631 -152.4343,0.9943 v 0.0717 0.13368 l 152.43428,0.98753 z"
id="path3-6"
sodipodi:nodetypes="cccccc" />
<ellipse
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none"
id="path6"
cx="88.808327"
cy="166.53445"
rx="1.2267653"
ry="1.2264248" />
<ellipse
style="font-variation-settings:normal;vector-effect:none;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none"
id="path6-7"
cx="121.1582"
cy="177.79478"
rx="1.2267653"
ry="1.2264248" />
<ellipse
style="font-variation-settings:normal;vector-effect:none;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none"
id="path6-3"
cx="243.92244"
cy="178.84035"
rx="1.2267653"
ry="1.2264248" />
<ellipse
style="font-variation-settings:normal;vector-effect:none;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none"
id="path6-5"
cx="276.27231"
cy="167.15137"
rx="1.2267653"
ry="1.2264248" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 88.808325,166.53445 C 71.144181,176.5913 56.632422,181.36443 37.011586,180.49332"
id="path7"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 276.27231,167.15137 c 17.66415,10.05685 32.17591,14.82997 51.79674,13.95887"
id="path7-3"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 120.98332,178.10177 c 1.63222,6.23459 -64.366578,10.06609 -83.987412,9.19499"
id="path7-8"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 243.92244,178.84034 c -1.63221,6.23459 64.36659,10.06608 83.98742,9.19499"
id="path7-8-4"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#7e2f8e;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#ConcaveTriangle)"
d="m 79.172133,146.9695 h 12.008371 l 4.671816,8.08958"
id="path8" />
<text
xml:space="preserve"
style="font-size:13.3333px;line-height:1.25;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, Normal'"
x="313.70068"
y="161.43108"
id="text9"><tspan
sodipodi:role="line"
id="tspan9"
x="313.70068"
y="161.43108">Metrology</tspan><tspan
sodipodi:role="line"
x="313.70068"
y="178.0977"
id="tspan1">Frame</tspan></text>
<path
style="fill:none;stroke:#d95319;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker12)"
d="m 274.69217,140.84952 h -23.78696 l -8.03782,8.03559"
id="path10" />
<path
style="fill:none;stroke:#77ac30;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#ConcaveTriangle)"
d="M 79.172133,129.34149 H 168.37772"
id="path13" />
<path
style="fill:none;stroke:#edb120;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:2, 2;stroke-dashoffset:0;stroke-opacity:1"
d="m 181.71954,263.62954 1e-5,-86.05721"
id="path14"
sodipodi:nodetypes="cc" />
<g
id="g6261"
transform="matrix(0.94233909,0,0,0.94207753,96.619148,145.41609)"
style="stroke:#edb120;stroke-width:1.41512">
<path
style="fill:none;stroke:#edb120;stroke-width:1.40261;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
d="m 85.940088,93.556975 c -4.082593,0.560267 -5.559478,2.210365 -3.298788,3.680763 2.26048,1.474298 7.404288,2.210794 11.482981,1.650318 4.082803,-0.564168 5.559478,-2.210365 3.298997,-3.684664 -0.0909,-0.05571 -0.185505,-0.115533 -0.284213,-0.171662"
id="path152"
inkscape:transform-center-x="0.058051402"
inkscape:transform-center-y="77.553103" />
<path
style="fill:#edb120;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.41512"
d="m 94.385068,94.008299 2.874149,4.264931 -0.371766,-2.852029 2.635648,-1.153958"
id="path154"
inkscape:transform-center-x="-6.863793"
inkscape:transform-center-y="77.377487" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 169 KiB

View File

@ -10,18 +10,329 @@
@article{stewart65_platf_with_six_degrees_freed,
author = {Stewart, Doug},
title = {A Platform With Six Degrees of Freedom},
journal = {Proceedings of the institution of mechanical engineers},
volume = 180,
number = 1,
pages = {371--386},
year = 1965,
publisher = {Sage Publications Sage UK: London, England},
@article{nazaretski15_pushin_limit,
author = {E. Nazaretski and K. Lauer and H. Yan and N. Bouet and J.
Zhou and R. Conley and X. Huang and W. Xu and M. Lu and K.
Gofron and S. Kalbfleisch and U. Wagner and C. Rau and Y. S.
Chu},
title = {Pushing the Limits: an Instrument for Hard X-Ray Imaging
Below 20 Nm},
journal = {Journal of Synchrotron Radiation},
volume = 22,
number = 2,
pages = {336-341},
year = 2015,
doi = {10.1107/s1600577514025715},
url = {https://doi.org/10.1107/s1600577514025715},
keywords = {nass},
}
@inproceedings{geraldes23_sapot_carnaub_sirius_lnls,
author = {Renan R. Geraldes and Gabriel B. Z. L. Moreno and Francesco
R. Lena and Erik O. Pereira and Matheus H. S. da Silva and
Gabriel G. Bas{\'i}lio and Pedro P. R. Proen{\c{c}}a and
Rodrigo C. Gomes and Cassiano S. N. C. Bueno and Sergio A. L.
Luiz and Artur C. Pinto and Bernd C. Meyer and Douglas Galante
and Carlos A. P{\'e}rez and Verônica C. Teixeira and Leonardo
M. Kofukuda and Anna P. S. Sotero and Theo A. M. Ruijl and
Walter Aarden and Piet Peters and Maryn Wijnhoven and Helio C.
N. Tolentino},
title = {The high-dynamic cryogenic sample stage for
SAPOTI/CARNA{\'U}BA at Sirius/LNLS},
booktitle = {PROCEEDINGS OF THE 15TH INTERNATIONAL CONFERENCE ON X-RAY
MICROSCOPY - XRM2022},
year = 2023,
pages = {nil},
doi = {10.1063/5.0168438},
url = {http://dx.doi.org/10.1063/5.0168438},
DATE_ADDED = {Thu May 2 18:09:04 2024},
month = {-},
}
@article{villar18_nanop_esrf_id16a_nano_imagin_beaml,
author = {F. Villar and L. Andre and R. Baker and S. Bohic and J. C.
da Silva and C. Guilloud and O. Hignette and J. Meyer and A.
Pacureanu and M. Perez and M. Salome and P. van der Linden and
Y. Yang and P. Cloetens},
title = {Nanopositioning for the Esrf Id16a Nano-Imaging Beamline},
journal = {Synchrotron Radiation News},
volume = 31,
number = 5,
pages = {9-14},
year = 2018,
doi = {10.1080/08940886.2018.1506234},
url = {http://dx.doi.org/10.1080/08940886.2018.1506234},
keywords = {esrf},
}
@article{schropp20_ptynam,
author = {Andreas Schropp and Ralph D{\"o}hrmann and Stephan Botta
and Dennis Br{\"u}ckner and Maik Kahnt and Mikhail
Lyubomirskiy and Christina Ossig and Maria Scholz and Martin
Seyrich and Michael E. Stuckelberger and Patrik Wiljes and
Felix Wittwer and Jan Garrevoet and Gerald Falkenberg and
Yakub Fam and Thomas L. Sheppard and Jan-Dierk Grunwaldt and
Christian G. Schroer},
title = {Ptynami: Ptychographic Nano-Analytical Microscope},
journal = {Journal of Applied Crystallography},
volume = 53,
number = 4,
pages = {957-971},
year = 2020,
doi = {10.1107/s1600576720008420},
url = {http://dx.doi.org/10.1107/s1600576720008420},
DATE_ADDED = {Thu May 2 16:01:03 2024},
}
@inproceedings{schroer17_ptynam,
author = {Christian G. Schroer and Martin Seyrich and Maik Kahnt and
Stephan Botta and Ralph D{\"o}hrmann and Gerald Falkenberg and
Jan Garrevoet and Mikhail Lyubomirskiy and Maria Scholz and
Andreas Schropp and Felix Wittwer},
title = {PtyNAMi: Ptychographic Nano-Analytical Microscope at PETRA
III: interferometrically tracking positions for 3D x-ray
scanning microscopy using a ball-lens retroreflector},
booktitle = {X-Ray Nanoimaging: Instruments and Methods III},
year = 2017,
doi = {10.1117/12.2273710},
url = {https://doi.org/10.1117/12.2273710},
keywords = {nass, metrology},
month = 9,
}
@article{holler17_omny_pin_versat_sampl_holder,
author = {M. Holler and J. Raabe and R. Wepf and S. H. Shahmoradian
and A. Diaz and B. Sarafimov and T. Lachat and H. Walther and
M. Vitins},
title = {Omny Pin-A Versatile Sample Holder for Tomographic
Measurements At Room and Cryogenic Temperatures},
journal = {Review of Scientific Instruments},
volume = 88,
number = 11,
pages = 113701,
year = 2017,
doi = {10.1063/1.4996092},
url = {https://doi.org/10.1063/1.4996092},
keywords = {nass},
}
@article{holler18_omny_tomog_nano_cryo_stage,
author = {M. Holler and J. Raabe and A. Diaz and M. Guizar-Sicairos
and R. Wepf and M. Odstrcil and F. R. Shaik and V. Panneels
and A. Menzel and B. Sarafimov and S. Maag and X. Wang and V.
Thominet and H. Walther and T. Lachat and M. Vitins and O.
Bunk},
title = {Omny-A Tomography Nano Cryo Stage},
journal = {Review of Scientific Instruments},
volume = 89,
number = 4,
pages = 043706,
year = 2018,
doi = {10.1063/1.5020247},
url = {https://doi.org/10.1063/1.5020247},
keywords = {nass},
}
@article{stankevic17_inter_charac_rotat_stages_x_ray_nanot,
author = {Tomas Stankevic and Christer Engblom and Florent Langlois
and Filipe Alves and Alain Lestrade and Nicolas Jobert and
Gilles Cauchon and Ulrich Vogt and Stefan Kubsky},
title = {Interferometric Characterization of Rotation Stages for
X-Ray Nanotomography},
journal = {Review of Scientific Instruments},
volume = 88,
number = 5,
pages = 053703,
year = 2017,
doi = {10.1063/1.4983405},
url = {https://doi.org/10.1063/1.4983405},
keywords = {nass, metrology},
}
@inproceedings{engblom18_nanop_resul,
author = {C. Engblom and others},
title = {Nanoprobe Results: Metrology \& Control in Stacked
Closed-Loop Systems},
booktitle = {Proc. of International Conference on Accelerator and Large
Experimental Control Systems (ICALEPCS'17)},
year = 2018,
doi = {10.18429/JACoW-ICALEPCS2017-WEAPL04},
url = {https://doi.org/10.18429/JACoW-ICALEPCS2017-WEAPL04},
isbn = {978-3-95450-193-9},
month = {Jan.},
publisher = {JACoW},
keywords = {nass},
}
@article{nazaretski22_new_kirkp_baez_based_scann,
author = {E. Nazaretski and D. S. Coburn and W. Xu and J. Ma and H.
Xu and R. Smith and X. Huang and Y. Yang and L. Huang and M.
Idir and A. Kiss and Y. S. Chu},
title = {A New Kirkpatrick-Baez-Based Scanning Microscope for the
Submicron Resolution X-Ray Spectroscopy (SRX) Beamline At
Nsls-Ii},
journal = {Journal of Synchrotron Radiation},
volume = 29,
number = 5,
pages = {1284-1291},
year = 2022,
doi = {10.1107/s1600577522007056},
url = {http://dx.doi.org/10.1107/s1600577522007056},
DATE_ADDED = {Thu May 2 16:33:47 2024},
}
@article{kelly22_delta_robot_long_travel_nano,
author = {Jon Kelly and Andrew Male and Nicholas Rubies and David
Mahoney and Jessica M. Walker and Miguel A. Gomez-Gonzalez and
Guy Wilkin and Julia E. Parker and Paul D. Quinn},
title = {The Delta Robot-A Long Travel Nano-Positioning Stage for
Scanning X-Ray Microscopy},
journal = {Review of Scientific Instruments},
volume = 93,
number = 4,
pages = {nil},
year = 2022,
doi = {10.1063/5.0084806},
url = {http://dx.doi.org/10.1063/5.0084806},
DATE_ADDED = {Thu May 2 20:27:54 2024},
}
@inproceedings{dehaeze18_sampl_stabil_for_tomog_exper,
author = {Thomas Dehaeze and M. Magnin Mattenet and Christophe
Collette},
title = {Sample Stabilization For Tomography Experiments In Presence
Of Large Plant Uncertainty},
booktitle = {MEDSI'18},
year = 2018,
number = 10,
pages = {153--157},
doi = {10.18429/JACoW-MEDSI2018-WEOAMA02},
url = {https://doi.org/10.18429/JACoW-MEDSI2018-WEOAMA02},
address = {Geneva, Switzerland},
isbn = {978-3-95450-207-3},
keywords = {nass, esrf},
language = {english},
month = {Dec},
publisher = {JACoW Publishing},
series = {Mechanical Engineering Design of Synchrotron Radiation
Equipment and Instrumentation},
venue = {Paris, France},
}
@inproceedings{dehaeze21_mechat_approac_devel_nano_activ_stabil_system,
author = {Dehaeze, T. and Bonnefoy, J. and Collette, C.},
title = {Mechatronics Approach for the Development of a
Nano-Active-Stabilization-System},
booktitle = {MEDSI'20},
year = 2021,
language = {english},
publisher = {JACoW Publishing},
series = {Mechanical Engineering Design of Synchrotron Radiation
Equipment and Instrumentation},
venue = {Chicago, USA},
keywords = {nass, esrf},
}
@article{dong07_desig_precis_compl_paral_posit,
author = {W. Dong and L.N. Sun and Z.J. Du},
title = {Design of a Precision Compliant Parallel Positioner Driven
By Dual Piezoelectric Actuators},
journal = {Sensors and Actuators A: Physical},
volume = 135,
number = 1,
pages = {250-256},
year = 2007,
doi = {10.1016/j.sna.2006.07.011},
url = {https://doi.org/10.1016/j.sna.2006.07.011},
keywords = {parallel robot, flexure},
}
@article{shen19_dynam_analy_flexur_nanop_stage,
author = {Yiping Shen and Xin Luo and Songlai Wang and Xuejun Li},
title = {Dynamic Analysis of a 5dof Flexurebased Nanopositioning
Stage},
journal = {Mathematical Problems in Engineering},
volume = 2019,
number = 1,
pages = {nil},
year = 2019,
doi = {10.1155/2019/8501583},
url = {http://dx.doi.org/10.1155/2019/8501583},
}
@article{kenton12_desig_contr_three_axis_serial,
author = {Brian J. Kenton and Kam K. Leang},
title = {Design and Control of a Three-Axis Serial-Kinematic
High-Bandwidth Nanopositioner},
journal = {IEEE/ASME Transactions on Mechatronics},
volume = 17,
number = 2,
pages = {356-369},
year = 2012,
doi = {10.1109/tmech.2011.2105499},
url = {http://dx.doi.org/10.1109/TMECH.2011.2105499},
}
@inproceedings{abu02_stiff_soft_stewar_platf_activ,
author = {Abu Hanieh, Ahmed and Horodinca, Mihaita and Preumont,
Andre},
title = {Stiff and Soft Stewart Platforms for Active Damping and
Active Isolation of Vibrations},
booktitle = {Actuator 2002, 8th International Conference on New
Actuators},
year = 2002,
keywords = {parallel robot},
}
@phdthesis{hanieh03_activ_stewar,
author = {Hanieh, Ahmed Abu},
keywords = {parallel robot},
school = {Universit{\'e} Libre de Bruxelles, Brussels, Belgium},
title = {Active isolation and damping of vibrations via Stewart
platform},
year = 2003,
}
@article{preumont07_six_axis_singl_stage_activ,
author = {A. Preumont and M. Horodinca and I. Romanescu and B. de
Marneffe and M. Avraam and A. Deraemaeker and F. Bossens and
@ -40,18 +351,49 @@
@book{skogestad07_multiv_feedb_contr,
author = {Skogestad, Sigurd and Postlethwaite, Ian},
title = {Multivariable Feedback Control: Analysis and Design -
Second Edition},
year = 2007,
publisher = {John Wiley},
isbn = 978-0470011683,
keywords = {favorite},
@article{furutani04_nanom_cuttin_machin_using_stewar,
author = {Katsushi Furutani and Michio Suzuki and Ryusei Kudoh},
title = {Nanometre-Cutting Machine Using a Stewart-Platform Parallel
Mechanism},
journal = {Measurement Science and Technology},
volume = 15,
number = 2,
pages = {467-474},
year = 2004,
doi = {10.1088/0957-0233/15/2/022},
url = {https://doi.org/10.1088/0957-0233/15/2/022},
keywords = {parallel robot, cubic configuration},
}
@book{preumont18_vibrat_contr_activ_struc_fourt_edition,
author = {Andre Preumont},
title = {Vibration Control of Active Structures - Fourth Edition},
year = 2018,
publisher = {Springer International Publishing},
url = {https://doi.org/10.1007/978-3-319-72296-2},
doi = {10.1007/978-3-319-72296-2},
keywords = {favorite, parallel robot},
series = {Solid Mechanics and Its Applications},
}
@article{stewart65_platf_with_six_degrees_freed,
author = {Stewart, Doug},
title = {A Platform With Six Degrees of Freedom},
journal = {Proceedings of the institution of mechanical engineers},
volume = 180,
number = 1,
pages = {371--386},
year = 1965,
publisher = {Sage Publications Sage UK: London, England},
}
@article{preumont08_trans_zeros_struc_contr_with,
author = {Preumont, Andr{\'e} and De Marneffe, Bruno and Krenk,
Steen},
@ -64,3 +406,15 @@
year = 2008,
}
@book{skogestad07_multiv_feedb_contr,
author = {Skogestad, Sigurd and Postlethwaite, Ian},
title = {Multivariable Feedback Control: Analysis and Design -
Second Edition},
year = 2007,
publisher = {John Wiley},
isbn = 978-0470011683,
keywords = {favorite},
}

View File

@ -211,6 +211,12 @@ CLOSED: [2025-02-05 Wed 16:04]
- control is performed
- simulations => validation of the concept
** DONE [#A] Add all figures and tables for the first section
CLOSED: [2025-02-19 Wed 16:22] SCHEDULED: <2025-02-18 Tue>
** DONE [#B] Make a quick review of Active Vibration Platforms
CLOSED: [2025-02-19 Wed 16:22]
** ANSW [#A] Should I talk about APA here?
CLOSED: [2025-02-11 Tue 23:00]
@ -263,9 +269,10 @@ It should be the exact model reference that will be included in the NASS model (
- [X] Log configuration
- [X] *Do I want to be able to change each individual parameter value of each strut => no*
** TODO [#A] For simplicity, maybe not talk at all about parallel stiffness with the force sensor
** TODO [#C] For simplicity, maybe not talk at all about parallel stiffness with the force sensor
This could be the topic of the NASS section.
** TODO [#C] Mention the Toolbox (maybe make a DOI for that)
** DONE [#B] Check all notations
CLOSED: [2025-02-12 Wed 10:42]
@ -292,7 +299,6 @@ CLOSED: [2025-02-12 Wed 10:42]
- [ ] Make sure HAC-IFF works as explained in the document
** TODO [#C] Mention the Toolbox (maybe make a DOI for that)
** DONE [#C] Better understand principle of virtual work
CLOSED: [2025-02-10 Mon 15:51]
@ -371,76 +377,222 @@ CLOSED: [2025-02-06 Thu 16:02]
** CANC [#C] Maybe make an appendix to present the developed toolbox?
CLOSED: [2025-02-06 Thu 16:02]
- State "CANC" from "TODO" [2025-02-06 Thu 16:02]
* Introduction :ignore:
Now that the multi-body model of the micro-station has been developed and validated using dynamical measurements, a model of the active vibration platform can be integrated.
Building upon the validated multi-body model of the micro-station presented in previous sections, this section focuses on the development and integration of an active vibration platform model.
First, the mechanical architecture of the active platform needs to be carefully chosen.
In Section ref:sec:nhexa_platform_review, a quick review of active vibration platforms is performed.
The chapter begins with a review of existing active vibration platforms (Section ref:sec:nhexa_platform_review), leading to the selection of the Stewart platform architecture.
This parallel manipulator, detailed in Section ref:sec:nhexa_stewart_platform, requires specialized analytical tools for kinematic analysis.
However, the complexity of its dynamic behavior presents significant challenges for purely analytical approaches.
The chosen architecture is the Stewart platform, which is presented in Section ref:sec:nhexa_stewart_platform.
It is a parallel manipulator that require the use of specific tools to study its kinematics.
Consequently, a multi-body modeling approach has been adopted (Section ref:sec:nhexa_model), facilitating seamless integration with the existing micro-station model.
However, to study the dynamics of the Stewart platform, the use of analytical equations is very complex.
Instead, a multi-body model of the Stewart platform is developed (Section ref:sec:nhexa_model), that can then be easily integrated on top of the micro-station's model.
The control of the Stewart platform introduces additional complexity due to its multi-input multi-output (MIMO) nature.
Section ref:sec:nhexa_control explores how the High Authority Control/Low Authority Control (HAC-LAC) strategy, previously validated on the uniaxial model, can be adapted to address the coupled dynamics of the Stewart platform.
This adaptation requires fundamental decisions regarding both the control architecture (centralized versus decentralized) and the control frame (Cartesian versus strut space).
Through careful analysis of system interactions and plant characteristics in different frames, a control architecture combining decentralized Integral Force Feedback for active damping with a centralized high authority controller for positioning is developed, with both controllers implemented in the frame of the struts.
From a control point of view, the Stewart platform is a MIMO system with complex dynamics.
To control such system, it requires several tools to study interaction (Section ref:sec:nhexa_control).
* TODO Active Vibration Platforms
* Active Vibration Platforms
<<sec:nhexa_platform_review>>
** Introduction :ignore:
*Goals*:
- Quick review of active vibration platforms (5 or 6DoF) similar to NASS
- Explain why Stewart platform architecture is chosen
Previous sections have focused on simplified models, such as uniaxial and three-degree-of-freedom rotating systems.
These models were chosen for their ease of analysis, and despite their simplicity, the principles derived from them are usually applicable to more complex systems.
However, the development of the Nano Active Stabilization System (NASS) now requires the use of a more accurate model that will be integrated with the multi-body representation of the micro-station.
To develop this model, the architecture of the active platform must first be determined.
- Wanted controlled DOF: Y, Z, Ry
- But because of continuous rotation (key specificity): X,Y,Z,Rx,Ry in the frame of the active platform
The selection of an appropriate architecture begins with a review of existing positioning stages that incorporate active platforms similar to NASS (Section ref:ssec:nhexa_sample_stages).
This review reveals two distinctive features of NASS that set it apart from existing systems: the fact that the active platform is continuously rotating, and its requirement to accommodate high payload masses.
In existing systems, the sample mass is typically negligible compared to the stage mass, whereas in NASS, the sample mass significantly influences the system's dynamic behavior.
- Literature review? (*maybe more suited for chapter 2*)
- file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/bibliography.org
- Talk about flexible joint? Maybe not so much as it should be topic of second chapter.
Just say that we must of flexible joints that can be defined as 3 to 6DoF joints, and it will be optimize in chapter 2.
- [[cite:&taghirad13_paral]]
These distinctive requirements drive the selection of the active platform architecture.
In Section ref:ssec:nhexa_active_platforms, different active platform configurations are evaluated, including serial and parallel configurations, ultimately leading to the choice of a Stewart platform architecture.
- For some systems, just XYZ control (stack stages), example: holler
- For other systems, Stewart platform (ID16a), piezo based
- Examples of Stewart platforms for general vibration control, some with Piezo, other with Voice coil. IFF, ...
Show different geometry configuration
- DCM: tripod?
** Sample Stages with Active Control
<<ssec:nhexa_sample_stages>>
** Active vibration control of sample stages
The positioning of samples relative to X-ray beams that can be focused to sizes below 100 nanometers presents significant challenges, as mechanical positioning systems are typically limited to micron-scale accuracy.
To overcome this limitation, external metrology systems have been implemented to measure sample positions with nanometer accuracy, enabling real-time feedback control for sample stabilization.
[[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A0-nass-introduction/nass-introduction.org::*Review of stages with online metrology for Synchrotrons][Review of stages with online metrology for Synchrotrons]]
A review of existing sample stages with active vibration control reveals various approaches to implementing such feedback systems.
In many cases, sample position control is limited to translational degrees of freedom.
At NSLS-II, for instance, a system capable of $100\,\mu m$ stroke has been developed for payloads up to 500g, utilizing interferometric measurements for position feedback (Figure ref:fig:nhexa_stages_nazaretski).
Similarly, at the Sirius facility, a tripod configuration based on voice coil actuators has been implemented for XYZ position control, achieving feedback bandwidths of approximately 100 Hz (Figure ref:fig:nhexa_stages_sapoti).
- [ ] Talk about external metrology?
Maybe not the topic here.
- [ ] Talk about control architecture?
- [ ] Comparison with the micro-station / NASS
#+name: fig:nhexa_stages_translations
#+caption: Example of sample stage with active XYZ corrections based on external metrology. The MLL microscope [[cite:&nazaretski15_pushin_limit]] at NSLS-II (\subref{fig:nhexa_stages_nazaretski}). Sample stage on SAPOTI beamline [[cite:&geraldes23_sapot_carnaub_sirius_lnls]] at Sirius facility (\subref{fig:nhexa_stages_sapoti})
#+attr_latex: :options [h!tbp]
#+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:nhexa_stages_nazaretski} MLL microscope}
#+attr_latex: :options {0.36\textwidth}
#+begin_subfigure
#+attr_latex: :height 6.5cm
[[file:figs/nhexa_stages_nazaretski.png]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:nhexa_stages_sapoti} SAPOTI sample stage}
#+attr_latex: :options {0.60\textwidth}
#+begin_subfigure
#+attr_latex: :height 6.5cm
[[file:figs/nhexa_stages_sapoti.png]]
#+end_subfigure
#+end_figure
** Serial and Parallel Manipulators
The integration of $R_z$ rotational capability, necessary for tomography experiments, introduces additional complexity.
At ESRF's ID16A beamline, a Stewart platform (whose architecture will be presented in Section ref:sec:nhexa_stewart_platform) utilizing piezoelectric actuators has been positioned below the spindle (Figure ref:fig:nhexa_stages_villar).
While this configuration enables correction of spindle motion errors through 5-DoF control based on capacitive sensor measurements, the stroke is limited to $50\,\mu m$ due to the inherent constraints of piezoelectric actuators.
In contrast, at PETRA III, an alternative approach places a XYZ stacked stages above the spindle, offering $100\,\mu m$ stroke (Figure ref:fig:nhexa_stages_schroer).
However, attempts to implement real-time feedback using YZ external metrology proved challenging, possibly due to poor dynamical response of the serial stage configuration.
*Goal*:
- Explain why a parallel manipulator is here preferred
- Compact, 6DoF, higher control bandwidth, linear, simpler
#+name: fig:nhexa_stages_spindle
#+caption: Example of two sample stages for tomography experiments. ID16a endstation [[cite:&villar18_nanop_esrf_id16a_nano_imagin_beaml]] at the ESRF (\subref{fig:nhexa_stages_villar}). PtyNAMi microscope [[cite:&schropp20_ptynam;&schroer17_ptynam]] at PETRA III (\subref{fig:nhexa_stages_schroer})
#+attr_latex: :options [h!tbp]
#+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:nhexa_stages_villar} Simplified schematic of ID16a end-station}
#+attr_latex: :options {0.54\textwidth}
#+begin_subfigure
#+attr_latex: :height 6cm
[[file:figs/nhexa_stages_villar.png]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:nhexa_stages_schroer} PtyNAMi microscope}
#+attr_latex: :options {0.40\textwidth}
#+begin_subfigure
#+attr_latex: :height 6cm
[[file:figs/nhexa_stages_schroer.png]]
#+end_subfigure
#+end_figure
- Show some example of serial and parallel manipulators
Table ref:tab:nhexa_sample_stages provides an overview of existing end-stations that incorporate feedback loops based on online metrology for sample positioning.
While direct performance comparisons between these systems are challenging due to their varying experimental requirements, scanning velocities, and specific use cases, several distinctive characteristics of the NASS system can be identified.
- A review of Stewart platform will be given in Chapter related to the detailed design of the Nano-Hexapod
#+name: tab:nhexa_sample_stages
#+caption: End-Station with integrated feedback loops based on online metrology. Stages used for feedback are indicated in bold font. Specifications for the NASS are indicated in the last row. Stages not used for scanning purposes are ommited or indicated between parentheses.
#+attr_latex: :environment tabularx :width 0.8\linewidth :align ccccc
#+attr_latex: :placement [!ht] :center t :booktabs t :font \scriptsize
| *Stacked Stages* | *Specifications* | *Measured DoFs* | *Bandwidth* | *Reference* |
|---------------------+------------------------------+---------------------+--------------------------+-------------------------------------------------------------------------------------------------------|
| Sample | light | Interferometers | 3 PID, n/a | APS |
| *XYZ stage (piezo)* | $D_{xyz}: 0.05\,mm$ | $D_{xyz}$ | | [[cite:&nazaretski15_pushin_limit]] |
|---------------------+------------------------------+---------------------+--------------------------+-------------------------------------------------------------------------------------------------------|
| Sample | light | Capacitive sensors | $\approx 10\,\text{Hz}$ | ESRF |
| Spindle | $R_z: \pm 90\,\text{deg}$ | $D_{xyz},\ R_{xy}$ | | ID16a |
| *Hexapod (piezo)* | $D_{xyz}: 0.05\,mm$ | | | [[cite:&villar18_nanop_esrf_id16a_nano_imagin_beaml]] |
| | $R_{xy}: 500\,\mu\text{rad}$ | | | |
|---------------------+------------------------------+---------------------+--------------------------+-------------------------------------------------------------------------------------------------------|
| Sample | light | Interferometers | n/a | PETRA III |
| *XYZ stage (piezo)* | $D_{xyz}: 0.1\,mm$ | $D_{yz}$ | | P06 |
| Spindle | $R_z: 180\,\text{deg}$ | | | [[cite:&schroer17_ptynam;&schropp20_ptynam]] |
|---------------------+------------------------------+---------------------+--------------------------+-------------------------------------------------------------------------------------------------------|
| Sample | light | Interferometers | PID, n/a | PSI |
| Spindle | $R_z: \pm 182\,\text{deg}$ | $D_{yz},\ R_x$ | | OMNY |
| *Tripod (piezo)* | $D_{xyz}: 0.4\,mm$ | | | [[cite:&holler17_omny_pin_versat_sampl_holder;&holler18_omny_tomog_nano_cryo_stage]] |
|---------------------+------------------------------+---------------------+--------------------------+-------------------------------------------------------------------------------------------------------|
| Sample | light | Interferometers | n/a | Soleil |
| (XY stage) | | $D_{xyz},\ R_{xy}$ | | Nanoprobe |
| Spindle | $R_z: 360\,\text{deg}$ | | | [[cite:&stankevic17_inter_charac_rotat_stages_x_ray_nanot;&engblom18_nanop_resul]] |
| *XYZ linear motors* | $D_{xyz}: 0.4\,mm$ | | | |
|---------------------+------------------------------+---------------------+--------------------------+-------------------------------------------------------------------------------------------------------|
| Sample | up to 0.5kg | Interferometers | n/a | NSLS |
| Spindle | $R_z: 360\,\text{deg}$ | $D_{xyz}$ | | SRX |
| *XYZ stage (piezo)* | $D_{xyz}: 0.1\,mm$ | | | [[cite:&nazaretski22_new_kirkp_baez_based_scann]] |
|---------------------+------------------------------+---------------------+--------------------------+-------------------------------------------------------------------------------------------------------|
| Sample | up to 0.35kg | Interferometers | $\approx 100\,\text{Hz}$ | Diamond, I14 |
| *Parallel XYZ VC* | $D_{xyz}: 3\,mm$ | $D_{xyz}$ | | [[cite:&kelly22_delta_robot_long_travel_nano]] |
|---------------------+------------------------------+---------------------+--------------------------+-------------------------------------------------------------------------------------------------------|
| Sample | light | Capacitive sensors | $\approx 100\,\text{Hz}$ | LNLS |
| *Parallel XYZ VC* | $D_{xyz}: 3\,mm$ | and interferometers | | CARNAUBA |
| (Spindle) | $R_z: \pm 110 \,\text{deg}$ | $D_{xyz}$ | | [[cite:&geraldes23_sapot_carnaub_sirius_lnls]] |
|---------------------+------------------------------+---------------------+--------------------------+-------------------------------------------------------------------------------------------------------|
| Sample | up to 50kg | $D_{xyz},\ R_{xy}$ | | ESRF |
| *Active Platform* | | | | ID31 |
| (Micro-Hexapod) | | | | [[cite:&dehaeze18_sampl_stabil_for_tomog_exper;&dehaeze21_mechat_approac_devel_nano_activ_stabil_system]] |
| Spindle | $R_z: 360\,\text{deg}$ | | | |
| Tilt-Stage | $R_y: \pm 3\,\text{deg}$ | | | |
| Translation Stage | $D_y: \pm 10\,mm$ | | | |
#+name: tab:nhexa_serial_vs_parallel
#+caption: Advantages and Disadvantages of both serial and parallel robots
#+attr_latex: :environment tabularx :width \linewidth :align lXX
#+attr_latex: :center t :booktabs t :float t
| | *Serial Robots* | *Parallel Robots* |
|--------------------+-----------------+-------------------|
| Advantages | Large Workspace | High Stiffness |
| Disadvantages | Low Stiffness | Small Workspace |
| Kinematic Struture | Open | Closed-loop |
The first key distinction of the NASS lies in the continuous rotation of the active vibration platform.
This feature introduces significant complexity through gyroscopic effects and real-time changes in the platform's orientation, which substantially impact both the system's kinematics and dynamics.
Furthermore, NASS implements a unique Long-Stroke/Short-Stroke architecture.
In conventional systems, active platforms typically only correct spindle positioning errors - for example, unwanted translations or tilts that occur during rotation, while the intended rotational motion ($R_z$) is performed by the spindle itself and is not corrected.
NASS, however, faces a more complex task: it must compensate for motions of the translation and tilt stages in real time during their operation, including corrections along their primary axes of motion.
For instance, when the translation stage moves along Y, the active platform must not only correct for unwanted motions in other directions but also fine-tune the position along Y itself, which necessitate some synchronization between the control of the long stroke stages and the control of the active platform.
The second major key distinction of the NASS is its capability to handle payload masses up to 50 kg, exceeding typical capacities in the literature by two orders of magnitude.
This substantial increase in payload mass fundamentally alters the system's dynamic behavior, as the sample mass significantly influences the overall system dynamics, in contrast to conventional systems where sample masses are negligible relative to the stage mass.
This characteristic introduces significant control challenges, as the feedback system must remain stable and maintain performance across a wide range of payload masses, from a few kilograms to 50 kg, requiring robust control strategies to handle such large plant variations.
The NASS also distinguishes itself through its high mobility and versatility, achieved through the use of multiple stacked stages (translation stage, tilt stage, spindle, positioning hexapod) that enable a wide range of experimental configurations.
The resulting mechanical structure exhibits complex dynamics, with multiple resonance modes in the low frequency range.
This dynamic complexity poses a significant challenge for the design and the control of the active platform.
While the primary control requirements focus on $[D_y,\ D_z,\ R_y]$ motions, the continuous rotation of the active platform necessitates control of $[D_x,\ D_y,\ D_z,\ R_x,\ R_y]$ in the active platform's reference frame.
** Active Vibration Platform
<<ssec:nhexa_active_platforms>>
The choice of the active platform architecture for the NASS requires careful consideration of several critical specifications.
The platform must provide control over five degrees of freedom ($D_x$, $D_y$, $D_z$, $R_x$, and $R_y$), with strokes exceeding $100\,\mu m$ to correct for micro-station positioning errors, while fitting within a cylindrical envelope of 300 mm diameter and 95 mm height.
It must accommodate payloads up to 50 kg while maintaining high dynamical performance.
For light samples, the typical design strategy of maximizing actuator stiffness works well, as resonance frequencies in the kilohertz range can be achieved, enabling control bandwidths up to 100 Hz.
However, achieving such resonance frequencies with a 50 kg payload would require unrealistic stiffness values of approximately $2000\,N/\mu m$.
This limitation necessitates alternative control approaches, and the High Authority Control/Low Authority Control (HAC-LAC) strategy is proposed to address this challenge.
Consequently, the design must incorporate force sensors for active damping and utilize compliant mechanisms to eliminate friction and backlash, which would otherwise compromise nano-positioning capabilities.
Two primary categories of positioning platform architectures are considered: serial and parallel mechanisms.
Serial robots, characterized by open-loop kinematic chains, typically dedicate one actuator per degree of freedom as shown in Figure ref:fig:nhexa_serial_architecture_kenton.
While offering large workspaces and high maneuverability, serial mechanisms suffer from several inherent limitations.
These include low structural stiffness, cumulative positioning errors along the kinematic chain, high mass-to-payload ratios due to actuator placement, and limited payload capacity [[cite:&taghirad13_paral]].
These limitations generally make serial architectures unsuitable for nano-positioning applications, except when handling very light samples, as was used in [[cite:&nazaretski15_pushin_limit]] and shown in Figure ref:fig:nhexa_stages_nazaretski.
In contrast, parallel mechanisms, which connect the mobile platform to the fixed base through multiple parallel struts, offer several advantages for precision positioning.
Their closed-loop kinematic structure provides inherently higher structural stiffness, as the platform is simultaneously supported by multiple struts [[cite:&taghirad13_paral]].
While parallel mechanisms typically exhibit limited workspace compared to serial architectures, this limitation is not critical for NASS given its modest stroke requirements.
Numerous parallel kinematic architectures have been developed cite:dong07_desig_precis_compl_paral_posit to address various positioning requirements, with designs varying based on the desired degrees of freedom and specific application constraints.
Furthermore, hybrid architectures combining both serial and parallel elements have been proposed [[cite:&shen19_dynam_analy_flexur_nanop_stage]], as illustrated in Figure ref:fig:nhexa_serial_parallel_examples, offering potential compromises between the advantages of both approaches.
#+name: fig:nhexa_serial_parallel_examples
#+caption: Examples of an XYZ serial positioning stage [[cite:&kenton12_desig_contr_three_axis_serial]] (\subref{fig:nhexa_serial_architecture_kenton}) and of a 5-DoF hybrid (parallel/serial) positioning platform [[cite:&shen19_dynam_analy_flexur_nanop_stage]] (\subref{fig:nhexa_parallel_architecture_shen}).
#+attr_latex: :options [h!tbp]
#+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:nhexa_serial_architecture_kenton} Serial positioning stage}
#+attr_latex: :options {0.41\textwidth}
#+begin_subfigure
#+attr_latex: :height 5cm
[[file:figs/nhexa_serial_architecture_kenton.png]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:nhexa_parallel_architecture_shen} Hybrid 5-DoF stage}
#+attr_latex: :options {0.55\textwidth}
#+begin_subfigure
#+attr_latex: :height 5cm
[[file:figs/nhexa_parallel_architecture_shen.png]]
#+end_subfigure
#+end_figure
After evaluating different options, the Stewart platform architecture was selected for several reasons.
Beyond providing control over all required degrees of freedom, its compact design and predictable dynamic characteristics make it particularly suitable for nano-positioning when combined with flexible joints.
Stewart platforms have been implemented in a wide variety of configurations, as illustrated in Figure ref:fig:nhexa_stewart_examples, which shows two distinct implementations: one utilizing piezoelectric actuators for nano-positioning applications, and another based on voice coil actuators for vibration isolation.
These examples demonstrate the architecture's versatility in terms of geometry, actuator selection, and scale, all of which can be optimized for specific applications.
Furthermore, the successful implementation of Integral Force Feedback (IFF) control on Stewart platforms has been well documented [[cite:&abu02_stiff_soft_stewar_platf_activ;&hanieh03_activ_stewar;&preumont07_six_axis_singl_stage_activ]], and the extensive body of research on this architecture enables thorough optimization specifically for the NASS.
#+name: fig:nhexa_stewart_examples
#+caption: Two examples of Stewart platform. A Stewart platform based on piezoelectric stack actuators and used for nano-positioning is shown in (\subref{fig:nhexa_stewart_piezo_furutani}) [[cite:&furutani04_nanom_cuttin_machin_using_stewar]]. A Stewart platform based on voice coil actuators and used for vibration isolation is shown in (\subref{fig:nhexa_stewart_vc_preumont}) [[cite:&preumont07_six_axis_singl_stage_activ;&preumont18_vibrat_contr_activ_struc_fourt_edition]]
#+attr_latex: :options [h!tbp]
#+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:nhexa_stewart_piezo_furutani} Stewart platform for Nano-positioning}
#+attr_latex: :options {0.48\textwidth}
#+begin_subfigure
#+attr_latex: :width \linewidth
[[file:figs/nhexa_stewart_piezo_furutani.png]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:nhexa_stewart_vc_preumont} Stewart platform for vibration isolation}
#+attr_latex: :options {0.48\textwidth}
#+begin_subfigure
#+attr_latex: :width \linewidth
[[file:figs/nhexa_stewart_vc_preumont.png]]
#+end_subfigure
#+end_figure
* The Stewart platform
:PROPERTIES:
@ -765,7 +917,7 @@ The relationship between maximum stroke and stiffness presents another important
As both parameters are influenced by the geometric configuration, their optimization involves inherent trade-offs that must be carefully balanced based on application requirements.
The optimization of this configuration to achieve desired stiffness properties while having enough stroke will be addressed during the detailed design phase.
** Dynamic Analysis
** Dynamical Analysis
<<ssec:nhexa_stewart_platform_dynamics>>
The dynamic behavior of a Stewart platform can be analyzed through various approaches, depending on the desired level of model fidelity.
@ -1800,7 +1952,7 @@ A diagonal High Authority Controller $\bm{K}_{\text{HAC}}$ then processes these
\node[addb, left=0.8 of input] (addF) {};
\node[block, left=0.8 of addF] (Khac) {$\bm{K}_\text{HAC}$};
\node[block, left=0.8 of Khac] (inverseK) {$\bm{J}^{-1}$};
\node[block, left=0.8 of Khac] (inverseK) {$\bm{J}$};
\node[addb={+}{}{}{}{-}, left=0.8 of inverseK] (subL) {};
@ -2119,9 +2271,23 @@ More sophisticated control strategies will be investigated during the detailed d
:END:
<<sec:nhexa_conclusion>>
- Configurable Stewart platform model
- Will be included in the multi-body model of the micro-station => nass multi body model
- Control: complex problem, try to use simplest architecture
After evaluating various architectures for the active platform, the Stewart platform was selected.
Its parallel kinematic structure offers superior dynamical characteristics, while its compact design satisfies the strict space constraints of the NASS.
The extensive literature on Stewart platforms, encompassing kinematic analysis, dynamic modeling and control, provided a robust theoretical foundation for this choice.
A configurable multi-body model of the Stewart platform was developed and validated against analytical equations.
The modular nature of the model allows for progressive refinement of individual components (plates, joints and actuators) and geometry, making it a valuable tool throughout the development process.
The validated model will be integrated into the broader multi-body representation of the micro-station, enabling comprehensive analysis of the complete NASS system.
The use of this model extends beyond the current conceptual phase.
It will serve as a crucial tool during the detailed design phase, where it will be used to optimize the design and guide the development of sophisticated control strategies.
Furthermore, during the experimental phase, it will provide a theoretical framework for comparing and understanding measured dynamics.
The control aspects of the Stewart platform were addressed with particular attention to the challenges posed by its multi-input multi-output nature.
While the coupled dynamics of the system suggest the potential benefit of advanced control strategies, a simplified architecture was proposed for the validation of the NASS concept.
This approach combines decentralized Integral Force Feedback for active damping with High Authority Control for positioning, implemented in the strut space to leverage the natural decoupling observed at low frequencies.
This work establishes the theoretical framework necessary for subsequent development and validation of the NASS.
* Bibliography :ignore:
#+latex: \printbibliography[heading=bibintoc,title={Bibliography}]
@ -2165,7 +2331,7 @@ mdl = 'nano_hexapod_model';
%% Colors for the figures
colors = colororder;
%% Frequency Vector
%% Frequency Vector [Hz]
freqs = logspace(0, 3, 1000);
#+END_SRC

Binary file not shown.

View File

@ -1,4 +1,4 @@
% Created 2025-02-12 Wed 10:28
% Created 2025-02-19 Wed 16:32
% Intended LaTeX compiler: pdflatex
\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt}
@ -24,83 +24,213 @@
\clearpage
Now that the multi-body model of the micro-station has been developed and validated using dynamical measurements, a model of the active vibration platform can be integrated.
Building upon the validated multi-body model of the micro-station presented in previous sections, this section focuses on the development and integration of an active vibration platform model.
First, the mechanical architecture of the active platform needs to be carefully chosen.
In Section \ref{sec:nhexa_platform_review}, a quick review of active vibration platforms is performed.
The chapter begins with a review of existing active vibration platforms (Section \ref{sec:nhexa_platform_review}), leading to the selection of the Stewart platform architecture.
This parallel manipulator, detailed in Section \ref{sec:nhexa_stewart_platform}, requires specialized analytical tools for kinematic analysis.
However, the complexity of its dynamic behavior presents significant challenges for purely analytical approaches.
The chosen architecture is the Stewart platform, which is presented in Section \ref{sec:nhexa_stewart_platform}.
It is a parallel manipulator that require the use of specific tools to study its kinematics.
Consequently, a multi-body modeling approach has been adopted (Section \ref{sec:nhexa_model}), facilitating seamless integration with the existing micro-station model.
However, to study the dynamics of the Stewart platform, the use of analytical equations is very complex.
Instead, a multi-body model of the Stewart platform is developed (Section \ref{sec:nhexa_model}), that can then be easily integrated on top of the micro-station's model.
From a control point of view, the Stewart platform is a MIMO system with complex dynamics.
To control such system, it requires several tools to study interaction (Section \ref{sec:nhexa_control}).
The control of the Stewart platform introduces additional complexity due to its multi-input multi-output (MIMO) nature.
Section \ref{sec:nhexa_control} explores how the High Authority Control/Low Authority Control (HAC-LAC) strategy, previously validated on the uniaxial model, can be adapted to address the coupled dynamics of the Stewart platform.
This adaptation requires fundamental decisions regarding both the control architecture (centralized versus decentralized) and the control frame (Cartesian versus strut space).
Through careful analysis of system interactions and plant characteristics in different frames, a control architecture combining decentralized Integral Force Feedback for active damping with a centralized high authority controller for positioning is developed, with both controllers implemented in the frame of the struts.
\chapter{Active Vibration Platforms}
\label{sec:nhexa_platform_review}
\textbf{Goals}:
\begin{itemize}
\item Quick review of active vibration platforms (5 or 6DoF) similar to NASS
\item Explain why Stewart platform architecture is chosen
Previous sections have focused on simplified models, such as uniaxial and three-degree-of-freedom rotating systems.
These models were chosen for their ease of analysis, and despite their simplicity, the principles derived from them are usually applicable to more complex systems.
However, the development of the Nano Active Stabilization System (NASS) now requires the use of a more accurate model that will be integrated with the multi-body representation of the micro-station.
To develop this model, the architecture of the active platform must first be determined.
\item Wanted controlled DOF: Y, Z, Ry
\item But because of continuous rotation (key specificity): X,Y,Z,Rx,Ry in the frame of the active platform
The selection of an appropriate architecture begins with a review of existing positioning stages that incorporate active platforms similar to NASS (Section \ref{ssec:nhexa_sample_stages}).
This review reveals two distinctive features of NASS that set it apart from existing systems: the fact that the active platform is continuously rotating, and its requirement to accommodate high payload masses.
In existing systems, the sample mass is typically negligible compared to the stage mass, whereas in NASS, the sample mass significantly influences the system's dynamic behavior.
\item Literature review? (\textbf{maybe more suited for chapter 2})
\begin{itemize}
\item \url{file:///home/thomas/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/bibliography.org}
\item Talk about flexible joint? Maybe not so much as it should be topic of second chapter.
Just say that we must of flexible joints that can be defined as 3 to 6DoF joints, and it will be optimize in chapter 2.
\end{itemize}
\item \cite{taghirad13_paral}
These distinctive requirements drive the selection of the active platform architecture.
In Section \ref{ssec:nhexa_active_platforms}, different active platform configurations are evaluated, including serial and parallel configurations, ultimately leading to the choice of a Stewart platform architecture.
\section{Sample Stages with Active Control}
\label{ssec:nhexa_sample_stages}
\item For some systems, just XYZ control (stack stages), example: holler
\item For other systems, Stewart platform (ID16a), piezo based
\item Examples of Stewart platforms for general vibration control, some with Piezo, other with Voice coil. IFF, \ldots{}
Show different geometry configuration
\item DCM: tripod?
\end{itemize}
\section{Active vibration control of sample stages}
The positioning of samples relative to X-ray beams that can be focused to sizes below 100 nanometers presents significant challenges, as mechanical positioning systems are typically limited to micron-scale accuracy.
To overcome this limitation, external metrology systems have been implemented to measure sample positions with nanometer accuracy, enabling real-time feedback control for sample stabilization.
\href{file:///home/thomas/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A0-nass-introduction/nass-introduction.org}{Review of stages with online metrology for Synchrotrons}
A review of existing sample stages with active vibration control reveals various approaches to implementing such feedback systems.
In many cases, sample position control is limited to translational degrees of freedom.
At NSLS-II, for instance, a system capable of \(100\,\mu m\) stroke has been developed for payloads up to 500g, utilizing interferometric measurements for position feedback (Figure \ref{fig:nhexa_stages_nazaretski}).
Similarly, at the Sirius facility, a tripod configuration based on voice coil actuators has been implemented for XYZ position control, achieving feedback bandwidths of approximately 100 Hz (Figure \ref{fig:nhexa_stages_sapoti}).
\begin{itemize}
\item[{$\square$}] Talk about external metrology?
Maybe not the topic here.
\item[{$\square$}] Talk about control architecture?
\item[{$\square$}] Comparison with the micro-station / NASS
\end{itemize}
\begin{figure}[h!tbp]
\begin{subfigure}{0.36\textwidth}
\begin{center}
\includegraphics[scale=1,height=6.5cm]{figs/nhexa_stages_nazaretski.png}
\end{center}
\subcaption{\label{fig:nhexa_stages_nazaretski} MLL microscope}
\end{subfigure}
\begin{subfigure}{0.60\textwidth}
\begin{center}
\includegraphics[scale=1,height=6.5cm]{figs/nhexa_stages_sapoti.png}
\end{center}
\subcaption{\label{fig:nhexa_stages_sapoti} SAPOTI sample stage}
\end{subfigure}
\caption{\label{fig:nhexa_stages_translations}Example of sample stage with active XYZ corrections based on external metrology. The MLL microscope \cite{nazaretski15_pushin_limit} at NSLS-II (\subref{fig:nhexa_stages_nazaretski}). Sample stage on SAPOTI beamline \cite{geraldes23_sapot_carnaub_sirius_lnls} at Sirius facility (\subref{fig:nhexa_stages_sapoti})}
\end{figure}
\section{Serial and Parallel Manipulators}
The integration of \(R_z\) rotational capability, necessary for tomography experiments, introduces additional complexity.
At ESRF's ID16A beamline, a Stewart platform (whose architecture will be presented in Section \ref{sec:nhexa_stewart_platform}) utilizing piezoelectric actuators has been positioned below the spindle (Figure \ref{fig:nhexa_stages_villar}).
While this configuration enables correction of spindle motion errors through 5-DoF control based on capacitive sensor measurements, the stroke is limited to \(50\,\mu m\) due to the inherent constraints of piezoelectric actuators.
In contrast, at PETRA III, an alternative approach places a XYZ stacked stages above the spindle, offering \(100\,\mu m\) stroke (Figure \ref{fig:nhexa_stages_schroer}).
However, attempts to implement real-time feedback using YZ external metrology proved challenging, possibly due to poor dynamical response of the serial stage configuration.
\textbf{Goal}:
\begin{itemize}
\item Explain why a parallel manipulator is here preferred
\item Compact, 6DoF, higher control bandwidth, linear, simpler
\begin{figure}[h!tbp]
\begin{subfigure}{0.54\textwidth}
\begin{center}
\includegraphics[scale=1,height=6cm]{figs/nhexa_stages_villar.png}
\end{center}
\subcaption{\label{fig:nhexa_stages_villar} Simplified schematic of ID16a end-station}
\end{subfigure}
\begin{subfigure}{0.40\textwidth}
\begin{center}
\includegraphics[scale=1,height=6cm]{figs/nhexa_stages_schroer.png}
\end{center}
\subcaption{\label{fig:nhexa_stages_schroer} PtyNAMi microscope}
\end{subfigure}
\caption{\label{fig:nhexa_stages_spindle}Example of two sample stages for tomography experiments. ID16a endstation \cite{villar18_nanop_esrf_id16a_nano_imagin_beaml} at the ESRF (\subref{fig:nhexa_stages_villar}). PtyNAMi microscope \cite{schropp20_ptynam,schroer17_ptynam} at PETRA III (\subref{fig:nhexa_stages_schroer})}
\end{figure}
\item Show some example of serial and parallel manipulators
Table \ref{tab:nhexa_sample_stages} provides an overview of existing end-stations that incorporate feedback loops based on online metrology for sample positioning.
While direct performance comparisons between these systems are challenging due to their varying experimental requirements, scanning velocities, and specific use cases, several distinctive characteristics of the NASS system can be identified.
\item A review of Stewart platform will be given in Chapter related to the detailed design of the Nano-Hexapod
\end{itemize}
\begin{table}[htbp]
\begin{table}[!ht]
\caption{\label{tab:nhexa_sample_stages}End-Station with integrated feedback loops based on online metrology. Stages used for feedback are indicated in bold font. Specifications for the NASS are indicated in the last row. Stages not used for scanning purposes are ommited or indicated between parentheses.}
\centering
\begin{tabularx}{\linewidth}{lXX}
\scriptsize
\begin{tabularx}{0.8\linewidth}{ccccc}
\toprule
& \textbf{Serial Robots} & \textbf{Parallel Robots}\\
\textbf{Stacked Stages} & \textbf{Specifications} & \textbf{Measured DoFs} & \textbf{Bandwidth} & \textbf{Reference}\\
\midrule
Advantages & Large Workspace & High Stiffness\\
Disadvantages & Low Stiffness & Small Workspace\\
Kinematic Struture & Open & Closed-loop\\
Sample & light & Interferometers & 3 PID, n/a & APS\\
\textbf{XYZ stage (piezo)} & \(D_{xyz}: 0.05\,mm\) & \(D_{xyz}\) & & \cite{nazaretski15_pushin_limit}\\
\midrule
Sample & light & Capacitive sensors & \(\approx 10\,\text{Hz}\) & ESRF\\
Spindle & \(R_z: \pm 90\,\text{deg}\) & \(D_{xyz},\ R_{xy}\) & & ID16a\\
\textbf{Hexapod (piezo)} & \(D_{xyz}: 0.05\,mm\) & & & \cite{villar18_nanop_esrf_id16a_nano_imagin_beaml}\\
& \(R_{xy}: 500\,\mu\text{rad}\) & & & \\
\midrule
Sample & light & Interferometers & n/a & PETRA III\\
\textbf{XYZ stage (piezo)} & \(D_{xyz}: 0.1\,mm\) & \(D_{yz}\) & & P06\\
Spindle & \(R_z: 180\,\text{deg}\) & & & \cite{schroer17_ptynam,schropp20_ptynam}\\
\midrule
Sample & light & Interferometers & PID, n/a & PSI\\
Spindle & \(R_z: \pm 182\,\text{deg}\) & \(D_{yz},\ R_x\) & & OMNY\\
\textbf{Tripod (piezo)} & \(D_{xyz}: 0.4\,mm\) & & & \cite{holler17_omny_pin_versat_sampl_holder,holler18_omny_tomog_nano_cryo_stage}\\
\midrule
Sample & light & Interferometers & n/a & Soleil\\
(XY stage) & & \(D_{xyz},\ R_{xy}\) & & Nanoprobe\\
Spindle & \(R_z: 360\,\text{deg}\) & & & \cite{stankevic17_inter_charac_rotat_stages_x_ray_nanot,engblom18_nanop_resul}\\
\textbf{XYZ linear motors} & \(D_{xyz}: 0.4\,mm\) & & & \\
\midrule
Sample & up to 0.5kg & Interferometers & n/a & NSLS\\
Spindle & \(R_z: 360\,\text{deg}\) & \(D_{xyz}\) & & SRX\\
\textbf{XYZ stage (piezo)} & \(D_{xyz}: 0.1\,mm\) & & & \cite{nazaretski22_new_kirkp_baez_based_scann}\\
\midrule
Sample & up to 0.35kg & Interferometers & \(\approx 100\,\text{Hz}\) & Diamond, I14\\
\textbf{Parallel XYZ VC} & \(D_{xyz}: 3\,mm\) & \(D_{xyz}\) & & \cite{kelly22_delta_robot_long_travel_nano}\\
\midrule
Sample & light & Capacitive sensors & \(\approx 100\,\text{Hz}\) & LNLS\\
\textbf{Parallel XYZ VC} & \(D_{xyz}: 3\,mm\) & and interferometers & & CARNAUBA\\
(Spindle) & \(R_z: \pm 110 \,\text{deg}\) & \(D_{xyz}\) & & \cite{geraldes23_sapot_carnaub_sirius_lnls}\\
\midrule
Sample & up to 50kg & \(D_{xyz},\ R_{xy}\) & & ESRF\\
\textbf{Active Platform} & & & & ID31\\
(Micro-Hexapod) & & & & \cite{dehaeze18_sampl_stabil_for_tomog_exper,dehaeze21_mechat_approac_devel_nano_activ_stabil_system}\\
Spindle & \(R_z: 360\,\text{deg}\) & & & \\
Tilt-Stage & \(R_y: \pm 3\,\text{deg}\) & & & \\
Translation Stage & \(D_y: \pm 10\,mm\) & & & \\
\bottomrule
\end{tabularx}
\caption{\label{tab:nhexa_serial_vs_parallel}Advantages and Disadvantages of both serial and parallel robots}
\end{table}
The first key distinction of the NASS lies in the continuous rotation of the active vibration platform.
This feature introduces significant complexity through gyroscopic effects and real-time changes in the platform's orientation, which substantially impact both the system's kinematics and dynamics.
Furthermore, NASS implements a unique Long-Stroke/Short-Stroke architecture.
In conventional systems, active platforms typically only correct spindle positioning errors - for example, unwanted translations or tilts that occur during rotation, while the intended rotational motion (\(R_z\)) is performed by the spindle itself and is not corrected.
NASS, however, faces a more complex task: it must compensate for motions of the translation and tilt stages in real time during their operation, including corrections along their primary axes of motion.
For instance, when the translation stage moves along Y, the active platform must not only correct for unwanted motions in other directions but also fine-tune the position along Y itself, which necessitate some synchronization between the control of the long stroke stages and the control of the active platform.
The second major key distinction of the NASS is its capability to handle payload masses up to 50 kg, exceeding typical capacities in the literature by two orders of magnitude.
This substantial increase in payload mass fundamentally alters the system's dynamic behavior, as the sample mass significantly influences the overall system dynamics, in contrast to conventional systems where sample masses are negligible relative to the stage mass.
This characteristic introduces significant control challenges, as the feedback system must remain stable and maintain performance across a wide range of payload masses, from a few kilograms to 50 kg, requiring robust control strategies to handle such large plant variations.
The NASS also distinguishes itself through its high mobility and versatility, achieved through the use of multiple stacked stages (translation stage, tilt stage, spindle, positioning hexapod) that enable a wide range of experimental configurations.
The resulting mechanical structure exhibits complex dynamics, with multiple resonance modes in the low frequency range.
This dynamic complexity poses a significant challenge for the design and the control of the active platform.
While the primary control requirements focus on \([D_y,\ D_z,\ R_y]\) motions, the continuous rotation of the active platform necessitates control of \([D_x,\ D_y,\ D_z,\ R_x,\ R_y]\) in the active platform's reference frame.
\section{Active Vibration Platform}
\label{ssec:nhexa_active_platforms}
The choice of the active platform architecture for the NASS requires careful consideration of several critical specifications.
The platform must provide control over five degrees of freedom (\(D_x\), \(D_y\), \(D_z\), \(R_x\), and \(R_y\)), with strokes exceeding \(100\,\mu m\) to correct for micro-station positioning errors, while fitting within a cylindrical envelope of 300 mm diameter and 95 mm height.
It must accommodate payloads up to 50 kg while maintaining high dynamical performance.
For light samples, the typical design strategy of maximizing actuator stiffness works well, as resonance frequencies in the kilohertz range can be achieved, enabling control bandwidths up to 100 Hz.
However, achieving such resonance frequencies with a 50 kg payload would require unrealistic stiffness values of approximately \(2000\,N/\mu m\).
This limitation necessitates alternative control approaches, and the High Authority Control/Low Authority Control (HAC-LAC) strategy is proposed to address this challenge.
Consequently, the design must incorporate force sensors for active damping and utilize compliant mechanisms to eliminate friction and backlash, which would otherwise compromise nano-positioning capabilities.
Two primary categories of positioning platform architectures are considered: serial and parallel mechanisms.
Serial robots, characterized by open-loop kinematic chains, typically dedicate one actuator per degree of freedom as shown in Figure \ref{fig:nhexa_serial_architecture_kenton}.
While offering large workspaces and high maneuverability, serial mechanisms suffer from several inherent limitations.
These include low structural stiffness, cumulative positioning errors along the kinematic chain, high mass-to-payload ratios due to actuator placement, and limited payload capacity \cite{taghirad13_paral}.
These limitations generally make serial architectures unsuitable for nano-positioning applications, except when handling very light samples, as was used in \cite{nazaretski15_pushin_limit} and shown in Figure \ref{fig:nhexa_stages_nazaretski}.
In contrast, parallel mechanisms, which connect the mobile platform to the fixed base through multiple parallel struts, offer several advantages for precision positioning.
Their closed-loop kinematic structure provides inherently higher structural stiffness, as the platform is simultaneously supported by multiple struts \cite{taghirad13_paral}.
While parallel mechanisms typically exhibit limited workspace compared to serial architectures, this limitation is not critical for NASS given its modest stroke requirements.
Numerous parallel kinematic architectures have been developed \cite{dong07_desig_precis_compl_paral_posit} to address various positioning requirements, with designs varying based on the desired degrees of freedom and specific application constraints.
Furthermore, hybrid architectures combining both serial and parallel elements have been proposed \cite{shen19_dynam_analy_flexur_nanop_stage}, as illustrated in Figure \ref{fig:nhexa_serial_parallel_examples}, offering potential compromises between the advantages of both approaches.
\begin{figure}[h!tbp]
\begin{subfigure}{0.41\textwidth}
\begin{center}
\includegraphics[scale=1,height=5cm]{figs/nhexa_serial_architecture_kenton.png}
\end{center}
\subcaption{\label{fig:nhexa_serial_architecture_kenton} Serial positioning stage}
\end{subfigure}
\begin{subfigure}{0.55\textwidth}
\begin{center}
\includegraphics[scale=1,height=5cm]{figs/nhexa_parallel_architecture_shen.png}
\end{center}
\subcaption{\label{fig:nhexa_parallel_architecture_shen} Hybrid 5-DoF stage}
\end{subfigure}
\caption{\label{fig:nhexa_serial_parallel_examples}Examples of an XYZ serial positioning stage \cite{kenton12_desig_contr_three_axis_serial} (\subref{fig:nhexa_serial_architecture_kenton}) and of a 5-DoF hybrid (parallel/serial) positioning platform \cite{shen19_dynam_analy_flexur_nanop_stage} (\subref{fig:nhexa_parallel_architecture_shen}).}
\end{figure}
After evaluating different options, the Stewart platform architecture was selected for several reasons.
Beyond providing control over all required degrees of freedom, its compact design and predictable dynamic characteristics make it particularly suitable for nano-positioning when combined with flexible joints.
Stewart platforms have been implemented in a wide variety of configurations, as illustrated in Figure \ref{fig:nhexa_stewart_examples}, which shows two distinct implementations: one utilizing piezoelectric actuators for nano-positioning applications, and another based on voice coil actuators for vibration isolation.
These examples demonstrate the architecture's versatility in terms of geometry, actuator selection, and scale, all of which can be optimized for specific applications.
Furthermore, the successful implementation of Integral Force Feedback (IFF) control on Stewart platforms has been well documented \cite{abu02_stiff_soft_stewar_platf_activ,hanieh03_activ_stewar,preumont07_six_axis_singl_stage_activ}, and the extensive body of research on this architecture enables thorough optimization specifically for the NASS.
\begin{figure}[h!tbp]
\begin{subfigure}{0.48\textwidth}
\begin{center}
\includegraphics[scale=1,width=\linewidth]{figs/nhexa_stewart_piezo_furutani.png}
\end{center}
\subcaption{\label{fig:nhexa_stewart_piezo_furutani} Stewart platform for Nano-positioning}
\end{subfigure}
\begin{subfigure}{0.48\textwidth}
\begin{center}
\includegraphics[scale=1,width=\linewidth]{figs/nhexa_stewart_vc_preumont.png}
\end{center}
\subcaption{\label{fig:nhexa_stewart_vc_preumont} Stewart platform for vibration isolation}
\end{subfigure}
\caption{\label{fig:nhexa_stewart_examples}Two examples of Stewart platform. A Stewart platform based on piezoelectric stack actuators and used for nano-positioning is shown in (\subref{fig:nhexa_stewart_piezo_furutani}) \cite{furutani04_nanom_cuttin_machin_using_stewar}. A Stewart platform based on voice coil actuators and used for vibration isolation is shown in (\subref{fig:nhexa_stewart_vc_preumont}) \cite{preumont07_six_axis_singl_stage_activ,preumont18_vibrat_contr_activ_struc_fourt_edition}}
\end{figure}
\chapter{The Stewart platform}
\label{sec:nhexa_stewart_platform}
The Stewart platform, first introduced by Stewart in 1965 \cite{stewart65_platf_with_six_degrees_freed} for flight simulation applications, represents a significant milestone in parallel manipulator design.
@ -359,7 +489,7 @@ The relationship between maximum stroke and stiffness presents another important
As both parameters are influenced by the geometric configuration, their optimization involves inherent trade-offs that must be carefully balanced based on application requirements.
The optimization of this configuration to achieve desired stiffness properties while having enough stroke will be addressed during the detailed design phase.
\section{Dynamic Analysis}
\section{Dynamical Analysis}
\label{ssec:nhexa_stewart_platform_dynamics}
The dynamic behavior of a Stewart platform can be analyzed through various approaches, depending on the desired level of model fidelity.
@ -866,11 +996,23 @@ More sophisticated control strategies will be investigated during the detailed d
\chapter*{Conclusion}
\label{sec:nhexa_conclusion}
\begin{itemize}
\item Configurable Stewart platform model
\item Will be included in the multi-body model of the micro-station => nass multi body model
\item Control: complex problem, try to use simplest architecture
\end{itemize}
After evaluating various architectures for the active platform, the Stewart platform was selected.
Its parallel kinematic structure offers superior dynamical characteristics, while its compact design satisfies the strict space constraints of the NASS.
The extensive literature on Stewart platforms, encompassing kinematic analysis, dynamic modeling and control, provided a robust theoretical foundation for this choice.
A configurable multi-body model of the Stewart platform was developed and validated against analytical equations.
The modular nature of the model allows for progressive refinement of individual components (plates, joints and actuators) and geometry, making it a valuable tool throughout the development process.
The validated model will be integrated into the broader multi-body representation of the micro-station, enabling comprehensive analysis of the complete NASS system.
The use of this model extends beyond the current conceptual phase.
It will serve as a crucial tool during the detailed design phase, where it will be used to optimize the design and guide the development of sophisticated control strategies.
Furthermore, during the experimental phase, it will provide a theoretical framework for comparing and understanding measured dynamics.
The control aspects of the Stewart platform were addressed with particular attention to the challenges posed by its multi-input multi-output nature.
While the coupled dynamics of the system suggest the potential benefit of advanced control strategies, a simplified architecture was proposed for the validation of the NASS concept.
This approach combines decentralized Integral Force Feedback for active damping with High Authority Control for positioning, implemented in the strut space to leverage the natural decoupling observed at low frequencies.
This work establishes the theoretical framework necessary for subsequent development and validation of the NASS.
\printbibliography[heading=bibintoc,title={Bibliography}]
\end{document}