2021-02-02 19:13:38 +01:00
<?xml version="1.0" encoding="utf-8"?>
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" lang = "en" xml:lang = "en" >
< head >
2021-03-10 11:43:00 +01:00
<!-- 2021 - 03 - 10 mer. 11:41 -->
2021-02-02 19:13:38 +01:00
< meta http-equiv = "Content-Type" content = "text/html;charset=utf-8" / >
2021-02-18 11:38:56 +01:00
< title > Flexible Joints - Test Bench< / title >
2021-02-02 19:13:38 +01:00
< meta name = "author" content = "Dehaeze Thomas" / >
2021-03-04 17:29:33 +01:00
< meta name = "generator" content = "Org Mode" / >
2021-02-02 19:13:38 +01:00
< link rel = "stylesheet" type = "text/css" href = "https://research.tdehaeze.xyz/css/style.css" / >
< script type = "text/javascript" src = "https://research.tdehaeze.xyz/js/script.js" > < / script >
< script >
MathJax = {
svg: {
scale: 1,
fontCache: "global"
},
tex: {
tags: "ams",
multlineWidth: "%MULTLINEWIDTH",
tagSide: "right",
macros: {bm: ["\\boldsymbol{#1}",1],},
tagIndent: ".8em"
}
};
< / script >
< script id = "MathJax-script" async
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js">< / script >
< / head >
< body >
< div id = "org-div-home-and-up" >
< a accesskey = "h" href = "../index.html" > UP < / a >
|
< a accesskey = "H" href = "../index.html" > HOME < / a >
< / div > < div id = "content" >
2021-02-18 11:38:56 +01:00
< h1 class = "title" > Flexible Joints - Test Bench< / h1 >
2021-02-02 19:13:38 +01:00
< div id = "table-of-contents" >
< h2 > Table of Contents< / h2 >
< div id = "text-table-of-contents" >
< ul >
2021-03-10 11:43:00 +01:00
< li > < a href = "#orgba228d0" > 1. Flexible Joints< / a > < / li >
< li > < a href = "#orgc12e6d4" > 2. Dimensional Measurements< / a >
2021-02-02 19:13:38 +01:00
< ul >
2021-03-10 11:43:00 +01:00
< li > < a href = "#org481b14d" > 2.1. Measurement Bench< / a > < / li >
< li > < a href = "#org2a4e284" > 2.2. Measurement Results< / a > < / li >
2021-02-02 19:13:38 +01:00
< / ul >
< / li >
2021-03-10 11:43:00 +01:00
< li > < a href = "#orgee2f239" > 3. Measurement Test Bench - Bending Stiffness< / a >
2021-02-16 19:32:48 +01:00
< ul >
2021-03-10 11:43:00 +01:00
< li > < a href = "#orgc946d23" > 3.1. Flexible joint Geometry< / a > < / li >
< li > < a href = "#org96fb02e" > 3.2. Required external applied force< / a > < / li >
< li > < a href = "#orgcd7c170" > 3.3. Required actuator stroke and sensors range< / a > < / li >
< li > < a href = "#orgfd51ca6" > 3.4. Test Bench< / a > < / li >
2021-02-16 19:32:48 +01:00
< / ul >
< / li >
2021-03-10 11:43:00 +01:00
< li > < a href = "#orgdf7ba71" > 4. Error budget< / a >
2021-02-16 19:32:48 +01:00
< ul >
2021-03-10 11:43:00 +01:00
< li > < a href = "#orgd3136d0" > 4.1. Finite Element Model< / a > < / li >
< li > < a href = "#org4ca82ad" > 4.2. Setup< / a > < / li >
< li > < a href = "#org95d9447" > 4.3. Effect of Bending< / a > < / li >
< li > < a href = "#org989ae59" > 4.4. Computation of the bending stiffness< / a > < / li >
< li > < a href = "#org82d111d" > 4.5. Estimation error due to force and displacement sensors accuracy< / a > < / li >
< li > < a href = "#org30e4c30" > 4.6. Estimation error due to Shear< / a > < / li >
< li > < a href = "#org8c74234" > 4.7. Estimation error due to force sensor compression< / a > < / li >
< li > < a href = "#orga4639c7" > 4.8. Estimation error due to height estimation error< / a > < / li >
< li > < a href = "#orgfdab5b0" > 4.9. Conclusion< / a > < / li >
2021-03-04 17:29:33 +01:00
< / ul >
< / li >
2021-03-10 11:43:00 +01:00
< li > < a href = "#orgadd76ee" > 5. First Measurements< / a >
2021-03-04 17:29:33 +01:00
< ul >
2021-03-10 11:43:00 +01:00
< li > < a href = "#org48ad99b" > 5.1. Agreement between the probe and the encoder< / a > < / li >
< li > < a href = "#org9afc147" > 5.2. Measurement of the Millimar 1318 probe stiffness< / a > < / li >
< li > < a href = "#org412d759" > 5.3. Force Sensor Calibration< / a > < / li >
< li > < a href = "#org709b570" > 5.4. Force Sensor Noise< / a > < / li >
< li > < a href = "#org9cde23b" > 5.5. Force Sensor Stiffness< / a > < / li >
2021-03-04 17:29:33 +01:00
< / ul >
< / li >
2021-03-10 11:43:00 +01:00
< li > < a href = "#orgfddad67" > 6. Bending Stiffness Measurement< / a >
2021-03-04 17:29:33 +01:00
< ul >
2021-03-10 11:43:00 +01:00
< li > < a href = "#org366c038" > 6.1. Introduction< / a > < / li >
< li > < a href = "#org2174e74" > 6.2. Analysis of one measurement< / a > < / li >
< li > < a href = "#org134bc98" > 6.3. Bending stiffness and bending stroke of all the flexible joints< / a > < / li >
< li > < a href = "#orgbb78147" > 6.4. Analysis< / a > < / li >
< li > < a href = "#org1c10279" > 6.5. Conclusion< / a > < / li >
2021-02-16 19:32:48 +01:00
< / ul >
< / li >
2021-02-02 19:13:38 +01:00
< / ul >
< / div >
< / div >
< hr >
< p > This report is also available as a < a href = "./test-bench-flexible-joints.pdf" > pdf< / a > .< / p >
< hr >
2021-02-18 11:38:56 +01:00
< p >
In this document, we present a test-bench that has been developed in order to measure the bending stiffness of flexible joints.
< / p >
< p >
It is structured as follow:
< / p >
< ul class = "org-ul" >
2021-03-10 11:43:00 +01:00
< li > Section < a href = "#orgd5f05d0" > 1< / a > : the geometry of the flexible joints and the expected stiffness and stroke are presented< / li >
< li > Section < a href = "#orgab94b61" > 2< / a > : each flexible joint is measured using a profile projector< / li >
< li > Section < a href = "#org7938a31" > 3< / a > : the stiffness measurement bench is presented< / li >
< li > Section < a href = "#orgbd6228c" > 4< / a > : an error budget is performed in order to estimate the accuracy of the measured stiffness< / li >
< li > Section < a href = "#orge162618" > 5< / a > : first measurements are performed< / li >
< li > Section < a href = "#orgcf7ec01" > 6< / a > : the bending stiffness of the flexible joints are measured< / li >
2021-02-18 11:38:56 +01:00
< / ul >
2021-03-10 11:43:00 +01:00
< div id = "outline-container-orgba228d0" class = "outline-2" >
< h2 id = "orgba228d0" > < span class = "section-number-2" > 1< / span > Flexible Joints< / h2 >
2021-02-02 19:13:38 +01:00
< div class = "outline-text-2" id = "text-1" >
2021-02-18 11:38:56 +01:00
< p >
2021-03-10 11:43:00 +01:00
< a id = "orgd5f05d0" > < / a >
2021-02-18 11:38:56 +01:00
< / p >
< p >
2021-03-10 11:43:00 +01:00
The flexible joints that are going to be measured in this document have been design to be used with a Nano-Hexapod (Figure < a href = "#org00ed786" > 1< / a > ).
2021-02-18 11:38:56 +01:00
< / p >
2021-03-10 11:43:00 +01:00
< div id = "org00ed786" class = "figure" >
2021-02-18 11:38:56 +01:00
< p > < img src = "figs/nano_hexapod.png" alt = "nano_hexapod.png" / >
< / p >
< p > < span class = "figure-number" > Figure 1: < / span > CAD view of the Nano-Hexapod containing the flexible joints< / p >
< / div >
< p >
Ideally, these flexible joints would behave as perfect ball joints, that is to say:
< / p >
< ul class = "org-ul" >
< li > no bending and torsional stiffnesses< / li >
< li > infinite shear and axial stiffnesses< / li >
< li > un-limited bending and torsional stroke< / li >
< li > no friction, no backlash< / li >
< / ul >
2021-02-02 19:13:38 +01:00
2021-02-18 11:38:56 +01:00
< p >
The real characteristics of the flexible joints will influence the dynamics of the Nano-Hexapod.
2021-03-10 11:43:00 +01:00
Using a multi-body dynamical model of the nano-hexapod, the specifications in term of stiffness and stroke of the flexible joints have been determined and summarized in Table < a href = "#orgd7b968a" > 1< / a > .
2021-02-18 11:38:56 +01:00
< / p >
2021-03-10 11:43:00 +01:00
< table id = "orgd7b968a" border = "2" cellspacing = "0" cellpadding = "6" rules = "groups" frame = "hsides" >
2021-02-18 11:38:56 +01:00
< caption class = "t-above" > < span class = "table-number" > Table 1:< / span > Specifications for the flexible joints and estimated characteristics from the Finite Element Model< / caption >
2021-02-02 19:13:38 +01:00
< colgroup >
< col class = "org-left" / >
< col class = "org-left" / >
2021-02-18 11:38:56 +01:00
< col class = "org-right" / >
2021-02-02 19:13:38 +01:00
< / colgroup >
< thead >
< tr >
< th scope = "col" class = "org-left" >   < / th >
< th scope = "col" class = "org-left" > < b > Specification< / b > < / th >
2021-02-18 11:38:56 +01:00
< th scope = "col" class = "org-right" > < b > FEM< / b > < / th >
2021-02-02 19:13:38 +01:00
< / tr >
< / thead >
< tbody >
< tr >
< td class = "org-left" > Axial Stiffness< / td >
2021-02-18 11:38:56 +01:00
< td class = "org-left" > > 100 [N/um]< / td >
< td class = "org-right" > 94< / td >
2021-02-02 19:13:38 +01:00
< / tr >
< tr >
< td class = "org-left" > Shear Stiffness< / td >
< td class = "org-left" > > 1 [N/um]< / td >
2021-02-18 11:38:56 +01:00
< td class = "org-right" > 13< / td >
2021-02-02 19:13:38 +01:00
< / tr >
< tr >
< td class = "org-left" > Bending Stiffness< / td >
2021-02-18 11:38:56 +01:00
< td class = "org-left" > < 100 [Nm/rad]< / td >
< td class = "org-right" > 5< / td >
2021-02-02 19:13:38 +01:00
< / tr >
< tr >
< td class = "org-left" > Torsion Stiffness< / td >
2021-02-18 11:38:56 +01:00
< td class = "org-left" > < 500 [Nm/rad]< / td >
< td class = "org-right" > 260< / td >
2021-02-02 19:13:38 +01:00
< / tr >
< tr >
< td class = "org-left" > Bending Stroke< / td >
< td class = "org-left" > > 1 [mrad]< / td >
2021-02-18 11:38:56 +01:00
< td class = "org-right" > 24.5< / td >
2021-02-02 19:13:38 +01:00
< / tr >
< tr >
< td class = "org-left" > Torsion Stroke< / td >
< td class = "org-left" > > 5 [urad]< / td >
2021-02-18 11:38:56 +01:00
< td class = "org-right" >   < / td >
2021-02-02 19:13:38 +01:00
< / tr >
< / tbody >
< / table >
2021-02-18 11:38:56 +01:00
< p >
2021-03-10 11:43:00 +01:00
Then, the classical geometry of a flexible ball joint shown in Figure < a href = "#org1ea4826" > 2< / a > has been optimized in order to meet the requirements.
This has been done using a Finite Element Software and the obtained joint’ s characteristics are summarized in Table < a href = "#orgd7b968a" > 1< / a > .
2021-02-18 11:38:56 +01:00
< / p >
2021-03-10 11:43:00 +01:00
< div id = "org1ea4826" class = "figure" >
2021-02-18 11:38:56 +01:00
< p > < img src = "figs/flexible_joint_fem_geometry.png" alt = "flexible_joint_fem_geometry.png" / >
< / p >
< p > < span class = "figure-number" > Figure 2: < / span > Flexible part of the Joint used for FEM - CAD view< / p >
< / div >
< p >
The obtained geometry are defined in the < a href = "doc/flex_joints.pdf" > drawings of the flexible joints< / a > .
2021-03-04 17:29:33 +01:00
The material is a special kind of stainless steel called “ F16PH” .
< / p >
< p >
2021-03-10 11:43:00 +01:00
The flexible joints can be seen on Figure < a href = "#org43b29c2" > 3< / a > .
2021-02-18 11:38:56 +01:00
< / p >
2021-03-04 17:29:33 +01:00
2021-03-10 11:43:00 +01:00
< div id = "org43b29c2" class = "figure" >
2021-03-04 17:29:33 +01:00
< p > < img src = "figs/IMG_20210302_173619.jpg" alt = "IMG_20210302_173619.jpg" / >
< / p >
< p > < span class = "figure-number" > Figure 3: < / span > 15 of the 16 flexible joints< / p >
< / div >
2021-02-02 19:13:38 +01:00
< / div >
< / div >
2021-03-10 11:43:00 +01:00
< div id = "outline-container-orgc12e6d4" class = "outline-2" >
< h2 id = "orgc12e6d4" > < span class = "section-number-2" > 2< / span > Dimensional Measurements< / h2 >
2021-02-02 19:13:38 +01:00
< div class = "outline-text-2" id = "text-2" >
< p >
2021-03-10 11:43:00 +01:00
< a id = "orgab94b61" > < / a >
2021-03-04 17:29:33 +01:00
< / p >
< / div >
2021-03-10 11:43:00 +01:00
< div id = "outline-container-org481b14d" class = "outline-3" >
< h3 id = "org481b14d" > < span class = "section-number-3" > 2.1< / span > Measurement Bench< / h3 >
2021-03-04 17:29:33 +01:00
< div class = "outline-text-3" id = "text-2-1" >
< p >
2021-03-10 11:43:00 +01:00
The axis corresponding to the flexible joints are defined in Figure < a href = "#orgdbf1f86" > 4< / a > .
2021-03-04 17:29:33 +01:00
< / p >
2021-03-10 11:43:00 +01:00
< div id = "orgdbf1f86" class = "figure" >
2021-03-04 17:29:33 +01:00
< p > < img src = "figs/flexible_joint_axis.png" alt = "flexible_joint_axis.png" / >
< / p >
< p > < span class = "figure-number" > Figure 4: < / span > Define axis for the flexible joints< / p >
< / div >
< p >
The dimensions of the flexible part in the Y-Z plane will contribute to the X-bending stiffness.
Similarly, the dimensions of the flexible part in the X-Z plane will contribute to the Y-bending stiffness.
< / p >
< p >
2021-03-10 11:43:00 +01:00
The setup to measure the dimension of the “ Y” flexible beam is shown in Figure < a href = "#orgf2666ad" > 5< / a > .
2021-03-04 17:29:33 +01:00
< / p >
2021-03-10 11:43:00 +01:00
< div id = "orgf2666ad" class = "figure" >
2021-03-04 17:29:33 +01:00
< p > < img src = "figs/flexible_joint_y_flex_meas_setup.png" alt = "flexible_joint_y_flex_meas_setup.png" / >
< / p >
< p > < span class = "figure-number" > Figure 5: < / span > Setup to measure the dimension of the flexible beam corresponding to the X-bending stiffness< / p >
< / div >
< p >
2021-03-10 11:43:00 +01:00
What we typically observe is shown in Figure < a href = "#org4e5ee22" > 6< / a > .
2021-03-04 17:29:33 +01:00
It is then possible to estimate to dimension of the flexible beam with an accuracy of \(\approx 5\,\mu m\),
< / p >
2021-03-10 11:43:00 +01:00
< div id = "org4e5ee22" class = "figure" >
2021-03-04 17:29:33 +01:00
< p > < img src = "figs/soft_measure_flex_size.jpg" alt = "soft_measure_flex_size.jpg" / >
< / p >
< p > < span class = "figure-number" > Figure 6: < / span > Image used to measure the flexible joint’ s dimensions< / p >
< / div >
< / div >
< / div >
2021-03-10 11:43:00 +01:00
< div id = "outline-container-org2a4e284" class = "outline-3" >
< h3 id = "org2a4e284" > < span class = "section-number-3" > 2.2< / span > Measurement Results< / h3 >
2021-03-04 17:29:33 +01:00
< div class = "outline-text-3" id = "text-2-2" >
< p >
The expected flexible beam thickness is \(250\,\mu m\).
However, it is more important that the thickness of all beams are close to each other.
< / p >
< p >
The dimension of the beams are been measured at each end to be able to estimate the mean of the beam thickness.
< / p >
< p >
2021-03-10 11:43:00 +01:00
All the measured dimensions are summarized in Table < a href = "#org870172e" > 2< / a > .
2021-03-04 17:29:33 +01:00
< / p >
2021-03-10 11:43:00 +01:00
< table id = "org870172e" border = "2" cellspacing = "0" cellpadding = "6" rules = "groups" frame = "hsides" >
2021-03-04 17:29:33 +01:00
< caption class = "t-above" > < span class = "table-number" > Table 2:< / span > Measured Dimensions of the flexible beams in \(\mu m\)< / caption >
< colgroup >
< col class = "org-right" / >
< col class = "org-right" / >
< col class = "org-right" / >
< col class = "org-right" / >
< col class = "org-right" / >
< / colgroup >
< thead >
< tr >
< th scope = "col" class = "org-right" >   < / th >
< th scope = "col" class = "org-right" > X1< / th >
< th scope = "col" class = "org-right" > X2< / th >
< th scope = "col" class = "org-right" > X3< / th >
< th scope = "col" class = "org-right" > X4< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td class = "org-right" > 1< / td >
< td class = "org-right" > 223< / td >
< td class = "org-right" > 226< / td >
< td class = "org-right" > 224< / td >
< td class = "org-right" > 214< / td >
< / tr >
< tr >
< td class = "org-right" > 2< / td >
< td class = "org-right" > 229< / td >
< td class = "org-right" > 231< / td >
< td class = "org-right" > 237< / td >
< td class = "org-right" > 224< / td >
< / tr >
< tr >
< td class = "org-right" > 3< / td >
< td class = "org-right" > 234< / td >
< td class = "org-right" > 230< / td >
< td class = "org-right" > 239< / td >
< td class = "org-right" > 231< / td >
< / tr >
< tr >
< td class = "org-right" > 4< / td >
< td class = "org-right" > 233< / td >
< td class = "org-right" > 227< / td >
< td class = "org-right" > 229< / td >
< td class = "org-right" > 232< / td >
< / tr >
< tr >
< td class = "org-right" > 5< / td >
< td class = "org-right" > 225< / td >
< td class = "org-right" > 212< / td >
< td class = "org-right" > 228< / td >
< td class = "org-right" > 228< / td >
< / tr >
< tr >
< td class = "org-right" > 6< / td >
< td class = "org-right" > 220< / td >
< td class = "org-right" > 221< / td >
< td class = "org-right" > 224< / td >
< td class = "org-right" > 220< / td >
< / tr >
< tr >
< td class = "org-right" > 7< / td >
< td class = "org-right" > 206< / td >
< td class = "org-right" > 207< / td >
< td class = "org-right" > 228< / td >
< td class = "org-right" > 226< / td >
< / tr >
< tr >
< td class = "org-right" > 8< / td >
< td class = "org-right" > 230< / td >
< td class = "org-right" > 224< / td >
< td class = "org-right" > 224< / td >
< td class = "org-right" > 223< / td >
< / tr >
< tr >
< td class = "org-right" > 9< / td >
< td class = "org-right" > 223< / td >
< td class = "org-right" > 231< / td >
< td class = "org-right" > 228< / td >
< td class = "org-right" > 233< / td >
< / tr >
< tr >
< td class = "org-right" > 10< / td >
< td class = "org-right" > 228< / td >
< td class = "org-right" > 230< / td >
< td class = "org-right" > 235< / td >
< td class = "org-right" > 231< / td >
< / tr >
< tr >
< td class = "org-right" > 11< / td >
< td class = "org-right" > 197< / td >
< td class = "org-right" > 207< / td >
< td class = "org-right" > 211< / td >
< td class = "org-right" > 204< / td >
< / tr >
< tr >
< td class = "org-right" > 12< / td >
< td class = "org-right" > 227< / td >
< td class = "org-right" > 226< / td >
< td class = "org-right" > 225< / td >
< td class = "org-right" > 226< / td >
< / tr >
< tr >
< td class = "org-right" > 13< / td >
< td class = "org-right" > 215< / td >
< td class = "org-right" > 228< / td >
< td class = "org-right" > 231< / td >
< td class = "org-right" > 220< / td >
< / tr >
< tr >
< td class = "org-right" > 14< / td >
< td class = "org-right" > 216< / td >
< td class = "org-right" > 224< / td >
< td class = "org-right" > 224< / td >
< td class = "org-right" > 221< / td >
< / tr >
< tr >
< td class = "org-right" > 15< / td >
< td class = "org-right" > 209< / td >
< td class = "org-right" > 214< / td >
< td class = "org-right" > 220< / td >
< td class = "org-right" > 221< / td >
< / tr >
< tr >
< td class = "org-right" > 16< / td >
< td class = "org-right" > 213< / td >
< td class = "org-right" > 210< / td >
< td class = "org-right" > 230< / td >
< td class = "org-right" > 229< / td >
< / tr >
< / tbody >
< / table >
< p >
2021-03-10 11:43:00 +01:00
An histogram of these measured dimensions is shown in Figure < a href = "#orgdd64c7d" > 7< / a > .
2021-03-04 17:29:33 +01:00
< / p >
2021-03-10 11:43:00 +01:00
< div id = "orgdd64c7d" class = "figure" >
2021-03-04 17:29:33 +01:00
< p > < img src = "figs/beam_dim_histogram.png" alt = "beam_dim_histogram.png" / >
< / p >
< p > < span class = "figure-number" > Figure 7: < / span > Histogram for the (16x2) measured beams’ thickness< / p >
< / div >
< / div >
< / div >
< / div >
2021-03-10 11:43:00 +01:00
< div id = "outline-container-orgee2f239" class = "outline-2" >
< h2 id = "orgee2f239" > < span class = "section-number-2" > 3< / span > Measurement Test Bench - Bending Stiffness< / h2 >
2021-03-04 17:29:33 +01:00
< div class = "outline-text-2" id = "text-3" >
< p >
2021-03-10 11:43:00 +01:00
< a id = "org7938a31" > < / a >
2021-02-18 11:38:56 +01:00
< / p >
< p >
The most important characteristic of the flexible joint that we want to measure is its bending stiffness \(k_{R_x} \approx k_{R_y}\).
2021-02-02 19:13:38 +01:00
< / p >
< p >
2021-02-18 11:38:56 +01:00
To do so, we have to apply a torque \(T_x\) on the flexible joint and measure its angular deflection \(\theta_x\).
The stiffness is then
2021-02-02 19:13:38 +01:00
< / p >
2021-02-18 11:38:56 +01:00
\begin{equation}
k_{R_x} = \frac{T_x}{\theta_x}
\end{equation}
2021-02-02 19:13:38 +01:00
< p >
2021-02-18 11:38:56 +01:00
As it is quite difficult to apply a pure torque, a force will be applied instead.
The application point of the force should far enough from the flexible part such that the obtained bending is much larger than the displacement in shear.
2021-02-02 19:13:38 +01:00
< / p >
2021-02-18 11:38:56 +01:00
< p >
2021-03-10 11:43:00 +01:00
The working principle of the bench is schematically shown in Figure < a href = "#org447267e" > 8< / a > .
2021-02-18 11:38:56 +01:00
One part of the flexible joint is fixed. On the mobile part, a force \(F_x\) is applied which is equivalent to a torque applied on the flexible joint center.
The induced rotation is measured with a displacement sensor \(d_x\).
< / p >
2021-02-02 19:13:38 +01:00
2021-02-18 11:38:56 +01:00
2021-03-10 11:43:00 +01:00
< div id = "org447267e" class = "figure" >
2021-02-18 11:38:56 +01:00
< p > < img src = "figs/test_bench_principle.png" alt = "test_bench_principle.png" / >
2021-02-02 19:13:38 +01:00
< / p >
2021-03-04 17:29:33 +01:00
< p > < span class = "figure-number" > Figure 8: < / span > Test Bench - working principle< / p >
2021-02-02 19:13:38 +01:00
< / div >
2021-02-18 11:38:56 +01:00
< p >
This test-bench will be used to have a first approximation of the bending stiffnesss and stroke of the flexible joints.
Another test-bench, better engineered will be used to measure the flexible joint’ s characteristics with better accuracy.
< / p >
2021-02-02 19:13:38 +01:00
< / div >
2021-03-10 11:43:00 +01:00
< div id = "outline-container-orgc946d23" class = "outline-3" >
< h3 id = "orgc946d23" > < span class = "section-number-3" > 3.1< / span > Flexible joint Geometry< / h3 >
2021-03-04 17:29:33 +01:00
< div class = "outline-text-3" id = "text-3-1" >
2021-02-02 19:13:38 +01:00
< p >
2021-03-10 11:43:00 +01:00
The flexible joint used for the Nano-Hexapod is shown in Figure < a href = "#org41fd7ad" > 9< / a > .
2021-02-18 11:38:56 +01:00
Its bending stiffness is foreseen to be \(k_{R_y}\approx 5\,\frac{Nm}{rad}\) and its stroke \(\theta_{y,\text{max}}\approx 25\,mrad\).
2021-02-02 19:13:38 +01:00
< / p >
2021-03-10 11:43:00 +01:00
< div id = "org41fd7ad" class = "figure" >
2021-02-02 19:13:38 +01:00
< p > < img src = "figs/flexible_joint_geometry.png" alt = "flexible_joint_geometry.png" / >
< / p >
2021-03-04 17:29:33 +01:00
< p > < span class = "figure-number" > Figure 9: < / span > Geometry of the flexible joint< / p >
2021-02-02 19:13:38 +01:00
< / div >
< p >
The height between the flexible point (center of the joint) and the point where external forces are applied is \(h = 20\,mm\).
< / p >
< p >
Let’ s define the parameters on Matlab.
< / p >
< div class = "org-src-container" >
2021-02-18 11:38:56 +01:00
< pre class = "src src-matlab" > kRx = 5; < span class = "org-comment" > % Bending Stiffness [Nm/rad]< / span >
Rxmax = 25e< span class = "org-type" > -< / span > 3; < span class = "org-comment" > % Bending Stroke [rad]< / span >
h = 20e< span class = "org-type" > -< / span > 3; < span class = "org-comment" > % Height [m]< / span >
2021-02-02 19:13:38 +01:00
< / pre >
< / div >
< / div >
< / div >
2021-03-10 11:43:00 +01:00
< div id = "outline-container-org96fb02e" class = "outline-3" >
< h3 id = "org96fb02e" > < span class = "section-number-3" > 3.2< / span > Required external applied force< / h3 >
2021-03-04 17:29:33 +01:00
< div class = "outline-text-3" id = "text-3-2" >
2021-02-02 19:13:38 +01:00
< p >
The bending \(\theta_y\) of the flexible joint due to the force \(F_x\) is:
< / p >
\begin{equation}
\theta_y = \frac{M_y}{k_{R_y}} = \frac{F_x h}{k_{R_y}}
\end{equation}
< p >
Therefore, the applied force to test the full range of the flexible joint is:
< / p >
\begin{equation}
F_{x,\text{max}} = \frac{k_{R_y} \theta_{y,\text{max}}}{h}
\end{equation}
< div class = "org-src-container" >
2021-02-18 11:38:56 +01:00
< pre class = "src src-matlab" > Fxmax = kRx< span class = "org-type" > *< / span > Rxmax< span class = "org-type" > /< / span > h; < span class = "org-comment" > % Force to induce maximum stroke [N]< / span >
2021-02-02 19:13:38 +01:00
< / pre >
< / div >
< p >
And we obtain:
< / p >
2021-02-18 11:38:56 +01:00
\begin{equation} F_{x,max} = 6.2\, [N] \end{equation}
2021-02-02 19:13:38 +01:00
< p >
2021-02-18 11:38:56 +01:00
The measurement range of the force sensor should then be higher than \(6.2\,N\).
2021-02-02 19:13:38 +01:00
< / p >
< / div >
< / div >
2021-03-10 11:43:00 +01:00
< div id = "outline-container-orgcd7c170" class = "outline-3" >
< h3 id = "orgcd7c170" > < span class = "section-number-3" > 3.3< / span > Required actuator stroke and sensors range< / h3 >
2021-03-04 17:29:33 +01:00
< div class = "outline-text-3" id = "text-3-3" >
2021-02-02 19:13:38 +01:00
< p >
2021-02-18 11:38:56 +01:00
The flexible joint is designed to allow a bending motion of \(\pm 25\,mrad\).
The corresponding stroke at the location of the force sensor is:
2021-02-02 19:13:38 +01:00
\[ d_{x,\text{max}} = h \tan(R_{x,\text{max}}) \]
< / p >
< div class = "org-src-container" >
2021-02-18 11:38:56 +01:00
< pre class = "src src-matlab" > dxmax = h< span class = "org-type" > *< / span > tan(Rxmax);
2021-02-02 19:13:38 +01:00
< / pre >
< / div >
2021-02-18 11:38:56 +01:00
\begin{equation} d_{max} = 0.5\, [mm] \end{equation}
2021-02-02 19:13:38 +01:00
< p >
2021-02-18 11:38:56 +01:00
In order to test the full range of the flexible joint, the stroke of the translation stage used to move the force sensor should be higher than \(0.5\,mm\).
Similarly, the measurement range of the displacement sensor should also be higher than \(0.5\,mm\).
2021-02-02 19:13:38 +01:00
< / p >
< / div >
< / div >
2021-03-10 11:43:00 +01:00
< div id = "outline-container-orgfd51ca6" class = "outline-3" >
< h3 id = "orgfd51ca6" > < span class = "section-number-3" > 3.4< / span > Test Bench< / h3 >
2021-03-04 17:29:33 +01:00
< div class = "outline-text-3" id = "text-3-4" >
2021-02-02 19:13:38 +01:00
< p >
2021-03-10 11:43:00 +01:00
A CAD view of the measurement bench is shown in Figure < a href = "#org1b9c20e" > 10< / a > .
2021-02-02 19:13:38 +01:00
< / p >
2021-03-10 11:43:00 +01:00
< div class = "note" id = "org7979eca" >
2021-02-02 19:13:38 +01:00
< p >
2021-02-18 11:38:56 +01:00
Here are the different elements used in this bench:
2021-02-02 19:13:38 +01:00
< / p >
2021-02-18 11:38:56 +01:00
< ul class = "org-ul" >
< li > < b > Translation Stage< / b > : < a href = "doc/V-408-Datasheet.pdf" > V-408< / a > < / li >
< li > < b > Load Cells< / b > : < a href = "doc/A700000007147087.pdf" > FC2231-0000-0010-L< / a > < / li >
< li > < b > Encoder< / b > : < a href = "doc/L-9517-9448-05-B_Data_sheet_RESOLUTE_BiSS_en.pdf" > Renishaw Resolute 1nm< / a > < / li >
< / ul >
2021-02-02 19:13:38 +01:00
< / div >
2021-02-18 11:38:56 +01:00
< p >
Both the measured force and displacement are acquired at the same time using a Speedgoat machine.
< / p >
2021-03-10 11:43:00 +01:00
< div id = "org1b9c20e" class = "figure" >
2021-02-18 11:38:56 +01:00
< p > < img src = "figs/test_bench_flex_overview.png" alt = "test_bench_flex_overview.png" / >
< / p >
2021-03-04 17:29:33 +01:00
< p > < span class = "figure-number" > Figure 10: < / span > Schematic of the test bench to measure the bending stiffness of the flexible joints< / p >
2021-02-18 11:38:56 +01:00
< / div >
2021-02-02 19:13:38 +01:00
< p >
2021-03-10 11:43:00 +01:00
A side view of the bench with the important quantities are shown in Figure < a href = "#org97759ae" > 11< / a > .
2021-02-02 19:13:38 +01:00
< / p >
2021-02-18 11:38:56 +01:00
2021-03-10 11:43:00 +01:00
< div id = "org97759ae" class = "figure" >
2021-02-18 11:38:56 +01:00
< p > < img src = "figs/test_bench_flex_side.png" alt = "test_bench_flex_side.png" width = "300px" / >
< / p >
2021-03-04 17:29:33 +01:00
< p > < span class = "figure-number" > Figure 11: < / span > Schematic of the test bench to measure the bending stiffness of the flexible joints< / p >
2021-02-18 11:38:56 +01:00
< / div >
< / div >
2021-02-02 19:13:38 +01:00
< / div >
2021-02-18 11:38:56 +01:00
< / div >
2021-03-10 11:43:00 +01:00
< div id = "outline-container-orgdf7ba71" class = "outline-2" >
< h2 id = "orgdf7ba71" > < span class = "section-number-2" > 4< / span > Error budget< / h2 >
2021-03-04 17:29:33 +01:00
< div class = "outline-text-2" id = "text-4" >
2021-02-18 11:38:56 +01:00
< p >
2021-03-10 11:43:00 +01:00
< a id = "orgbd6228c" > < / a >
2021-02-18 11:38:56 +01:00
< / p >
< p >
Many things can impact the accuracy of the measured bending stiffness such as:
< / p >
< ul class = "org-ul" >
< li > Errors in the force and displacement measurement< / li >
< li > Shear effects< / li >
< li > Deflection of the Force sensor< / li >
< li > Errors in the geometry of the bench< / li >
< / ul >
< p >
In this section, we wish to estimate the attainable accuracy with the current bench, and identified the limiting factors.
< / p >
< / div >
2021-03-10 11:43:00 +01:00
< div id = "outline-container-orgd3136d0" class = "outline-3" >
< h3 id = "orgd3136d0" > < span class = "section-number-3" > 4.1< / span > Finite Element Model< / h3 >
2021-03-04 17:29:33 +01:00
< div class = "outline-text-3" id = "text-4-1" >
2021-02-18 11:38:56 +01:00
< p >
2021-03-10 11:43:00 +01:00
From the Finite Element Model, the stiffness and stroke of the flexible joint have been computed and summarized in Tables < a href = "#org32e2bd9" > 3< / a > and < a href = "#org8dea15f" > 4< / a > .
2021-02-18 11:38:56 +01:00
< / p >
2021-03-10 11:43:00 +01:00
< table id = "org32e2bd9" border = "2" cellspacing = "0" cellpadding = "6" rules = "groups" frame = "hsides" >
2021-03-04 17:29:33 +01:00
< caption class = "t-above" > < span class = "table-number" > Table 3:< / span > Axial/Shear characteristics< / caption >
2021-02-18 11:38:56 +01:00
< colgroup >
< col class = "org-left" / >
< col class = "org-right" / >
< col class = "org-right" / >
< col class = "org-right" / >
< / colgroup >
< thead >
< tr >
< th scope = "col" class = "org-left" >   < / th >
< th scope = "col" class = "org-right" > Stiffness [N/um]< / th >
< th scope = "col" class = "org-right" > Max Force [N]< / th >
< th scope = "col" class = "org-right" > Stroke [um]< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td class = "org-left" > Axial< / td >
< td class = "org-right" > 94< / td >
< td class = "org-right" > 469< / td >
< td class = "org-right" > 5< / td >
< / tr >
< tr >
< td class = "org-left" > Shear< / td >
< td class = "org-right" > 13< / td >
< td class = "org-right" > 242< / td >
< td class = "org-right" > 19< / td >
< / tr >
< / tbody >
< / table >
2021-03-10 11:43:00 +01:00
< table id = "org8dea15f" border = "2" cellspacing = "0" cellpadding = "6" rules = "groups" frame = "hsides" >
2021-03-04 17:29:33 +01:00
< caption class = "t-above" > < span class = "table-number" > Table 4:< / span > Bending/Torsion characteristics< / caption >
2021-02-18 11:38:56 +01:00
< colgroup >
< col class = "org-left" / >
< col class = "org-right" / >
< col class = "org-right" / >
< col class = "org-right" / >
< / colgroup >
< thead >
< tr >
< th scope = "col" class = "org-left" >   < / th >
< th scope = "col" class = "org-right" > Stiffness [Nm/rad]< / th >
< th scope = "col" class = "org-right" > Max Torque [Nmm]< / th >
< th scope = "col" class = "org-right" > Stroke [mrad]< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td class = "org-left" > Bending< / td >
< td class = "org-right" > 5< / td >
< td class = "org-right" > 118< / td >
< td class = "org-right" > 24< / td >
< / tr >
2021-02-02 19:13:38 +01:00
2021-02-18 11:38:56 +01:00
< tr >
< td class = "org-left" > Torsional< / td >
< td class = "org-right" > 260< / td >
< td class = "org-right" > 1508< / td >
< td class = "org-right" > 6< / td >
< / tr >
< / tbody >
< / table >
2021-02-02 19:13:38 +01:00
< / div >
< / div >
2021-03-10 11:43:00 +01:00
< div id = "outline-container-org4ca82ad" class = "outline-3" >
< h3 id = "org4ca82ad" > < span class = "section-number-3" > 4.2< / span > Setup< / h3 >
2021-03-04 17:29:33 +01:00
< div class = "outline-text-3" id = "text-4-2" >
2021-02-18 11:38:56 +01:00
< p >
2021-03-10 11:43:00 +01:00
The setup is schematically represented in Figure < a href = "#org8fdc757" > 12< / a > .
2021-02-18 11:38:56 +01:00
< / p >
2021-02-02 19:13:38 +01:00
2021-02-18 11:38:56 +01:00
< p >
The force is applied on top of the flexible joint with a distance \(h\) with the joint’ s center.
The displacement of the flexible joint is also measured at the same height.
< / p >
< p >
The height between the joint’ s center and the force application point is:
2021-02-02 19:13:38 +01:00
< / p >
2021-02-18 11:38:56 +01:00
< div class = "org-src-container" >
< pre class = "src src-matlab" > h = 25e< span class = "org-type" > -< / span > 3; < span class = "org-comment" > % Height [m]< / span >
< / pre >
2021-02-02 19:13:38 +01:00
< / div >
2021-02-16 21:24:22 +01:00
2021-03-10 11:43:00 +01:00
< div id = "org8fdc757" class = "figure" >
2021-02-18 11:38:56 +01:00
< p > < img src = "figs/test_bench_flex_side.png" alt = "test_bench_flex_side.png" width = "300px" / >
< / p >
2021-03-04 17:29:33 +01:00
< p > < span class = "figure-number" > Figure 12: < / span > Schematic of the test bench to measure the bending stiffness of the flexible joints< / p >
2021-02-18 11:38:56 +01:00
< / div >
< / div >
< / div >
2021-02-16 21:24:22 +01:00
2021-03-10 11:43:00 +01:00
< div id = "outline-container-org95d9447" class = "outline-3" >
< h3 id = "org95d9447" > < span class = "section-number-3" > 4.3< / span > Effect of Bending< / h3 >
2021-03-04 17:29:33 +01:00
< div class = "outline-text-3" id = "text-4-3" >
2021-02-18 11:38:56 +01:00
< p >
The torque applied is:
2021-02-16 21:24:22 +01:00
< / p >
2021-02-18 11:38:56 +01:00
\begin{equation}
M_y = F_x \cdot h
\end{equation}
< p >
The flexible joint is experiencing a rotation \(\theta_y\) due to the torque \(M_y\):
< / p >
\begin{equation}
\theta_y = \frac{M_y}{k_{R_y}} = \frac{F_x \cdot h}{k_{R_y}}
\end{equation}
< p >
This rotation is then measured by the displacement sensor.
The measured displacement is:
< / p >
\begin{equation}
D_b = h \tan(\theta_y) = h \tan\left( \frac{F_x \cdot h}{k_{R_y}} \right) \label{eq:bending_stiffness_formula}
\end{equation}
2021-02-16 21:24:22 +01:00
< / div >
2021-02-18 11:38:56 +01:00
< / div >
2021-03-10 11:43:00 +01:00
< div id = "outline-container-org989ae59" class = "outline-3" >
< h3 id = "org989ae59" > < span class = "section-number-3" > 4.4< / span > Computation of the bending stiffness< / h3 >
2021-03-04 17:29:33 +01:00
< div class = "outline-text-3" id = "text-4-4" >
2021-02-18 11:38:56 +01:00
< p >
From equation \eqref{eq:bending_stiffness_formula}, we can compute the bending stiffness:
< / p >
\begin{equation}
k_{R_y} = \frac{F_x \cdot h}{\tan^{-1}\left( \frac{D_b}{h} \right)}
\end{equation}
2021-02-16 21:24:22 +01:00
2021-02-18 11:38:56 +01:00
< p >
For small displacement, we have
< / p >
\begin{equation}
\boxed{k_{R_y} \approx h^2 \frac{F_x}{d_x}}
\end{equation}
< p >
And therefore, to precisely measure \(k_{R_y}\), we need to:
< / p >
2021-02-02 19:13:38 +01:00
< ul class = "org-ul" >
2021-02-18 11:38:56 +01:00
< li > precisely measure the motion \(d_x\)< / li >
< li > precisely measure the applied force \(F_x\)< / li >
< li > precisely now the height of the force application point \(h\)< / li >
2021-02-02 19:13:38 +01:00
< / ul >
2021-02-18 11:38:56 +01:00
< / div >
< / div >
2021-02-02 19:13:38 +01:00
2021-03-10 11:43:00 +01:00
< div id = "outline-container-org82d111d" class = "outline-3" >
< h3 id = "org82d111d" > < span class = "section-number-3" > 4.5< / span > Estimation error due to force and displacement sensors accuracy< / h3 >
2021-03-04 17:29:33 +01:00
< div class = "outline-text-3" id = "text-4-5" >
2021-02-18 11:38:56 +01:00
< p >
The maximum error on the measured displacement with the encoder is 40 nm.
This quite negligible compared to the measurement range of 0.5 mm.
< / p >
< p >
The accuracy of the force sensor is around 1% and therefore, we should expect to have an accuracy on the measured stiffness of at most 1%.
< / p >
2021-02-02 19:13:38 +01:00
< / div >
< / div >
2021-02-18 11:38:56 +01:00
2021-03-10 11:43:00 +01:00
< div id = "outline-container-org30e4c30" class = "outline-3" >
< h3 id = "org30e4c30" > < span class = "section-number-3" > 4.6< / span > Estimation error due to Shear< / h3 >
2021-03-04 17:29:33 +01:00
< div class = "outline-text-3" id = "text-4-6" >
2021-02-18 11:38:56 +01:00
< p >
The effect of Shear on the measured displacement is simply:
< / p >
\begin{equation}
D_s = \frac{F_x}{k_s}
\end{equation}
< p >
The measured displacement will be the effect of shear + effect of bending
< / p >
\begin{equation}
d_x = D_b + D_s = h \tan\left( \frac{F_x \cdot h}{k_{R_y}} \right) + \frac{F_x}{k_s} \approx F_x \left( \frac{h^2}{k_{R_y}} + \frac{1}{k_s} \right)
\end{equation}
< p >
The estimated bending stiffness \(k_{\text{est}}\) will then be:
< / p >
\begin{equation}
k_{\text{est}} = h^2 \frac{F_x}{d_x} \approx k_{R_y} \frac{1}{1 + \frac{k_{R_y}}{k_s h^2}}
\end{equation}
< pre class = "example" >
The measurement error due to Shear is 0.1 %
< / pre >
2021-02-02 19:13:38 +01:00
< / div >
< / div >
2021-03-10 11:43:00 +01:00
< div id = "outline-container-org8c74234" class = "outline-3" >
< h3 id = "org8c74234" > < span class = "section-number-3" > 4.7< / span > Estimation error due to force sensor compression< / h3 >
2021-03-04 17:29:33 +01:00
< div class = "outline-text-3" id = "text-4-7" >
2021-02-18 11:38:56 +01:00
< p >
The measured displacement is not done directly at the joint’ s location.
The force sensor compression will then induce an error on the joint’ s stiffness.
< / p >
< p >
The force sensor stiffness \(k_F\) is estimated to be around:
< / p >
< div class = "org-src-container" >
< pre class = "src src-matlab" > kF = 50< span class = "org-type" > /< / span > 0.05e< span class = "org-type" > -< / span > 3; < span class = "org-comment" > % [N/m]< / span >
< / pre >
2021-02-16 19:32:48 +01:00
< / div >
2021-02-18 11:38:56 +01:00
< pre class = "example" >
k_F = 1.0e+06 [N/m]
< / pre >
2021-02-16 21:24:22 +01:00
< p >
2021-02-18 11:38:56 +01:00
The measured displacement will be the sum of the displacement induced by the bending and by the compression of the force sensor:
2021-02-16 21:24:22 +01:00
< / p >
2021-02-18 11:38:56 +01:00
\begin{equation}
d_x = D_b + \frac{F_x}{k_F} = h \tan\left( \frac{F_x \cdot h}{k_{R_y}} \right) + \frac{F_x}{k_F} \approx F_x \left( \frac{h^2}{k_{R_y}} + \frac{1}{k_F} \right)
\end{equation}
< p >
The estimated bending stiffness \(k_{\text{est}}\) will then be:
< / p >
\begin{equation}
k_{\text{est}} = h^2 \frac{F_x}{d_x} \approx k_{R_y} \frac{1}{1 + \frac{k_{R_y}}{k_F h^2}}
\end{equation}
< pre class = "example" >
The measurement error due to height estimation errors is 0.8 %
< / pre >
2021-02-16 21:24:22 +01:00
< / div >
< / div >
2021-03-10 11:43:00 +01:00
< div id = "outline-container-orga4639c7" class = "outline-3" >
< h3 id = "orga4639c7" > < span class = "section-number-3" > 4.8< / span > Estimation error due to height estimation error< / h3 >
2021-03-04 17:29:33 +01:00
< div class = "outline-text-3" id = "text-4-8" >
2021-02-16 21:24:22 +01:00
< p >
2021-02-18 11:38:56 +01:00
Let’ s consider an error in the estimation of the height from the application of the force to the joint’ s center:
< / p >
\begin{equation}
h_{\text{est}} = h (1 + \epsilon)
\end{equation}
< p >
The computed bending stiffness will be:
< / p >
\begin{equation}
k_\text{est} \approx h_{\text{est}}^2 \frac{F_x}{d_x}
\end{equation}
< p >
And the stiffness estimation error is:
2021-02-16 21:24:22 +01:00
< / p >
2021-02-18 11:38:56 +01:00
\begin{equation}
\frac{k_{\text{est}}}{k_{R_y}} = (1 + \epsilon)^2
\end{equation}
2021-02-16 21:24:22 +01:00
2021-02-18 11:38:56 +01:00
< div class = "org-src-container" >
< pre class = "src src-matlab" > h_err = 0.2e< span class = "org-type" > -< / span > 3; < span class = "org-comment" > % Height estimation error [m]< / span >
< / pre >
< / div >
< pre class = "example" >
The measurement error due to height estimation errors of 0.2 [mm] is 1.6 %
< / pre >
< / div >
< / div >
2021-03-10 11:43:00 +01:00
< div id = "outline-container-orgfdab5b0" class = "outline-3" >
< h3 id = "orgfdab5b0" > < span class = "section-number-3" > 4.9< / span > Conclusion< / h3 >
2021-03-04 17:29:33 +01:00
< div class = "outline-text-3" id = "text-4-9" >
2021-02-18 11:38:56 +01:00
< p >
Based on the above analysis, we should expect no better than few percent of accuracy using the current test-bench.
This is well enough for a first estimation of the bending stiffness of the flexible joints.
< / p >
< p >
Another measurement bench allowing better accuracy will be developed.
< / p >
< / div >
< / div >
< / div >
2021-03-10 11:43:00 +01:00
< div id = "outline-container-orgadd76ee" class = "outline-2" >
< h2 id = "orgadd76ee" > < span class = "section-number-2" > 5< / span > First Measurements< / h2 >
2021-03-04 17:29:33 +01:00
< div class = "outline-text-2" id = "text-5" >
2021-02-18 11:38:56 +01:00
< p >
2021-03-10 11:43:00 +01:00
< a id = "orge162618" > < / a >
2021-02-18 11:38:56 +01:00
< / p >
< ul class = "org-ul" >
2021-03-10 11:43:00 +01:00
< li > Section < a href = "#org8f41c54" > 5.1< / a > :< / li >
< li > Section < a href = "#org22b6b03" > 5.2< / a > :< / li >
2021-02-18 11:38:56 +01:00
< / ul >
< / div >
2021-03-10 11:43:00 +01:00
< div id = "outline-container-org48ad99b" class = "outline-3" >
< h3 id = "org48ad99b" > < span class = "section-number-3" > 5.1< / span > Agreement between the probe and the encoder< / h3 >
2021-03-04 17:29:33 +01:00
< div class = "outline-text-3" id = "text-5-1" >
2021-02-18 11:38:56 +01:00
< p >
2021-03-10 11:43:00 +01:00
< a id = "org8f41c54" > < / a >
2021-02-18 11:38:56 +01:00
< / p >
2021-03-10 11:43:00 +01:00
< div class = "note" id = "org2980735" >
2021-02-18 11:38:56 +01:00
< ul class = "org-ul" >
< li > < b > Encoder< / b > : < a href = "doc/L-9517-9448-05-B_Data_sheet_RESOLUTE_BiSS_en.pdf" > Renishaw Resolute 1nm< / a > < / li >
< li > < b > Displacement Probe< / b > : < a href = "doc/Millimar--3723046--BA--C1208-C1216-C1240--FR--2016-11-08.pdf" > Millimar C1216 electronics< / a > and < a href = "doc/tmp3m0cvmue_7888038c-cdc8-48d8-a837-35de02760685.pdf" > Millimar 1318 probe< / a > < / li >
< / ul >
2021-03-10 11:43:00 +01:00
< / div >
2021-02-18 11:38:56 +01:00
< p >
The measurement setup is made such that the probe measured the translation table displacement.
It should then measure the same displacement as the encoder.
Using this setup, we should be able to compare the probe and the encoder.
< / p >
< p >
Let’ s load the measurements.
< / p >
2021-02-16 19:32:48 +01:00
< div class = "org-src-container" >
< pre class = "src src-matlab" > load(< span class = "org-string" > 'meas_probe_against_encoder.mat'< / span > , < span class = "org-string" > 't'< / span > , < span class = "org-string" > 'd'< / span > , < span class = "org-string" > 'dp'< / span > , < span class = "org-string" > 'F'< / span > )
< / pre >
< / div >
2021-02-16 21:24:22 +01:00
< p >
2021-03-10 11:43:00 +01:00
The time domain measured displacement by the probe and by the encoder is shown in Figure < a href = "#org8505712" > 13< / a > .
2021-02-16 21:24:22 +01:00
< / p >
2021-02-16 19:32:48 +01:00
2021-03-10 11:43:00 +01:00
< div id = "org8505712" class = "figure" >
2021-02-16 19:32:48 +01:00
< p > < img src = "figs/comp_encoder_probe_time.png" alt = "comp_encoder_probe_time.png" / >
< / p >
2021-03-04 17:29:33 +01:00
< p > < span class = "figure-number" > Figure 13: < / span > Time domain measurement< / p >
2021-02-16 19:32:48 +01:00
< / div >
2021-02-16 21:24:22 +01:00
< p >
2021-03-10 11:43:00 +01:00
If we zoom, we see that there is some delay between the encoder and the probe (Figure < a href = "#org0ea83ae" > 14< / a > ).
2021-02-16 21:24:22 +01:00
< / p >
2021-02-16 19:32:48 +01:00
2021-03-10 11:43:00 +01:00
< div id = "org0ea83ae" class = "figure" >
2021-02-16 19:32:48 +01:00
< p > < img src = "figs/comp_encoder_probe_time_zoom.png" alt = "comp_encoder_probe_time_zoom.png" / >
< / p >
2021-03-04 17:29:33 +01:00
< p > < span class = "figure-number" > Figure 14: < / span > Time domain measurement (Zoom)< / p >
2021-02-16 19:32:48 +01:00
< / div >
2021-02-16 21:24:22 +01:00
< p >
This delay is estimated using the < code > finddelay< / code > command.
< / p >
2021-02-16 19:32:48 +01:00
< pre class = "example" >
2021-02-16 21:24:22 +01:00
The time delay is approximately 15.8 [ms]
2021-02-16 19:32:48 +01:00
< / pre >
2021-02-16 21:24:22 +01:00
< p >
2021-03-10 11:43:00 +01:00
The measured mismatch between the encoder and the probe with and without compensating for the time delay are shown in Figure < a href = "#org8c19e48" > 15< / a > .
2021-02-16 21:24:22 +01:00
< / p >
2021-02-16 19:32:48 +01:00
2021-03-10 11:43:00 +01:00
< div id = "org8c19e48" class = "figure" >
2021-02-16 19:32:48 +01:00
< p > < img src = "figs/comp_encoder_probe_mismatch.png" alt = "comp_encoder_probe_mismatch.png" / >
< / p >
2021-03-04 17:29:33 +01:00
< p > < span class = "figure-number" > Figure 15: < / span > Measurement mismatch, with and without delay compensation< / p >
2021-02-16 19:32:48 +01:00
< / div >
2021-02-16 21:24:22 +01:00
< p >
2021-03-10 11:43:00 +01:00
Finally, the displacement of the probe is shown as a function of the displacement of the encoder and a linear fit is made (Figure < a href = "#org0313952" > 16< / a > ).
2021-02-16 21:24:22 +01:00
< / p >
2021-02-16 19:32:48 +01:00
2021-03-10 11:43:00 +01:00
< div id = "org0313952" class = "figure" >
2021-02-16 19:32:48 +01:00
< p > < img src = "figs/comp_encoder_probe_linear_fit.png" alt = "comp_encoder_probe_linear_fit.png" / >
< / p >
2021-03-04 17:29:33 +01:00
< p > < span class = "figure-number" > Figure 16: < / span > Measured displacement by the probe as a function of the measured displacement by the encoder< / p >
2021-02-16 21:24:22 +01:00
< / div >
2021-03-10 11:43:00 +01:00
< div class = "important" id = "orgf816b27" >
2021-02-16 21:24:22 +01:00
< p >
From the measurement, it is shown that the probe is well calibrated.
However, there is some time delay of tens of milliseconds that could induce some measurement errors.
< / p >
2021-02-16 19:32:48 +01:00
< / div >
< / div >
< / div >
2021-03-10 11:43:00 +01:00
< div id = "outline-container-org9afc147" class = "outline-3" >
< h3 id = "org9afc147" > < span class = "section-number-3" > 5.2< / span > Measurement of the Millimar 1318 probe stiffness< / h3 >
2021-03-04 17:29:33 +01:00
< div class = "outline-text-3" id = "text-5-2" >
2021-02-18 11:38:56 +01:00
< p >
2021-03-10 11:43:00 +01:00
< a id = "org22b6b03" > < / a >
2021-02-18 11:38:56 +01:00
< / p >
2021-03-10 11:43:00 +01:00
< div class = "note" id = "org62d5a64" >
2021-02-16 19:32:48 +01:00
< ul class = "org-ul" >
< li > < b > Translation Stage< / b > : < a href = "doc/V-408-Datasheet.pdf" > V-408< / a > < / li >
< li > < b > Load Cell< / b > : < a href = "doc/A700000007147087.pdf" > FC2231-0000-0010-L< / a > < / li >
< li > < b > Encoder< / b > : < a href = "doc/L-9517-9448-05-B_Data_sheet_RESOLUTE_BiSS_en.pdf" > Renishaw Resolute 1nm< / a > < / li >
< li > < b > Displacement Probe< / b > : < a href = "doc/Millimar--3723046--BA--C1208-C1216-C1240--FR--2016-11-08.pdf" > Millimar C1216 electronics< / a > and < a href = "doc/tmp3m0cvmue_7888038c-cdc8-48d8-a837-35de02760685.pdf" > Millimar 1318 probe< / a > < / li >
< / ul >
< / div >
2021-03-10 11:43:00 +01:00
< div id = "orgd0a66d0" class = "figure" >
2021-02-16 19:32:48 +01:00
< p > < img src = "figs/setup_mahr_stiff_meas_side.jpg" alt = "setup_mahr_stiff_meas_side.jpg" / >
< / p >
2021-03-04 17:29:33 +01:00
< p > < span class = "figure-number" > Figure 17: < / span > Setup - Side View< / p >
2021-02-16 19:32:48 +01:00
< / div >
2021-03-10 11:43:00 +01:00
< div id = "org37fbba6" class = "figure" >
2021-02-16 19:32:48 +01:00
< p > < img src = "figs/setup_mahr_stiff_meas_top.jpg" alt = "setup_mahr_stiff_meas_top.jpg" / >
< / p >
2021-03-04 17:29:33 +01:00
< p > < span class = "figure-number" > Figure 18: < / span > Setup - Top View< / p >
2021-02-16 19:32:48 +01:00
< / div >
2021-02-16 21:24:22 +01:00
< p >
Let’ s load the measurement results.
< / p >
2021-02-16 19:32:48 +01:00
< div class = "org-src-container" >
< pre class = "src src-matlab" > load(< span class = "org-string" > 'meas_stiff_probe.mat'< / span > , < span class = "org-string" > 't'< / span > , < span class = "org-string" > 'd'< / span > , < span class = "org-string" > 'dp'< / span > , < span class = "org-string" > 'F'< / span > )
< / pre >
< / div >
< p >
2021-03-10 11:43:00 +01:00
The time domain measured force and displacement are shown in Figure < a href = "#orgcf9e77e" > 19< / a > .
2021-02-16 19:32:48 +01:00
< / p >
2021-03-10 11:43:00 +01:00
< div id = "orgcf9e77e" class = "figure" >
2021-02-16 19:32:48 +01:00
< p > < img src = "figs/mahr_time_domain.png" alt = "mahr_time_domain.png" / >
< / p >
2021-03-04 17:29:33 +01:00
< p > < span class = "figure-number" > Figure 19: < / span > Time domain measurements< / p >
2021-02-16 19:32:48 +01:00
< / div >
< p >
Now we can estimate the stiffness with a linear fit.
< / p >
< p >
This is very close to the 0.04 [N/mm] written in the < a href = "doc/tmp3m0cvmue_7888038c-cdc8-48d8-a837-35de02760685.pdf" > Millimar 1318 probe datasheet< / a > .
< / p >
< p >
2021-03-10 11:43:00 +01:00
And compare the linear fit with the raw measurement data (Figure < a href = "#org91cec56" > 20< / a > ).
2021-02-16 19:32:48 +01:00
< / p >
2021-03-10 11:43:00 +01:00
< div id = "org91cec56" class = "figure" >
2021-02-16 19:32:48 +01:00
< p > < img src = "figs/mahr_stiffness_f_d_plot.png" alt = "mahr_stiffness_f_d_plot.png" / >
< / p >
2021-03-04 17:29:33 +01:00
< p > < span class = "figure-number" > Figure 20: < / span > Measured displacement as a function of the measured force. Raw data and linear fit< / p >
2021-02-16 21:24:22 +01:00
< / div >
2021-03-10 11:43:00 +01:00
< div class = "summary" id = "orgda156e0" >
2021-02-16 21:24:22 +01:00
< p >
The Millimar 1318 probe has a stiffness of \(\approx 0.04\,[N/mm]\).
< / p >
2021-03-10 11:43:00 +01:00
< / div >
< / div >
< / div >
< div id = "outline-container-org412d759" class = "outline-3" >
< h3 id = "org412d759" > < span class = "section-number-3" > 5.3< / span > Force Sensor Calibration< / h3 >
< div class = "outline-text-3" id = "text-5-3" >
< div class = "note" id = "org55845f0" >
< p >
< b > Load Cells< / b > :
< / p >
< ul class = "org-ul" >
< li > < a href = "doc/A700000007147087.pdf" > FC2231-0000-0010-L< / a > < / li >
< li > < a href = "doc/FRE_DS_XFL212R_FR_A3.pdf" > XFL212R< / a > < / li >
< / ul >
< / div >
< p >
There are both specified to have \(\pm 1 \%\) of non-linearity over the full range.
< / p >
< p >
The XFL212R has a spherical interface while the FC2231 has a flat surface.
Therefore, we should have a nice point contact when using the two force sensors as shown in Figure < a href = "#orgb68dc52" > 21< / a > .
< / p >
< div id = "orgb68dc52" class = "figure" >
< p > < img src = "figs/IMG_20210309_145333.jpg" alt = "IMG_20210309_145333.jpg" / >
< / p >
< p > < span class = "figure-number" > Figure 21: < / span > Zoom on the two force sensors in contact< / p >
< / div >
< p >
The two force sensors are therefore measuring the exact same force, and we can compare the two measurements.
< / p >
< p >
Let’ s load the measured force of both sensors.
< / p >
< div class = "org-src-container" >
< pre class = "src src-matlab" > < span class = "org-matlab-cellbreak" > < span class = "org-comment" > %% Load measurement data< / span > < / span >
load(< span class = "org-string" > 'calibration_force_sensor.mat'< / span > , < span class = "org-string" > 't'< / span > , < span class = "org-string" > 'F'< / span > , < span class = "org-string" > 'Fc'< / span > )
< / pre >
< / div >
< p >
We remove any offset such that they are both measuring no force when not in contact.
< / p >
< div class = "org-src-container" >
< pre class = "src src-matlab" > < span class = "org-matlab-cellbreak" > < span class = "org-comment" > %% Remove offset< / span > < / span >
F = F < span class = "org-type" > -< / span > mean(F( t < span class = "org-type" > > < / span > 0.5 < span class = "org-type" > & < / span > t < span class = "org-type" > < < / span > 1.0));
Fc = Fc < span class = "org-type" > -< / span > mean(Fc(t < span class = "org-type" > > < / span > 0.5 < span class = "org-type" > & < / span > t < span class = "org-type" > < < / span > 1.0));
< / pre >
< / div >
< div id = "org2198cb3" class = "figure" >
< p > < img src = "figs/force_calibration_time.png" alt = "force_calibration_time.png" / >
< / p >
< p > < span class = "figure-number" > Figure 22: < / span > Measured force using both sensors as a function of time< / p >
< / div >
< p >
Let’ s select only the first part from the moment they are in contact until the maximum force is reached.
< / p >
< div class = "org-src-container" >
< pre class = "src src-matlab" > < span class = "org-matlab-cellbreak" > < span class = "org-comment" > %% Only get the first part until maximum force< / span > < / span >
F = F( t < span class = "org-type" > > < / span > 1.55 < span class = "org-type" > & < / span > t < span class = "org-type" > < < / span > 4.65);
Fc = Fc(t < span class = "org-type" > > < / span > 1.55 < span class = "org-type" > & < / span > t < span class = "org-type" > < < / span > 4.65);
< / pre >
< / div >
< p >
Then, let’ s make a linear fit between the two measured forces.
< / p >
< div class = "org-src-container" >
< pre class = "src src-matlab" > < span class = "org-matlab-cellbreak" > < span class = "org-comment" > %% Make a line fit< / span > < / span >
fit_F = polyfit(Fc, F, 1);
< / pre >
< / div >
< p >
The two forces are plotted against each other as well as the linear fit in Figure < a href = "#orgbd6e825" > 23< / a > .
< / p >
< div id = "orgbd6e825" class = "figure" >
< p > < img src = "figs/calibrated_force_dit.png" alt = "calibrated_force_dit.png" / >
< / p >
< p > < span class = "figure-number" > Figure 23: < / span > Measured two forces and linear fit< / p >
< / div >
< p >
The measurement error between the two sensors is shown in Figure < a href = "#org41621c6" > 24< / a > .
It is below 0.1N for the full measurement range.
< / p >
< div id = "org41621c6" class = "figure" >
< p > < img src = "figs/force_meas_error.png" alt = "force_meas_error.png" / >
< / p >
< p > < span class = "figure-number" > Figure 24: < / span > Error in Newtons< / p >
< / div >
< p >
The same error is shown in percentage in Figure < a href = "#org6fc7087" > 25< / a > .
The error is less than 1% when the measured force is above 5N.
< / p >
< div id = "org6fc7087" class = "figure" >
< p > < img src = "figs/force_meas_error_percentage.png" alt = "force_meas_error_percentage.png" / >
< / p >
< p > < span class = "figure-number" > Figure 25: < / span > Error in percentage< / p >
< / div >
< / div >
< / div >
< div id = "outline-container-org709b570" class = "outline-3" >
< h3 id = "org709b570" > < span class = "section-number-3" > 5.4< / span > Force Sensor Noise< / h3 >
< div class = "outline-text-3" id = "text-5-4" >
< p >
The objective of this measurement is to estimate the noise of the force sensor < a href = "doc/A700000007147087.pdf" > FC2231-0000-0010-L< / a > .
To do so, we don’ t apply any force to the sensor, and we measure its output for 100s.
< / p >
< p >
Let’ s load the measurement data.
< / p >
< div class = "org-src-container" >
< pre class = "src src-matlab" > < span class = "org-matlab-cellbreak" > < span class = "org-comment" > %% Load measurement data< / span > < / span >
load(< span class = "org-string" > 'force_sensor_noise_meas.mat'< / span > , < span class = "org-string" > 't'< / span > , < span class = "org-string" > 'F'< / span > );
Ts = t(2) < span class = "org-type" > -< / span > t(1);
< / pre >
< / div >
< p >
The measured force is shown in Figure < a href = "#orgb4486a9" > 26< / a > .
< / p >
< div id = "orgb4486a9" class = "figure" >
< p > < img src = "figs/force_noise_time.png" alt = "force_noise_time.png" / >
< / p >
< p > < span class = "figure-number" > Figure 26: < / span > Measured force< / p >
< / div >
< p >
Let’ s now compute the Amplitude Spectral Density of the measured force.
< / p >
< div class = "org-src-container" >
< pre class = "src src-matlab" > < span class = "org-matlab-cellbreak" > < span class = "org-comment" > %% Compute Spectral Density of Measured Force< / span > < / span >
< span class = "org-comment" > % Hanning window< / span >
win = hanning(ceil(1< span class = "org-type" > /< / span > Ts));
< span class = "org-comment" > % Power Spectral Density< / span >
[pxx, f] = pwelch(F, win, [], [], 1< span class = "org-type" > /< / span > Ts);
< / pre >
< / div >
< p >
The results is shown in Figure < a href = "#orgd71adad" > 27< / a > .
< / p >
< div id = "orgd71adad" class = "figure" >
< p > < img src = "figs/force_noise_asd.png" alt = "force_noise_asd.png" / >
< / p >
< p > < span class = "figure-number" > Figure 27: < / span > Amplitude Spectral Density of the meaured force< / p >
< / div >
< / div >
< / div >
< div id = "outline-container-org9cde23b" class = "outline-3" >
< h3 id = "org9cde23b" > < span class = "section-number-3" > 5.5< / span > Force Sensor Stiffness< / h3 >
< div class = "outline-text-3" id = "text-5-5" >
< p >
The objective of this measurement is to estimate the stiffness of the force sensor < a href = "doc/A700000007147087.pdf" > FC2231-0000-0010-L< / a > .
< / p >
< p >
To do so, a very stiff element is fixed in front of the force sensor as shown in Figure < a href = "#orge139ed1" > 28< / a > .
< / p >
< p >
Then, we apply a force on the stiff element through the force sensor.
We measure the deflection of the force sensor using an encoder.
< / p >
< p >
Then, having the force and the deflection, we should be able to estimate the stiffness of the force sensor supposing the stiffness of the other elements are much larger.
< / p >
< div id = "orge139ed1" class = "figure" >
< p > < img src = "figs/IMG_20210309_145242.jpg" alt = "IMG_20210309_145242.jpg" / >
< / p >
< p > < span class = "figure-number" > Figure 28: < / span > Bench used to measured the stiffness of the force sensor< / p >
< / div >
< p >
From the documentation, the deflection of the sensor at the maximum load (50N) is 0.05mm, the stiffness is therefore foreseen to be around \(1\,N/\mu m\).
< / p >
< p >
Let’ s load the measured force as well as the measured displacement.
< / p >
< div class = "org-src-container" >
< pre class = "src src-matlab" > < span class = "org-matlab-cellbreak" > < span class = "org-comment" > %% Load measurement data< / span > < / span >
load(< span class = "org-string" > 'force_sensor_stiff_meas.mat'< / span > , < span class = "org-string" > 't'< / span > , < span class = "org-string" > 'F'< / span > , < span class = "org-string" > 'd'< / span > )
< / pre >
< / div >
< div class = "org-src-container" >
< pre class = "src src-matlab" > < span class = "org-matlab-cellbreak" > < span class = "org-comment" > %% Select important part of data< / span > < / span >
F = F( t < span class = "org-type" > > < / span > 1.55 < span class = "org-type" > & < / span > t < span class = "org-type" > < < / span > 4.65);
d = d( t < span class = "org-type" > > < / span > 1.55 < span class = "org-type" > & < / span > t < span class = "org-type" > < < / span > 4.65);
< / pre >
< / div >
< div class = "org-src-container" >
< pre class = "src src-matlab" > < span class = "org-matlab-cellbreak" > < span class = "org-comment" > %% Linear fit< / span > < / span >
fit_k = polyfit(F, d, 1);
< / pre >
< / div >
< div class = "org-src-container" >
< pre class = "src src-matlab" > < span class = "org-matlab-cellbreak" > < span class = "org-comment" > %% Force Sensor Stiffness< / span > < / span >
fit_k(1)
< / pre >
2021-02-16 19:32:48 +01:00
< / div >
< / div >
< / div >
< / div >
2021-03-10 11:43:00 +01:00
< div id = "outline-container-orgfddad67" class = "outline-2" >
< h2 id = "orgfddad67" > < span class = "section-number-2" > 6< / span > Bending Stiffness Measurement< / h2 >
2021-03-04 17:29:33 +01:00
< div class = "outline-text-2" id = "text-6" >
< p >
2021-03-10 11:43:00 +01:00
< a id = "orgcf7ec01" > < / a >
2021-03-04 17:29:33 +01:00
< / p >
< / div >
2021-03-10 11:43:00 +01:00
< div id = "outline-container-org366c038" class = "outline-3" >
< h3 id = "org366c038" > < span class = "section-number-3" > 6.1< / span > Introduction< / h3 >
2021-03-04 17:29:33 +01:00
< div class = "outline-text-3" id = "text-6-1" >
< p >
2021-03-10 11:43:00 +01:00
A picture of the bench used to measure the X-bending stiffness of the flexible joints is shown in Figure < a href = "#org7f8bbc5" > 29< / a > .
A closer view on flexible joint is shown in Figure < a href = "#orgeee40da" > 30< / a > and a zoom on the force sensor tip is shown in Figure < a href = "#org781654e" > 31< / a > .
2021-03-04 17:29:33 +01:00
< / p >
2021-03-10 11:43:00 +01:00
< div id = "org7f8bbc5" class = "figure" >
2021-03-04 17:29:33 +01:00
< p > < img src = "figs/picture_bending_x_meas_side_overview.jpg" alt = "picture_bending_x_meas_side_overview.jpg" / >
< / p >
2021-03-10 11:43:00 +01:00
< p > < span class = "figure-number" > Figure 29: < / span > Side view of the flexible joint stiffness bench. X-Bending stiffness is measured.< / p >
2021-03-04 17:29:33 +01:00
< / div >
2021-03-10 11:43:00 +01:00
< div id = "orgeee40da" class = "figure" >
2021-03-04 17:29:33 +01:00
< p > < img src = "figs/picture_bending_x_meas_side_close.jpg" alt = "picture_bending_x_meas_side_close.jpg" / >
< / p >
2021-03-10 11:43:00 +01:00
< p > < span class = "figure-number" > Figure 30: < / span > Zoom on the flexible joint - Side view< / p >
2021-03-04 17:29:33 +01:00
< / div >
2021-03-10 11:43:00 +01:00
< div id = "org781654e" class = "figure" >
2021-03-04 17:29:33 +01:00
< p > < img src = "figs/picture_bending_x_meas_side_zoom.jpg" alt = "picture_bending_x_meas_side_zoom.jpg" / >
< / p >
2021-03-10 11:43:00 +01:00
< p > < span class = "figure-number" > Figure 31: < / span > Zoom on the tip of the force sensor< / p >
2021-03-04 17:29:33 +01:00
< / div >
< p >
2021-03-10 11:43:00 +01:00
The same bench used to measure the Y-bending stiffness of the flexible joint is shown in Figure < a href = "#org12731d8" > 32< / a > .
2021-03-04 17:29:33 +01:00
< / p >
2021-03-10 11:43:00 +01:00
< div id = "org12731d8" class = "figure" >
2021-03-04 17:29:33 +01:00
< p > < img src = "figs/picture_bending_y_meas_side_close.jpg" alt = "picture_bending_y_meas_side_close.jpg" / >
< / p >
2021-03-10 11:43:00 +01:00
< p > < span class = "figure-number" > Figure 32: < / span > Stiffness measurement bench - Y-d bending measurement< / p >
2021-03-04 17:29:33 +01:00
< / div >
< / div >
< / div >
2021-03-10 11:43:00 +01:00
< div id = "outline-container-org2174e74" class = "outline-3" >
< h3 id = "org2174e74" > < span class = "section-number-3" > 6.2< / span > Analysis of one measurement< / h3 >
2021-03-04 17:29:33 +01:00
< div class = "outline-text-3" id = "text-6-2" >
< p >
In this section is shown how the data are analysis in order to measured:
< / p >
< ul class = "org-ul" >
< li > the bending stiffness< / li >
< li > the bending stroke< / li >
< li > the stiffness once the mechanical stops are in contact< / li >
< / ul >
< p >
The height from the flexible joint’ s center and the point of application force \(h\) is defined below:
< / p >
< div class = "org-src-container" >
< pre class = "src src-matlab" > h = 25e< span class = "org-type" > -< / span > 3; < span class = "org-comment" > % [m]< / span >
< / pre >
< / div >
< div class = "org-src-container" >
< pre class = "src src-matlab" > < span class = "org-matlab-cellbreak" > < span class = "org-comment" > %% Load Data< / span > < / span >
load(< span class = "org-string" > 'meas_stiff_flex_1_x.mat'< / span > , < span class = "org-string" > 't'< / span > , < span class = "org-string" > 'F'< / span > , < span class = "org-string" > 'd'< / span > );
< span class = "org-matlab-cellbreak" > < span class = "org-comment" > %% Zero the force< / span > < / span >
F = F < span class = "org-type" > -< / span > mean(F(t < span class = "org-type" > > < / span > 0.1 < span class = "org-type" > & < / span > t < span class = "org-type" > < < / span > 0.3));
< span class = "org-matlab-cellbreak" > < span class = "org-comment" > %% Start measurement at t = 0.2 s< / span > < / span >
d = d(t < span class = "org-type" > > < / span > 0.2);
F = F(t < span class = "org-type" > > < / span > 0.2);
t = t(t < span class = "org-type" > > < / span > 0.2); t = t < span class = "org-type" > -< / span > t(1);
< / pre >
< / div >
< p >
2021-03-10 11:43:00 +01:00
The obtained time domain measurements are shown in Figure < a href = "#org2e16681" > 33< / a > .
2021-03-04 17:29:33 +01:00
< / p >
2021-03-10 11:43:00 +01:00
< div id = "org2e16681" class = "figure" >
2021-03-04 17:29:33 +01:00
< p > < img src = "figs/flex_joint_meas_example_time_domain.png" alt = "flex_joint_meas_example_time_domain.png" / >
< / p >
2021-03-10 11:43:00 +01:00
< p > < span class = "figure-number" > Figure 33: < / span > Typical time domain measurements< / p >
2021-03-04 17:29:33 +01:00
< / div >
< p >
2021-03-10 11:43:00 +01:00
The displacement as a function of the force is then shown in Figure < a href = "#orgb68f8ac" > 34< / a > .
2021-03-04 17:29:33 +01:00
< / p >
2021-03-10 11:43:00 +01:00
< div id = "orgb68f8ac" class = "figure" >
2021-03-04 17:29:33 +01:00
< p > < img src = "figs/flex_joint_meas_example_F_d.png" alt = "flex_joint_meas_example_F_d.png" / >
< / p >
2021-03-10 11:43:00 +01:00
< p > < span class = "figure-number" > Figure 34: < / span > Typical measurement of the diplacement as a function of the applied force< / p >
2021-03-04 17:29:33 +01:00
< / div >
< p >
2021-03-10 11:43:00 +01:00
The bending stiffness can be estimated by computing the slope of the curve in Figure < a href = "#orgb68f8ac" > 34< / a > .
2021-03-04 17:29:33 +01:00
The bending stroke and the stiffness when touching the mechanical stop can also be estimated from the same figure.
< / p >
< div class = "org-src-container" >
< pre class = "src src-matlab" > < span class = "org-matlab-cellbreak" > < span class = "org-comment" > %% Determine the linear region and region when touching the mechanical stop< / span > < / span >
< span class = "org-comment" > % Find when the force sensor touches the flexible joint< / span >
i_l_start = find(F < span class = "org-type" > > < / span > 0.3, 1, < span class = "org-string" > 'first'< / span > );
< span class = "org-comment" > % Reset the measured diplacement at that point< / span >
d = d < span class = "org-type" > -< / span > d(i_l_start);
< span class = "org-comment" > % Find then the maximum force is applied< / span >
[< span class = "org-type" > ~< / span > , i_s_stop] = max(F);
< span class = "org-comment" > % Linear region stops ~ when 90% of the stroke is reached< / span >
i_l_stop = find(d < span class = "org-type" > > < / span > 0.9< span class = "org-type" > *< / span > d(i_s_stop), 1, < span class = "org-string" > 'first'< / span > );
< span class = "org-comment" > % "Stop" region start ~1N before maximum force is applied< / span >
i_s_start = find(F < span class = "org-type" > > < / span > max(F)< span class = "org-type" > -< / span > 1, 1, < span class = "org-string" > 'first'< / span > );
< span class = "org-matlab-cellbreak" > < span class = "org-comment" > %% Define variables for the two regions< / span > < / span >
F_l = F(i_l_start< span class = "org-type" > :< / span > i_l_stop);
d_l = d(i_l_start< span class = "org-type" > :< / span > i_l_stop);
F_s = F(i_s_start< span class = "org-type" > :< / span > i_s_stop);
d_s = d(i_s_start< span class = "org-type" > :< / span > i_s_stop);
< / pre >
< / div >
< div class = "org-src-container" >
< pre class = "src src-matlab" > < span class = "org-matlab-cellbreak" > < span class = "org-comment" > %% Fit the best straight line for the two regions< / span > < / span >
fit_l = polyfit(F_l, d_l, 1);
fit_s = polyfit(F_s, d_s, 1);
< span class = "org-matlab-cellbreak" > < span class = "org-comment" > %% Reset displacement based on fit< / span > < / span >
d = d < span class = "org-type" > -< / span > fit_l(2);
fit_s< span class = "org-type" > (2) < / span > = fit_s(2) < span class = "org-type" > -< / span > fit_l(2);
fit_l< span class = "org-type" > (2) < / span > = 0;
< / pre >
< / div >
< p >
2021-03-10 11:43:00 +01:00
The raw data as well as the fit corresponding to the two stiffnesses are shown in Figure < a href = "#orgafae209" > 35< / a > .
2021-03-04 17:29:33 +01:00
< / p >
2021-03-10 11:43:00 +01:00
< div id = "orgafae209" class = "figure" >
2021-03-04 17:29:33 +01:00
< p > < img src = "figs/flex_joint_meas_example_F_d_lin_fit.png" alt = "flex_joint_meas_example_F_d_lin_fit.png" / >
< / p >
2021-03-10 11:43:00 +01:00
< p > < span class = "figure-number" > Figure 35: < / span > Typical measurement of the diplacement as a function of the applied force with estimated linear fits< / p >
2021-03-04 17:29:33 +01:00
< / div >
< p >
Then, the bending stroke is estimated as crossing point between the two fitted lines:
< / p >
< div class = "org-src-container" >
< pre class = "src src-matlab" > d_max = fit_l(1)< span class = "org-type" > *< / span > fit_s(2)< span class = "org-type" > /< / span > (fit_l(1) < span class = "org-type" > -< / span > fit_s(1));
< / pre >
< / div >
< p >
2021-03-10 11:43:00 +01:00
The obtained characteristics are summarized in Table < a href = "#orgfece359" > 5< / a > .
2021-03-04 17:29:33 +01:00
< / p >
2021-03-10 11:43:00 +01:00
< table id = "orgfece359" border = "2" cellspacing = "0" cellpadding = "6" rules = "groups" frame = "hsides" >
2021-03-04 17:29:33 +01:00
< caption class = "t-above" > < span class = "table-number" > Table 5:< / span > Estimated characteristics of the flexible joint number 1 for the X-direction< / caption >
< colgroup >
< col class = "org-left" / >
< col class = "org-right" / >
< / colgroup >
< tbody >
< tr >
< td class = "org-left" > Bending Stiffness [Nm/rad]< / td >
< td class = "org-right" > 5.5< / td >
< / tr >
< tr >
< td class = "org-left" > Bending Stiffness @ stop [Nm/rad]< / td >
< td class = "org-right" > 173.6< / td >
< / tr >
< tr >
< td class = "org-left" > Bending Stroke [mrad]< / td >
< td class = "org-right" > 18.9< / td >
< / tr >
< / tbody >
< / table >
< / div >
< / div >
2021-03-10 11:43:00 +01:00
< div id = "outline-container-org134bc98" class = "outline-3" >
< h3 id = "org134bc98" > < span class = "section-number-3" > 6.3< / span > Bending stiffness and bending stroke of all the flexible joints< / h3 >
2021-03-04 17:29:33 +01:00
< div class = "outline-text-3" id = "text-6-3" >
< p >
Now, let’ s estimate the bending stiffness and stroke for all the flexible joints.
< / p >
< p >
2021-03-10 11:43:00 +01:00
The results are summarized in Table < a href = "#orge69a370" > 6< / a > for the X direction and in Table < a href = "#orge08146c" > 7< / a > for the Y direction.
2021-03-04 17:29:33 +01:00
< / p >
2021-03-10 11:43:00 +01:00
< table id = "orge69a370" border = "2" cellspacing = "0" cellpadding = "6" rules = "groups" frame = "hsides" >
2021-03-04 17:29:33 +01:00
< caption class = "t-above" > < span class = "table-number" > Table 6:< / span > Measured characteristics of the flexible joints in the X direction< / caption >
< colgroup >
< col class = "org-right" / >
< col class = "org-right" / >
< col class = "org-right" / >
< col class = "org-right" / >
< / colgroup >
< thead >
< tr >
< th scope = "col" class = "org-right" >   < / th >
2021-03-10 11:43:00 +01:00
< th scope = "col" class = "org-right" > \(R_{R_x}\) [Nm/rad]< / th >
< th scope = "col" class = "org-right" > \(k_{R_x,s}\) [Nm/rad]< / th >
< th scope = "col" class = "org-right" > \(R_{x,\text{max}}\) [mrad]< / th >
2021-03-04 17:29:33 +01:00
< / tr >
< / thead >
< tbody >
< tr >
< td class = "org-right" > 1< / td >
< td class = "org-right" > 5.5< / td >
< td class = "org-right" > 173.6< / td >
< td class = "org-right" > 18.9< / td >
< / tr >
< tr >
< td class = "org-right" > 2< / td >
< td class = "org-right" > 6.1< / td >
< td class = "org-right" > 195.0< / td >
< td class = "org-right" > 17.6< / td >
< / tr >
< tr >
< td class = "org-right" > 3< / td >
< td class = "org-right" > 6.1< / td >
< td class = "org-right" > 191.3< / td >
< td class = "org-right" > 17.7< / td >
< / tr >
< tr >
< td class = "org-right" > 4< / td >
< td class = "org-right" > 5.8< / td >
< td class = "org-right" > 136.7< / td >
< td class = "org-right" > 18.3< / td >
< / tr >
< tr >
< td class = "org-right" > 5< / td >
< td class = "org-right" > 5.7< / td >
< td class = "org-right" > 88.9< / td >
< td class = "org-right" > 22.0< / td >
< / tr >
< tr >
< td class = "org-right" > 6< / td >
< td class = "org-right" > 5.7< / td >
< td class = "org-right" > 183.9< / td >
< td class = "org-right" > 18.7< / td >
< / tr >
< tr >
< td class = "org-right" > 7< / td >
< td class = "org-right" > 5.7< / td >
< td class = "org-right" > 157.9< / td >
< td class = "org-right" > 17.9< / td >
< / tr >
< tr >
< td class = "org-right" > 8< / td >
< td class = "org-right" > 5.8< / td >
< td class = "org-right" > 166.1< / td >
< td class = "org-right" > 17.9< / td >
< / tr >
< tr >
< td class = "org-right" > 9< / td >
< td class = "org-right" > 5.8< / td >
< td class = "org-right" > 159.5< / td >
< td class = "org-right" > 18.2< / td >
< / tr >
< tr >
< td class = "org-right" > 10< / td >
< td class = "org-right" > 6.0< / td >
< td class = "org-right" > 143.6< / td >
< td class = "org-right" > 18.1< / td >
< / tr >
< tr >
< td class = "org-right" > 11< / td >
< td class = "org-right" > 5.0< / td >
< td class = "org-right" > 163.8< / td >
< td class = "org-right" > 17.7< / td >
< / tr >
< tr >
< td class = "org-right" > 12< / td >
< td class = "org-right" > 6.1< / td >
< td class = "org-right" > 111.9< / td >
< td class = "org-right" > 17.0< / td >
< / tr >
< tr >
< td class = "org-right" > 13< / td >
< td class = "org-right" > 6.0< / td >
< td class = "org-right" > 142.0< / td >
< td class = "org-right" > 17.4< / td >
< / tr >
< tr >
< td class = "org-right" > 14< / td >
< td class = "org-right" > 5.8< / td >
< td class = "org-right" > 130.1< / td >
< td class = "org-right" > 17.9< / td >
< / tr >
< tr >
< td class = "org-right" > 15< / td >
< td class = "org-right" > 5.7< / td >
< td class = "org-right" > 170.7< / td >
< td class = "org-right" > 18.6< / td >
< / tr >
< tr >
< td class = "org-right" > 16< / td >
< td class = "org-right" > 6.0< / td >
< td class = "org-right" > 148.7< / td >
< td class = "org-right" > 17.5< / td >
< / tr >
< / tbody >
< / table >
2021-03-10 11:43:00 +01:00
< table id = "orge08146c" border = "2" cellspacing = "0" cellpadding = "6" rules = "groups" frame = "hsides" >
2021-03-04 17:29:33 +01:00
< caption class = "t-above" > < span class = "table-number" > Table 7:< / span > Measured characteristics of the flexible joints in the Y direction< / caption >
< colgroup >
< col class = "org-right" / >
< col class = "org-right" / >
< col class = "org-right" / >
< col class = "org-right" / >
< / colgroup >
< thead >
< tr >
< th scope = "col" class = "org-right" >   < / th >
2021-03-10 11:43:00 +01:00
< th scope = "col" class = "org-right" > \(R_{R_y}\) [Nm/rad]< / th >
< th scope = "col" class = "org-right" > \(k_{R_y,s}\) [Nm/rad]< / th >
< th scope = "col" class = "org-right" > \(R_{y,\text{may}}\) [mrad]< / th >
2021-03-04 17:29:33 +01:00
< / tr >
< / thead >
< tbody >
< tr >
< td class = "org-right" > 1< / td >
< td class = "org-right" > 5.7< / td >
< td class = "org-right" > 323.5< / td >
< td class = "org-right" > 17.9< / td >
< / tr >
< tr >
< td class = "org-right" > 2< / td >
< td class = "org-right" > 5.9< / td >
< td class = "org-right" > 306.0< / td >
< td class = "org-right" > 17.2< / td >
< / tr >
< tr >
< td class = "org-right" > 3< / td >
< td class = "org-right" > 6.0< / td >
< td class = "org-right" > 224.4< / td >
< td class = "org-right" > 16.8< / td >
< / tr >
< tr >
< td class = "org-right" > 4< / td >
< td class = "org-right" > 5.7< / td >
< td class = "org-right" > 247.3< / td >
< td class = "org-right" > 17.8< / td >
< / tr >
< tr >
< td class = "org-right" > 5< / td >
< td class = "org-right" > 5.8< / td >
< td class = "org-right" > 250.9< / td >
< td class = "org-right" > 13.0< / td >
< / tr >
< tr >
< td class = "org-right" > 6< / td >
< td class = "org-right" > 5.8< / td >
< td class = "org-right" > 244.5< / td >
< td class = "org-right" > 17.8< / td >
< / tr >
< tr >
< td class = "org-right" > 7< / td >
< td class = "org-right" > 5.3< / td >
< td class = "org-right" > 214.8< / td >
< td class = "org-right" > 18.1< / td >
< / tr >
< tr >
< td class = "org-right" > 8< / td >
< td class = "org-right" > 5.8< / td >
< td class = "org-right" > 217.2< / td >
< td class = "org-right" > 17.6< / td >
< / tr >
< tr >
< td class = "org-right" > 9< / td >
< td class = "org-right" > 5.7< / td >
< td class = "org-right" > 225.0< / td >
< td class = "org-right" > 17.6< / td >
< / tr >
< tr >
< td class = "org-right" > 10< / td >
< td class = "org-right" > 6.0< / td >
< td class = "org-right" > 254.7< / td >
< td class = "org-right" > 17.3< / td >
< / tr >
< tr >
< td class = "org-right" > 11< / td >
< td class = "org-right" > 4.9< / td >
< td class = "org-right" > 261.1< / td >
< td class = "org-right" > 18.4< / td >
< / tr >
< tr >
< td class = "org-right" > 12< / td >
< td class = "org-right" > 5.9< / td >
< td class = "org-right" > 161.5< / td >
< td class = "org-right" > 16.7< / td >
< / tr >
< tr >
< td class = "org-right" > 13< / td >
< td class = "org-right" > 6.1< / td >
< td class = "org-right" > 227.6< / td >
< td class = "org-right" > 16.8< / td >
< / tr >
< tr >
< td class = "org-right" > 14< / td >
< td class = "org-right" > 5.9< / td >
< td class = "org-right" > 221.3< / td >
< td class = "org-right" > 17.8< / td >
< / tr >
< tr >
< td class = "org-right" > 15< / td >
< td class = "org-right" > 5.4< / td >
< td class = "org-right" > 241.5< / td >
< td class = "org-right" > 17.8< / td >
< / tr >
< tr >
< td class = "org-right" > 16< / td >
< td class = "org-right" > 5.3< / td >
< td class = "org-right" > 291.1< / td >
< td class = "org-right" > 17.7< / td >
< / tr >
< / tbody >
< / table >
< / div >
< / div >
2021-03-10 11:43:00 +01:00
< div id = "outline-container-orgbb78147" class = "outline-3" >
< h3 id = "orgbb78147" > < span class = "section-number-3" > 6.4< / span > Analysis< / h3 >
2021-03-04 17:29:33 +01:00
< div class = "outline-text-3" id = "text-6-4" >
< p >
2021-03-10 11:43:00 +01:00
The dispersion of the measured bending stiffness is shown in Figure < a href = "#org3a61253" > 36< / a > and of the bending stroke in Figure < a href = "#org7429f5c" > 37< / a > .
2021-03-04 17:29:33 +01:00
< / p >
2021-03-10 11:43:00 +01:00
< div id = "org3a61253" class = "figure" >
2021-03-04 17:29:33 +01:00
< p > < img src = "figs/bending_stiffness_histogram.png" alt = "bending_stiffness_histogram.png" / >
< / p >
2021-03-10 11:43:00 +01:00
< p > < span class = "figure-number" > Figure 36: < / span > Histogram of the measured bending stiffness< / p >
2021-03-04 17:29:33 +01:00
< / div >
2021-03-10 11:43:00 +01:00
< div id = "org7429f5c" class = "figure" >
2021-03-04 17:29:33 +01:00
< p > < img src = "figs/bending_stroke_histogram.png" alt = "bending_stroke_histogram.png" / >
< / p >
2021-03-10 11:43:00 +01:00
< p > < span class = "figure-number" > Figure 37: < / span > Histogram of the measured bending stroke< / p >
2021-03-04 17:29:33 +01:00
< / div >
2021-02-18 11:38:56 +01:00
< p >
2021-03-10 11:43:00 +01:00
The relation between the measured beam thickness and the measured bending stiffness is shown in Figure < a href = "#org94fc4ac" > 38< / a > .
2021-02-18 11:38:56 +01:00
< / p >
2021-03-04 17:29:33 +01:00
2021-03-10 11:43:00 +01:00
< div id = "org94fc4ac" class = "figure" >
2021-03-04 17:29:33 +01:00
< p > < img src = "figs/flex_thickness_vs_bending_stiff.png" alt = "flex_thickness_vs_bending_stiff.png" / >
< / p >
2021-03-10 11:43:00 +01:00
< p > < span class = "figure-number" > Figure 38: < / span > Measured bending stiffness as a function of the estimated flexible beam thickness< / p >
2021-03-04 17:29:33 +01:00
< / div >
< / div >
< / div >
2021-03-10 11:43:00 +01:00
< div id = "outline-container-org1c10279" class = "outline-3" >
< h3 id = "org1c10279" > < span class = "section-number-3" > 6.5< / span > Conclusion< / h3 >
2021-03-04 17:29:33 +01:00
< div class = "outline-text-3" id = "text-6-5" >
2021-03-10 11:43:00 +01:00
< div class = "important" id = "org98be774" >
2021-03-04 17:29:33 +01:00
< p >
The measured bending stiffness and bending stroke of the flexible joints are very close to the estimated one using a Finite Element Model.
< / p >
< p >
The characteristics of all the flexible joints are also quite close to each other.
This should allow us to model them with unique parameters.
< / p >
< / div >
< / div >
2021-02-18 11:38:56 +01:00
< / div >
2021-02-02 19:13:38 +01:00
< / div >
< / div >
< div id = "postamble" class = "status" >
< p class = "author" > Author: Dehaeze Thomas< / p >
2021-03-10 11:43:00 +01:00
< p class = "date" > Created: 2021-03-10 mer. 11:41< / p >
2021-02-02 19:13:38 +01:00
< / div >
< / body >
< / html >