Update based on Maxim's remarks
This commit is contained in:
parent
7d99b58bba
commit
4c033102b2
BIN
figs/amplified_piezo_interface_nodes.pdf
Normal file
BIN
figs/amplified_piezo_interface_nodes.pdf
Normal file
Binary file not shown.
BIN
figs/amplified_piezo_interface_nodes.png
Normal file
BIN
figs/amplified_piezo_interface_nodes.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 29 KiB |
BIN
figs/dynamics_force_disp_comp_anasys.pdf
Normal file
BIN
figs/dynamics_force_disp_comp_anasys.pdf
Normal file
Binary file not shown.
BIN
figs/dynamics_force_disp_comp_anasys.png
Normal file
BIN
figs/dynamics_force_disp_comp_anasys.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 136 KiB |
BIN
figs/ecs_apa_01.jpg
Normal file
BIN
figs/ecs_apa_01.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 81 KiB |
976
ieeetr.bst
Normal file
976
ieeetr.bst
Normal file
@ -0,0 +1,976 @@
|
|||||||
|
% Copyright (C) 1985, 1988, 2010 Howard Trickey and Oren Patashnik.
|
||||||
|
% Unlimited copying and redistribution of this file are permitted as long as
|
||||||
|
% it is unmodified. Modifications (and redistribution of modified versions)
|
||||||
|
% are also permitted, but only if the resulting file is renamed.
|
||||||
|
%
|
||||||
|
% IEEE Transactions bibliography style (8-Dec-10 version)
|
||||||
|
% numeric labels, order-of-reference, IEEE abbreviations,
|
||||||
|
% quotes around article titles, commas separate all fields
|
||||||
|
% except after book titles and before "notes". Otherwise,
|
||||||
|
% much like the "plain" family, from which this is adapted.
|
||||||
|
%
|
||||||
|
% History
|
||||||
|
% 9/30/85 (HWT) Original version, by Howard Trickey.
|
||||||
|
% 1/29/88 (OP&HWT) Updated for BibTeX version 0.99a, Oren Patashnik;
|
||||||
|
% THIS `ieeetr' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
|
||||||
|
% 12/ 8/10 (OP&HWT) Clarify license.
|
||||||
|
|
||||||
|
ENTRY
|
||||||
|
{ address
|
||||||
|
author
|
||||||
|
booktitle
|
||||||
|
chapter
|
||||||
|
edition
|
||||||
|
editor
|
||||||
|
howpublished
|
||||||
|
institution
|
||||||
|
journal
|
||||||
|
key
|
||||||
|
month
|
||||||
|
note
|
||||||
|
number
|
||||||
|
organization
|
||||||
|
pages
|
||||||
|
publisher
|
||||||
|
school
|
||||||
|
series
|
||||||
|
title
|
||||||
|
type
|
||||||
|
volume
|
||||||
|
year
|
||||||
|
}
|
||||||
|
{}
|
||||||
|
{ label }
|
||||||
|
|
||||||
|
INTEGERS { output.state before.all mid.sentence after.quote after.sentence
|
||||||
|
after.quoted.block after.block }
|
||||||
|
|
||||||
|
FUNCTION {init.state.consts}
|
||||||
|
{ #0 'before.all :=
|
||||||
|
#1 'mid.sentence :=
|
||||||
|
#2 'after.quote :=
|
||||||
|
#3 'after.sentence :=
|
||||||
|
#4 'after.quoted.block :=
|
||||||
|
#5 'after.block :=
|
||||||
|
}
|
||||||
|
|
||||||
|
STRINGS { s t }
|
||||||
|
|
||||||
|
FUNCTION {output.nonnull}
|
||||||
|
{ 's :=
|
||||||
|
output.state mid.sentence =
|
||||||
|
{ ", " * write$ }
|
||||||
|
{ output.state after.quote =
|
||||||
|
{ " " * write$ }
|
||||||
|
{ output.state after.block =
|
||||||
|
{ add.period$ write$
|
||||||
|
newline$
|
||||||
|
"\newblock " write$
|
||||||
|
}
|
||||||
|
{ output.state before.all =
|
||||||
|
'write$
|
||||||
|
{ output.state after.quoted.block =
|
||||||
|
{ write$
|
||||||
|
newline$
|
||||||
|
"\newblock " write$
|
||||||
|
}
|
||||||
|
{ add.period$ " " * write$ }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
mid.sentence 'output.state :=
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
s
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {output}
|
||||||
|
{ duplicate$ empty$
|
||||||
|
'pop$
|
||||||
|
'output.nonnull
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {output.check}
|
||||||
|
{ 't :=
|
||||||
|
duplicate$ empty$
|
||||||
|
{ pop$ "empty " t * " in " * cite$ * warning$ }
|
||||||
|
'output.nonnull
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {output.bibitem}
|
||||||
|
{ newline$
|
||||||
|
"\bibitem{" write$
|
||||||
|
cite$ write$
|
||||||
|
"}" write$
|
||||||
|
newline$
|
||||||
|
""
|
||||||
|
before.all 'output.state :=
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {blank.sep}
|
||||||
|
{ after.quote 'output.state :=
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {fin.entry}
|
||||||
|
{ output.state after.quoted.block =
|
||||||
|
'skip$
|
||||||
|
'add.period$
|
||||||
|
if$
|
||||||
|
write$
|
||||||
|
newline$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {new.block}
|
||||||
|
{ output.state before.all =
|
||||||
|
'skip$
|
||||||
|
{ output.state after.quote =
|
||||||
|
{ after.quoted.block 'output.state := }
|
||||||
|
{ after.block 'output.state := }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {new.sentence}
|
||||||
|
{ output.state after.block =
|
||||||
|
'skip$
|
||||||
|
{ output.state before.all =
|
||||||
|
'skip$
|
||||||
|
{ after.sentence 'output.state := }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {not}
|
||||||
|
{ { #0 }
|
||||||
|
{ #1 }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {and}
|
||||||
|
{ 'skip$
|
||||||
|
{ pop$ #0 }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {or}
|
||||||
|
{ { pop$ #1 }
|
||||||
|
'skip$
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {new.block.checka}
|
||||||
|
{ empty$
|
||||||
|
'skip$
|
||||||
|
'new.block
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {new.block.checkb}
|
||||||
|
{ empty$
|
||||||
|
swap$ empty$
|
||||||
|
and
|
||||||
|
'skip$
|
||||||
|
'new.block
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {new.sentence.checka}
|
||||||
|
{ empty$
|
||||||
|
'skip$
|
||||||
|
'new.sentence
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {field.or.null}
|
||||||
|
{ duplicate$ empty$
|
||||||
|
{ pop$ "" }
|
||||||
|
'skip$
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {emphasize}
|
||||||
|
{ duplicate$ empty$
|
||||||
|
{ pop$ "" }
|
||||||
|
{ "{\em " swap$ * "}" * }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
INTEGERS { nameptr namesleft numnames }
|
||||||
|
|
||||||
|
FUNCTION {format.names}
|
||||||
|
{ 's :=
|
||||||
|
#1 'nameptr :=
|
||||||
|
s num.names$ 'numnames :=
|
||||||
|
numnames 'namesleft :=
|
||||||
|
{ namesleft #0 > }
|
||||||
|
{ s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
|
||||||
|
nameptr #1 >
|
||||||
|
{ namesleft #1 >
|
||||||
|
{ ", " * t * }
|
||||||
|
{ numnames #2 >
|
||||||
|
{ "," * }
|
||||||
|
'skip$
|
||||||
|
if$
|
||||||
|
t "others" =
|
||||||
|
{ " {\em et~al.}" * }
|
||||||
|
{ " and " * t * }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
't
|
||||||
|
if$
|
||||||
|
nameptr #1 + 'nameptr :=
|
||||||
|
namesleft #1 - 'namesleft :=
|
||||||
|
}
|
||||||
|
while$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {format.authors}
|
||||||
|
{ author empty$
|
||||||
|
{ "" }
|
||||||
|
{ author format.names }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {format.editors}
|
||||||
|
{ editor empty$
|
||||||
|
{ "" }
|
||||||
|
{ editor format.names
|
||||||
|
editor num.names$ #1 >
|
||||||
|
{ ", eds." * }
|
||||||
|
{ ", ed." * }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {format.title}
|
||||||
|
{ title empty$
|
||||||
|
{ "" }
|
||||||
|
{ "``" title "t" change.case$ * ",''" * }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {format.title.p}
|
||||||
|
{ title empty$
|
||||||
|
{ "" }
|
||||||
|
{ "``" title "t" change.case$ * ".''" * }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {n.dashify}
|
||||||
|
{ 't :=
|
||||||
|
""
|
||||||
|
{ t empty$ not }
|
||||||
|
{ t #1 #1 substring$ "-" =
|
||||||
|
{ t #1 #2 substring$ "--" = not
|
||||||
|
{ "--" *
|
||||||
|
t #2 global.max$ substring$ 't :=
|
||||||
|
}
|
||||||
|
{ { t #1 #1 substring$ "-" = }
|
||||||
|
{ "-" *
|
||||||
|
t #2 global.max$ substring$ 't :=
|
||||||
|
}
|
||||||
|
while$
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
{ t #1 #1 substring$ *
|
||||||
|
t #2 global.max$ substring$ 't :=
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
while$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {format.date}
|
||||||
|
{ year empty$
|
||||||
|
{ month empty$
|
||||||
|
{ "" }
|
||||||
|
{ "there's a month but no year in " cite$ * warning$
|
||||||
|
month
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
{ month empty$
|
||||||
|
'year
|
||||||
|
{ month " " * year * }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {format.btitle}
|
||||||
|
{ title emphasize
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {tie.or.space.connect}
|
||||||
|
{ duplicate$ text.length$ #3 <
|
||||||
|
{ "~" }
|
||||||
|
{ " " }
|
||||||
|
if$
|
||||||
|
swap$ * *
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {either.or.check}
|
||||||
|
{ empty$
|
||||||
|
'pop$
|
||||||
|
{ "can't use both " swap$ * " fields in " * cite$ * warning$ }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {format.bvolume}
|
||||||
|
{ volume empty$
|
||||||
|
{ "" }
|
||||||
|
{ "vol.~" volume *
|
||||||
|
series empty$
|
||||||
|
'skip$
|
||||||
|
{ " of " * series emphasize * }
|
||||||
|
if$
|
||||||
|
"volume and number" number either.or.check
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {format.number.series}
|
||||||
|
{ volume empty$
|
||||||
|
{ number empty$
|
||||||
|
{ series field.or.null }
|
||||||
|
{ output.state mid.sentence =
|
||||||
|
{ "no.~" }
|
||||||
|
{ "No.~" }
|
||||||
|
if$
|
||||||
|
number *
|
||||||
|
series empty$
|
||||||
|
{ "there's a number but no series in " cite$ * warning$ }
|
||||||
|
{ " in " * series * }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
{ "" }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {format.edition}
|
||||||
|
{ edition empty$
|
||||||
|
{ "" }
|
||||||
|
{ edition "l" change.case$ "~ed." * }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
INTEGERS { multiresult }
|
||||||
|
|
||||||
|
FUNCTION {multi.page.check}
|
||||||
|
{ 't :=
|
||||||
|
#0 'multiresult :=
|
||||||
|
{ multiresult not
|
||||||
|
t empty$ not
|
||||||
|
and
|
||||||
|
}
|
||||||
|
{ t #1 #1 substring$
|
||||||
|
duplicate$ "-" =
|
||||||
|
swap$ duplicate$ "," =
|
||||||
|
swap$ "+" =
|
||||||
|
or or
|
||||||
|
{ #1 'multiresult := }
|
||||||
|
{ t #2 global.max$ substring$ 't := }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
while$
|
||||||
|
multiresult
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {format.pages}
|
||||||
|
{ pages empty$
|
||||||
|
{ "" }
|
||||||
|
{ pages multi.page.check
|
||||||
|
{ "pp.~" pages n.dashify * }
|
||||||
|
{ "p.~" pages * }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {format.volume}
|
||||||
|
{ volume empty$
|
||||||
|
{ "" }
|
||||||
|
{ "vol.~" volume * }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {format.number}
|
||||||
|
{ number empty$
|
||||||
|
{ "" }
|
||||||
|
{ "no.~" number * }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {format.chapter.pages}
|
||||||
|
{ chapter empty$
|
||||||
|
'format.pages
|
||||||
|
{ type empty$
|
||||||
|
{ "ch.~" chapter * }
|
||||||
|
{ type "l" change.case$ chapter tie.or.space.connect }
|
||||||
|
if$
|
||||||
|
pages empty$
|
||||||
|
'skip$
|
||||||
|
{ ", " * format.pages * }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {format.in.ed.booktitle}
|
||||||
|
{ booktitle empty$
|
||||||
|
{ "" }
|
||||||
|
{ "in " booktitle emphasize *
|
||||||
|
editor empty$
|
||||||
|
'skip$
|
||||||
|
{ " (" * format.editors * ")" * }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {format.thesis.type}
|
||||||
|
{ type empty$
|
||||||
|
'skip$
|
||||||
|
{ pop$
|
||||||
|
output.state after.block =
|
||||||
|
{ type "t" change.case$ }
|
||||||
|
{ type "l" change.case$ }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {empty.misc.check}
|
||||||
|
{ author empty$ title empty$ howpublished empty$
|
||||||
|
month empty$ year empty$ note empty$
|
||||||
|
and and and and and
|
||||||
|
{ "all relevant fields are empty in " cite$ * warning$ }
|
||||||
|
'skip$
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {format.tr.number}
|
||||||
|
{ type empty$
|
||||||
|
{ "Tech. Rep." }
|
||||||
|
'type
|
||||||
|
if$
|
||||||
|
number empty$
|
||||||
|
{ "l" change.case$ }
|
||||||
|
{ number tie.or.space.connect }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {format.addr.pub}
|
||||||
|
{ publisher empty$
|
||||||
|
{ "" }
|
||||||
|
{ address empty$
|
||||||
|
{ "" }
|
||||||
|
{ address ": " * }
|
||||||
|
if$
|
||||||
|
publisher *
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {format.paddress}
|
||||||
|
{ address empty$
|
||||||
|
{ "" }
|
||||||
|
{ "(" address * ")" * }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {format.article.crossref}
|
||||||
|
{ key empty$
|
||||||
|
{ journal empty$
|
||||||
|
{ "need key or journal for " cite$ * " to crossref " * crossref *
|
||||||
|
warning$
|
||||||
|
""
|
||||||
|
}
|
||||||
|
{ "in {\em " journal * "\/}" * }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
{ "in " key * }
|
||||||
|
if$
|
||||||
|
" \cite{" * crossref * "}" *
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {format.crossref.editor}
|
||||||
|
{ editor #1 "{vv~}{ll}" format.name$
|
||||||
|
editor num.names$ duplicate$
|
||||||
|
#2 >
|
||||||
|
{ pop$ " {\em et~al.}" * }
|
||||||
|
{ #2 <
|
||||||
|
'skip$
|
||||||
|
{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
|
||||||
|
{ " {\em et~al.}" * }
|
||||||
|
{ " and " * editor #2 "{vv~}{ll}" format.name$ * }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {format.book.crossref}
|
||||||
|
{ volume empty$
|
||||||
|
{ "empty volume in " cite$ * "'s crossref of " * crossref * warning$
|
||||||
|
"In "
|
||||||
|
}
|
||||||
|
{ "Vol.~" volume *
|
||||||
|
" of " *
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
editor empty$
|
||||||
|
editor field.or.null author field.or.null =
|
||||||
|
or
|
||||||
|
{ key empty$
|
||||||
|
{ series empty$
|
||||||
|
{ "need editor, key, or series for " cite$ * " to crossref " *
|
||||||
|
crossref * warning$
|
||||||
|
"" *
|
||||||
|
}
|
||||||
|
{ "{\em " * series * "\/}" * }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
{ key * }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
{ format.crossref.editor * }
|
||||||
|
if$
|
||||||
|
" \cite{" * crossref * "}" *
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {format.incoll.inproc.crossref}
|
||||||
|
{ editor empty$
|
||||||
|
editor field.or.null author field.or.null =
|
||||||
|
or
|
||||||
|
{ key empty$
|
||||||
|
{ booktitle empty$
|
||||||
|
{ "need editor, key, or booktitle for " cite$ * " to crossref " *
|
||||||
|
crossref * warning$
|
||||||
|
""
|
||||||
|
}
|
||||||
|
{ "in {\em " booktitle * "\/}" * }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
{ "in " key * }
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
{ "in " format.crossref.editor * }
|
||||||
|
if$
|
||||||
|
" \cite{" * crossref * "}" *
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {article}
|
||||||
|
{ output.bibitem
|
||||||
|
format.authors "author" output.check
|
||||||
|
format.title "title" output.check
|
||||||
|
blank.sep
|
||||||
|
crossref missing$
|
||||||
|
{ journal emphasize "journal" output.check
|
||||||
|
format.volume output
|
||||||
|
month empty$
|
||||||
|
{ format.number output }
|
||||||
|
'skip$
|
||||||
|
if$
|
||||||
|
format.pages output
|
||||||
|
format.date "year" output.check
|
||||||
|
}
|
||||||
|
{ format.article.crossref output.nonnull
|
||||||
|
format.pages output
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
new.block
|
||||||
|
note output
|
||||||
|
fin.entry
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {book}
|
||||||
|
{ output.bibitem
|
||||||
|
author empty$
|
||||||
|
{ format.editors "author and editor" output.check }
|
||||||
|
{ format.authors output.nonnull
|
||||||
|
crossref missing$
|
||||||
|
{ "author and editor" editor either.or.check }
|
||||||
|
'skip$
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
format.btitle "title" output.check
|
||||||
|
crossref missing$
|
||||||
|
{ format.bvolume output
|
||||||
|
new.block
|
||||||
|
format.number.series output
|
||||||
|
format.addr.pub "publisher" output.check
|
||||||
|
}
|
||||||
|
{ new.block
|
||||||
|
format.book.crossref output.nonnull
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
format.edition output
|
||||||
|
format.date "year" output.check
|
||||||
|
new.block
|
||||||
|
note output
|
||||||
|
fin.entry
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {booklet}
|
||||||
|
{ output.bibitem
|
||||||
|
format.authors output
|
||||||
|
title empty$
|
||||||
|
{ "empty title in " cite$ * warning$
|
||||||
|
howpublished new.sentence.checka
|
||||||
|
}
|
||||||
|
{ howpublished empty$ not
|
||||||
|
address empty$ month empty$ year empty$ and and
|
||||||
|
or
|
||||||
|
{ format.title.p output.nonnull }
|
||||||
|
{ format.title output.nonnull }
|
||||||
|
if$
|
||||||
|
blank.sep
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
howpublished output
|
||||||
|
address output
|
||||||
|
format.date output
|
||||||
|
new.block
|
||||||
|
note output
|
||||||
|
fin.entry
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {inbook}
|
||||||
|
{ output.bibitem
|
||||||
|
author empty$
|
||||||
|
{ format.editors "author and editor" output.check }
|
||||||
|
{ format.authors output.nonnull
|
||||||
|
crossref missing$
|
||||||
|
{ "author and editor" editor either.or.check }
|
||||||
|
'skip$
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
format.btitle "title" output.check
|
||||||
|
crossref missing$
|
||||||
|
{ format.bvolume output
|
||||||
|
format.chapter.pages "chapter and pages" output.check
|
||||||
|
new.block
|
||||||
|
format.number.series output
|
||||||
|
format.addr.pub "publisher" output.check
|
||||||
|
}
|
||||||
|
{ format.chapter.pages "chapter and pages" output.check
|
||||||
|
new.block
|
||||||
|
format.book.crossref output.nonnull
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
format.edition output
|
||||||
|
format.date "year" output.check
|
||||||
|
new.block
|
||||||
|
note output
|
||||||
|
fin.entry
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {incollection}
|
||||||
|
{ output.bibitem
|
||||||
|
format.authors "author" output.check
|
||||||
|
format.title "title" output.check
|
||||||
|
blank.sep
|
||||||
|
crossref missing$
|
||||||
|
{ format.in.ed.booktitle "booktitle" output.check
|
||||||
|
format.bvolume output
|
||||||
|
format.number.series output
|
||||||
|
format.chapter.pages output
|
||||||
|
format.addr.pub "publisher" output.check
|
||||||
|
format.edition output
|
||||||
|
format.date "year" output.check
|
||||||
|
}
|
||||||
|
{ format.incoll.inproc.crossref output.nonnull
|
||||||
|
format.chapter.pages output
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
new.block
|
||||||
|
note output
|
||||||
|
fin.entry
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {inproceedings}
|
||||||
|
{ output.bibitem
|
||||||
|
format.authors "author" output.check
|
||||||
|
format.title "title" output.check
|
||||||
|
blank.sep
|
||||||
|
crossref missing$
|
||||||
|
{ format.in.ed.booktitle "booktitle" output.check
|
||||||
|
format.bvolume output
|
||||||
|
format.number.series output
|
||||||
|
format.paddress output
|
||||||
|
format.pages output
|
||||||
|
organization output
|
||||||
|
publisher output
|
||||||
|
format.date "year" output.check
|
||||||
|
}
|
||||||
|
{ format.incoll.inproc.crossref output.nonnull
|
||||||
|
format.pages output
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
new.block
|
||||||
|
note output
|
||||||
|
fin.entry
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {conference} { inproceedings }
|
||||||
|
|
||||||
|
FUNCTION {manual}
|
||||||
|
{ output.bibitem
|
||||||
|
author empty$
|
||||||
|
{ organization empty$
|
||||||
|
'skip$
|
||||||
|
{ organization output.nonnull
|
||||||
|
address output
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
{ format.authors output.nonnull }
|
||||||
|
if$
|
||||||
|
format.btitle "title" output.check
|
||||||
|
author empty$
|
||||||
|
{ organization empty$
|
||||||
|
{ address new.block.checka
|
||||||
|
address output
|
||||||
|
}
|
||||||
|
'skip$
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
{ organization address new.block.checkb
|
||||||
|
organization output
|
||||||
|
address output
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
format.edition output
|
||||||
|
format.date output
|
||||||
|
new.block
|
||||||
|
note output
|
||||||
|
fin.entry
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {mastersthesis}
|
||||||
|
{ output.bibitem
|
||||||
|
format.authors "author" output.check
|
||||||
|
format.title "title" output.check
|
||||||
|
blank.sep
|
||||||
|
"Master's thesis" format.thesis.type output.nonnull
|
||||||
|
school "school" output.check
|
||||||
|
address output
|
||||||
|
format.date "year" output.check
|
||||||
|
new.block
|
||||||
|
note output
|
||||||
|
fin.entry
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {misc}
|
||||||
|
{ output.bibitem
|
||||||
|
format.authors output
|
||||||
|
title empty$
|
||||||
|
{ howpublished new.sentence.checka }
|
||||||
|
{ howpublished empty$ not
|
||||||
|
month empty$ year empty$ and
|
||||||
|
or
|
||||||
|
{ format.title.p output.nonnull }
|
||||||
|
{ format.title output.nonnull }
|
||||||
|
if$
|
||||||
|
blank.sep
|
||||||
|
}
|
||||||
|
if$
|
||||||
|
howpublished output
|
||||||
|
format.date output
|
||||||
|
new.block
|
||||||
|
note output
|
||||||
|
fin.entry
|
||||||
|
empty.misc.check
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {phdthesis}
|
||||||
|
{ output.bibitem
|
||||||
|
format.authors "author" output.check
|
||||||
|
format.btitle "title" output.check
|
||||||
|
new.block
|
||||||
|
"PhD thesis" format.thesis.type output.nonnull
|
||||||
|
school "school" output.check
|
||||||
|
address output
|
||||||
|
format.date "year" output.check
|
||||||
|
new.block
|
||||||
|
note output
|
||||||
|
fin.entry
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {proceedings}
|
||||||
|
{ output.bibitem
|
||||||
|
editor empty$
|
||||||
|
{ organization output }
|
||||||
|
{ format.editors output.nonnull }
|
||||||
|
if$
|
||||||
|
format.btitle "title" output.check
|
||||||
|
format.bvolume output
|
||||||
|
format.number.series output
|
||||||
|
format.paddress output
|
||||||
|
editor empty$
|
||||||
|
'skip$
|
||||||
|
{ organization output }
|
||||||
|
if$
|
||||||
|
publisher output
|
||||||
|
format.date "year" output.check
|
||||||
|
new.block
|
||||||
|
note output
|
||||||
|
fin.entry
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {techreport}
|
||||||
|
{ output.bibitem
|
||||||
|
format.authors "author" output.check
|
||||||
|
format.title "title" output.check
|
||||||
|
blank.sep
|
||||||
|
format.tr.number output.nonnull
|
||||||
|
institution "institution" output.check
|
||||||
|
address output
|
||||||
|
format.date "year" output.check
|
||||||
|
new.block
|
||||||
|
note output
|
||||||
|
fin.entry
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {unpublished}
|
||||||
|
{ output.bibitem
|
||||||
|
format.authors "author" output.check
|
||||||
|
format.title.p "title" output.check
|
||||||
|
blank.sep
|
||||||
|
note "note" output.check
|
||||||
|
format.date output
|
||||||
|
fin.entry
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {default.type} { misc }
|
||||||
|
|
||||||
|
MACRO {jan} {"Jan."}
|
||||||
|
|
||||||
|
MACRO {feb} {"Feb."}
|
||||||
|
|
||||||
|
MACRO {mar} {"Mar."}
|
||||||
|
|
||||||
|
MACRO {apr} {"Apr."}
|
||||||
|
|
||||||
|
MACRO {may} {"May"}
|
||||||
|
|
||||||
|
MACRO {jun} {"June"}
|
||||||
|
|
||||||
|
MACRO {jul} {"July"}
|
||||||
|
|
||||||
|
MACRO {aug} {"Aug."}
|
||||||
|
|
||||||
|
MACRO {sep} {"Sept."}
|
||||||
|
|
||||||
|
MACRO {oct} {"Oct."}
|
||||||
|
|
||||||
|
MACRO {nov} {"Nov."}
|
||||||
|
|
||||||
|
MACRO {dec} {"Dec."}
|
||||||
|
|
||||||
|
MACRO {acmcs} {"ACM Computing Surveys"}
|
||||||
|
|
||||||
|
MACRO {acta} {"Acta Informatica"}
|
||||||
|
|
||||||
|
MACRO {cacm} {"Communications ACM"}
|
||||||
|
|
||||||
|
MACRO {ibmjrd} {"IBM J. Research and Development"}
|
||||||
|
|
||||||
|
MACRO {ibmsj} {"IBM Systems~J."}
|
||||||
|
|
||||||
|
MACRO {ieeese} {"IEEE Trans. Software Engineering"}
|
||||||
|
|
||||||
|
MACRO {ieeetc} {"IEEE Trans. Computers"}
|
||||||
|
|
||||||
|
MACRO {ieeetcad}
|
||||||
|
{"IEEE Trans. Computer-Aided Design"}
|
||||||
|
|
||||||
|
MACRO {ipl} {"Information Processing Letters"}
|
||||||
|
|
||||||
|
MACRO {jacm} {"J.~ACM"}
|
||||||
|
|
||||||
|
MACRO {jcss} {"J.~Computer and System Sciences"}
|
||||||
|
|
||||||
|
MACRO {scp} {"Science of Computer Programming"}
|
||||||
|
|
||||||
|
MACRO {sicomp} {"SIAM J. Computing"}
|
||||||
|
|
||||||
|
MACRO {tocs} {"ACM Trans. Computer Systems"}
|
||||||
|
|
||||||
|
MACRO {tods} {"ACM Trans. Database Systems"}
|
||||||
|
|
||||||
|
MACRO {tog} {"ACM Trans. Graphics"}
|
||||||
|
|
||||||
|
MACRO {toms} {"ACM Trans. Mathematical Software"}
|
||||||
|
|
||||||
|
MACRO {toois} {"ACM Trans. Office Information Systems"}
|
||||||
|
|
||||||
|
MACRO {toplas} {"ACM Trans. Programming Languages and Systems"}
|
||||||
|
|
||||||
|
MACRO {tcs} {"Theoretical Computer Science"}
|
||||||
|
|
||||||
|
READ
|
||||||
|
|
||||||
|
STRINGS { longest.label }
|
||||||
|
|
||||||
|
INTEGERS { number.label longest.label.width }
|
||||||
|
|
||||||
|
FUNCTION {initialize.longest.label}
|
||||||
|
{ "" 'longest.label :=
|
||||||
|
#1 'number.label :=
|
||||||
|
#0 'longest.label.width :=
|
||||||
|
}
|
||||||
|
|
||||||
|
FUNCTION {longest.label.pass}
|
||||||
|
{ number.label int.to.str$ 'label :=
|
||||||
|
number.label #1 + 'number.label :=
|
||||||
|
label width$ longest.label.width >
|
||||||
|
{ label 'longest.label :=
|
||||||
|
label width$ 'longest.label.width :=
|
||||||
|
}
|
||||||
|
'skip$
|
||||||
|
if$
|
||||||
|
}
|
||||||
|
|
||||||
|
EXECUTE {initialize.longest.label}
|
||||||
|
|
||||||
|
ITERATE {longest.label.pass}
|
||||||
|
|
||||||
|
FUNCTION {begin.bib}
|
||||||
|
{ preamble$ empty$
|
||||||
|
'skip$
|
||||||
|
{ preamble$ write$ newline$ }
|
||||||
|
if$
|
||||||
|
"\begin{thebibliography}{" longest.label * "}" * write$ newline$
|
||||||
|
}
|
||||||
|
|
||||||
|
EXECUTE {begin.bib}
|
||||||
|
|
||||||
|
EXECUTE {init.state.consts}
|
||||||
|
|
||||||
|
ITERATE {call.type$}
|
||||||
|
|
||||||
|
FUNCTION {end.bib}
|
||||||
|
{ newline$
|
||||||
|
"\end{thebibliography}" write$ newline$
|
||||||
|
}
|
||||||
|
|
||||||
|
EXECUTE {end.bib}
|
1439
index.html
1439
index.html
File diff suppressed because it is too large
Load Diff
159
index.org
159
index.org
@ -30,7 +30,9 @@
|
|||||||
#+LATEX_HEADER_EXTRA: \DeclareGraphicsRule{.png}{pdf}{.pdf}{\noexpand\Gin@base.pdf}
|
#+LATEX_HEADER_EXTRA: \DeclareGraphicsRule{.png}{pdf}{.pdf}{\noexpand\Gin@base.pdf}
|
||||||
#+LATEX_HEADER_EXTRA: \makeatother
|
#+LATEX_HEADER_EXTRA: \makeatother
|
||||||
|
|
||||||
#+LATEX_HEADER: \addbibresource{ref.bib}
|
#+LATEX_HEADER_EXTRA: \bibliographystyle{ieeetr}
|
||||||
|
|
||||||
|
#+LATEX_HEADER_EXTRA: \addbibresource{ref.bib}
|
||||||
|
|
||||||
#+PROPERTY: header-args:latex :headers '("\\usepackage{tikz}" "\\usepackage{import}" "\\import{$HOME/Cloud/tikz/org/}{config.tex}")
|
#+PROPERTY: header-args:latex :headers '("\\usepackage{tikz}" "\\usepackage{import}" "\\import{$HOME/Cloud/tikz/org/}{config.tex}")
|
||||||
#+PROPERTY: header-args:latex+ :imagemagick t :fit yes
|
#+PROPERTY: header-args:latex+ :imagemagick t :fit yes
|
||||||
@ -90,6 +92,7 @@ This should highlight the challenges of the required combined performance and ro
|
|||||||
|
|
||||||
In Section [[sec:noise_budget]] is introduced the *dynamic error budgeting* which is a powerful tool that allows to derive the total error in a dynamic system from multiple disturbance sources.
|
In Section [[sec:noise_budget]] is introduced the *dynamic error budgeting* which is a powerful tool that allows to derive the total error in a dynamic system from multiple disturbance sources.
|
||||||
This tool will be widely used throughout this study to both predict the performances and identify the effects that do limit the performances.
|
This tool will be widely used throughout this study to both predict the performances and identify the effects that do limit the performances.
|
||||||
|
It is very well described in cite:monkhorst04_dynam_error_budget.
|
||||||
|
|
||||||
** Feedback System
|
** Feedback System
|
||||||
<<sec:feedback>>
|
<<sec:feedback>>
|
||||||
@ -115,6 +118,8 @@ The use of feedback control as several advantages and pitfalls that are listed b
|
|||||||
Feedback control can destabilize a stable plant.
|
Feedback control can destabilize a stable plant.
|
||||||
Thus the /robustness/ properties of the feedback system must be carefully guaranteed
|
Thus the /robustness/ properties of the feedback system must be carefully guaranteed
|
||||||
|
|
||||||
|
Very good introduction to feedback control are given in cite:lurie12_class and cite:skogestad07_multiv_feedb_contr.
|
||||||
|
|
||||||
*** Simplified Feedback Control Diagram for the NASS
|
*** Simplified Feedback Control Diagram for the NASS
|
||||||
Let's consider the block diagram shown in Figure [[fig:classical_feedback_small]] where the signals are:
|
Let's consider the block diagram shown in Figure [[fig:classical_feedback_small]] where the signals are:
|
||||||
- $y$: the relative position of the sample with respect to the granite (the quantity to be controlled)
|
- $y$: the relative position of the sample with respect to the granite (the quantity to be controlled)
|
||||||
@ -173,7 +178,7 @@ It is common to define the following two transfer functions:
|
|||||||
S &= \frac{1}{1 + GK} \\
|
S &= \frac{1}{1 + GK} \\
|
||||||
T &= \frac{GK}{1 + GK}
|
T &= \frac{GK}{1 + GK}
|
||||||
\end{align}
|
\end{align}
|
||||||
where $S$ is called the sensibility transfer function and $T$ the transmissibility transfer function.
|
where $S$ is called the sensitivity transfer function and $T$ the transmissibility (or complementary sensitivity) transfer function.
|
||||||
|
|
||||||
And the position error can be rewritten as:
|
And the position error can be rewritten as:
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
@ -248,7 +253,7 @@ It is shown that $|S|$ and $|T|$ exhibit different behaviors depending on the fr
|
|||||||
|
|
||||||
#+name: fig:h-infinity-2-blocs-constrains
|
#+name: fig:h-infinity-2-blocs-constrains
|
||||||
#+attr_latex: :width 0.8\linewidth
|
#+attr_latex: :width 0.8\linewidth
|
||||||
#+caption: Typical shapes and constrain of the Sensibility and Transmibility closed-loop transfer functions
|
#+caption: Typical shapes and constrain of the Sensitivity and Transmibility closed-loop transfer functions
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:figs/h-infinity-2-blocs-constrains.png]]
|
[[file:figs/h-infinity-2-blocs-constrains.png]]
|
||||||
|
|
||||||
@ -318,16 +323,16 @@ One can also integrate the infinitesimal power $S_{xx}(\omega)d\omega$ over a fi
|
|||||||
|
|
||||||
The *Cumulative Power Spectrum* is the cumulative integral of the Power Spectral Density starting from $0\ \text{Hz}$ with increasing frequency:
|
The *Cumulative Power Spectrum* is the cumulative integral of the Power Spectral Density starting from $0\ \text{Hz}$ with increasing frequency:
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
CPS_x(f) = \int_0^f S_{xx}(\nu) d\nu \quad [\text{unit of } x]^2
|
CPS_{+_x}(f) = \int_0^f S_{xx}(\nu) d\nu \quad [\text{unit of } x]^2
|
||||||
\end{equation}
|
\end{equation}
|
||||||
The Cumulative Power Spectrum taken at frequency $f$ thus represent the power in the signal in the frequency band $0$ to $f$.
|
The Cumulative Power Spectrum $CPS_{+}$ taken at frequency $f$ thus represent the power in the signal in the frequency band $0$ to $f$.
|
||||||
|
|
||||||
|
|
||||||
An alternative definition of the Cumulative Power Spectrum can be used where the PSD is integrated from $f$ to $\infty$:
|
An alternative definition of the Cumulative Power Spectrum can be used where the PSD is integrated from $f$ to $\infty$:
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
CPS_x(f) = \int_f^\infty S_{xx}(\nu) d\nu \quad [\text{unit of } x]^2
|
CPS_{-_x}(f) = \int_f^\infty S_{xx}(\nu) d\nu \quad [\text{unit of } x]^2
|
||||||
\end{equation}
|
\end{equation}
|
||||||
And thus $CPS_x(f)$ represents the power in the signal $x$ for frequencies above $f$.
|
And thus $CPS_{-_x}(f)$ represents the power in the signal $x$ for frequencies above $f$.
|
||||||
|
|
||||||
The Cumulative Power Spectrum is generally shown as a function of frequency, and is used to identify the critical modes in a design, at which the effort should be targeted.
|
The Cumulative Power Spectrum is generally shown as a function of frequency, and is used to identify the critical modes in a design, at which the effort should be targeted.
|
||||||
It can also helps to determine at which frequencies the effect of disturbances must be reduced, and thus the approximate required control bandwidth.
|
It can also helps to determine at which frequencies the effect of disturbances must be reduced, and thus the approximate required control bandwidth.
|
||||||
@ -336,7 +341,7 @@ A typical Cumulative Power Spectrum is shown in figure [[fig:preumont18_cas_plot
|
|||||||
|
|
||||||
#+name: fig:preumont18_cas_plot
|
#+name: fig:preumont18_cas_plot
|
||||||
#+attr_latex: :width 0.6\linewidth
|
#+attr_latex: :width 0.6\linewidth
|
||||||
#+caption: Cumulative Power Spectrum in open-loop and closed-loop for increasing gains (taken from cite:preumont18_vibrat_contr_activ_struc_fourt_edition)
|
#+caption: Cumulative Power Spectrum $CPS_{-}$ in open-loop and closed-loop for increasing gains (taken from cite:preumont18_vibrat_contr_activ_struc_fourt_edition)
|
||||||
[[file:figs/preumont18_cas_plot.jpg]]
|
[[file:figs/preumont18_cas_plot.jpg]]
|
||||||
|
|
||||||
*** Modification of a signal's PSD when going through a dynamical system
|
*** Modification of a signal's PSD when going through a dynamical system
|
||||||
@ -548,7 +553,7 @@ The measurements are presented in more detail in [[https://tdehaeze.github.io/me
|
|||||||
** Ground Motion
|
** Ground Motion
|
||||||
<<sec:ground_motion>>
|
<<sec:ground_motion>>
|
||||||
|
|
||||||
Ground motion can easily be estimated using an inertial sensor with sufficient sensitivity.
|
Ground motion can easily be estimated using an inertial sensor with sufficient resolution.
|
||||||
|
|
||||||
To verify that the inertial sensors are sensitive enough, a Huddle test has been performed (Figure [[fig:geophones]]).
|
To verify that the inertial sensors are sensitive enough, a Huddle test has been performed (Figure [[fig:geophones]]).
|
||||||
The details of the Huddle Test can be found [[https://tdehaeze.github.io/meas-analysis/huddle-test-geophones/index.html][here]].
|
The details of the Huddle Test can be found [[https://tdehaeze.github.io/meas-analysis/huddle-test-geophones/index.html][here]].
|
||||||
@ -559,7 +564,7 @@ The details of the Huddle Test can be found [[https://tdehaeze.github.io/meas-an
|
|||||||
[[file:figs/geophones.jpg]]
|
[[file:figs/geophones.jpg]]
|
||||||
|
|
||||||
The measured Power Spectral Density of the ground motion at the ID31 floor is compared with other measurements performed at ID09 and at CERN.
|
The measured Power Spectral Density of the ground motion at the ID31 floor is compared with other measurements performed at ID09 and at CERN.
|
||||||
The low frequency differences between the ground motion at ID31 and ID09 is just due to the fact that for the later measurement, the low frequency sensitivity of the inertial sensor was not taken into account.
|
The low frequency differences between the ground motion at ID31 and ID09 is just due to the fact that for the later measurement, the low frequency dynamics of the inertial sensor was not taken into account.
|
||||||
|
|
||||||
#+name: fig:ground_motion_compare
|
#+name: fig:ground_motion_compare
|
||||||
#+attr_latex: :width 0.7\linewidth
|
#+attr_latex: :width 0.7\linewidth
|
||||||
@ -681,7 +686,7 @@ It is shown that the motion induced by translation stage scans and spindle rotat
|
|||||||
|
|
||||||
#+name: fig:dist_effect_relative_motion_cas
|
#+name: fig:dist_effect_relative_motion_cas
|
||||||
#+attr_latex: :width 0.7\linewidth
|
#+attr_latex: :width 0.7\linewidth
|
||||||
#+caption: Cumulative Amplitude Spectrum of the motion error due to disturbances
|
#+caption: Cumulative Amplitude Spectrum $CAS_{-}$ of the motion error due to disturbances
|
||||||
[[file:figs/dist_effect_relative_motion_cas.png]]
|
[[file:figs/dist_effect_relative_motion_cas.png]]
|
||||||
|
|
||||||
From Figure [[fig:dist_effect_relative_motion_cas]], required bandwidth can be estimated by seeing that $10\ nm [rms]$ motion is induced by the perturbations above 100Hz.
|
From Figure [[fig:dist_effect_relative_motion_cas]], required bandwidth can be estimated by seeing that $10\ nm [rms]$ motion is induced by the perturbations above 100Hz.
|
||||||
@ -765,7 +770,7 @@ We believe that the model is representing the micro-station dynamics sufficient
|
|||||||
More detailed comparison between the model and the measured dynamics is performed [[https://tdehaeze.github.io/nass-simscape/identification.html][here]].
|
More detailed comparison between the model and the measured dynamics is performed [[https://tdehaeze.github.io/nass-simscape/identification.html][here]].
|
||||||
|
|
||||||
|
|
||||||
Now that the multi-body model dynamics as been tuned, the following elements are included:
|
Now that the multi-body model dynamics has been tuned, the following elements are included:
|
||||||
- Actuators to perform the motion of each stage (translation, tilt, spindle, hexapod)
|
- Actuators to perform the motion of each stage (translation, tilt, spindle, hexapod)
|
||||||
- Sensors to measure the motion of each stage and the relative motion of the sample with respect to the granite (metrology system)
|
- Sensors to measure the motion of each stage and the relative motion of the sample with respect to the granite (metrology system)
|
||||||
- Disturbances such as ground motion and stage's vibrations
|
- Disturbances such as ground motion and stage's vibrations
|
||||||
@ -912,6 +917,8 @@ The main disadvantage of Stewart platforms is the small workspace when compare t
|
|||||||
A Matlab toolbox to study and design Stewart Platforms has been developed and used for the design of the nano-hexapod.
|
A Matlab toolbox to study and design Stewart Platforms has been developed and used for the design of the nano-hexapod.
|
||||||
The source code is accessible [[https://github.com/tdehaeze/stewart-simscape][here]] and the documentation [[https://tdehaeze.github.io/stewart-simscape/][here]].
|
The source code is accessible [[https://github.com/tdehaeze/stewart-simscape][here]] and the documentation [[https://tdehaeze.github.io/stewart-simscape/][here]].
|
||||||
|
|
||||||
|
Extensive analysis of parallel manipulator, and in particular the Stewart platform is given in cite:skogestad07_multiv_feedb_contr.
|
||||||
|
|
||||||
** Optimal Stiffness to reduce the effect of disturbances
|
** Optimal Stiffness to reduce the effect of disturbances
|
||||||
<<sec:optimal_stiff_dist>>
|
<<sec:optimal_stiff_dist>>
|
||||||
|
|
||||||
@ -934,7 +941,7 @@ The same conclusion is made for vibrations of the translation stage.
|
|||||||
|
|
||||||
#+name: fig:opt_stiff_sensitivity_Frz
|
#+name: fig:opt_stiff_sensitivity_Frz
|
||||||
#+attr_latex: :width 0.8\linewidth
|
#+attr_latex: :width 0.8\linewidth
|
||||||
#+caption: Sensitivity to Spindle vertical motion error to the vertical error position of the sample
|
#+caption: Sensibility to Spindle vertical motion error to the vertical error position of the sample
|
||||||
[[file:figs/opt_stiff_sensitivity_Frz.png]]
|
[[file:figs/opt_stiff_sensitivity_Frz.png]]
|
||||||
|
|
||||||
*** Sensibility to ground motion
|
*** Sensibility to ground motion
|
||||||
@ -950,7 +957,7 @@ It will be suggested in Section [[sec:soft_granite]] that using soft mounts for
|
|||||||
|
|
||||||
#+name: fig:opt_stiff_sensitivity_Dw
|
#+name: fig:opt_stiff_sensitivity_Dw
|
||||||
#+attr_latex: :width 0.8\linewidth
|
#+attr_latex: :width 0.8\linewidth
|
||||||
#+caption: Sensitivity to Ground motion to the position error of the sample
|
#+caption: Sensibility to Ground motion to the position error of the sample
|
||||||
[[file:figs/opt_stiff_sensitivity_Dw.png]]
|
[[file:figs/opt_stiff_sensitivity_Dw.png]]
|
||||||
|
|
||||||
*** Dynamic Noise Budgeting considering all the disturbances
|
*** Dynamic Noise Budgeting considering all the disturbances
|
||||||
@ -987,7 +994,7 @@ It can be observe on the Cumulative amplitude spectrum of the vertical error mot
|
|||||||
|
|
||||||
#+name: fig:opt_stiff_cas_dz_tot
|
#+name: fig:opt_stiff_cas_dz_tot
|
||||||
#+attr_latex: :width 0.8\linewidth
|
#+attr_latex: :width 0.8\linewidth
|
||||||
#+caption: Cumulative Amplitude Spectrum of the Sample vertical position error due to all considered perturbations for multiple nano-hexapod stiffnesses
|
#+caption: Cumulative Amplitude Spectrum $CAS_{-}$ of the Sample vertical position error due to all considered perturbations for multiple nano-hexapod stiffnesses. The dashed back line corresponds to the wanted $10nm\,rms$ of residual motion.
|
||||||
[[file:figs/opt_stiff_cas_dz_tot.png]]
|
[[file:figs/opt_stiff_cas_dz_tot.png]]
|
||||||
|
|
||||||
** Optimal Stiffness to reduce the plant uncertainty
|
** Optimal Stiffness to reduce the plant uncertainty
|
||||||
@ -1342,10 +1349,8 @@ Stiffness properties of the Stewart platform can then be estimated from the arch
|
|||||||
|
|
||||||
Equations eqref:eq:jacobian_L, eqref:eq:jacobian_F and eqref:eq:jacobian_K can be used to see how the maneuverability, the force authority and the stiffness of the Stewart platform are changing with a the geometry (position of the joints and orientation of the legs).
|
Equations eqref:eq:jacobian_L, eqref:eq:jacobian_F and eqref:eq:jacobian_K can be used to see how the maneuverability, the force authority and the stiffness of the Stewart platform are changing with a the geometry (position of the joints and orientation of the legs).
|
||||||
|
|
||||||
The effects of two changes in the manipulator's geometry are summarized in Table [[tab:effect_legs_jacobian]].
|
The effects of two changes in the manipulator's geometry, namely the position and orientation of the legs, are summarized in Table [[tab:effect_legs_jacobian]].
|
||||||
These results could have been easily deduced with some basics of mechanics, but they can be easily quantified thanks to the Kinematic and Jacobian analysis.
|
These results could have been easily deduced based on some mechanical principles, but thanks to the kinematic analysis, they can be quantified.
|
||||||
|
|
||||||
The nano-hexapod geometry and further be optimized in terms of stiffness and stroke using the presented tools.
|
|
||||||
|
|
||||||
#+name: tab:effect_legs_jacobian
|
#+name: tab:effect_legs_jacobian
|
||||||
#+attr_latex: :environment tabularx :width \linewidth :align lXX
|
#+attr_latex: :environment tabularx :width \linewidth :align lXX
|
||||||
@ -1368,12 +1373,14 @@ The nano-hexapod geometry and further be optimized in terms of stiffness and str
|
|||||||
| Vertical rotation stroke | $\nearrow$ | $\searrow$ |
|
| Vertical rotation stroke | $\nearrow$ | $\searrow$ |
|
||||||
| Horizontal rotation stroke | $\searrow$ | $\searrow$ |
|
| Horizontal rotation stroke | $\searrow$ | $\searrow$ |
|
||||||
|
|
||||||
|
Even tough Table [[tab:effect_legs_jacobian]] can be used to optimize the nano-hexapod's geometry, the available space for the nano-hexapod is too small to obtain a significant impact on the manipulator's stiffness and stroke.
|
||||||
|
|
||||||
*** Cubic Architecture
|
*** Cubic Architecture
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:UNNUMBERED: t
|
:UNNUMBERED: t
|
||||||
:END:
|
:END:
|
||||||
|
|
||||||
A very popular choice of Stewart platform architecture, especially for vibration isolation, is the *Cubic architecture*.
|
A very popular choice of Stewart platform architecture in the scientific literature, especially for vibration isolation, is the *Cubic architecture*.
|
||||||
|
|
||||||
The cubic architecture is quite specific in the sense that the active struts are arranged in a mutually orthogonal configuration connecting the corners of a cube (Figure [[fig:3d-cubic-stewart-aligned]]).
|
The cubic architecture is quite specific in the sense that the active struts are arranged in a mutually orthogonal configuration connecting the corners of a cube (Figure [[fig:3d-cubic-stewart-aligned]]).
|
||||||
|
|
||||||
@ -1392,6 +1399,7 @@ The cubic configuration also puts much restriction on the position and orientati
|
|||||||
For these reasons, the cubic configuration is not recommended for the nano-hexapod.
|
For these reasons, the cubic configuration is not recommended for the nano-hexapod.
|
||||||
#+end_important
|
#+end_important
|
||||||
|
|
||||||
|
cite:preumont07_six_axis_singl_stage_activ and cite:li01_simul_fault_vibrat_isolat_point are good resources about the Cubic architecture for vibration isolation.
|
||||||
Separate study of the cubic architecture is performed [[https://tdehaeze.github.io/stewart-simscape/cubic-configuration.html][here]].
|
Separate study of the cubic architecture is performed [[https://tdehaeze.github.io/stewart-simscape/cubic-configuration.html][here]].
|
||||||
|
|
||||||
*** Effect of Flexible Joints
|
*** Effect of Flexible Joints
|
||||||
@ -1461,6 +1469,65 @@ For instance, the flexible joint used for the ID16 nano-hexapod have the followi
|
|||||||
The effects of flexible joints stiffness on the dynamics have been studied and requirements on the flexible joints have been derived.
|
The effects of flexible joints stiffness on the dynamics have been studied and requirements on the flexible joints have been derived.
|
||||||
#+end_important
|
#+end_important
|
||||||
|
|
||||||
|
** Flexible Elements
|
||||||
|
<<sec:flexible_elements>>
|
||||||
|
|
||||||
|
*** Introduction :ignore:
|
||||||
|
The multi-body model of the micro-station as well as of the nano-hexapod are composed of solid bodies connected with springs and dampers.
|
||||||
|
|
||||||
|
This is valid for the micro-station are shown by the measurements in Section [[sec:micro_station_dynamics]] but this may not be the case for the nano-hexapod.
|
||||||
|
|
||||||
|
In order to take into account the flexibility of some of the nano-hexapod mechanical parts, some tools have been developed to integrate flexible elements into a Simscape model.
|
||||||
|
|
||||||
|
The procedure is as follow:
|
||||||
|
- import the geometry into Ansys
|
||||||
|
- mesh the element and select the nodes of interest (interface with other elements, points where forces should be applied or displacement measure)
|
||||||
|
- select the number of modes to take into account
|
||||||
|
- apply a Guyan Reduction that computes the reduced mass and stiffness matrices
|
||||||
|
- import into Matlab the mass matrix, stiffness matrix as well as the coordinates of the interface nodes
|
||||||
|
- import the matrices into Simscape. The flexible element can then be interfaced with other simscape elements
|
||||||
|
|
||||||
|
Mainly two elements will be modeled using this technique: the flexible joints and the amplified piezoelectric actuators.
|
||||||
|
|
||||||
|
*** Flexible Piezoelectric actuators
|
||||||
|
In order to test this modeling technique, some tests have been performed on a flexible piezoelectric stack actuator.
|
||||||
|
|
||||||
|
The APA95ML from Cedrat has been sketched into Ansys and the interface nodes chosen as shown in Figure [[fig:amplified_piezo_interface_nodes]].
|
||||||
|
The top and bottom nodes are used as interface nodes to connect to other mechanical parts of the nano-hexapod.
|
||||||
|
The ten interface nodes along the piezo stack are used to apply forces into the stack.
|
||||||
|
|
||||||
|
#+name: fig:amplified_piezo_interface_nodes
|
||||||
|
#+attr_latex: :width 0.6\linewidth
|
||||||
|
#+caption: Geometry of the amplified piezoelectric actuator (APA95ML) as well as the chosen interface nodes
|
||||||
|
[[file:figs/amplified_piezo_interface_nodes.png]]
|
||||||
|
|
||||||
|
The reduced mass and stiffness matrices are exported using Ansys and imported into Matlab.
|
||||||
|
The actuator is included in a Simscape model, and the dynamics from forces applied by the piezo stack to the vertical displacement of the amplified structure is identified using Simscape and compare with an harmonic response using Ansys (Figure [[fig:dynamics_force_disp_comp_anasys]]).
|
||||||
|
|
||||||
|
#+name: fig:dynamics_force_disp_comp_anasys
|
||||||
|
#+attr_latex: :width 0.9\linewidth
|
||||||
|
#+caption: Comparison of the obtained dynamics using Simscape with the harmonic response analysis using Ansys
|
||||||
|
[[file:figs/dynamics_force_disp_comp_anasys.png]]
|
||||||
|
|
||||||
|
A payload with a mass of 10kg is then added both in the Simscape model and in Ansys and the dynamic is identified again and compared (Figure [[fig:dynamics_force_disp_comp_anasys]]).
|
||||||
|
The dynamics obtained with Simscape and Ansys are very close to each other which validate the fact that we can interface the flexible element with other Simscape parts.
|
||||||
|
|
||||||
|
*** Test Bench
|
||||||
|
A test bench is planned to validate the presented modelling technique.
|
||||||
|
|
||||||
|
The DCM's fast jack test bench will be slightly modified to integrate the APA95ML actuator (already available).
|
||||||
|
|
||||||
|
The idea is to identify the transfer functions from forces applied by the stack actuator to the vertical displacement as what done both using Simscape and Ansys.
|
||||||
|
|
||||||
|
This test bench requires very little work and will permit to gain much confident on the modelling technique used as well as on the dynamics of amplified piezoelectric actuators.
|
||||||
|
|
||||||
|
*** Design Methodology
|
||||||
|
During all the mechanical design of the nano-hexapod, it is planned to use the presented modelling technique to ensure that no parasitic modes will be problematic for the control part.
|
||||||
|
|
||||||
|
More specifically, it is wanted that both the flexible joints and the amplified piezoelectric actuators do not introduce parasitic modes in the dynamics to be controlled up to 200Hz.
|
||||||
|
|
||||||
|
This flexible modeling technique is thus a very important element during the mechanical design of the nano-hexapod.
|
||||||
|
|
||||||
** Conclusion
|
** Conclusion
|
||||||
#+begin_important
|
#+begin_important
|
||||||
In Section [[sec:optimal_stiff_dist]], it has been concluded that a nano-hexapod stiffness below $10^5-10^6\,[N/m]$ helps reducing the high frequency vibrations induced by all sources of disturbances considered.
|
In Section [[sec:optimal_stiff_dist]], it has been concluded that a nano-hexapod stiffness below $10^5-10^6\,[N/m]$ helps reducing the high frequency vibrations induced by all sources of disturbances considered.
|
||||||
@ -1582,7 +1649,7 @@ To see why Integral Force Feedback should not be applied to damp the nano-hexapo
|
|||||||
|
|
||||||
The platform main resonance frequency is $\omega_0$ and the rotation speed is $\omega$.
|
The platform main resonance frequency is $\omega_0$ and the rotation speed is $\omega$.
|
||||||
|
|
||||||
Root Locus plots for Integral Force Feedback and Direct Velocity Feedback are shown in Table [[fig:root_locus_rotation_active_damping]].
|
Root Locus plots for Integral Force Feedback and Direct Velocity Feedback are shown in Figure [[fig:root_locus_rotation_active_damping]].
|
||||||
These plots show the evolution of the system's poles in the complex plane as a function of the control gain.
|
These plots show the evolution of the system's poles in the complex plane as a function of the control gain.
|
||||||
|
|
||||||
#+name: fig:root_locus_rotation_active_damping
|
#+name: fig:root_locus_rotation_active_damping
|
||||||
@ -1609,12 +1676,12 @@ A pole with a positive real part corresponds to an unstable system, and thus the
|
|||||||
[[file:figs/preumont18_effect_damping.jpg]]
|
[[file:figs/preumont18_effect_damping.jpg]]
|
||||||
|
|
||||||
|
|
||||||
Coming back to the Root Locus in Table [[fig:root_locus_rotation_active_damping]], it can be seen that:
|
Coming back to the Root Locus in Figure [[fig:root_locus_rotation_active_damping]], it can be seen that:
|
||||||
- For Direct Velocity Feedback:
|
- For Direct Velocity Feedback:
|
||||||
- The system's poles are staying in the left half plane which means guaranteed stability
|
- The system's poles are staying in the left half plane which means guaranteed stability
|
||||||
- Arbitrary damping can be added to the system's resonances
|
- Arbitrary damping can be added to the system's resonances
|
||||||
- For Integral Force Feedback:
|
- For Integral Force Feedback:
|
||||||
- For non null rotation speed, and whatever the control gain is, a pole is located in the right part of the complex plane, showing that the closed-loop system is unstable
|
- For non-null rotation speed, and whatever the control gain is, a pole is located in the right part of the complex plane, showing that the closed-loop system is unstable
|
||||||
- Limited damping can be added to the system
|
- Limited damping can be added to the system
|
||||||
|
|
||||||
Similar observations are made using the Simscape model of the NASS, and this shows why Direct Velocity Feedback is the most suitable active damping technique for the NASS.
|
Similar observations are made using the Simscape model of the NASS, and this shows why Direct Velocity Feedback is the most suitable active damping technique for the NASS.
|
||||||
@ -1871,12 +1938,13 @@ The differences of a control in the leg space and in the task space are summariz
|
|||||||
#+attr_latex: :center t :booktabs t :float t
|
#+attr_latex: :center t :booktabs t :float t
|
||||||
#+caption: Comparison of a control in the leg space and in the task space
|
#+caption: Comparison of a control in the leg space and in the task space
|
||||||
| | Control in the *leg space* | Control in the *task space* |
|
| | Control in the *leg space* | Control in the *task space* |
|
||||||
|---------------------------+-----------------------------------+------------------------------------------------------------------------------------|
|
|---------------------------+-----------------------------------+-------------------------------------------------|
|
||||||
| *Plant Meaning* | $\delta\mathcal{L}_i/\tau_i$ | $\delta\mathcal{X}_i/\mathcal{F}_i$ |
|
| *Plant Meaning* | $\delta\mathcal{L}_i/\tau_i$ | $\delta\mathcal{X}_i/\mathcal{F}_i$ |
|
||||||
| *Obtained Decoupling* | Decoupled at DC | Dynamical decoupling except few terms |
|
| *Obtained Decoupling* | Decoupled at DC | Dynamical decoupling except few terms |
|
||||||
| *Diagonal Elements* | Identical with all the Resonances | Different, resonances are cancel out |
|
| *Diagonal Elements* | Identical with all the Resonances | Different, resonances are cancel out |
|
||||||
| *Mechanical Architecture* | Architecture Independent | Better with Cubic Architecture |
|
| *Mechanical Architecture* | Architecture Independent | Better with Cubic Architecture |
|
||||||
| *Advantages* | One controller to be designed | Possible to have different controllers in different directions as some may be more |
|
| *Advantages* | One controller to be designed | Possible to have different controllers for each |
|
||||||
|
| | | direction as the requirements are not the same |
|
||||||
|
|
||||||
Both control architecture have been applied and the control in the *leg space* appears to be simpler to apply and have good robustness properties.
|
Both control architecture have been applied and the control in the *leg space* appears to be simpler to apply and have good robustness properties.
|
||||||
|
|
||||||
@ -1967,7 +2035,7 @@ Several observations can be made:
|
|||||||
|
|
||||||
#+name: fig:opt_stiff_hac_dvf_L_cas_disp_error
|
#+name: fig:opt_stiff_hac_dvf_L_cas_disp_error
|
||||||
#+attr_latex: :width 0.8\linewidth
|
#+attr_latex: :width 0.8\linewidth
|
||||||
#+caption: Cumulative Amplitude Spectrum of the position error in Open Loop (black) and with the HAC-LAC controller for three payload masses
|
#+caption: Cumulative Amplitude Spectrum $CAS_{-}$ of the position error in Open Loop (black) and with the HAC-LAC controller for three payload masses
|
||||||
[[file:figs/opt_stiff_hac_dvf_L_cas_disp_error.png]]
|
[[file:figs/opt_stiff_hac_dvf_L_cas_disp_error.png]]
|
||||||
|
|
||||||
*** Time Domain Analysis
|
*** Time Domain Analysis
|
||||||
@ -2035,7 +2103,7 @@ The disturbance causing this constant force is the centrifugal force induced by
|
|||||||
The relative motions of the nano-hexapod's legs is shown in Figure [[fig:opt_stiff_hac_dvf_Dh_offset_dL]] and are in the micro-meter range.
|
The relative motions of the nano-hexapod's legs is shown in Figure [[fig:opt_stiff_hac_dvf_Dh_offset_dL]] and are in the micro-meter range.
|
||||||
|
|
||||||
#+name: fig:opt_stiff_hac_dvf_Dh_offset_dL
|
#+name: fig:opt_stiff_hac_dvf_Dh_offset_dL
|
||||||
#+attr_latex: :width 0.8\linewidth
|
#+attr_latex: :width 0.5\linewidth
|
||||||
#+caption: Relative displacement of the nano-hexapod's legs
|
#+caption: Relative displacement of the nano-hexapod's legs
|
||||||
[[file:figs/opt_stiff_hac_dvf_Dh_offset_dL.png]]
|
[[file:figs/opt_stiff_hac_dvf_Dh_offset_dL.png]]
|
||||||
|
|
||||||
@ -2075,7 +2143,7 @@ Peak values of the forces are appearing when the translation stage changes the d
|
|||||||
The relative motions of the nano-hexapod's legs is shown in Figure [[fig:opt_stiff_hac_dvf_Dy_scans_dL]] and are again in the micro-meter range.
|
The relative motions of the nano-hexapod's legs is shown in Figure [[fig:opt_stiff_hac_dvf_Dy_scans_dL]] and are again in the micro-meter range.
|
||||||
|
|
||||||
#+name: fig:opt_stiff_hac_dvf_Dy_scans_dL
|
#+name: fig:opt_stiff_hac_dvf_Dy_scans_dL
|
||||||
#+attr_latex: :width 0.8\linewidth
|
#+attr_latex: :width 0.5\linewidth
|
||||||
#+caption: Relative displacement of the nano-hexapod's legs
|
#+caption: Relative displacement of the nano-hexapod's legs
|
||||||
[[file:figs/opt_stiff_hac_dvf_Dy_scans_dL.png]]
|
[[file:figs/opt_stiff_hac_dvf_Dy_scans_dL.png]]
|
||||||
|
|
||||||
@ -2220,6 +2288,24 @@ Thus, an actuator stroke of $\pm 50 \mu m$ would be quite safe.
|
|||||||
Note that a piezoelectric stack have a maximum strain of $0.1\%$.
|
Note that a piezoelectric stack have a maximum strain of $0.1\%$.
|
||||||
A piezo stack with a stroke of $\pm 50\,[\mu m]$ will have a length size of $\approx 100\,[mm]$ making it difficult to integrate in the nano-hexapod.
|
A piezo stack with a stroke of $\pm 50\,[\mu m]$ will have a length size of $\approx 100\,[mm]$ making it difficult to integrate in the nano-hexapod.
|
||||||
|
|
||||||
|
|
||||||
|
Some amplified piezoelectric actuators that fulfill the requirements are listed in Table [[tab:piezo_act_models]].
|
||||||
|
The actuators that seems the most suited will be modeled using a FE software and integrated into the Simscape model as explained in Section [[sec:flexible_elements]].
|
||||||
|
Simulation will be performed with the chosen actuator to make sure that the obtained performance is acceptable.
|
||||||
|
|
||||||
|
#+name: tab:piezo_act_models
|
||||||
|
#+caption: List of some amplified piezoelectric actuators that could be used for the nano-hexapod
|
||||||
|
#+attr_latex: :environment tabularx :width \linewidth :align llXXXXXX
|
||||||
|
#+attr_latex: :center t :booktabs t :float t
|
||||||
|
| | Specification | [[https://www.cedrat-technologies.com/en/products/actuators/amplified-piezo-actuators.html][APA150M]] | [[https://www.cedrat-technologies.com/en/products/actuators/amplified-piezo-actuators.html][APA400MML]] | [[https://www.cedrat-technologies.com/en/products/actuators/amplified-piezo-actuators.html][APA300ML]] | [[https://www.dynamic-structures.com/product/fpa-0500e-p-1036][FPA-0500E-P-1036]] | [[https://www.dynamic-structures.com/product/fpa-0300e][FPA-0300E-S-0536]] | [[https://www.dynamic-structures.com/product/fpa-0150e-s-0518][FPA-0150E-S-0518]] |
|
||||||
|
|---------------+---------------------+---------+-----------+----------+------------------+------------------+------------------|
|
||||||
|
| Stroke | $> 100\, [\mu m]$ | 187 | 368 | 304 | 432 | 240 | 132 |
|
||||||
|
| Stiffness | $0.1-1\, [N/\mu m]$ | 0.7 | 0.55 | 1.8 | 0.87 | 0.58 | 0.8 |
|
||||||
|
| Resolution | $< 2\, [nm]$ | 2 | 4 | 3 | | | |
|
||||||
|
| Blocked Force | $> 100\, [N]$ | 127 | 201 | 546 | 376 | 139 | 106 |
|
||||||
|
| Height | $< 50\, [mm]$ | 22 | 24 | 30 | 27 | 16 | 15 |
|
||||||
|
| Price | | | | | 2300$ | 1400$ | 890$ |
|
||||||
|
|
||||||
*** Sensors
|
*** Sensors
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:UNNUMBERED: t
|
:UNNUMBERED: t
|
||||||
@ -2252,12 +2338,26 @@ Characteristics of those sensors are shown in Table [[tab:characteristics_relati
|
|||||||
| Interferometer | 300 kHz | 0.1 nm rms | 10 cm | -250,100 °C |
|
| Interferometer | 300 kHz | 0.1 nm rms | 10 cm | -250,100 °C |
|
||||||
| Encoder | DC-1 MHz | 1 nm rms | 7-27 mm | 0,40 °C |
|
| Encoder | DC-1 MHz | 1 nm rms | 7-27 mm | 0,40 °C |
|
||||||
|
|
||||||
|
Two sensor technologies seem the most adapted to the nano-hexapod: the eddy current sensor and the capacitive sensor.
|
||||||
|
They both exhibit few nanometers of resolution over a stroke of $100\,[\mu m]$ and a sufficient bandwidth.
|
||||||
|
|
||||||
|
Cedrat proposes to integrate Eddy Current Sensors in their amplified piezoelectric actuator as shown in Figure [[fig:ecs_apa_01]].
|
||||||
|
An alternative could be to use the capacitive sensors such as the very compact [[https://www.physikinstrumente.com/en/products/sensors-components-accessories/d-015-d-050-d-100-capacitive-sensors-500200/#specification][D-100]] proposed by PI.
|
||||||
|
|
||||||
|
#+name: fig:ecs_apa_01
|
||||||
|
#+attr_latex: :width 0.8\linewidth
|
||||||
|
#+caption: Eddy Current Sensors integrated into a Cedrat's amplified piezoelectric actuator
|
||||||
|
[[file:figs/ecs_apa_01.jpg]]
|
||||||
|
|
||||||
*** Architecture
|
*** Architecture
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:UNNUMBERED: t
|
:UNNUMBERED: t
|
||||||
:END:
|
:END:
|
||||||
|
|
||||||
** Sensor Noise introduced by the Metrology
|
As explained in section [[sec:nano_hexapod_architecture]] the orientation of the legs and position of the joints are very much constrained by the limited height of the nano-hexapod.
|
||||||
|
|
||||||
|
|
||||||
|
* Sensor Noise introduced by the Metrology
|
||||||
<<sec:sensor_noise_metrology>>
|
<<sec:sensor_noise_metrology>>
|
||||||
|
|
||||||
During all this study, the measurement of the relative position of the sample with respect to the granite was considered to be perfect, that is to say *noiseless* and with *infinite bandwidth*.
|
During all this study, the measurement of the relative position of the sample with respect to the granite was considered to be perfect, that is to say *noiseless* and with *infinite bandwidth*.
|
||||||
@ -2350,7 +2450,6 @@ This is foreseen to give better performances and robustness.
|
|||||||
Realistic simulations of scientific experiments were carried out validating the concept.
|
Realistic simulations of scientific experiments were carried out validating the concept.
|
||||||
|
|
||||||
* Bibliography :ignore:
|
* Bibliography :ignore:
|
||||||
bibliographystyle:unsrt
|
|
||||||
bibliography:ref.bib
|
bibliography:ref.bib
|
||||||
|
|
||||||
#+latex: \printbibliography
|
#+latex: \printbibliography
|
||||||
|
39
ref.bib
39
ref.bib
@ -80,3 +80,42 @@
|
|||||||
measurement},
|
measurement},
|
||||||
year = 2011,
|
year = 2011,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@book{skogestad07_multiv_feedb_contr,
|
||||||
|
author = {Skogestad, Sigurd and Postlethwaite, Ian},
|
||||||
|
title = {Multivariable Feedback Control: Analysis and Design},
|
||||||
|
year = {2007},
|
||||||
|
publisher = {John Wiley},
|
||||||
|
isbn = {9780470011683},
|
||||||
|
tags = {favorite},
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@phdthesis{monkhorst04_dynam_error_budget,
|
||||||
|
author = {Wouter Monkhorst},
|
||||||
|
school = {Delft University},
|
||||||
|
title = {Dynamic Error Budgeting, a design approach},
|
||||||
|
year = {2004},
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@book{lurie12_class,
|
||||||
|
author = {Lurie, B. J},
|
||||||
|
title = {Classical feedback control : with MATLAB and Simulink},
|
||||||
|
year = 2012,
|
||||||
|
publisher = {CRC Press},
|
||||||
|
address = {Boca Raton, FL},
|
||||||
|
isbn = 9781439897461,
|
||||||
|
tags = {favorite},
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@phdthesis{li01_simul_fault_vibrat_isolat_point,
|
||||||
|
author = {Li, Xiaochun},
|
||||||
|
school = {University of Wyoming},
|
||||||
|
title = {Simultaneous, Fault-tolerant Vibration Isolation and
|
||||||
|
Pointing Control of Flexure Jointed Hexapods},
|
||||||
|
year = 2001,
|
||||||
|
tags = {parallel robot},
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user