diff --git a/implementation/SCARA/01_kinematics/3D.png b/implementation/SCARA/01_kinematics/3D.png new file mode 100644 index 0000000..41baf80 Binary files /dev/null and b/implementation/SCARA/01_kinematics/3D.png differ diff --git a/implementation/SCARA/01_kinematics/geometrics.odg b/implementation/SCARA/01_kinematics/geometrics.odg new file mode 100644 index 0000000..08cf525 Binary files /dev/null and b/implementation/SCARA/01_kinematics/geometrics.odg differ diff --git a/implementation/SCARA/01_kinematics/geometrics.pdf b/implementation/SCARA/01_kinematics/geometrics.pdf new file mode 100644 index 0000000..53135a3 Binary files /dev/null and b/implementation/SCARA/01_kinematics/geometrics.pdf differ diff --git a/implementation/SCARA/01_kinematics/implementation.md b/implementation/SCARA/01_kinematics/implementation.md new file mode 100644 index 0000000..eb1cca2 --- /dev/null +++ b/implementation/SCARA/01_kinematics/implementation.md @@ -0,0 +1,32 @@ +# Kinematics model + +This is a really simple model. +It has some inverse kinematics and forwards kinematics. + +## Inverse model + +The setpoint on the board is given as a x,y position. +We have to convert this point in to angles of the SCARA joints. +We have the following setup: +![Geometrics of the scara](geometrics.pdf) + +We can resolve this via the *law of cosines* and *pythagoras theorem*. +We can find the length of **C** with pythagoras. +Then with the use of a tangent we can find the angle **phi**. +Then filling in the *law of cosines* with **C** calculated and **A** and **B** as arm lengths, we can calculate the angles **a**, **b** and **c**. +As a check we sum these angles and they should add up to the value of Pi. + +Then we add **phi** and **b** to get the corner of the first joint relative to the world frame. +And **c** - Pi + **phi** + **b** gives the angle of the second joint relative to the world frame. + + +## Forward model +The forward model is as follows. +``` +joint1 = A_length*[cos(angle1);sin(angle1)]; +joint2 = B_length*[cos(angle2);sin(angle2)]; +end_effector = joint1 + joint2; +``` +This is then drawn as two arms in a 3D viewer. +![3D view of forward model](3D.png) +It follows the outside of the square. diff --git a/implementation/SCARA/01_kinematics/kinematics.emx b/implementation/SCARA/01_kinematics/kinematics.emx new file mode 100644 index 0000000..084a6e6 --- /dev/null +++ b/implementation/SCARA/01_kinematics/kinematics.emx @@ -0,0 +1,2333 @@ + + + + + + 4.8 +0 + False + C:\users\wouter\My Documents\studie\ma\mahd\implementation\SCARA\01_kinematics\kinematics.emx + 2020-7-10 15:12:13 + +'; + type Mainmodel + end; + implementation bg + submodels + Differentiate 432 256 + description '4.01False + Signal\Block Diagram\Differentiate.emx + 2007-9-26 12:9:46 +'; + type 'Differentiate-Default' + ports + signal in input; + signal out output; + end; + icon bg bottom + figures + group + rectangle 416 240 448 272 color 0 fill 15132390; + text 'd/dt' 432 256 color 16711680 13 bold; + end; + end; + implementation eq +parameters + real initial = 0; // initial value +equations + output = ddt (input, initial); + implementation_end; + Differentiate1 432 112 + description '4.01False + Signal\Block Diagram\Differentiate.emx + 2007-9-26 12:9:46 +'; + type 'Differentiate-Default' + ports + signal in input; + signal out output; + end; + icon bg bottom + figures + group + rectangle 416 96 448 128 color 0 fill 15132390; + text 'd/dt' 432 112 color 16711680 13 bold; + end; + end; + implementation eq +parameters + real initial = 0; // initial value +equations + output = ddt (input, initial); + implementation_end; + inverse_kinematics 312 184 + description ' + + 4.8 + SCARA\inverse_kinematics_v1.emx +1 + False + 2020-7-10 12:26:18 +False + +'; + type 'Submodel-Equation' + ports + signal in input [2,1] {m} ; + signal out angle1 {rad} ; + signal out angle2 {rad} ; + signal out a {rad} ; + signal out b {rad} ; + signal out c {rad} ; + signal out phi {rad} ; + end; + implementation eq +parameters + real global A_length; // length of first arm + real global B_length; // length of second arm + real to_rad = 1 {rad}; +variables + real x {m}, y {m}; + real C_length {m}; // length to x and y. + real angle_sum {rad}; // test angle +equations + x = input[1]; + y = input[2]; + phi = atan2(y, x); + C_length = sqrt(x^2 + y^2); + a = arccos ((B_length^2 + C_length^2 - A_length^2) / (2 * B_length * C_length)); + b = arccos ((A_length^2 + C_length^2 - B_length^2) / (2 * A_length * C_length)); + c = arccos ((A_length^2 + B_length^2 - C_length^2) / (2 * A_length * B_length)); + angle1 = b + phi; + angle2 = angle1 - pi * to_rad + c; + + + + implementation_end; + kinematics 536 184 + description '4.0 + Template\Submodel-Equation.emx +1 + False + 2007-11-1 22:32:1 + False +'; + type 'Submodel-Equation' + ports + signal in angle1; + signal in angle2; + end; + implementation eq +parameters + real global A_length = 0.065; + real global B_length = 0.05; +variables + real joint1[2]{m}; + real joint2[2]{m}; + real end_effector[2]{m}; +equations + joint1 = A_length*[cos(angle1);sin(angle1)]; + joint2 = B_length*[cos(angle2);sin(angle2)]; + end_effector = joint1 + joint2; + implementation_end; + rectanglepath 136 184 + description ' + + 4.8 + setpoint\rectanglepath.emx +1 + False + 2020-7-10 12:30:38 +False + +'; + type 'Submodel-Equation' + ports + signal out output [2,1]; + end; + implementation eq +/* +This will generate coordinates for the box that has to be drawn +*/ +parameters + real w = 0.07{m} ; + real h = 0.05 {m}; + real t = 1 {s}; + real origin[2] = [0.01;0.03] {m}; +variables + real v {m/s}; + real t_w {s}; + real t_h {s}; + real period {s}; + real test1, test2, test3; +initialequations + v = (2*w + 2*h)/t; + t_w = w / v; + t_h = h / v; +equations + period = floor(time / t) * t; + output[1] = v*(ramp(period+t_h) - ramp(period + t_w+t_h) - ramp(period + t_w + t_h + t_h)) + origin[1]; + output[2] = v*(ramp(period) - ramp(period + t_h) - ramp(period + t_h + t_w) + ramp(period + 2 * t_h + t_w))+ origin[2]; +implementation_end; + Splitter1 432 200 + description '4.0 + Signal\Block Diagram\Splitter.emx + 2008-01-17 11:28:29 +1 + False +'; + knot Splitter + ports + signal knot duplicatable out output [1]; + signal knot in input [1]; + end; + icon bg ellipse + figures + ellipse 428.8 196.8 435.2 203.2 color -1 fill 0; + ellipse 427.7 195.7 436.3 204.3 color -1; + terminals + input 432 200 fixed; + end; + implementation eq +equations + collect (output) = input; +implementation_end; + Splitter2 432 176 + description '4.0 + Signal\Block Diagram\Splitter.emx + 2008-01-17 11:28:29 +1 + False +'; + knot Splitter + ports + signal knot duplicatable out output [1]; + signal knot in input [1]; + end; + icon bg ellipse + figures + ellipse 428.8 172.8 435.2 179.2 color -1 fill 0; + ellipse 427.7 171.7 436.3 180.3 color -1; + terminals + input 432 176 fixed; + end; + implementation eq +equations + collect (output) = input; +implementation_end; + end; + connections + inverse_kinematics\angle1 -> Splitter1\input; + inverse_kinematics\angle2 -> Splitter2\input; + rectanglepath\output -> inverse_kinematics\input; + Splitter1\output -> Differentiate\input; + Splitter1\output -> kinematics\angle1; + Splitter2\output -> Differentiate1\input; + Splitter2\output -> kinematics\angle2; + end; + implementation_end; +]]> + + + + + + + Experiment 1 + + + + 4.8 + + + + + + + + + + + + + time + kinematics\end_effector[2] + kinematics\joint1[2] + kinematics\end_effector[1] + kinematics\joint1[1] + rectanglepath\output[1] + rectanglepath\output[2] + rectanglepath\test1 + rectanglepath\test2 + rectanglepath\test3 + Constant\output[1] + Constant\output[2] + rectanglepath\origin[1] + rectanglepath\origin[2] + rectanglepath\w + rectanglepath\h + inverse_kinematics\angle1 + inverse_kinematics\angle2 + Differentiate\output + Differentiate1\output + + + + GraphPlot + + 1 + false + 16777215 + true + + + true + 15780518 + 12624260 + 0 + 10 + 10 + 10 + false + + 16777215 + true + 1 + model + true + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 10 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + true + true + false + + + -0.03999969673692048 + 0.08000000000000007 + true + 3 + + + + + + 0.009999999999999992 + 0.10999999999999999 + true + 2 + + + + 0.0 + 5.0 + true + 2 + + + + 0.0 + 5.0 + true + 2 + + + + + + + + 3355111 + 1 + 3355111 + 0 + true + 1 + 1 + 1 + true + + true + kinematics\end_effector[1] + + + true + kinematics\end_effector[2] + + + + 6076255 + 1 + 6076255 + 0 + true + 1 + 1 + 1 + true + + true + kinematics\joint1[1] + + + true + kinematics\joint1[2] + + + + 12553035 + 1 + 12553035 + 0 + true + 1 + 1 + 1 + true + + true + Constant\output[1] + + + true + Constant\output[2] + + + + + true + 0 + 16777215 + + + + GraphPlot + + 2 + false + 16777215 + true + + + true + 15780518 + 12624260 + 0 + 10 + 10 + 10 + false + + 16777215 + true + 1 + model(1) + true + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 10 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + true + true + false + + + 0.0 + 1.2 + true + 3 + + + + + + -3.469446951953614e-18 + 0.09999999999999999 + true + 2 + + + + -4.0 + 1.0 + true + 2 + + + + -4.0 + 1.0 + true + 2 + + + + -4.0 + 1.0 + true + 2 + + + + -4.0 + 1.0 + true + 2 + + + + + + + + 3355111 + 1 + 3355111 + 0 + true + 1 + 1 + 1 + true + + true + time + + + true + rectanglepath\output[1] + + + + 6076255 + 1 + 6076255 + 0 + true + 1 + 1 + 1 + true + + true + time + + + true + rectanglepath\output[2] + + + + 12553035 + 1 + 12553035 + 0 + true + 1 + 1 + 1 + true + + true + time + + + true + rectanglepath\test1 + + + + 15086320 + 1 + 15086320 + 0 + true + 1 + 1 + 1 + true + + true + time + + + true + rectanglepath\test2 + + + + 15790150 + 1 + 15790150 + 0 + true + 1 + 1 + 1 + true + + true + time + + + true + rectanglepath\test3 + + + + + true + 0 + 16777215 + + + + D3DPlot + + 3 + false + 16777215 + true + + 3D Animation + 137 + true + false + 4294967295 + Gradients\BlueWhite.png + true + 1.0 + 1.0 + + + + + 1 + + + 1 + + + 1 + + + true + Reference Frame + + + + + + Bryant + + false + false + false + false + false + false + + + + + 1 + + + 1 + + + 1 + + + false + Default Lights and Cameras + + + + + + Bryant + + false + false + false + false + false + false + + + false + Ambient + + + + + + 1 + + + + + 1 + + + Direct3D + + false + false + false + false + false + false + + + 0 + + + + 0.3 + + + 0.3 + + + 0.3 + + + + + + + 1 + + + 1 + + + 1 + + + true + + + + + 0.3 + + + 0.3 + + + 0.3 + + + + + + + 1 + + + 1 + + + 1 + + + true + + true + false + false + + + false + Parallel + + + -3 + + + 5 + + + 3 + + + + + + 0.457495710997814 + + + -0.762492851663023 + + + -0.457495710997814 + + + + + 0.235379601434674 + + + -0.392299335724456 + + + 0.889211827642101 + + + Direct3D + + false + false + false + false + false + false + + + 3 + + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + + 1 + + + 1 + + + 1 + + + true + + + + 1.0 + + + 0.0 + + + 0.0 + + + + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + + 1 + + + 1 + + + 1 + + + true + + + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + + 1 + + + 1 + + + 1 + + + true + + false + true + true + + + false + Spot Light 1 + + + -3 + + + -5 + + + 1 + + + + + + 0.50709255283711 + + + 0.845154254728517 + + + -0.169030850945703 + + + + + 0.0869656553478673 + + + 0.144942758913112 + + + 0.985610760609162 + + + Direct3D + + false + false + false + false + false + false + + + 2 + + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + + 1 + + + 1 + + + 1 + + + true + + + + 1.0 + + + 0.05 + + + 0.05 + + + + 1.0471975511965976 + + + 1.0471975511965976 + + 0.0 + + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + + 1 + + + 1 + + + 1 + + + true + + + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + + 1 + + + 1 + + + 1 + + + true + + false + true + true + + + false + Spot Light 2 + + + 2 + + + -3 + + + -1 + + + + + + -0.534522483824849 + + + 0.801783725737273 + + + 0.267261241912424 + + + + + 0.14824986333222 + + + -0.22237479499833 + + + 0.963624111659432 + + + Direct3D + + false + false + false + false + false + false + + + 2 + + + + 1 + + + 1 + + + 1 + + + + + + + 1 + + + 1 + + + 1 + + + true + + + + 1.0 + + + 0.05 + + + 0.05 + + + + 1.5707963267948966 + + + 1.5707963267948966 + + 0.0 + + + + 1 + + + 1 + + + 1 + + + + + + + 1 + + + 1 + + + 1 + + + true + + + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + + 1 + + + 1 + + + 1 + + + true + + false + true + true + + + false + Camera Looking at Origin + + + 4.35387542422191 + + + -1.03177117653434 + + + 3.945815567335 + + + + + + -0.729811191908371 + + + 0.172948942896729 + + + -0.661410830963772 + + + + + -0.643586272446143 + + + 0.152515563910921 + + + 0.750023808077992 + + + Direct3D + + false + false + false + false + false + false + + + 0.01 + 100.0 + true + 0.003926990816987242 + 45.0 + -10.0 + 10.0 + 10.0 + -10.0 + true + + + true + + + 1 + + + true + true + false + + + false + Front(XY)-Camera + + + 10 + + + + + + -1 + + + + + 1 + + + Direct3D + + false + false + false + false + false + false + + + 0.01 + 100.0 + true + 9.999999999999998 + 45.0 + -9.999999999999998 + 9.999999999999998 + 9.999999999999998 + -9.999999999999998 + true + + + true + + + 1 + + + true + false + false + + + false + Side(YZ)-Camera + + + 9.99973746487942 + + + 0.555944228939501 + + + 0.542469812062668 + + + + + + -0.999973746487937 + + + 0.00440557710604975 + + + 0.00575301879373315 + + + + + 0.00575296296112807 + + + -2.53457873294314e-005 + + + 0.999983451250449 + + + Direct3D + + false + false + false + false + false + false + + + 0.01 + 100.0 + true + 1.8901386620278369 + 45.0 + -1.8901386620278369 + 1.8901386620278369 + 1.8901386620278369 + -1.8901386620278369 + true + + + 0.599999999999999 + + + 0.6 + + + true + + + 1 + + + true + false + true + + + false + Top(XZ)-Camera + + + 10 + + + + + + -1 + + + + + 1 + + + Direct3D + + false + false + false + false + false + false + + + 0.01 + 100.0 + true + 9.999999999999998 + 45.0 + -9.999999999999998 + 9.999999999999998 + 9.999999999999998 + -9.999999999999998 + true + + + true + + + 1 + + + true + false + false + + + + + + + 10 + + + 10 + + + 10 + + + false + Scenery + + + + + + Bryant + + false + false + false + false + false + false + + + 3.0 + + + kinematics\joint1[1] + 0.023995909562154565 + + + kinematics\joint1[2] + 0.06040857823426156 + + + 15 + true + false + + + 1 + + + 1 + + + 1 + + + true + + + 0.447058823529412 + + + 0.113725490196078 + + + 0.945098039215686 + + + 1.0 + + + 1 + + + 1 + + + 1 + + + + + true + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + 15 + + false + false + Line + + + + + + Bryant + + false + false + false + false + false + false + + + + + 3.0 + + + kinematics\end_effector[1] + 0.06999782466573422 + + + kinematics\end_effector[2] + 0.08000000000000002 + + + 15 + true + false + + + 1 + + + 1 + + + 1 + + + true + + + 0.243137254901961 + + + 0.0392156862745098 + + + 0.945098039215686 + + + 1.0 + + + 1 + + + 1 + + + 1 + + + + + true + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + 15 + + false + false + Line + + + kinematics\joint1[1] + 0.023995909562154565 + + + kinematics\joint1[2] + 0.06040857823426156 + + + + + + Bryant + + false + false + false + false + false + false + + + + + + + 1 + + + 1 + + + 1 + + + false + Square + + + -0.001 + + + rectanglepath\origin[1] + 0.01 + + + rectanglepath\origin[2] + 0.03 + + + + + + -1.5707963267949 + + + Bryant + + false + false + false + false + false + false + + + true + 1.0 + 1.0 + true + 20 + + + rectanglepath\h + 0.05 + + + rectanglepath\w + 0.07 + + + 1 + + + true + + + 1 + + + 1 + + + 1 + + + 1.0 + + + 1 + + + 1 + + + 1 + + + + + true + + + 0.498039215686275 + + + 0.498039215686275 + + + 0.498039215686275 + + + + + + 14.298713684082 + + false + false + Square + + + + + + Bryant + + false + false + false + false + false + false + + + + + + + + + + + + + GraphPlot + + 5 + false + 16777215 + true + + + true + 15780518 + 12624260 + 0 + 10 + 10 + 10 + false + + 16777215 + true + 1 + Plot + true + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 10 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + true + true + false + + + 0.0 + 1.2 + true + 3 + + + + + + -25.0 + 25.0 + true + 2 + + + + 0.0 + 10.0 + true + 2 + + + + + + + + 3355111 + 1 + 3355111 + 0 + true + 1 + 1 + 1 + true + + true + time + + + true + inverse_kinematics\angle1 + + + + 12553035 + 1 + 12553035 + 0 + true + 1 + 1 + 1 + true + + true + time + + + true + Differentiate\output + + + + + true + 0 + 16777215 + + + + GraphPlot + + 4 + false + 16777215 + true + + + true + 15780518 + 12624260 + 0 + 10 + 10 + 10 + false + + 16777215 + true + 1 + model(2) + true + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 10 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + true + true + false + + + 0.0 + 1.2 + true + 3 + + + + + + -30.0 + 20.0 + true + 2 + + + + -2.0 + 3.0 + true + 2 + + + + + + + + 6076255 + 1 + 6076255 + 0 + true + 1 + 1 + 1 + true + + true + time + + + true + inverse_kinematics\angle2 + + + + 15086320 + 1 + 15086320 + 0 + true + 1 + 1 + 1 + true + + true + time + + + true + Differentiate1\output + + + + + true + 0 + 16777215 + + + + + + 1 + true + Window 1 + 0 + + 1 + 2 + + Base + + + 2 + true + Window 2 + 0 + + 3 + + Base + + + 3 + true + Window 3 + 0 + + 5 + 4 + + Base + + + + +0.108854 0.0953704 0.701562 0.813889 + + +0.194792 0.208333 0.811458 0.790741 + + +0.254688 0.165741 0.833333 0.786111 + + + + + + 0.0 + 1.2 + false + false + false + false + 0.1 + 1.0e-6 + 1.0e-7 + false + true + + + + Euler + 0.01 + false + + + BackwardEuler + 1.0e-5 + 1.0e-5 + 1.0e-5 + 1.0e-5 + 0.01 + 1.0 + + + AdamsBashforth + 0.01 + false + + + RungeKutta2 + 0.01 + false + + + RungeKutta4 + 0.01 + false + + + RungeKutta8 + false + 0.0 + false + 0.0 + 1.0e-6 + 1.0e-6 + 0.9 + 0.33 + 6.0 + 0.0 + false + 100000 + false + 1000 + + + RungeKuttaFehlberg + false + 0.0 + false + 0.0 + 1.0e-6 + 1.0e-6 + + + VodeAdams + false + 0.0 + false + 0.0 + 1.0e-6 + 1.0e-6 + true + true + + + BDFMethod + 1.0e-5 + 1.0e-5 + 1.0e-5 + 1.0e-5 + false + 0.0 + false + 0.0 + + + MeBDFiMethod + 1.0e-5 + 1.0e-5 + 1.0e-5 + 1.0e-5 + false + 0.0 + false + 0.0 + + 8 + + + + 10 + false + true + true + false + true + 0 + 0.0 + true + MultipleRun + true + + UseEndValue + 0.001 + BroydonFletcherGoldfarbShanno + + + + + true + true + true + true + + + false + + + + + + + + + 1.0 + + + + + diff --git a/implementation/SCARA/documentation/compatibility.odg b/implementation/SCARA/documentation/compatibility.odg new file mode 100644 index 0000000..5876d45 Binary files /dev/null and b/implementation/SCARA/documentation/compatibility.odg differ diff --git a/implementation/SCARA/documentation/compatibility.pdf b/implementation/SCARA/documentation/compatibility.pdf new file mode 100644 index 0000000..91e9e4d Binary files /dev/null and b/implementation/SCARA/documentation/compatibility.pdf differ diff --git a/implementation/SCARA/documentation/division.odg b/implementation/SCARA/documentation/division.odg new file mode 100644 index 0000000..1de0faf Binary files /dev/null and b/implementation/SCARA/documentation/division.odg differ diff --git a/implementation/SCARA/documentation/division.pdf b/implementation/SCARA/documentation/division.pdf new file mode 100644 index 0000000..6ce2910 Binary files /dev/null and b/implementation/SCARA/documentation/division.pdf differ diff --git a/implementation/SCARA/documentation/generaldesign.odg b/implementation/SCARA/documentation/generaldesign.odg new file mode 100644 index 0000000..9e71174 Binary files /dev/null and b/implementation/SCARA/documentation/generaldesign.odg differ diff --git a/implementation/SCARA/documentation/generaldesign.pdf b/implementation/SCARA/documentation/generaldesign.pdf new file mode 100644 index 0000000..85278d8 Binary files /dev/null and b/implementation/SCARA/documentation/generaldesign.pdf differ diff --git a/implementation/SCARA/documentation/implementation.md b/implementation/SCARA/documentation/implementation.md new file mode 100644 index 0000000..b6f0b14 --- /dev/null +++ b/implementation/SCARA/documentation/implementation.md @@ -0,0 +1,59 @@ +# SCARA implementation + +## Design +The Scara moves the marker in a small space along the board. +The Scara has to be quick and precise. Therefore we want to keep it as small and light as possible. +In the next image we have a general idea of the design. + +![Rough design idea](generaldesign.pdf) + +## Specifications +The Scara has as goal to move the end-effector in a area of 50 mm high and 70 mm wide. +On of the first tests is to be able to travers that square with in a second. +Therefore it has to achieve an average speed of 240 mm/s. +Al be it not for very long. Probably up to 500 mm/s maximum velocity. + +The marker has to be lifted as well. +That will be the task of the end-effector. + +## Details +The levels of detail that we will implement are at least the following steps. + +### Kinematics +A first model is just a kinematics model without any physics. +If we look at the design it only implements the A and B part of the arms. +And we can just mathematically calculate the position of the arms. +This is usefull to check whether we can even reach all the corners of the square. + +### Simple Physics. +Start adding some Mass to the arms and the marker. +We can learn some basic requirements for the motor that we require. +The current implementation would require some infinite power as we have some instantanious speed. +Thus we have to update our path and induce some control. + +It is probably to make some pathing block where we can put some set points into. + +### Adding motor physics. +Start the better motor physics. +What kind of motor do we need to power the setup. + +### Complex arm structure. +Add the the C, D and E arms. +All the arms should now also have complete inertia and mass specifications. + +### Add parasitics to the arm structure +This has to be reviewed at the point that we get here. + +## Division +The submodels will be divided as follows. +However, during the design I will probably run in more blocks than normal. + +![Division of models](division.pdf) + +The submodels in the division should be compatible with each other. +To avoid that we have to update all our models all the time. +We will build every part of the model in a library for 20-sim. This way it is easy for 20-sim to find the updated models. + +![Compatibility solution between different versions](compatibility.pdf) + + diff --git a/implementation/SCARA/spike/inverse_kinematics.emx b/implementation/SCARA/spike/inverse_kinematics.emx new file mode 100644 index 0000000..30e6a10 --- /dev/null +++ b/implementation/SCARA/spike/inverse_kinematics.emx @@ -0,0 +1,1771 @@ + + + + + + 4.8 +0 + False + C:\users\wouter\My Documents\studie\ma\mahd\implementation\submodel\SCARA\spike\inverse_kinematics.emx + 2020-7-9 16:58:55 + +'; + type Mainmodel + end; + implementation bg + submodels + inverse_kinematics 352 184 + description '4.0 + Template\Submodel-Equation.emx +1 + False + 2007-11-1 22:32:1 + False +'; + type 'Submodel-Equation' + ports + signal in input [2,1] {m} ; + signal out angle1 {rad} ; + signal out angle2 {rad} ; + signal out a {rad} ; + signal out b {rad} ; + signal out c {rad} ; + signal out phi {rad} ; + end; + implementation eq +parameters + real global A_length; // length of first arm + real global B_length; // length of second arm + real to_rad = 1 {rad}; +variables + real x {m}, y {m}; + real C_length {m}; // length to x and y. + real angle_sum {rad}; // test angle +equations + x = input[1]; + y = input[2]; + phi = atan2(y, x); + C_length = sqrt(x^2 + y^2); + a = arccos ((B_length^2 + C_length^2 - A_length^2) / (2 * B_length * C_length)); + b = arccos ((A_length^2 + C_length^2 - B_length^2) / (2 * A_length * C_length)); + c = arccos ((A_length^2 + B_length^2 - C_length^2) / (2 * A_length * B_length)); + angle1 = b + phi; + angle2 = angle1 - pi * to_rad + c; + + + + implementation_end; + rectanglepath 112 184 + description '4.0 + Template\Submodel-Equation.emx +1 + False + 2007-11-1 22:32:1 + False +'; + type 'Submodel-Equation' + ports + signal out output [2,1]; + end; + implementation eq +/* +This will generate coordinates for the box that has to be drawn +*/ +parameters + real w = 0.07{m} ; + real h = 0.05 {m}; + real t = 1 {s}; + real origin[2] = [0.05,0.05]{m}; +variables + real v {m/s}; + real t_w {s}; + real t_h {s}; + real period {s}; + real test1, test2, test3; +initialequations + v = (2*w + 2*h)/t; + t_w = w / v; + t_h = h / v; +equations + period = floor(time / t) * t; + output[1] = v*(ramp(period+t_h) - ramp(period + t_w+t_h) - ramp(period + t_w + t_h + t_h)) + origin[1]; + output[2] = v*(ramp(period) - ramp(period + t_h) - ramp(period + t_h + t_w) + ramp(period + 2 * t_h + t_w))+ origin[2]; +implementation_end; + Submodel2 560 184 + description '4.0 + Template\Submodel-Equation.emx +1 + False + 2007-11-1 22:32:1 + False +'; + type 'Submodel-Equation' + ports + signal in angle1; + signal in angle2; + end; + implementation eq +parameters + real global A; + real global B; +variables + real joint1[2]{m}; + real joint2[2]{m}; + real end_effector[2]{m}; +equations + joint1 = A*[cos(angle1);sin(angle1)]; + joint2 = B*[cos(angle2);sin(angle2)]; + end_effector = joint1 + joint2; + implementation_end; + end; + connections + inverse_kinematics\angle1 -> Submodel2\angle1; + inverse_kinematics\angle2 -> Submodel2\angle2; + rectanglepath\output -> inverse_kinematics\input; + end; + implementation_end; +]]> + + + + + + + Experiment 1 + + + + 4.8 + + + + + + + + + time + Submodel2\end_effector[2] + Submodel2\joint1[2] + Submodel2\end_effector[1] + Submodel2\joint1[1] + rectanglepath\output[1] + rectanglepath\output[2] + rectanglepath\test1 + rectanglepath\test2 + rectanglepath\test3 + Constant\output[1] + Constant\output[2] + + + + GraphPlot + + 1 + false + 16777215 + true + + + true + 15780518 + 12624260 + 0 + 10 + 10 + 10 + false + + 16777215 + true + 1 + model + true + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 10 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + true + true + false + + + -0.049999931062904804 + 0.12000000000000034 + true + 3 + + + + + + 0.019999999999999997 + 0.12 + true + 2 + + + + 0.0 + 5.0 + true + 2 + + + + 0.0 + 5.0 + true + 2 + + + + + + + + 3355111 + 1 + 3355111 + 0 + true + 1 + 1 + 1 + true + + true + Submodel2\end_effector[1] + + + true + Submodel2\end_effector[2] + + + + 6076255 + 1 + 6076255 + 0 + true + 1 + 1 + 1 + true + + true + Submodel2\joint1[1] + + + true + Submodel2\joint1[2] + + + + 12553035 + 1 + 12553035 + 0 + true + 1 + 1 + 1 + true + + true + Constant\output[1] + + + true + Constant\output[2] + + + + + true + 0 + 16777215 + + + + GraphPlot + + 2 + false + 16777215 + true + + + true + 15780518 + 12624260 + 0 + 10 + 10 + 10 + false + + 16777215 + true + 1 + model(1) + true + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 10 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + true + true + false + + + 0.0 + 40.0 + true + 3 + + + + + + 0.03 + 0.13 + true + 2 + + + + -4.0 + 1.0 + true + 2 + + + + -4.0 + 1.0 + true + 2 + + + + -4.0 + 1.0 + true + 2 + + + + -4.0 + 1.0 + true + 2 + + + + + + + + 3355111 + 1 + 3355111 + 0 + true + 1 + 1 + 1 + true + + true + time + + + true + rectanglepath\output[1] + + + + 6076255 + 1 + 6076255 + 0 + true + 1 + 1 + 1 + true + + true + time + + + true + rectanglepath\output[2] + + + + 12553035 + 1 + 12553035 + 0 + true + 1 + 1 + 1 + true + + true + time + + + true + rectanglepath\test1 + + + + 15086320 + 1 + 15086320 + 0 + true + 1 + 1 + 1 + true + + true + time + + + true + rectanglepath\test2 + + + + 15790150 + 1 + 15790150 + 0 + true + 1 + 1 + 1 + true + + true + time + + + true + rectanglepath\test3 + + + + + true + 0 + 16777215 + + + + D3DPlot + + 3 + false + 16777215 + true + + 3D Animation + 137 + true + false + 4294967295 + Gradients\BlueWhite.png + true + 1.0 + 1.0 + + + + + 1 + + + 1 + + + 1 + + + true + Reference Frame + + + + + + Bryant + + false + false + false + false + false + false + + + + + 1 + + + 1 + + + 1 + + + false + Default Lights and Cameras + + + + + + Bryant + + false + false + false + false + false + false + + + false + Ambient + + + + + + 1 + + + + + 1 + + + Direct3D + + false + false + false + false + false + false + + + 0 + + + + 0.3 + + + 0.3 + + + 0.3 + + + + + + + 1 + + + 1 + + + 1 + + + true + + + + + 0.3 + + + 0.3 + + + 0.3 + + + + + + + 1 + + + 1 + + + 1 + + + true + + true + false + false + + + false + Parallel + + + -3 + + + 5 + + + 3 + + + + + + 0.457495710997814 + + + -0.762492851663023 + + + -0.457495710997814 + + + + + 0.235379601434674 + + + -0.392299335724456 + + + 0.889211827642101 + + + Direct3D + + false + false + false + false + false + false + + + 3 + + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + + 1 + + + 1 + + + 1 + + + true + + + + 1.0 + + + 0.0 + + + 0.0 + + + + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + + 1 + + + 1 + + + 1 + + + true + + + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + + 1 + + + 1 + + + 1 + + + true + + false + true + true + + + false + Spot Light 1 + + + -3 + + + -5 + + + 1 + + + + + + 0.50709255283711 + + + 0.845154254728517 + + + -0.169030850945703 + + + + + 0.0869656553478673 + + + 0.144942758913112 + + + 0.985610760609162 + + + Direct3D + + false + false + false + false + false + false + + + 2 + + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + + 1 + + + 1 + + + 1 + + + true + + + + 1.0 + + + 0.05 + + + 0.05 + + + + 1.0471975511965976 + + + 1.0471975511965976 + + 0.0 + + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + + 1 + + + 1 + + + 1 + + + true + + + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + + 1 + + + 1 + + + 1 + + + true + + false + true + true + + + false + Spot Light 2 + + + 2 + + + -3 + + + -1 + + + + + + -0.534522483824849 + + + 0.801783725737273 + + + 0.267261241912424 + + + + + 0.14824986333222 + + + -0.22237479499833 + + + 0.963624111659432 + + + Direct3D + + false + false + false + false + false + false + + + 2 + + + + 1 + + + 1 + + + 1 + + + + + + + 1 + + + 1 + + + 1 + + + true + + + + 1.0 + + + 0.05 + + + 0.05 + + + + 1.5707963267948966 + + + 1.5707963267948966 + + 0.0 + + + + 1 + + + 1 + + + 1 + + + + + + + 1 + + + 1 + + + 1 + + + true + + + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + + 1 + + + 1 + + + 1 + + + true + + false + true + true + + + false + Camera Looking at Origin + + + 5.17039612254131 + + + -0.721279966459381 + + + 2.88738681298299 + + + + + + -0.866679128171114 + + + 0.120903365560907 + + + -0.483993455522493 + + + + + -0.479351652924763 + + + 0.0668704555607402 + + + 0.875071617075652 + + + Direct3D + + false + false + false + false + false + false + + + 0.01 + 100.0 + true + 0.003926990816987242 + 45.0 + -10.0 + 10.0 + 10.0 + -10.0 + true + + + true + + + 1 + + + true + true + true + + + false + Front(XY)-Camera + + + 10 + + + + + + -1 + + + + + 1 + + + Direct3D + + false + false + false + false + false + false + + + 0.01 + 100.0 + true + 9.999999999999998 + 45.0 + -9.999999999999998 + 9.999999999999998 + 9.999999999999998 + -9.999999999999998 + true + + + true + + + 1 + + + true + false + false + + + false + Side(YZ)-Camera + + + 10 + + + + + + -1 + + + + + 1 + + + Direct3D + + false + false + false + false + false + false + + + 0.01 + 100.0 + true + 9.999999999999998 + 45.0 + -9.999999999999998 + 9.999999999999998 + 9.999999999999998 + -9.999999999999998 + true + + + true + + + 1 + + + true + false + false + + + false + Top(XZ)-Camera + + + 10 + + + + + + -1 + + + + + 1 + + + Direct3D + + false + false + false + false + false + false + + + 0.01 + 100.0 + true + 9.999999999999998 + 45.0 + -9.999999999999998 + 9.999999999999998 + 9.999999999999998 + -9.999999999999998 + true + + + true + + + 1 + + + true + false + false + + + + + + + 10 + + + 10 + + + 10 + + + false + Scenery + + + + + + Bryant + + false + false + false + false + false + false + + + 3.0 + + + Submodel2\joint1[1] + -0.0011199998032978117 + + + Submodel2\joint1[2] + 0.09999372780550071 + + + 15 + true + false + + + 1 + + + 1 + + + 1 + + + true + + + 1 + + + 1 + + + 1 + + + 1.0 + + + 1 + + + 1 + + + 1 + + + + + true + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + 15 + + false + false + Line + + + + + + Bryant + + false + false + false + false + false + false + + + + + 3.0 + + + Submodel2\end_effector[1] + 0.09888000000000007 + + + Submodel2\end_effector[2] + 0.09999999999999992 + + + 15 + true + false + + + 1 + + + 1 + + + 1 + + + true + + + 1 + + + 1 + + + 1 + + + 1.0 + + + 1 + + + 1 + + + 1 + + + + + true + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + 15 + + false + false + Line + + + Submodel2\joint1[1] + -0.0011199998032978117 + + + Submodel2\joint1[2] + 0.09999372780550071 + + + + + + Bryant + + false + false + false + false + false + false + + + + + + + + + + + + + 1 + true + Window 1 + 0 + + 1 + 2 + + Base + + + 2 + true + Window 2 + 0 + + 3 + + Base + + + + +0.411979 0.22037 0.885938 0.85 + + +0.0703125 0.135185 0.686979 0.717593 + + + + + + 0.0 + 10.0 + false + false + false + false + 0.1 + 1.0e-6 + 1.0e-7 + false + true + + + + Euler + 0.01 + false + + + BackwardEuler + 1.0e-5 + 1.0e-5 + 1.0e-5 + 1.0e-5 + 0.01 + 1.0 + + + AdamsBashforth + 0.01 + false + + + RungeKutta2 + 0.01 + false + + + RungeKutta4 + 0.01 + false + + + RungeKutta8 + false + 0.001 + false + 1.0 + 1.0e-6 + 1.0e-6 + 0.9 + 0.33 + 6.0 + 0.0 + false + 100000 + false + 1000 + + + RungeKuttaFehlberg + false + 0.001 + false + 1.0 + 1.0e-6 + 1.0e-6 + + + VodeAdams + false + 0.001 + false + 1.0 + 1.0e-6 + 1.0e-6 + true + true + + + BDFMethod + 1.0e-5 + 1.0e-5 + 1.0e-5 + 1.0e-5 + false + 0.001 + false + 1.0 + + + MeBDFiMethod + 1.0e-5 + 1.0e-5 + 1.0e-5 + 1.0e-5 + false + 0.001 + false + 1.0 + + 8 + + + + 10 + false + true + true + false + true + 0 + 0.0 + true + MultipleRun + true + + UseEndValue + 0.001 + BroydonFletcherGoldfarbShanno + + + + + true + true + true + true + + + false + + + + + + + + + + + diff --git a/implementation/SCARA/spike/motionprofiletest.emx b/implementation/SCARA/spike/motionprofiletest.emx new file mode 100644 index 0000000..67e20a1 --- /dev/null +++ b/implementation/SCARA/spike/motionprofiletest.emx @@ -0,0 +1,407 @@ + + + + + + 4.8 +0 + False + Z:\home\wouter\Documents\studie\ma\mahd\implementation\submodel\SCARA\spike\motionprofiletest.emx + 2020-7-9 14:43:21 + +'; + type Mainmodel + end; + implementation bg + submodels + Submodel1 328 200 + description '4.0 + Template\Submodel-Equation.emx +1 + False + 2007-11-1 22:32:1 + False +'; + type 'Submodel-Equation' + ports + signal out output; + end; + implementation eq +/* Equation Submodel +Enter your equations here. You can use the Toolbar buttons at the top ( Add , f(x) etc. ). +*/ +parameters + string dllname = 'MotionProfiles.dll'; +variables + real x[3]; + real t; +equations + // start typing here + t = time-0.5; + x = dll(dllname,'ProfileCycloidal',t); + output = x[1]; + implementation_end; + end; + connections + end; + implementation_end; +]]> + + + + + + + Experiment 1 + + + + 4.8 + + + + + + + + + time + Submodel1\x[1] + Submodel1\x[2] + Submodel1\x[3] + + + + GraphPlot + + 1 + false + 16777215 + true + + + true + 15780518 + 12624260 + 0 + 10 + 10 + 10 + false + + 16777215 + true + 1 + model + true + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 10 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + true + true + false + + + 0.0 + 10.0 + true + 3 + + + + + + -8.0 + 12.0 + true + 2 + + + + 0.0 + 10.0 + true + 2 + + + + 0.0 + 10.0 + true + 2 + + + + + + + + 3355111 + 1 + 3355111 + 0 + true + 1 + 2 + 1 + true + + true + time + + + true + Submodel1\x[1] + + + + 6076255 + 1 + 6076255 + 0 + true + 1 + 2 + 1 + true + + true + time + + + true + Submodel1\x[2] + + + + 12553035 + 1 + 12553035 + 0 + true + 1 + 2 + 1 + true + + true + time + + + true + Submodel1\x[3] + + + + + true + 0 + 16777215 + + + + + + 1 + true + Window 1 + 0 + + 1 + + Base + + + + +0.146354 0.222222 0.856771 1.01296 + + + + + + 0.0 + 10.0 + false + false + false + false + 0.1 + 1.0e-6 + 1.0e-7 + false + true + + + + Euler + 0.01 + false + + + BackwardEuler + 1.0e-5 + 1.0e-5 + 1.0e-5 + 1.0e-5 + 0.01 + 1.0 + + + AdamsBashforth + 0.01 + false + + + RungeKutta2 + 0.01 + false + + + RungeKutta4 + 0.01 + false + + + RungeKutta8 + false + 0.001 + false + 1.0 + 1.0e-6 + 1.0e-6 + 0.9 + 0.33 + 6.0 + 0.0 + false + 100000 + false + 1000 + + + RungeKuttaFehlberg + false + 0.001 + false + 1.0 + 1.0e-6 + 1.0e-6 + + + VodeAdams + false + 0.001 + false + 1.0 + 1.0e-6 + 1.0e-6 + true + true + + + BDFMethod + 1.0e-5 + 1.0e-5 + 1.0e-5 + 1.0e-5 + false + 0.001 + false + 1.0 + + + MeBDFiMethod + 1.0e-5 + 1.0e-5 + 1.0e-5 + 1.0e-5 + false + 0.001 + false + 1.0 + + 8 + + + + 10 + false + true + true + false + true + 0 + 0.0 + true + MultipleRun + true + + UseEndValue + 0.001 + BroydonFletcherGoldfarbShanno + + + + + true + true + true + true + + + false + + + + + + + + + 1.0 + + + + + diff --git a/implementation/submodel/endeffector/endeffector.3dm b/implementation/endeffector/endeffector.3dm similarity index 100% rename from implementation/submodel/endeffector/endeffector.3dm rename to implementation/endeffector/endeffector.3dm diff --git a/implementation/submodel/endeffector/endeffector.emx b/implementation/endeffector/endeffector.emx similarity index 100% rename from implementation/submodel/endeffector/endeffector.emx rename to implementation/endeffector/endeffector.emx diff --git a/implementation/endeffector/endeffector.scn b/implementation/endeffector/endeffector.scn new file mode 100644 index 0000000..8092c28 --- /dev/null +++ b/implementation/endeffector/endeffector.scn @@ -0,0 +1,1238 @@ + +4.8.2.10124 + + + + + 1 + + + 1 + + + 1 + + + true + Body0 + holder + + + endeffector\holder\AbsH[1,4] + 0.0 + + + endeffector\holder\AbsH[2,4] + 0.11 + + + endeffector\holder\AbsH[3,4] + -0.0088 + + + + + + endeffector\holder\AbsH[1,3] + 0.0 + + + endeffector\holder\AbsH[2,3] + 0.0 + + + endeffector\holder\AbsH[3,3] + 1.0 + + + + + endeffector\holder\AbsH[1,2] + 0.0 + + + endeffector\holder\AbsH[2,2] + 1.0 + + + endeffector\holder\AbsH[3,2] + 0.0 + + + Matrix + + true + true + true + true + true + true + + + + + false + false + false + true + false + + + 1 + + + 1 + + + 1 + + + true + + + 0.184313725490196 + + + 0.803921568627451 + + + 0.184313725490196 + + + 1.0 + + + 1 + + + 1 + + + 1 + + + + + true + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + 15 + + false + false + Body0_Sub0 + Body + + + + + + 1 + + + + + 1 + + + Direct3D + + true + true + true + true + true + true + + + + + 1 + + + 1 + + + 1 + + + false + ConnectionPoint2 + Reference Frame + + + + + + 1 + + + + + 1 + + + Direct3D + + true + true + true + true + true + true + + + + + + + 1 + + + 1 + + + 1 + + + false + Body1 + marker + + + endeffector\marker\AbsH[1,4] + 0.0 + + + endeffector\marker\AbsH[2,4] + 0.1 + + + endeffector\marker\AbsH[3,4] + 0.0 + + + + + + endeffector\marker\AbsH[1,3] + 0.0 + + + endeffector\marker\AbsH[2,3] + -1.0 + + + endeffector\marker\AbsH[3,3] + -3.4914813388431334e-15 + + + + + endeffector\marker\AbsH[1,2] + 0.0 + + + endeffector\marker\AbsH[2,2] + -3.4914813388431334e-15 + + + endeffector\marker\AbsH[3,2] + 1.0 + + + Matrix + + true + true + true + true + true + true + + + 16 + 0.0075 + 0.0075 + 0.135 + true + true + true + true + false + true + + + 1 + + + 1 + + + 1 + + + true + + + 0 + + + 0 + + + 1 + + + 1.0 + + + 1 + + + 1 + + + 1 + + + + + true + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + 15 + + false + false + Body1_Sub0 + Body + + + + + + 1 + + + + + 1 + + + Direct3D + + true + true + true + true + true + true + + + + + 1 + + + 1 + + + 1 + + + false + ConnectionPoint2 + Reference Frame + + + + + + 1 + + + + + 1 + + + Direct3D + + false + false + false + false + false + false + + + + + + + 1 + + + 1 + + + 1 + + + false + Body2 + grippertop + + + endeffector\grippertop\AbsH[1,4] + 0.0 + + + endeffector\grippertop\AbsH[2,4] + 0.11 + + + endeffector\grippertop\AbsH[3,4] + 0.015 + + + + + + endeffector\grippertop\AbsH[1,3] + 0.0 + + + endeffector\grippertop\AbsH[2,3] + 0.0 + + + endeffector\grippertop\AbsH[3,3] + 1.0 + + + + + endeffector\grippertop\AbsH[1,2] + 0.0 + + + endeffector\grippertop\AbsH[2,2] + 1.0 + + + endeffector\grippertop\AbsH[3,2] + 0.0 + + + Matrix + + true + true + true + true + true + true + + +
Center
+ 1.0 + true + 4 + + + 0.07 + + + 0.04 + + + 0.01 + + + true + + + 0.188235294117647 + + + 0.803921568627451 + + + 0.188235294117647 + + + 1.0 + + + 1 + + + 1 + + + 1 + + + + + true + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + 15 + + false + false + Body2_Sub0 + Body + + + + + + 1 + + + + + 1 + + + Direct3D + + true + true + true + true + true + true +
+ + + + 1 + + + 1 + + + 1 + + + false + KP0\Hinge0 + Frame + + + 0.05 + + + + + + 1 + + + + + 1 + + + Direct3D + + true + true + true + true + true + true + + + 0 + 30 + false + + + true + + + 0.596078431372549 + + + 0.984313725490196 + + + 0.596078431372549 + + + 0.0 + + + 1 + + + 1 + + + 1 + + + + + true + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + 15 + + false + false + true + KP0\Hinge0_Sub0 + Cylinder + + + + + + 1 + + + + + 1 + + + Direct3D + + false + false + false + false + false + false + + + + + + + 1 + + + 1 + + + 1 + + + false + ConnectionPoint2 + Reference Frame + + + + + + 1 + + + + + 1 + + + Direct3D + + false + false + false + false + false + false + +
+ + + + + 1 + + + 1 + + + 1 + + + false + Body3 + gripperbase + + + endeffector\gripperbase\AbsH[1,4] + 0.0 + + + endeffector\gripperbase\AbsH[2,4] + 0.11 + + + endeffector\gripperbase\AbsH[3,4] + 0.0 + + + + + + endeffector\gripperbase\AbsH[1,3] + 0.0 + + + endeffector\gripperbase\AbsH[2,3] + 0.0 + + + endeffector\gripperbase\AbsH[3,3] + 1.0 + + + + + endeffector\gripperbase\AbsH[1,2] + 0.0 + + + endeffector\gripperbase\AbsH[2,2] + 1.0 + + + endeffector\gripperbase\AbsH[3,2] + 0.0 + + + Matrix + + true + true + true + true + true + true + + + + + false + false + false + true + false + + + 1 + + + 1 + + + 1 + + + true + + + 0.188235294117647 + + + 0.803921568627451 + + + 0.188235294117647 + + + 1.0 + + + 1 + + + 1 + + + 1 + + + + + true + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + 15 + + false + false + Body3_Sub0 + Body + + + + + + 1 + + + + + 1 + + + Direct3D + + true + true + true + true + true + true + + + + + 1 + + + 1 + + + 1 + + + false + KP0\Hinge1 + Frame + + + 0.05 + + + 0.015 + + + + + + 1 + + + + + 1 + + + Direct3D + + true + true + true + true + true + true + + + 0 + 30 + false + + + true + + + 0.250980392156863 + + + 0.87843137254902 + + + 0.815686274509804 + + + 1.0 + + + 1 + + + 1 + + + 1 + + + + + true + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + 15 + + false + false + true + KP0\Hinge1_Sub0 + Cylinder + + + + + + 1 + + + + + 1 + + + Direct3D + + true + true + true + true + true + true + + + + + + + + + 1 + + + 1 + + + 1 + + + false + World + World + + + endeffector\World\AbsH[1,4] + 0.0 + + + endeffector\World\AbsH[2,4] + 0.0 + + + endeffector\World\AbsH[3,4] + 0.0 + + + + + + endeffector\World\AbsH[1,3] + 0.0 + + + endeffector\World\AbsH[2,3] + 0.0 + + + endeffector\World\AbsH[3,3] + 1.0 + + + + + endeffector\World\AbsH[1,2] + 0.0 + + + endeffector\World\AbsH[2,2] + 1.0 + + + endeffector\World\AbsH[3,2] + 0.0 + + + Matrix + + true + true + true + true + true + true + + + + + 1 + + + 1 + + + 1 + + + false + ConnectionPoint1 + Reference Frame + + + 0.11 + + + -0.0088 + + + + + + 1 + + + + + 1 + + + Direct3D + + true + true + true + true + true + true + + + + + 1 + + + 1 + + + 1 + + + false + ConnectionPoint1 + Reference Frame + + + + + + 1 + + + + + 1 + + + Direct3D + + false + false + false + false + false + false + + + + + 1 + + + 1 + + + 1 + + + false + ConnectionPoint1 + Reference Frame + + + + + + 1 + + + + + 1 + + + Direct3D + + false + false + false + false + false + false + + + + + false + Obj4 + Camera + + + -0.0660004684295535 + + + -0.100709685524672 + + + 0.0118876250113675 + + + + + + 0.545480432037758 + + + 0.832345043566174 + + + -0.0982488000676071 + + + + + 0.0538533467027166 + + + 0.0821744714837986 + + + 0.995161882954364 + + + Direct3D + + false + false + false + false + false + false + + + 5.0e-4 + 5.0 + true + 1.9634954084936205e-4 + 45.0 + -10.0 + 10.0 + 10.0 + -10.0 + true + + + true + + + 1 + + + true + true + true + +
diff --git a/implementation/endeffector/endeffectorIcon.png b/implementation/endeffector/endeffectorIcon.png new file mode 100644 index 0000000..61024e3 Binary files /dev/null and b/implementation/endeffector/endeffectorIcon.png differ diff --git a/implementation/submodel/endeffector/gripper.scad b/implementation/endeffector/gripper.scad similarity index 100% rename from implementation/submodel/endeffector/gripper.scad rename to implementation/endeffector/gripper.scad diff --git a/implementation/endeffector/gripperbase.stl b/implementation/endeffector/gripperbase.stl new file mode 100644 index 0000000..9717c81 --- /dev/null +++ b/implementation/endeffector/gripperbase.stl @@ -0,0 +1,786 @@ +solid OpenSCAD_Model + facet normal 0.808756 -0 0.588145 + outer loop + vertex 0.012145 -0.0149994 -0.00508404 + vertex 0.0133677 0.0149994 -0.00676537 + vertex 0.012145 0.0149994 -0.00508404 + endloop + endfacet + facet normal 0.808756 0 0.588145 + outer loop + vertex 0.0133677 0.0149994 -0.00676537 + vertex 0.012145 -0.0149994 -0.00508404 + vertex 0.0133677 -0.0149994 -0.00676537 + endloop + endfacet + facet normal 0.978185 -0 0.207738 + outer loop + vertex 0.0133677 -0.0149994 -0.00676537 + vertex 0.0137997 0.0149994 -0.00879955 + vertex 0.0133677 0.0149994 -0.00676537 + endloop + endfacet + facet normal 0.978185 0 0.207738 + outer loop + vertex 0.0137997 0.0149994 -0.00879955 + vertex 0.0133677 -0.0149994 -0.00676537 + vertex 0.0137997 -0.0149994 -0.00879955 + endloop + endfacet + facet normal 0.808917 0 -0.587923 + outer loop + vertex 0.0133677 -0.0149994 -0.0108328 + vertex 0.012145 0.0149994 -0.0125151 + vertex 0.0133677 0.0149994 -0.0108328 + endloop + endfacet + facet normal 0.808917 0 -0.587923 + outer loop + vertex 0.012145 0.0149994 -0.0125151 + vertex 0.0133677 -0.0149994 -0.0108328 + vertex 0.012145 -0.0149994 -0.0125151 + endloop + endfacet + facet normal -0.30921 0 -0.950994 + outer loop + vertex 0.00629997 -0.0149994 -0.0131292 + vertex 0.00827694 0.0149994 -0.013772 + vertex 0.00827694 -0.0149994 -0.013772 + endloop + endfacet + facet normal -0.30921 0 -0.950994 + outer loop + vertex 0.00827694 0.0149994 -0.013772 + vertex 0.00629997 -0.0149994 -0.0131292 + vertex 0.00629997 0.0149994 -0.0131292 + endloop + endfacet + facet normal 0.499993 0 -0.866029 + outer loop + vertex 0.0103445 -0.0149994 -0.0135546 + vertex 0.012145 0.0149994 -0.0125151 + vertex 0.012145 -0.0149994 -0.0125151 + endloop + endfacet + facet normal 0.499993 0 -0.866029 + outer loop + vertex 0.012145 0.0149994 -0.0125151 + vertex 0.0103445 -0.0149994 -0.0135546 + vertex 0.0103445 0.0149994 -0.0135546 + endloop + endfacet + facet normal -0.913697 0 0.406395 + outer loop + vertex 0.00390911 -0.0149994 -0.00776005 + vertex 0.00475407 0.0149994 -0.00586033 + vertex 0.00390911 0.0149994 -0.00776005 + endloop + endfacet + facet normal -0.913697 0 0.406395 + outer loop + vertex 0.00475407 0.0149994 -0.00586033 + vertex 0.00390911 -0.0149994 -0.00776005 + vertex 0.00475407 -0.0149994 -0.00586033 + endloop + endfacet + facet normal 0.499997 0 0.866027 + outer loop + vertex 0.0103445 0.0149994 -0.00404453 + vertex 0.012145 -0.0149994 -0.00508404 + vertex 0.012145 0.0149994 -0.00508404 + endloop + endfacet + facet normal 0.499997 0 0.866027 + outer loop + vertex 0.012145 -0.0149994 -0.00508404 + vertex 0.0103445 0.0149994 -0.00404453 + vertex 0.0103445 -0.0149994 -0.00404453 + endloop + endfacet + facet normal -0.668739 0 0.743497 + outer loop + vertex 0.00475407 0.0149994 -0.00586033 + vertex 0.00629997 -0.0149994 -0.00446987 + vertex 0.00629997 0.0149994 -0.00446987 + endloop + endfacet + facet normal -0.668739 0 0.743497 + outer loop + vertex 0.00629997 -0.0149994 -0.00446987 + vertex 0.00475407 0.0149994 -0.00586033 + vertex 0.00475407 -0.0149994 -0.00586033 + endloop + endfacet + facet normal 0.104586 0 0.994516 + outer loop + vertex 0.00827694 0.0149994 -0.0038271 + vertex 0.0103445 -0.0149994 -0.00404453 + vertex 0.0103445 0.0149994 -0.00404453 + endloop + endfacet + facet normal 0.104586 0 0.994516 + outer loop + vertex 0.0103445 -0.0149994 -0.00404453 + vertex 0.00827694 0.0149994 -0.0038271 + vertex 0.00827694 -0.0149994 -0.0038271 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00629997 -0.0149994 -0.00446987 + vertex 0.0103445 -0.0149994 -0.00404453 + vertex 0.00827694 -0.0149994 -0.0038271 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00629997 -0.0149994 -0.00446987 + vertex 0.012145 -0.0149994 -0.00508404 + vertex 0.0103445 -0.0149994 -0.00404453 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00475407 -0.0149994 -0.00586033 + vertex 0.012145 -0.0149994 -0.00508404 + vertex 0.00629997 -0.0149994 -0.00446987 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00475407 -0.0149994 -0.00586033 + vertex 0.0133677 -0.0149994 -0.00676537 + vertex 0.012145 -0.0149994 -0.00508404 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00390911 -0.0149994 -0.00776005 + vertex 0.0133677 -0.0149994 -0.00676537 + vertex 0.00475407 -0.0149994 -0.00586033 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00390911 -0.0149994 -0.00776005 + vertex 0.0137997 -0.0149994 -0.00879955 + vertex 0.0133677 -0.0149994 -0.00676537 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00390911 -0.0149994 -0.00983906 + vertex 0.0137997 -0.0149994 -0.00879955 + vertex 0.00390911 -0.0149994 -0.00776005 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00390911 -0.0149994 -0.00983906 + vertex 0.0133677 -0.0149994 -0.0108328 + vertex 0.0137997 -0.0149994 -0.00879955 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00475407 -0.0149994 -0.0117388 + vertex 0.0133677 -0.0149994 -0.0108328 + vertex 0.00390911 -0.0149994 -0.00983906 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00475407 -0.0149994 -0.0117388 + vertex 0.012145 -0.0149994 -0.0125151 + vertex 0.0133677 -0.0149994 -0.0108328 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00629997 -0.0149994 -0.0131292 + vertex 0.012145 -0.0149994 -0.0125151 + vertex 0.00475407 -0.0149994 -0.0117388 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00629997 -0.0149994 -0.0131292 + vertex 0.0103445 -0.0149994 -0.0135546 + vertex 0.012145 -0.0149994 -0.0125151 + endloop + endfacet + facet normal -0 -1 0 + outer loop + vertex 0.0103445 -0.0149994 -0.0135546 + vertex 0.00629997 -0.0149994 -0.0131292 + vertex 0.00827694 -0.0149994 -0.013772 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 0.00390911 -0.0149994 -0.00983906 + vertex 0.00390911 0.0149994 -0.00776005 + vertex 0.00390911 0.0149994 -0.00983906 + endloop + endfacet + facet normal -1 -0 0 + outer loop + vertex 0.00390911 0.0149994 -0.00776005 + vertex 0.00390911 -0.0149994 -0.00983906 + vertex 0.00390911 -0.0149994 -0.00776005 + endloop + endfacet + facet normal 0.978165 0 -0.207829 + outer loop + vertex 0.0137997 -0.0149994 -0.00879955 + vertex 0.0133677 0.0149994 -0.0108328 + vertex 0.0137997 0.0149994 -0.00879955 + endloop + endfacet + facet normal 0.978165 0 -0.207829 + outer loop + vertex 0.0133677 0.0149994 -0.0108328 + vertex 0.0137997 -0.0149994 -0.00879955 + vertex 0.0133677 -0.0149994 -0.0108328 + endloop + endfacet + facet normal -0.309197 0 0.950998 + outer loop + vertex 0.00629997 0.0149994 -0.00446987 + vertex 0.00827694 -0.0149994 -0.0038271 + vertex 0.00827694 0.0149994 -0.0038271 + endloop + endfacet + facet normal -0.309197 0 0.950998 + outer loop + vertex 0.00827694 -0.0149994 -0.0038271 + vertex 0.00629997 0.0149994 -0.00446987 + vertex 0.00629997 -0.0149994 -0.00446987 + endloop + endfacet + facet normal -0.913699 0 -0.406392 + outer loop + vertex 0.00475407 -0.0149994 -0.0117388 + vertex 0.00390911 0.0149994 -0.00983906 + vertex 0.00475407 0.0149994 -0.0117388 + endloop + endfacet + facet normal -0.913699 -0 -0.406392 + outer loop + vertex 0.00390911 0.0149994 -0.00983906 + vertex 0.00475407 -0.0149994 -0.0117388 + vertex 0.00390911 -0.0149994 -0.00983906 + endloop + endfacet + facet normal 0.104572 0 -0.994517 + outer loop + vertex 0.00827694 -0.0149994 -0.013772 + vertex 0.0103445 0.0149994 -0.0135546 + vertex 0.0103445 -0.0149994 -0.0135546 + endloop + endfacet + facet normal 0.104572 0 -0.994517 + outer loop + vertex 0.0103445 0.0149994 -0.0135546 + vertex 0.00827694 -0.0149994 -0.013772 + vertex 0.00827694 0.0149994 -0.013772 + endloop + endfacet + facet normal -0.668723 0 -0.743512 + outer loop + vertex 0.00475407 -0.0149994 -0.0117388 + vertex 0.00629997 0.0149994 -0.0131292 + vertex 0.00629997 -0.0149994 -0.0131292 + endloop + endfacet + facet normal -0.668723 0 -0.743512 + outer loop + vertex 0.00629997 0.0149994 -0.0131292 + vertex 0.00475407 -0.0149994 -0.0117388 + vertex 0.00475407 0.0149994 -0.0117388 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.0103445 0.0149994 -0.00404453 + vertex 0.00629997 0.0149994 -0.00446987 + vertex 0.00827694 0.0149994 -0.0038271 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.012145 0.0149994 -0.00508404 + vertex 0.00629997 0.0149994 -0.00446987 + vertex 0.0103445 0.0149994 -0.00404453 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.012145 0.0149994 -0.00508404 + vertex 0.00475407 0.0149994 -0.00586033 + vertex 0.00629997 0.0149994 -0.00446987 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.0133677 0.0149994 -0.00676537 + vertex 0.00475407 0.0149994 -0.00586033 + vertex 0.012145 0.0149994 -0.00508404 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.0133677 0.0149994 -0.00676537 + vertex 0.00390911 0.0149994 -0.00776005 + vertex 0.00475407 0.0149994 -0.00586033 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.0137997 0.0149994 -0.00879955 + vertex 0.00390911 0.0149994 -0.00776005 + vertex 0.0133677 0.0149994 -0.00676537 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.0137997 0.0149994 -0.00879955 + vertex 0.00390911 0.0149994 -0.00983906 + vertex 0.00390911 0.0149994 -0.00776005 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex 0.0133677 0.0149994 -0.0108328 + vertex 0.00390911 0.0149994 -0.00983906 + vertex 0.0137997 0.0149994 -0.00879955 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.0133677 0.0149994 -0.0108328 + vertex 0.00475407 0.0149994 -0.0117388 + vertex 0.00390911 0.0149994 -0.00983906 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex 0.012145 0.0149994 -0.0125151 + vertex 0.00475407 0.0149994 -0.0117388 + vertex 0.0133677 0.0149994 -0.0108328 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.012145 0.0149994 -0.0125151 + vertex 0.00629997 0.0149994 -0.0131292 + vertex 0.00475407 0.0149994 -0.0117388 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex 0.0103445 0.0149994 -0.0135546 + vertex 0.00629997 0.0149994 -0.0131292 + vertex 0.012145 0.0149994 -0.0125151 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.00629997 0.0149994 -0.0131292 + vertex 0.0103445 0.0149994 -0.0135546 + vertex 0.00827694 0.0149994 -0.013772 + endloop + endfacet + facet normal 0.808776 -0 0.588116 + outer loop + vertex -0.00545406 -0.0149994 -0.00508404 + vertex -0.00423145 0.0149994 -0.00676537 + vertex -0.00545406 0.0149994 -0.00508404 + endloop + endfacet + facet normal 0.808776 0 0.588116 + outer loop + vertex -0.00423145 0.0149994 -0.00676537 + vertex -0.00545406 -0.0149994 -0.00508404 + vertex -0.00423145 -0.0149994 -0.00676537 + endloop + endfacet + facet normal 0.978184 -0 0.207742 + outer loop + vertex -0.00423145 -0.0149994 -0.00676537 + vertex -0.00379944 0.0149994 -0.00879955 + vertex -0.00423145 0.0149994 -0.00676537 + endloop + endfacet + facet normal 0.978184 0 0.207742 + outer loop + vertex -0.00379944 0.0149994 -0.00879955 + vertex -0.00423145 -0.0149994 -0.00676537 + vertex -0.00379944 -0.0149994 -0.00879955 + endloop + endfacet + facet normal 0.808938 0 -0.587895 + outer loop + vertex -0.00423145 -0.0149994 -0.0108328 + vertex -0.00545406 0.0149994 -0.0125151 + vertex -0.00423145 0.0149994 -0.0108328 + endloop + endfacet + facet normal 0.808938 0 -0.587895 + outer loop + vertex -0.00545406 0.0149994 -0.0125151 + vertex -0.00423145 -0.0149994 -0.0108328 + vertex -0.00545406 -0.0149994 -0.0125151 + endloop + endfacet + facet normal -0.309216 0 -0.950992 + outer loop + vertex -0.0112991 -0.0149994 -0.0131292 + vertex -0.00932217 0.0149994 -0.013772 + vertex -0.00932217 -0.0149994 -0.013772 + endloop + endfacet + facet normal -0.309216 0 -0.950992 + outer loop + vertex -0.00932217 0.0149994 -0.013772 + vertex -0.0112991 -0.0149994 -0.0131292 + vertex -0.0112991 0.0149994 -0.0131292 + endloop + endfacet + facet normal 0.499985 0 -0.866034 + outer loop + vertex -0.0072546 -0.0149994 -0.0135546 + vertex -0.00545406 0.0149994 -0.0125151 + vertex -0.00545406 -0.0149994 -0.0125151 + endloop + endfacet + facet normal 0.499985 0 -0.866034 + outer loop + vertex -0.00545406 0.0149994 -0.0125151 + vertex -0.0072546 -0.0149994 -0.0135546 + vertex -0.0072546 0.0149994 -0.0135546 + endloop + endfacet + facet normal -0.91369 0 0.406412 + outer loop + vertex -0.01369 -0.0149994 -0.00776005 + vertex -0.012845 0.0149994 -0.00586033 + vertex -0.01369 0.0149994 -0.00776005 + endloop + endfacet + facet normal -0.91369 0 0.406412 + outer loop + vertex -0.012845 0.0149994 -0.00586033 + vertex -0.01369 -0.0149994 -0.00776005 + vertex -0.012845 -0.0149994 -0.00586033 + endloop + endfacet + facet normal 0.499988 0 0.866032 + outer loop + vertex -0.0072546 0.0149994 -0.00404453 + vertex -0.00545406 -0.0149994 -0.00508404 + vertex -0.00545406 0.0149994 -0.00508404 + endloop + endfacet + facet normal 0.499988 0 0.866032 + outer loop + vertex -0.00545406 -0.0149994 -0.00508404 + vertex -0.0072546 0.0149994 -0.00404453 + vertex -0.0072546 -0.0149994 -0.00404453 + endloop + endfacet + facet normal -0.668739 0 0.743497 + outer loop + vertex -0.012845 0.0149994 -0.00586033 + vertex -0.0112991 -0.0149994 -0.00446987 + vertex -0.0112991 0.0149994 -0.00446987 + endloop + endfacet + facet normal -0.668739 0 0.743497 + outer loop + vertex -0.0112991 -0.0149994 -0.00446987 + vertex -0.012845 0.0149994 -0.00586033 + vertex -0.012845 -0.0149994 -0.00586033 + endloop + endfacet + facet normal 0.104585 0 0.994516 + outer loop + vertex -0.00932217 0.0149994 -0.0038271 + vertex -0.0072546 -0.0149994 -0.00404453 + vertex -0.0072546 0.0149994 -0.00404453 + endloop + endfacet + facet normal 0.104585 0 0.994516 + outer loop + vertex -0.0072546 -0.0149994 -0.00404453 + vertex -0.00932217 0.0149994 -0.0038271 + vertex -0.00932217 -0.0149994 -0.0038271 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.0112991 -0.0149994 -0.00446987 + vertex -0.0072546 -0.0149994 -0.00404453 + vertex -0.00932217 -0.0149994 -0.0038271 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.0112991 -0.0149994 -0.00446987 + vertex -0.00545406 -0.0149994 -0.00508404 + vertex -0.0072546 -0.0149994 -0.00404453 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.012845 -0.0149994 -0.00586033 + vertex -0.00545406 -0.0149994 -0.00508404 + vertex -0.0112991 -0.0149994 -0.00446987 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.012845 -0.0149994 -0.00586033 + vertex -0.00423145 -0.0149994 -0.00676537 + vertex -0.00545406 -0.0149994 -0.00508404 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.01369 -0.0149994 -0.00776005 + vertex -0.00423145 -0.0149994 -0.00676537 + vertex -0.012845 -0.0149994 -0.00586033 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.01369 -0.0149994 -0.00776005 + vertex -0.00379944 -0.0149994 -0.00879955 + vertex -0.00423145 -0.0149994 -0.00676537 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.01369 -0.0149994 -0.00983906 + vertex -0.00379944 -0.0149994 -0.00879955 + vertex -0.01369 -0.0149994 -0.00776005 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.01369 -0.0149994 -0.00983906 + vertex -0.00423145 -0.0149994 -0.0108328 + vertex -0.00379944 -0.0149994 -0.00879955 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.012845 -0.0149994 -0.0117388 + vertex -0.00423145 -0.0149994 -0.0108328 + vertex -0.01369 -0.0149994 -0.00983906 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.012845 -0.0149994 -0.0117388 + vertex -0.00545406 -0.0149994 -0.0125151 + vertex -0.00423145 -0.0149994 -0.0108328 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.0112991 -0.0149994 -0.0131292 + vertex -0.00545406 -0.0149994 -0.0125151 + vertex -0.012845 -0.0149994 -0.0117388 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.0112991 -0.0149994 -0.0131292 + vertex -0.0072546 -0.0149994 -0.0135546 + vertex -0.00545406 -0.0149994 -0.0125151 + endloop + endfacet + facet normal -0 -1 0 + outer loop + vertex -0.0072546 -0.0149994 -0.0135546 + vertex -0.0112991 -0.0149994 -0.0131292 + vertex -0.00932217 -0.0149994 -0.013772 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex -0.01369 -0.0149994 -0.00983906 + vertex -0.01369 0.0149994 -0.00776005 + vertex -0.01369 0.0149994 -0.00983906 + endloop + endfacet + facet normal -1 -0 0 + outer loop + vertex -0.01369 0.0149994 -0.00776005 + vertex -0.01369 -0.0149994 -0.00983906 + vertex -0.01369 -0.0149994 -0.00776005 + endloop + endfacet + facet normal 0.978164 0 -0.207833 + outer loop + vertex -0.00379944 -0.0149994 -0.00879955 + vertex -0.00423145 0.0149994 -0.0108328 + vertex -0.00379944 0.0149994 -0.00879955 + endloop + endfacet + facet normal 0.978164 0 -0.207833 + outer loop + vertex -0.00423145 0.0149994 -0.0108328 + vertex -0.00379944 -0.0149994 -0.00879955 + vertex -0.00423145 -0.0149994 -0.0108328 + endloop + endfacet + facet normal -0.309203 0 0.950996 + outer loop + vertex -0.0112991 0.0149994 -0.00446987 + vertex -0.00932217 -0.0149994 -0.0038271 + vertex -0.00932217 0.0149994 -0.0038271 + endloop + endfacet + facet normal -0.309203 0 0.950996 + outer loop + vertex -0.00932217 -0.0149994 -0.0038271 + vertex -0.0112991 0.0149994 -0.00446987 + vertex -0.0112991 -0.0149994 -0.00446987 + endloop + endfacet + facet normal -0.913692 0 -0.406408 + outer loop + vertex -0.012845 -0.0149994 -0.0117388 + vertex -0.01369 0.0149994 -0.00983906 + vertex -0.012845 0.0149994 -0.0117388 + endloop + endfacet + facet normal -0.913692 -0 -0.406408 + outer loop + vertex -0.01369 0.0149994 -0.00983906 + vertex -0.012845 -0.0149994 -0.0117388 + vertex -0.01369 -0.0149994 -0.00983906 + endloop + endfacet + facet normal 0.104571 0 -0.994517 + outer loop + vertex -0.00932217 -0.0149994 -0.013772 + vertex -0.0072546 0.0149994 -0.0135546 + vertex -0.0072546 -0.0149994 -0.0135546 + endloop + endfacet + facet normal 0.104571 0 -0.994517 + outer loop + vertex -0.0072546 0.0149994 -0.0135546 + vertex -0.00932217 -0.0149994 -0.013772 + vertex -0.00932217 0.0149994 -0.013772 + endloop + endfacet + facet normal -0.668723 0 -0.743512 + outer loop + vertex -0.012845 -0.0149994 -0.0117388 + vertex -0.0112991 0.0149994 -0.0131292 + vertex -0.0112991 -0.0149994 -0.0131292 + endloop + endfacet + facet normal -0.668723 0 -0.743512 + outer loop + vertex -0.0112991 0.0149994 -0.0131292 + vertex -0.012845 -0.0149994 -0.0117388 + vertex -0.012845 0.0149994 -0.0117388 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.0072546 0.0149994 -0.00404453 + vertex -0.0112991 0.0149994 -0.00446987 + vertex -0.00932217 0.0149994 -0.0038271 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.00545406 0.0149994 -0.00508404 + vertex -0.0112991 0.0149994 -0.00446987 + vertex -0.0072546 0.0149994 -0.00404453 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.00545406 0.0149994 -0.00508404 + vertex -0.012845 0.0149994 -0.00586033 + vertex -0.0112991 0.0149994 -0.00446987 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.00423145 0.0149994 -0.00676537 + vertex -0.012845 0.0149994 -0.00586033 + vertex -0.00545406 0.0149994 -0.00508404 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.00423145 0.0149994 -0.00676537 + vertex -0.01369 0.0149994 -0.00776005 + vertex -0.012845 0.0149994 -0.00586033 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.00379944 0.0149994 -0.00879955 + vertex -0.01369 0.0149994 -0.00776005 + vertex -0.00423145 0.0149994 -0.00676537 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.00379944 0.0149994 -0.00879955 + vertex -0.01369 0.0149994 -0.00983906 + vertex -0.01369 0.0149994 -0.00776005 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex -0.00423145 0.0149994 -0.0108328 + vertex -0.01369 0.0149994 -0.00983906 + vertex -0.00379944 0.0149994 -0.00879955 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.00423145 0.0149994 -0.0108328 + vertex -0.012845 0.0149994 -0.0117388 + vertex -0.01369 0.0149994 -0.00983906 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex -0.00545406 0.0149994 -0.0125151 + vertex -0.012845 0.0149994 -0.0117388 + vertex -0.00423145 0.0149994 -0.0108328 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.00545406 0.0149994 -0.0125151 + vertex -0.0112991 0.0149994 -0.0131292 + vertex -0.012845 0.0149994 -0.0117388 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex -0.0072546 0.0149994 -0.0135546 + vertex -0.0112991 0.0149994 -0.0131292 + vertex -0.00545406 0.0149994 -0.0125151 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.0112991 0.0149994 -0.0131292 + vertex -0.0072546 0.0149994 -0.0135546 + vertex -0.00932217 0.0149994 -0.013772 + endloop + endfacet +endsolid OpenSCAD_Model diff --git a/implementation/endeffector/markerholder.stl b/implementation/endeffector/markerholder.stl new file mode 100644 index 0000000..eb22322 --- /dev/null +++ b/implementation/endeffector/markerholder.stl @@ -0,0 +1,1962 @@ +solid OpenSCAD_Model + facet normal -0.913621 0 -0.406567 + outer loop + vertex 0.00475407 0.0299997 -0.00293827 + vertex 0.00390911 0.0499992 -0.00103951 + vertex 0.00475407 0.0499992 -0.00293827 + endloop + endfacet + facet normal -0.913621 -0 -0.406567 + outer loop + vertex 0.00390911 0.0499992 -0.00103951 + vertex 0.00475407 0.0299997 -0.00293827 + vertex 0.00390911 0.0299997 -0.00103951 + endloop + endfacet + facet normal 0.808915 -0 0.587925 + outer loop + vertex 0.012145 0.0299997 0.00371552 + vertex 0.0133677 0.0499992 0.00203323 + vertex 0.012145 0.0499992 0.00371552 + endloop + endfacet + facet normal 0.808915 0 0.587925 + outer loop + vertex 0.0133677 0.0499992 0.00203323 + vertex 0.012145 0.0299997 0.00371552 + vertex 0.0133677 0.0299997 0.00203323 + endloop + endfacet + facet normal 0.978165 -0 0.207831 + outer loop + vertex 0.0133677 0.0299997 0.00203323 + vertex 0.0137997 0.0499992 0 + vertex 0.0133677 0.0499992 0.00203323 + endloop + endfacet + facet normal 0.978165 0 0.207831 + outer loop + vertex 0.0137997 0.0499992 0 + vertex 0.0133677 0.0299997 0.00203323 + vertex 0.0137997 0.0299997 0 + endloop + endfacet + facet normal 0.499993 0 -0.866029 + outer loop + vertex 0.0103445 0.0299997 -0.00475502 + vertex 0.012145 0.0499992 -0.00371552 + vertex 0.012145 0.0299997 -0.00371552 + endloop + endfacet + facet normal 0.499993 0 -0.866029 + outer loop + vertex 0.012145 0.0499992 -0.00371552 + vertex 0.0103445 0.0299997 -0.00475502 + vertex 0.0103445 0.0499992 -0.00475502 + endloop + endfacet + facet normal -0.913621 0 0.406567 + outer loop + vertex 0.00390911 0.0299997 0.00103951 + vertex 0.00475407 0.0499992 0.00293827 + vertex 0.00390911 0.0499992 0.00103951 + endloop + endfacet + facet normal -0.913621 0 0.406567 + outer loop + vertex 0.00475407 0.0499992 0.00293827 + vertex 0.00390911 0.0299997 0.00103951 + vertex 0.00475407 0.0299997 0.00293827 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.0103445 0.0499992 0.00475502 + vertex 0.00629997 0.0499992 0.00432968 + vertex 0.00827694 0.0499992 0.00497246 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.012145 0.0499992 0.00371552 + vertex 0.00629997 0.0499992 0.00432968 + vertex 0.0103445 0.0499992 0.00475502 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.012145 0.0499992 0.00371552 + vertex 0.00475407 0.0499992 0.00293827 + vertex 0.00629997 0.0499992 0.00432968 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.0133677 0.0499992 0.00203323 + vertex 0.00475407 0.0499992 0.00293827 + vertex 0.012145 0.0499992 0.00371552 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.0133677 0.0499992 0.00203323 + vertex 0.00390911 0.0499992 0.00103951 + vertex 0.00475407 0.0499992 0.00293827 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.0137997 0.0499992 0 + vertex 0.00390911 0.0499992 0.00103951 + vertex 0.0133677 0.0499992 0.00203323 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.0137997 0.0499992 0 + vertex 0.00390911 0.0499992 -0.00103951 + vertex 0.00390911 0.0499992 0.00103951 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex 0.0133677 0.0499992 -0.00203323 + vertex 0.00390911 0.0499992 -0.00103951 + vertex 0.0137997 0.0499992 0 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.0133677 0.0499992 -0.00203323 + vertex 0.00475407 0.0499992 -0.00293827 + vertex 0.00390911 0.0499992 -0.00103951 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex 0.012145 0.0499992 -0.00371552 + vertex 0.00475407 0.0499992 -0.00293827 + vertex 0.0133677 0.0499992 -0.00203323 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.012145 0.0499992 -0.00371552 + vertex 0.00629997 0.0499992 -0.00432968 + vertex 0.00475407 0.0499992 -0.00293827 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex 0.0103445 0.0499992 -0.00475502 + vertex 0.00629997 0.0499992 -0.00432968 + vertex 0.012145 0.0499992 -0.00371552 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.00629997 0.0499992 -0.00432968 + vertex 0.0103445 0.0499992 -0.00475502 + vertex 0.00827694 0.0499992 -0.00497246 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00629997 0.0299997 0.00432968 + vertex 0.0103445 0.0299997 0.00475502 + vertex 0.00827694 0.0299997 0.00497246 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00629997 0.0299997 0.00432968 + vertex 0.012145 0.0299997 0.00371552 + vertex 0.0103445 0.0299997 0.00475502 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00475407 0.0299997 0.00293827 + vertex 0.012145 0.0299997 0.00371552 + vertex 0.00629997 0.0299997 0.00432968 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00475407 0.0299997 0.00293827 + vertex 0.0133677 0.0299997 0.00203323 + vertex 0.012145 0.0299997 0.00371552 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00390911 0.0299997 0.00103951 + vertex 0.0133677 0.0299997 0.00203323 + vertex 0.00475407 0.0299997 0.00293827 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00390911 0.0299997 0.00103951 + vertex 0.0137997 0.0299997 0 + vertex 0.0133677 0.0299997 0.00203323 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00390911 0.0299997 -0.00103951 + vertex 0.0137997 0.0299997 0 + vertex 0.00390911 0.0299997 0.00103951 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00390911 0.0299997 -0.00103951 + vertex 0.0133677 0.0299997 -0.00203323 + vertex 0.0137997 0.0299997 0 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00475407 0.0299997 -0.00293827 + vertex 0.0133677 0.0299997 -0.00203323 + vertex 0.00390911 0.0299997 -0.00103951 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00475407 0.0299997 -0.00293827 + vertex 0.012145 0.0299997 -0.00371552 + vertex 0.0133677 0.0299997 -0.00203323 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00629997 0.0299997 -0.00432968 + vertex 0.012145 0.0299997 -0.00371552 + vertex 0.00475407 0.0299997 -0.00293827 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00629997 0.0299997 -0.00432968 + vertex 0.0103445 0.0299997 -0.00475502 + vertex 0.012145 0.0299997 -0.00371552 + endloop + endfacet + facet normal -0 -1 0 + outer loop + vertex 0.0103445 0.0299997 -0.00475502 + vertex 0.00629997 0.0299997 -0.00432968 + vertex 0.00827694 0.0299997 -0.00497246 + endloop + endfacet + facet normal -0.309201 0 0.950997 + outer loop + vertex 0.00629997 0.0499992 0.00432968 + vertex 0.00827694 0.0299997 0.00497246 + vertex 0.00827694 0.0499992 0.00497246 + endloop + endfacet + facet normal -0.309201 0 0.950997 + outer loop + vertex 0.00827694 0.0299997 0.00497246 + vertex 0.00629997 0.0499992 0.00432968 + vertex 0.00629997 0.0299997 0.00432968 + endloop + endfacet + facet normal 0.499993 0 0.866029 + outer loop + vertex 0.0103445 0.0499992 0.00475502 + vertex 0.012145 0.0299997 0.00371552 + vertex 0.012145 0.0499992 0.00371552 + endloop + endfacet + facet normal 0.499993 0 0.866029 + outer loop + vertex 0.012145 0.0299997 0.00371552 + vertex 0.0103445 0.0499992 0.00475502 + vertex 0.0103445 0.0299997 0.00475502 + endloop + endfacet + facet normal -0.309201 0 -0.950997 + outer loop + vertex 0.00629997 0.0299997 -0.00432968 + vertex 0.00827694 0.0499992 -0.00497246 + vertex 0.00827694 0.0299997 -0.00497246 + endloop + endfacet + facet normal -0.309201 0 -0.950997 + outer loop + vertex 0.00827694 0.0499992 -0.00497246 + vertex 0.00629997 0.0299997 -0.00432968 + vertex 0.00629997 0.0499992 -0.00432968 + endloop + endfacet + facet normal -0.668991 0 -0.74327 + outer loop + vertex 0.00475407 0.0299997 -0.00293827 + vertex 0.00629997 0.0499992 -0.00432968 + vertex 0.00629997 0.0299997 -0.00432968 + endloop + endfacet + facet normal -0.668991 0 -0.74327 + outer loop + vertex 0.00629997 0.0499992 -0.00432968 + vertex 0.00475407 0.0299997 -0.00293827 + vertex 0.00475407 0.0499992 -0.00293827 + endloop + endfacet + facet normal 0.978165 0 -0.207831 + outer loop + vertex 0.0137997 0.0299997 0 + vertex 0.0133677 0.0499992 -0.00203323 + vertex 0.0137997 0.0499992 0 + endloop + endfacet + facet normal 0.978165 0 -0.207831 + outer loop + vertex 0.0133677 0.0499992 -0.00203323 + vertex 0.0137997 0.0299997 0 + vertex 0.0133677 0.0299997 -0.00203323 + endloop + endfacet + facet normal 0.808915 0 -0.587925 + outer loop + vertex 0.0133677 0.0299997 -0.00203323 + vertex 0.012145 0.0499992 -0.00371552 + vertex 0.0133677 0.0499992 -0.00203323 + endloop + endfacet + facet normal 0.808915 0 -0.587925 + outer loop + vertex 0.012145 0.0499992 -0.00371552 + vertex 0.0133677 0.0299997 -0.00203323 + vertex 0.012145 0.0299997 -0.00371552 + endloop + endfacet + facet normal 0.104591 0 -0.994515 + outer loop + vertex 0.00827694 0.0299997 -0.00497246 + vertex 0.0103445 0.0499992 -0.00475502 + vertex 0.0103445 0.0299997 -0.00475502 + endloop + endfacet + facet normal 0.104591 0 -0.994515 + outer loop + vertex 0.0103445 0.0499992 -0.00475502 + vertex 0.00827694 0.0299997 -0.00497246 + vertex 0.00827694 0.0499992 -0.00497246 + endloop + endfacet + facet normal -0.668991 0 0.74327 + outer loop + vertex 0.00475407 0.0499992 0.00293827 + vertex 0.00629997 0.0299997 0.00432968 + vertex 0.00629997 0.0499992 0.00432968 + endloop + endfacet + facet normal -0.668991 0 0.74327 + outer loop + vertex 0.00629997 0.0299997 0.00432968 + vertex 0.00475407 0.0499992 0.00293827 + vertex 0.00475407 0.0299997 0.00293827 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 0.00390911 0.0299997 -0.00103951 + vertex 0.00390911 0.0499992 0.00103951 + vertex 0.00390911 0.0499992 -0.00103951 + endloop + endfacet + facet normal -1 -0 0 + outer loop + vertex 0.00390911 0.0499992 0.00103951 + vertex 0.00390911 0.0299997 -0.00103951 + vertex 0.00390911 0.0299997 0.00103951 + endloop + endfacet + facet normal 0.104591 0 0.994515 + outer loop + vertex 0.00827694 0.0499992 0.00497246 + vertex 0.0103445 0.0299997 0.00475502 + vertex 0.0103445 0.0499992 0.00475502 + endloop + endfacet + facet normal 0.104591 0 0.994515 + outer loop + vertex 0.0103445 0.0299997 0.00475502 + vertex 0.00827694 0.0499992 0.00497246 + vertex 0.00827694 0.0299997 0.00497246 + endloop + endfacet + facet normal -0.913614 0 -0.406583 + outer loop + vertex -0.012845 0.0299997 -0.00293827 + vertex -0.01369 0.0499992 -0.00103951 + vertex -0.012845 0.0499992 -0.00293827 + endloop + endfacet + facet normal -0.913614 -0 -0.406583 + outer loop + vertex -0.01369 0.0499992 -0.00103951 + vertex -0.012845 0.0299997 -0.00293827 + vertex -0.01369 0.0299997 -0.00103951 + endloop + endfacet + facet normal 0.808936 -0 0.587897 + outer loop + vertex -0.00545406 0.0299997 0.00371552 + vertex -0.00423145 0.0499992 0.00203323 + vertex -0.00545406 0.0499992 0.00371552 + endloop + endfacet + facet normal 0.808936 0 0.587897 + outer loop + vertex -0.00423145 0.0499992 0.00203323 + vertex -0.00545406 0.0299997 0.00371552 + vertex -0.00423145 0.0299997 0.00203323 + endloop + endfacet + facet normal 0.978164 -0 0.207835 + outer loop + vertex -0.00423145 0.0299997 0.00203323 + vertex -0.00379944 0.0499992 0 + vertex -0.00423145 0.0499992 0.00203323 + endloop + endfacet + facet normal 0.978164 0 0.207835 + outer loop + vertex -0.00379944 0.0499992 0 + vertex -0.00423145 0.0299997 0.00203323 + vertex -0.00379944 0.0299997 0 + endloop + endfacet + facet normal 0.499985 0 -0.866034 + outer loop + vertex -0.0072546 0.0299997 -0.00475502 + vertex -0.00545406 0.0499992 -0.00371552 + vertex -0.00545406 0.0299997 -0.00371552 + endloop + endfacet + facet normal 0.499985 0 -0.866034 + outer loop + vertex -0.00545406 0.0499992 -0.00371552 + vertex -0.0072546 0.0299997 -0.00475502 + vertex -0.0072546 0.0499992 -0.00475502 + endloop + endfacet + facet normal -0.913614 0 0.406583 + outer loop + vertex -0.01369 0.0299997 0.00103951 + vertex -0.012845 0.0499992 0.00293827 + vertex -0.01369 0.0499992 0.00103951 + endloop + endfacet + facet normal -0.913614 0 0.406583 + outer loop + vertex -0.012845 0.0499992 0.00293827 + vertex -0.01369 0.0299997 0.00103951 + vertex -0.012845 0.0299997 0.00293827 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.0072546 0.0499992 0.00475502 + vertex -0.0112991 0.0499992 0.00432968 + vertex -0.00932217 0.0499992 0.00497246 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.00545406 0.0499992 0.00371552 + vertex -0.0112991 0.0499992 0.00432968 + vertex -0.0072546 0.0499992 0.00475502 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.00545406 0.0499992 0.00371552 + vertex -0.012845 0.0499992 0.00293827 + vertex -0.0112991 0.0499992 0.00432968 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.00423145 0.0499992 0.00203323 + vertex -0.012845 0.0499992 0.00293827 + vertex -0.00545406 0.0499992 0.00371552 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.00423145 0.0499992 0.00203323 + vertex -0.01369 0.0499992 0.00103951 + vertex -0.012845 0.0499992 0.00293827 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.00379944 0.0499992 0 + vertex -0.01369 0.0499992 0.00103951 + vertex -0.00423145 0.0499992 0.00203323 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.00379944 0.0499992 0 + vertex -0.01369 0.0499992 -0.00103951 + vertex -0.01369 0.0499992 0.00103951 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex -0.00423145 0.0499992 -0.00203323 + vertex -0.01369 0.0499992 -0.00103951 + vertex -0.00379944 0.0499992 0 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.00423145 0.0499992 -0.00203323 + vertex -0.012845 0.0499992 -0.00293827 + vertex -0.01369 0.0499992 -0.00103951 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex -0.00545406 0.0499992 -0.00371552 + vertex -0.012845 0.0499992 -0.00293827 + vertex -0.00423145 0.0499992 -0.00203323 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.00545406 0.0499992 -0.00371552 + vertex -0.0112991 0.0499992 -0.00432968 + vertex -0.012845 0.0499992 -0.00293827 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex -0.0072546 0.0499992 -0.00475502 + vertex -0.0112991 0.0499992 -0.00432968 + vertex -0.00545406 0.0499992 -0.00371552 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.0112991 0.0499992 -0.00432968 + vertex -0.0072546 0.0499992 -0.00475502 + vertex -0.00932217 0.0499992 -0.00497246 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.0112991 0.0299997 0.00432968 + vertex -0.0072546 0.0299997 0.00475502 + vertex -0.00932217 0.0299997 0.00497246 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.0112991 0.0299997 0.00432968 + vertex -0.00545406 0.0299997 0.00371552 + vertex -0.0072546 0.0299997 0.00475502 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.012845 0.0299997 0.00293827 + vertex -0.00545406 0.0299997 0.00371552 + vertex -0.0112991 0.0299997 0.00432968 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.012845 0.0299997 0.00293827 + vertex -0.00423145 0.0299997 0.00203323 + vertex -0.00545406 0.0299997 0.00371552 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.01369 0.0299997 0.00103951 + vertex -0.00423145 0.0299997 0.00203323 + vertex -0.012845 0.0299997 0.00293827 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.01369 0.0299997 0.00103951 + vertex -0.00379944 0.0299997 0 + vertex -0.00423145 0.0299997 0.00203323 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.01369 0.0299997 -0.00103951 + vertex -0.00379944 0.0299997 0 + vertex -0.01369 0.0299997 0.00103951 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.01369 0.0299997 -0.00103951 + vertex -0.00423145 0.0299997 -0.00203323 + vertex -0.00379944 0.0299997 0 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.012845 0.0299997 -0.00293827 + vertex -0.00423145 0.0299997 -0.00203323 + vertex -0.01369 0.0299997 -0.00103951 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.012845 0.0299997 -0.00293827 + vertex -0.00545406 0.0299997 -0.00371552 + vertex -0.00423145 0.0299997 -0.00203323 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.0112991 0.0299997 -0.00432968 + vertex -0.00545406 0.0299997 -0.00371552 + vertex -0.012845 0.0299997 -0.00293827 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.0112991 0.0299997 -0.00432968 + vertex -0.0072546 0.0299997 -0.00475502 + vertex -0.00545406 0.0299997 -0.00371552 + endloop + endfacet + facet normal -0 -1 0 + outer loop + vertex -0.0072546 0.0299997 -0.00475502 + vertex -0.0112991 0.0299997 -0.00432968 + vertex -0.00932217 0.0299997 -0.00497246 + endloop + endfacet + facet normal -0.309207 0 0.950995 + outer loop + vertex -0.0112991 0.0499992 0.00432968 + vertex -0.00932217 0.0299997 0.00497246 + vertex -0.00932217 0.0499992 0.00497246 + endloop + endfacet + facet normal -0.309207 0 0.950995 + outer loop + vertex -0.00932217 0.0299997 0.00497246 + vertex -0.0112991 0.0499992 0.00432968 + vertex -0.0112991 0.0299997 0.00432968 + endloop + endfacet + facet normal 0.499985 0 0.866034 + outer loop + vertex -0.0072546 0.0499992 0.00475502 + vertex -0.00545406 0.0299997 0.00371552 + vertex -0.00545406 0.0499992 0.00371552 + endloop + endfacet + facet normal 0.499985 0 0.866034 + outer loop + vertex -0.00545406 0.0299997 0.00371552 + vertex -0.0072546 0.0499992 0.00475502 + vertex -0.0072546 0.0299997 0.00475502 + endloop + endfacet + facet normal -0.309207 0 -0.950995 + outer loop + vertex -0.0112991 0.0299997 -0.00432968 + vertex -0.00932217 0.0499992 -0.00497246 + vertex -0.00932217 0.0299997 -0.00497246 + endloop + endfacet + facet normal -0.309207 0 -0.950995 + outer loop + vertex -0.00932217 0.0499992 -0.00497246 + vertex -0.0112991 0.0299997 -0.00432968 + vertex -0.0112991 0.0499992 -0.00432968 + endloop + endfacet + facet normal -0.668991 0 -0.74327 + outer loop + vertex -0.012845 0.0299997 -0.00293827 + vertex -0.0112991 0.0499992 -0.00432968 + vertex -0.0112991 0.0299997 -0.00432968 + endloop + endfacet + facet normal -0.668991 0 -0.74327 + outer loop + vertex -0.0112991 0.0499992 -0.00432968 + vertex -0.012845 0.0299997 -0.00293827 + vertex -0.012845 0.0499992 -0.00293827 + endloop + endfacet + facet normal 0.978164 0 -0.207835 + outer loop + vertex -0.00379944 0.0299997 0 + vertex -0.00423145 0.0499992 -0.00203323 + vertex -0.00379944 0.0499992 0 + endloop + endfacet + facet normal 0.978164 0 -0.207835 + outer loop + vertex -0.00423145 0.0499992 -0.00203323 + vertex -0.00379944 0.0299997 0 + vertex -0.00423145 0.0299997 -0.00203323 + endloop + endfacet + facet normal 0.808936 0 -0.587897 + outer loop + vertex -0.00423145 0.0299997 -0.00203323 + vertex -0.00545406 0.0499992 -0.00371552 + vertex -0.00423145 0.0499992 -0.00203323 + endloop + endfacet + facet normal 0.808936 0 -0.587897 + outer loop + vertex -0.00545406 0.0499992 -0.00371552 + vertex -0.00423145 0.0299997 -0.00203323 + vertex -0.00545406 0.0299997 -0.00371552 + endloop + endfacet + facet normal 0.10459 0 -0.994515 + outer loop + vertex -0.00932217 0.0299997 -0.00497246 + vertex -0.0072546 0.0499992 -0.00475502 + vertex -0.0072546 0.0299997 -0.00475502 + endloop + endfacet + facet normal 0.10459 0 -0.994515 + outer loop + vertex -0.0072546 0.0499992 -0.00475502 + vertex -0.00932217 0.0299997 -0.00497246 + vertex -0.00932217 0.0499992 -0.00497246 + endloop + endfacet + facet normal -0.668991 0 0.74327 + outer loop + vertex -0.012845 0.0499992 0.00293827 + vertex -0.0112991 0.0299997 0.00432968 + vertex -0.0112991 0.0499992 0.00432968 + endloop + endfacet + facet normal -0.668991 0 0.74327 + outer loop + vertex -0.0112991 0.0299997 0.00432968 + vertex -0.012845 0.0499992 0.00293827 + vertex -0.012845 0.0299997 0.00293827 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex -0.01369 0.0299997 -0.00103951 + vertex -0.01369 0.0499992 0.00103951 + vertex -0.01369 0.0499992 -0.00103951 + endloop + endfacet + facet normal -1 -0 0 + outer loop + vertex -0.01369 0.0499992 0.00103951 + vertex -0.01369 0.0299997 -0.00103951 + vertex -0.01369 0.0299997 0.00103951 + endloop + endfacet + facet normal 0.10459 0 0.994515 + outer loop + vertex -0.00932217 0.0499992 0.00497246 + vertex -0.0072546 0.0299997 0.00475502 + vertex -0.0072546 0.0499992 0.00475502 + endloop + endfacet + facet normal 0.10459 0 0.994515 + outer loop + vertex -0.0072546 0.0299997 0.00475502 + vertex -0.00932217 0.0499992 0.00497246 + vertex -0.00932217 0.0299997 0.00497246 + endloop + endfacet + facet normal -0.913621 0 -0.406567 + outer loop + vertex 0.00475407 -0.0499992 -0.00293827 + vertex 0.00390911 -0.0299997 -0.00103951 + vertex 0.00475407 -0.0299997 -0.00293827 + endloop + endfacet + facet normal -0.913621 -0 -0.406567 + outer loop + vertex 0.00390911 -0.0299997 -0.00103951 + vertex 0.00475407 -0.0499992 -0.00293827 + vertex 0.00390911 -0.0499992 -0.00103951 + endloop + endfacet + facet normal 0.808915 -0 0.587925 + outer loop + vertex 0.012145 -0.0499992 0.00371552 + vertex 0.0133677 -0.0299997 0.00203323 + vertex 0.012145 -0.0299997 0.00371552 + endloop + endfacet + facet normal 0.808915 0 0.587925 + outer loop + vertex 0.0133677 -0.0299997 0.00203323 + vertex 0.012145 -0.0499992 0.00371552 + vertex 0.0133677 -0.0499992 0.00203323 + endloop + endfacet + facet normal 0.978165 -0 0.207831 + outer loop + vertex 0.0133677 -0.0499992 0.00203323 + vertex 0.0137997 -0.0299997 0 + vertex 0.0133677 -0.0299997 0.00203323 + endloop + endfacet + facet normal 0.978165 0 0.207831 + outer loop + vertex 0.0137997 -0.0299997 0 + vertex 0.0133677 -0.0499992 0.00203323 + vertex 0.0137997 -0.0499992 0 + endloop + endfacet + facet normal 0.499993 0 -0.866029 + outer loop + vertex 0.0103445 -0.0499992 -0.00475502 + vertex 0.012145 -0.0299997 -0.00371552 + vertex 0.012145 -0.0499992 -0.00371552 + endloop + endfacet + facet normal 0.499993 0 -0.866029 + outer loop + vertex 0.012145 -0.0299997 -0.00371552 + vertex 0.0103445 -0.0499992 -0.00475502 + vertex 0.0103445 -0.0299997 -0.00475502 + endloop + endfacet + facet normal -0.913621 0 0.406567 + outer loop + vertex 0.00390911 -0.0499992 0.00103951 + vertex 0.00475407 -0.0299997 0.00293827 + vertex 0.00390911 -0.0299997 0.00103951 + endloop + endfacet + facet normal -0.913621 0 0.406567 + outer loop + vertex 0.00475407 -0.0299997 0.00293827 + vertex 0.00390911 -0.0499992 0.00103951 + vertex 0.00475407 -0.0499992 0.00293827 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.0103445 -0.0299997 0.00475502 + vertex 0.00629997 -0.0299997 0.00432968 + vertex 0.00827694 -0.0299997 0.00497246 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.012145 -0.0299997 0.00371552 + vertex 0.00629997 -0.0299997 0.00432968 + vertex 0.0103445 -0.0299997 0.00475502 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.012145 -0.0299997 0.00371552 + vertex 0.00475407 -0.0299997 0.00293827 + vertex 0.00629997 -0.0299997 0.00432968 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.0133677 -0.0299997 0.00203323 + vertex 0.00475407 -0.0299997 0.00293827 + vertex 0.012145 -0.0299997 0.00371552 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.0133677 -0.0299997 0.00203323 + vertex 0.00390911 -0.0299997 0.00103951 + vertex 0.00475407 -0.0299997 0.00293827 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.0137997 -0.0299997 0 + vertex 0.00390911 -0.0299997 0.00103951 + vertex 0.0133677 -0.0299997 0.00203323 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.0137997 -0.0299997 0 + vertex 0.00390911 -0.0299997 -0.00103951 + vertex 0.00390911 -0.0299997 0.00103951 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex 0.0133677 -0.0299997 -0.00203323 + vertex 0.00390911 -0.0299997 -0.00103951 + vertex 0.0137997 -0.0299997 0 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.0133677 -0.0299997 -0.00203323 + vertex 0.00475407 -0.0299997 -0.00293827 + vertex 0.00390911 -0.0299997 -0.00103951 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex 0.012145 -0.0299997 -0.00371552 + vertex 0.00475407 -0.0299997 -0.00293827 + vertex 0.0133677 -0.0299997 -0.00203323 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.012145 -0.0299997 -0.00371552 + vertex 0.00629997 -0.0299997 -0.00432968 + vertex 0.00475407 -0.0299997 -0.00293827 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex 0.0103445 -0.0299997 -0.00475502 + vertex 0.00629997 -0.0299997 -0.00432968 + vertex 0.012145 -0.0299997 -0.00371552 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex 0.00629997 -0.0299997 -0.00432968 + vertex 0.0103445 -0.0299997 -0.00475502 + vertex 0.00827694 -0.0299997 -0.00497246 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00629997 -0.0499992 0.00432968 + vertex 0.0103445 -0.0499992 0.00475502 + vertex 0.00827694 -0.0499992 0.00497246 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00629997 -0.0499992 0.00432968 + vertex 0.012145 -0.0499992 0.00371552 + vertex 0.0103445 -0.0499992 0.00475502 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00475407 -0.0499992 0.00293827 + vertex 0.012145 -0.0499992 0.00371552 + vertex 0.00629997 -0.0499992 0.00432968 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00475407 -0.0499992 0.00293827 + vertex 0.0133677 -0.0499992 0.00203323 + vertex 0.012145 -0.0499992 0.00371552 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00390911 -0.0499992 0.00103951 + vertex 0.0133677 -0.0499992 0.00203323 + vertex 0.00475407 -0.0499992 0.00293827 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00390911 -0.0499992 0.00103951 + vertex 0.0137997 -0.0499992 0 + vertex 0.0133677 -0.0499992 0.00203323 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00390911 -0.0499992 -0.00103951 + vertex 0.0137997 -0.0499992 0 + vertex 0.00390911 -0.0499992 0.00103951 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00390911 -0.0499992 -0.00103951 + vertex 0.0133677 -0.0499992 -0.00203323 + vertex 0.0137997 -0.0499992 0 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00475407 -0.0499992 -0.00293827 + vertex 0.0133677 -0.0499992 -0.00203323 + vertex 0.00390911 -0.0499992 -0.00103951 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00475407 -0.0499992 -0.00293827 + vertex 0.012145 -0.0499992 -0.00371552 + vertex 0.0133677 -0.0499992 -0.00203323 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00629997 -0.0499992 -0.00432968 + vertex 0.012145 -0.0499992 -0.00371552 + vertex 0.00475407 -0.0499992 -0.00293827 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex 0.00629997 -0.0499992 -0.00432968 + vertex 0.0103445 -0.0499992 -0.00475502 + vertex 0.012145 -0.0499992 -0.00371552 + endloop + endfacet + facet normal -0 -1 0 + outer loop + vertex 0.0103445 -0.0499992 -0.00475502 + vertex 0.00629997 -0.0499992 -0.00432968 + vertex 0.00827694 -0.0499992 -0.00497246 + endloop + endfacet + facet normal -0.309201 0 0.950997 + outer loop + vertex 0.00629997 -0.0299997 0.00432968 + vertex 0.00827694 -0.0499992 0.00497246 + vertex 0.00827694 -0.0299997 0.00497246 + endloop + endfacet + facet normal -0.309201 0 0.950997 + outer loop + vertex 0.00827694 -0.0499992 0.00497246 + vertex 0.00629997 -0.0299997 0.00432968 + vertex 0.00629997 -0.0499992 0.00432968 + endloop + endfacet + facet normal 0.499993 0 0.866029 + outer loop + vertex 0.0103445 -0.0299997 0.00475502 + vertex 0.012145 -0.0499992 0.00371552 + vertex 0.012145 -0.0299997 0.00371552 + endloop + endfacet + facet normal 0.499993 0 0.866029 + outer loop + vertex 0.012145 -0.0499992 0.00371552 + vertex 0.0103445 -0.0299997 0.00475502 + vertex 0.0103445 -0.0499992 0.00475502 + endloop + endfacet + facet normal -0.309201 0 -0.950997 + outer loop + vertex 0.00629997 -0.0499992 -0.00432968 + vertex 0.00827694 -0.0299997 -0.00497246 + vertex 0.00827694 -0.0499992 -0.00497246 + endloop + endfacet + facet normal -0.309201 0 -0.950997 + outer loop + vertex 0.00827694 -0.0299997 -0.00497246 + vertex 0.00629997 -0.0499992 -0.00432968 + vertex 0.00629997 -0.0299997 -0.00432968 + endloop + endfacet + facet normal -0.668991 0 -0.74327 + outer loop + vertex 0.00475407 -0.0499992 -0.00293827 + vertex 0.00629997 -0.0299997 -0.00432968 + vertex 0.00629997 -0.0499992 -0.00432968 + endloop + endfacet + facet normal -0.668991 0 -0.74327 + outer loop + vertex 0.00629997 -0.0299997 -0.00432968 + vertex 0.00475407 -0.0499992 -0.00293827 + vertex 0.00475407 -0.0299997 -0.00293827 + endloop + endfacet + facet normal 0.978165 0 -0.207831 + outer loop + vertex 0.0137997 -0.0499992 0 + vertex 0.0133677 -0.0299997 -0.00203323 + vertex 0.0137997 -0.0299997 0 + endloop + endfacet + facet normal 0.978165 0 -0.207831 + outer loop + vertex 0.0133677 -0.0299997 -0.00203323 + vertex 0.0137997 -0.0499992 0 + vertex 0.0133677 -0.0499992 -0.00203323 + endloop + endfacet + facet normal 0.808915 0 -0.587925 + outer loop + vertex 0.0133677 -0.0499992 -0.00203323 + vertex 0.012145 -0.0299997 -0.00371552 + vertex 0.0133677 -0.0299997 -0.00203323 + endloop + endfacet + facet normal 0.808915 0 -0.587925 + outer loop + vertex 0.012145 -0.0299997 -0.00371552 + vertex 0.0133677 -0.0499992 -0.00203323 + vertex 0.012145 -0.0499992 -0.00371552 + endloop + endfacet + facet normal 0.104591 0 -0.994515 + outer loop + vertex 0.00827694 -0.0499992 -0.00497246 + vertex 0.0103445 -0.0299997 -0.00475502 + vertex 0.0103445 -0.0499992 -0.00475502 + endloop + endfacet + facet normal 0.104591 0 -0.994515 + outer loop + vertex 0.0103445 -0.0299997 -0.00475502 + vertex 0.00827694 -0.0499992 -0.00497246 + vertex 0.00827694 -0.0299997 -0.00497246 + endloop + endfacet + facet normal -0.668991 0 0.74327 + outer loop + vertex 0.00475407 -0.0299997 0.00293827 + vertex 0.00629997 -0.0499992 0.00432968 + vertex 0.00629997 -0.0299997 0.00432968 + endloop + endfacet + facet normal -0.668991 0 0.74327 + outer loop + vertex 0.00629997 -0.0499992 0.00432968 + vertex 0.00475407 -0.0299997 0.00293827 + vertex 0.00475407 -0.0499992 0.00293827 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex 0.00390911 -0.0499992 -0.00103951 + vertex 0.00390911 -0.0299997 0.00103951 + vertex 0.00390911 -0.0299997 -0.00103951 + endloop + endfacet + facet normal -1 -0 0 + outer loop + vertex 0.00390911 -0.0299997 0.00103951 + vertex 0.00390911 -0.0499992 -0.00103951 + vertex 0.00390911 -0.0499992 0.00103951 + endloop + endfacet + facet normal 0.104591 0 0.994515 + outer loop + vertex 0.00827694 -0.0299997 0.00497246 + vertex 0.0103445 -0.0499992 0.00475502 + vertex 0.0103445 -0.0299997 0.00475502 + endloop + endfacet + facet normal 0.104591 0 0.994515 + outer loop + vertex 0.0103445 -0.0499992 0.00475502 + vertex 0.00827694 -0.0299997 0.00497246 + vertex 0.00827694 -0.0499992 0.00497246 + endloop + endfacet + facet normal -0.913614 0 -0.406583 + outer loop + vertex -0.012845 -0.0499992 -0.00293827 + vertex -0.01369 -0.0299997 -0.00103951 + vertex -0.012845 -0.0299997 -0.00293827 + endloop + endfacet + facet normal -0.913614 -0 -0.406583 + outer loop + vertex -0.01369 -0.0299997 -0.00103951 + vertex -0.012845 -0.0499992 -0.00293827 + vertex -0.01369 -0.0499992 -0.00103951 + endloop + endfacet + facet normal 0.808936 -0 0.587897 + outer loop + vertex -0.00545406 -0.0499992 0.00371552 + vertex -0.00423145 -0.0299997 0.00203323 + vertex -0.00545406 -0.0299997 0.00371552 + endloop + endfacet + facet normal 0.808936 0 0.587897 + outer loop + vertex -0.00423145 -0.0299997 0.00203323 + vertex -0.00545406 -0.0499992 0.00371552 + vertex -0.00423145 -0.0499992 0.00203323 + endloop + endfacet + facet normal 0.978164 -0 0.207835 + outer loop + vertex -0.00423145 -0.0499992 0.00203323 + vertex -0.00379944 -0.0299997 0 + vertex -0.00423145 -0.0299997 0.00203323 + endloop + endfacet + facet normal 0.978164 0 0.207835 + outer loop + vertex -0.00379944 -0.0299997 0 + vertex -0.00423145 -0.0499992 0.00203323 + vertex -0.00379944 -0.0499992 0 + endloop + endfacet + facet normal 0.499985 0 -0.866034 + outer loop + vertex -0.0072546 -0.0499992 -0.00475502 + vertex -0.00545406 -0.0299997 -0.00371552 + vertex -0.00545406 -0.0499992 -0.00371552 + endloop + endfacet + facet normal 0.499985 0 -0.866034 + outer loop + vertex -0.00545406 -0.0299997 -0.00371552 + vertex -0.0072546 -0.0499992 -0.00475502 + vertex -0.0072546 -0.0299997 -0.00475502 + endloop + endfacet + facet normal -0.913614 0 0.406583 + outer loop + vertex -0.01369 -0.0499992 0.00103951 + vertex -0.012845 -0.0299997 0.00293827 + vertex -0.01369 -0.0299997 0.00103951 + endloop + endfacet + facet normal -0.913614 0 0.406583 + outer loop + vertex -0.012845 -0.0299997 0.00293827 + vertex -0.01369 -0.0499992 0.00103951 + vertex -0.012845 -0.0499992 0.00293827 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.0072546 -0.0299997 0.00475502 + vertex -0.0112991 -0.0299997 0.00432968 + vertex -0.00932217 -0.0299997 0.00497246 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.00545406 -0.0299997 0.00371552 + vertex -0.0112991 -0.0299997 0.00432968 + vertex -0.0072546 -0.0299997 0.00475502 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.00545406 -0.0299997 0.00371552 + vertex -0.012845 -0.0299997 0.00293827 + vertex -0.0112991 -0.0299997 0.00432968 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.00423145 -0.0299997 0.00203323 + vertex -0.012845 -0.0299997 0.00293827 + vertex -0.00545406 -0.0299997 0.00371552 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.00423145 -0.0299997 0.00203323 + vertex -0.01369 -0.0299997 0.00103951 + vertex -0.012845 -0.0299997 0.00293827 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.00379944 -0.0299997 0 + vertex -0.01369 -0.0299997 0.00103951 + vertex -0.00423145 -0.0299997 0.00203323 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.00379944 -0.0299997 0 + vertex -0.01369 -0.0299997 -0.00103951 + vertex -0.01369 -0.0299997 0.00103951 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex -0.00423145 -0.0299997 -0.00203323 + vertex -0.01369 -0.0299997 -0.00103951 + vertex -0.00379944 -0.0299997 0 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.00423145 -0.0299997 -0.00203323 + vertex -0.012845 -0.0299997 -0.00293827 + vertex -0.01369 -0.0299997 -0.00103951 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex -0.00545406 -0.0299997 -0.00371552 + vertex -0.012845 -0.0299997 -0.00293827 + vertex -0.00423145 -0.0299997 -0.00203323 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.00545406 -0.0299997 -0.00371552 + vertex -0.0112991 -0.0299997 -0.00432968 + vertex -0.012845 -0.0299997 -0.00293827 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex -0.0072546 -0.0299997 -0.00475502 + vertex -0.0112991 -0.0299997 -0.00432968 + vertex -0.00545406 -0.0299997 -0.00371552 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.0112991 -0.0299997 -0.00432968 + vertex -0.0072546 -0.0299997 -0.00475502 + vertex -0.00932217 -0.0299997 -0.00497246 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.0112991 -0.0499992 0.00432968 + vertex -0.0072546 -0.0499992 0.00475502 + vertex -0.00932217 -0.0499992 0.00497246 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.0112991 -0.0499992 0.00432968 + vertex -0.00545406 -0.0499992 0.00371552 + vertex -0.0072546 -0.0499992 0.00475502 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.012845 -0.0499992 0.00293827 + vertex -0.00545406 -0.0499992 0.00371552 + vertex -0.0112991 -0.0499992 0.00432968 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.012845 -0.0499992 0.00293827 + vertex -0.00423145 -0.0499992 0.00203323 + vertex -0.00545406 -0.0499992 0.00371552 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.01369 -0.0499992 0.00103951 + vertex -0.00423145 -0.0499992 0.00203323 + vertex -0.012845 -0.0499992 0.00293827 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.01369 -0.0499992 0.00103951 + vertex -0.00379944 -0.0499992 0 + vertex -0.00423145 -0.0499992 0.00203323 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.01369 -0.0499992 -0.00103951 + vertex -0.00379944 -0.0499992 0 + vertex -0.01369 -0.0499992 0.00103951 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.01369 -0.0499992 -0.00103951 + vertex -0.00423145 -0.0499992 -0.00203323 + vertex -0.00379944 -0.0499992 0 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.012845 -0.0499992 -0.00293827 + vertex -0.00423145 -0.0499992 -0.00203323 + vertex -0.01369 -0.0499992 -0.00103951 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.012845 -0.0499992 -0.00293827 + vertex -0.00545406 -0.0499992 -0.00371552 + vertex -0.00423145 -0.0499992 -0.00203323 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.0112991 -0.0499992 -0.00432968 + vertex -0.00545406 -0.0499992 -0.00371552 + vertex -0.012845 -0.0499992 -0.00293827 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.0112991 -0.0499992 -0.00432968 + vertex -0.0072546 -0.0499992 -0.00475502 + vertex -0.00545406 -0.0499992 -0.00371552 + endloop + endfacet + facet normal -0 -1 0 + outer loop + vertex -0.0072546 -0.0499992 -0.00475502 + vertex -0.0112991 -0.0499992 -0.00432968 + vertex -0.00932217 -0.0499992 -0.00497246 + endloop + endfacet + facet normal -0.309207 0 0.950995 + outer loop + vertex -0.0112991 -0.0299997 0.00432968 + vertex -0.00932217 -0.0499992 0.00497246 + vertex -0.00932217 -0.0299997 0.00497246 + endloop + endfacet + facet normal -0.309207 0 0.950995 + outer loop + vertex -0.00932217 -0.0499992 0.00497246 + vertex -0.0112991 -0.0299997 0.00432968 + vertex -0.0112991 -0.0499992 0.00432968 + endloop + endfacet + facet normal 0.499985 0 0.866034 + outer loop + vertex -0.0072546 -0.0299997 0.00475502 + vertex -0.00545406 -0.0499992 0.00371552 + vertex -0.00545406 -0.0299997 0.00371552 + endloop + endfacet + facet normal 0.499985 0 0.866034 + outer loop + vertex -0.00545406 -0.0499992 0.00371552 + vertex -0.0072546 -0.0299997 0.00475502 + vertex -0.0072546 -0.0499992 0.00475502 + endloop + endfacet + facet normal -0.309207 0 -0.950995 + outer loop + vertex -0.0112991 -0.0499992 -0.00432968 + vertex -0.00932217 -0.0299997 -0.00497246 + vertex -0.00932217 -0.0499992 -0.00497246 + endloop + endfacet + facet normal -0.309207 0 -0.950995 + outer loop + vertex -0.00932217 -0.0299997 -0.00497246 + vertex -0.0112991 -0.0499992 -0.00432968 + vertex -0.0112991 -0.0299997 -0.00432968 + endloop + endfacet + facet normal -0.668991 0 -0.74327 + outer loop + vertex -0.012845 -0.0499992 -0.00293827 + vertex -0.0112991 -0.0299997 -0.00432968 + vertex -0.0112991 -0.0499992 -0.00432968 + endloop + endfacet + facet normal -0.668991 0 -0.74327 + outer loop + vertex -0.0112991 -0.0299997 -0.00432968 + vertex -0.012845 -0.0499992 -0.00293827 + vertex -0.012845 -0.0299997 -0.00293827 + endloop + endfacet + facet normal 0.808936 0 -0.587897 + outer loop + vertex -0.00423145 -0.0499992 -0.00203323 + vertex -0.00545406 -0.0299997 -0.00371552 + vertex -0.00423145 -0.0299997 -0.00203323 + endloop + endfacet + facet normal 0.808936 0 -0.587897 + outer loop + vertex -0.00545406 -0.0299997 -0.00371552 + vertex -0.00423145 -0.0499992 -0.00203323 + vertex -0.00545406 -0.0499992 -0.00371552 + endloop + endfacet + facet normal 0.10459 0 -0.994515 + outer loop + vertex -0.00932217 -0.0499992 -0.00497246 + vertex -0.0072546 -0.0299997 -0.00475502 + vertex -0.0072546 -0.0499992 -0.00475502 + endloop + endfacet + facet normal 0.10459 0 -0.994515 + outer loop + vertex -0.0072546 -0.0299997 -0.00475502 + vertex -0.00932217 -0.0499992 -0.00497246 + vertex -0.00932217 -0.0299997 -0.00497246 + endloop + endfacet + facet normal -0.668991 0 0.74327 + outer loop + vertex -0.012845 -0.0299997 0.00293827 + vertex -0.0112991 -0.0499992 0.00432968 + vertex -0.0112991 -0.0299997 0.00432968 + endloop + endfacet + facet normal -0.668991 0 0.74327 + outer loop + vertex -0.0112991 -0.0499992 0.00432968 + vertex -0.012845 -0.0299997 0.00293827 + vertex -0.012845 -0.0499992 0.00293827 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex -0.01369 -0.0499992 -0.00103951 + vertex -0.01369 -0.0299997 0.00103951 + vertex -0.01369 -0.0299997 -0.00103951 + endloop + endfacet + facet normal -1 -0 0 + outer loop + vertex -0.01369 -0.0299997 0.00103951 + vertex -0.01369 -0.0499992 -0.00103951 + vertex -0.01369 -0.0499992 0.00103951 + endloop + endfacet + facet normal 0.10459 0 0.994515 + outer loop + vertex -0.00932217 -0.0299997 0.00497246 + vertex -0.0072546 -0.0499992 0.00475502 + vertex -0.0072546 -0.0299997 0.00475502 + endloop + endfacet + facet normal 0.10459 0 0.994515 + outer loop + vertex -0.0072546 -0.0499992 0.00475502 + vertex -0.00932217 -0.0299997 0.00497246 + vertex -0.00932217 -0.0499992 0.00497246 + endloop + endfacet + facet normal 0.978164 0 -0.207835 + outer loop + vertex -0.00379944 -0.0499992 0 + vertex -0.00423145 -0.0299997 -0.00203323 + vertex -0.00379944 -0.0299997 0 + endloop + endfacet + facet normal 0.978164 0 -0.207835 + outer loop + vertex -0.00423145 -0.0299997 -0.00203323 + vertex -0.00379944 -0.0499992 0 + vertex -0.00423145 -0.0499992 -0.00203323 + endloop + endfacet + facet normal 0.809168 -0 0.587577 + outer loop + vertex -0.0142536 -0.0199995 0.0160351 + vertex -0.013032 0.0199995 0.0143528 + vertex -0.0142536 0.0199995 0.0160351 + endloop + endfacet + facet normal 0.809168 0 0.587577 + outer loop + vertex -0.013032 0.0199995 0.0143528 + vertex -0.0142536 -0.0199995 0.0160351 + vertex -0.013032 -0.0199995 0.0143528 + endloop + endfacet + facet normal 0.978154 -0 0.207879 + outer loop + vertex -0.013032 -0.0199995 0.0143528 + vertex -0.0125999 0.0199995 0.0123196 + vertex -0.013032 0.0199995 0.0143528 + endloop + endfacet + facet normal 0.978154 0 0.207879 + outer loop + vertex -0.0125999 0.0199995 0.0123196 + vertex -0.013032 -0.0199995 0.0143528 + vertex -0.0125999 -0.0199995 0.0123196 + endloop + endfacet + facet normal -0.668938 0 0.743318 + outer loop + vertex -0.0216446 0.0199995 0.0152588 + vertex -0.0200996 -0.0199995 0.0166492 + vertex -0.0200996 0.0199995 0.0166492 + endloop + endfacet + facet normal -0.668938 0 0.743318 + outer loop + vertex -0.0200996 -0.0199995 0.0166492 + vertex -0.0216446 0.0199995 0.0152588 + vertex -0.0216446 -0.0199995 0.0152588 + endloop + endfacet + facet normal 0.499976 0 -0.866039 + outer loop + vertex -0.0160542 -0.0199995 0.00756454 + vertex -0.0142536 0.0199995 0.00860405 + vertex -0.0142536 -0.0199995 0.00860405 + endloop + endfacet + facet normal 0.499976 0 -0.866039 + outer loop + vertex -0.0142536 0.0199995 0.00860405 + vertex -0.0160542 -0.0199995 0.00756454 + vertex -0.0160542 0.0199995 0.00756454 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.0200996 -0.0199995 0.0166492 + vertex -0.0160542 -0.0199995 0.0170746 + vertex -0.0181217 -0.0199995 0.017292 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.0200996 -0.0199995 0.0166492 + vertex -0.0142536 -0.0199995 0.0160351 + vertex -0.0160542 -0.0199995 0.0170746 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.0216446 -0.0199995 0.0152588 + vertex -0.0142536 -0.0199995 0.0160351 + vertex -0.0200996 -0.0199995 0.0166492 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.0216446 -0.0199995 0.0152588 + vertex -0.013032 -0.0199995 0.0143528 + vertex -0.0142536 -0.0199995 0.0160351 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.0224905 -0.0199995 0.0133591 + vertex -0.013032 -0.0199995 0.0143528 + vertex -0.0216446 -0.0199995 0.0152588 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.0224905 -0.0199995 0.0133591 + vertex -0.0125999 -0.0199995 0.0123196 + vertex -0.013032 -0.0199995 0.0143528 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.0224905 -0.0199995 0.0112801 + vertex -0.0125999 -0.0199995 0.0123196 + vertex -0.0224905 -0.0199995 0.0133591 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.0224905 -0.0199995 0.0112801 + vertex -0.013032 -0.0199995 0.0102854 + vertex -0.0125999 -0.0199995 0.0123196 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.0216446 -0.0199995 0.00938034 + vertex -0.013032 -0.0199995 0.0102854 + vertex -0.0224905 -0.0199995 0.0112801 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.0216446 -0.0199995 0.00938034 + vertex -0.0142536 -0.0199995 0.00860405 + vertex -0.013032 -0.0199995 0.0102854 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.0200996 -0.0199995 0.00798893 + vertex -0.0142536 -0.0199995 0.00860405 + vertex -0.0216446 -0.0199995 0.00938034 + endloop + endfacet + facet normal 0 -1 0 + outer loop + vertex -0.0200996 -0.0199995 0.00798893 + vertex -0.0160542 -0.0199995 0.00756454 + vertex -0.0142536 -0.0199995 0.00860405 + endloop + endfacet + facet normal -0 -1 0 + outer loop + vertex -0.0160542 -0.0199995 0.00756454 + vertex -0.0200996 -0.0199995 0.00798893 + vertex -0.0181217 -0.0199995 0.00734711 + endloop + endfacet + facet normal -1 0 0 + outer loop + vertex -0.0224905 -0.0199995 0.0112801 + vertex -0.0224905 0.0199995 0.0133591 + vertex -0.0224905 0.0199995 0.0112801 + endloop + endfacet + facet normal -1 -0 0 + outer loop + vertex -0.0224905 0.0199995 0.0133591 + vertex -0.0224905 -0.0199995 0.0112801 + vertex -0.0224905 -0.0199995 0.0133591 + endloop + endfacet + facet normal 0.104589 0 -0.994516 + outer loop + vertex -0.0181217 -0.0199995 0.00734711 + vertex -0.0160542 0.0199995 0.00756454 + vertex -0.0160542 -0.0199995 0.00756454 + endloop + endfacet + facet normal 0.104589 0 -0.994516 + outer loop + vertex -0.0160542 0.0199995 0.00756454 + vertex -0.0181217 -0.0199995 0.00734711 + vertex -0.0181217 0.0199995 0.00734711 + endloop + endfacet + facet normal 0.809011 0 -0.587794 + outer loop + vertex -0.013032 -0.0199995 0.0102854 + vertex -0.0142536 0.0199995 0.00860405 + vertex -0.013032 0.0199995 0.0102854 + endloop + endfacet + facet normal 0.809011 0 -0.587794 + outer loop + vertex -0.0142536 0.0199995 0.00860405 + vertex -0.013032 -0.0199995 0.0102854 + vertex -0.0142536 -0.0199995 0.00860405 + endloop + endfacet + facet normal 0.104575 0 0.994517 + outer loop + vertex -0.0181217 0.0199995 0.017292 + vertex -0.0160542 -0.0199995 0.0170746 + vertex -0.0160542 0.0199995 0.0170746 + endloop + endfacet + facet normal 0.104575 0 0.994517 + outer loop + vertex -0.0160542 -0.0199995 0.0170746 + vertex -0.0181217 0.0199995 0.017292 + vertex -0.0181217 -0.0199995 0.017292 + endloop + endfacet + facet normal -0.309078 0 0.951037 + outer loop + vertex -0.0200996 0.0199995 0.0166492 + vertex -0.0181217 -0.0199995 0.017292 + vertex -0.0181217 0.0199995 0.017292 + endloop + endfacet + facet normal -0.309078 0 0.951037 + outer loop + vertex -0.0181217 -0.0199995 0.017292 + vertex -0.0200996 0.0199995 0.0166492 + vertex -0.0200996 -0.0199995 0.0166492 + endloop + endfacet + facet normal -0.913528 0 0.406776 + outer loop + vertex -0.0224905 -0.0199995 0.0133591 + vertex -0.0216446 0.0199995 0.0152588 + vertex -0.0224905 0.0199995 0.0133591 + endloop + endfacet + facet normal -0.913528 0 0.406776 + outer loop + vertex -0.0216446 0.0199995 0.0152588 + vertex -0.0224905 -0.0199995 0.0133591 + vertex -0.0216446 -0.0199995 0.0152588 + endloop + endfacet + facet normal 0.499972 0 0.866041 + outer loop + vertex -0.0160542 0.0199995 0.0170746 + vertex -0.0142536 -0.0199995 0.0160351 + vertex -0.0142536 0.0199995 0.0160351 + endloop + endfacet + facet normal 0.499972 0 0.866041 + outer loop + vertex -0.0142536 -0.0199995 0.0160351 + vertex -0.0160542 0.0199995 0.0170746 + vertex -0.0160542 -0.0199995 0.0170746 + endloop + endfacet + facet normal 0.978175 0 -0.207782 + outer loop + vertex -0.0125999 -0.0199995 0.0123196 + vertex -0.013032 0.0199995 0.0102854 + vertex -0.0125999 0.0199995 0.0123196 + endloop + endfacet + facet normal 0.978175 0 -0.207782 + outer loop + vertex -0.013032 0.0199995 0.0102854 + vertex -0.0125999 -0.0199995 0.0123196 + vertex -0.013032 -0.0199995 0.0102854 + endloop + endfacet + facet normal -0.308652 0 -0.951175 + outer loop + vertex -0.0200996 -0.0199995 0.00798893 + vertex -0.0181217 0.0199995 0.00734711 + vertex -0.0181217 -0.0199995 0.00734711 + endloop + endfacet + facet normal -0.308652 0 -0.951175 + outer loop + vertex -0.0181217 0.0199995 0.00734711 + vertex -0.0200996 -0.0199995 0.00798893 + vertex -0.0200996 0.0199995 0.00798893 + endloop + endfacet + facet normal -0.669207 0 -0.743076 + outer loop + vertex -0.0216446 -0.0199995 0.00938034 + vertex -0.0200996 0.0199995 0.00798893 + vertex -0.0200996 -0.0199995 0.00798893 + endloop + endfacet + facet normal -0.669207 0 -0.743076 + outer loop + vertex -0.0200996 0.0199995 0.00798893 + vertex -0.0216446 -0.0199995 0.00938034 + vertex -0.0216446 0.0199995 0.00938034 + endloop + endfacet + facet normal -0.913533 0 -0.406766 + outer loop + vertex -0.0216446 -0.0199995 0.00938034 + vertex -0.0224905 0.0199995 0.0112801 + vertex -0.0216446 0.0199995 0.00938034 + endloop + endfacet + facet normal -0.913533 -0 -0.406766 + outer loop + vertex -0.0224905 0.0199995 0.0112801 + vertex -0.0216446 -0.0199995 0.00938034 + vertex -0.0224905 -0.0199995 0.0112801 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.0160542 0.0199995 0.0170746 + vertex -0.0200996 0.0199995 0.0166492 + vertex -0.0181217 0.0199995 0.017292 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.0142536 0.0199995 0.0160351 + vertex -0.0200996 0.0199995 0.0166492 + vertex -0.0160542 0.0199995 0.0170746 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.0142536 0.0199995 0.0160351 + vertex -0.0216446 0.0199995 0.0152588 + vertex -0.0200996 0.0199995 0.0166492 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.013032 0.0199995 0.0143528 + vertex -0.0216446 0.0199995 0.0152588 + vertex -0.0142536 0.0199995 0.0160351 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.013032 0.0199995 0.0143528 + vertex -0.0224905 0.0199995 0.0133591 + vertex -0.0216446 0.0199995 0.0152588 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.0125999 0.0199995 0.0123196 + vertex -0.0224905 0.0199995 0.0133591 + vertex -0.013032 0.0199995 0.0143528 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.0125999 0.0199995 0.0123196 + vertex -0.0224905 0.0199995 0.0112801 + vertex -0.0224905 0.0199995 0.0133591 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex -0.013032 0.0199995 0.0102854 + vertex -0.0224905 0.0199995 0.0112801 + vertex -0.0125999 0.0199995 0.0123196 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.013032 0.0199995 0.0102854 + vertex -0.0216446 0.0199995 0.00938034 + vertex -0.0224905 0.0199995 0.0112801 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex -0.0142536 0.0199995 0.00860405 + vertex -0.0216446 0.0199995 0.00938034 + vertex -0.013032 0.0199995 0.0102854 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.0142536 0.0199995 0.00860405 + vertex -0.0200996 0.0199995 0.00798893 + vertex -0.0216446 0.0199995 0.00938034 + endloop + endfacet + facet normal 0 1 -0 + outer loop + vertex -0.0160542 0.0199995 0.00756454 + vertex -0.0200996 0.0199995 0.00798893 + vertex -0.0142536 0.0199995 0.00860405 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -0.0200996 0.0199995 0.00798893 + vertex -0.0160542 0.0199995 0.00756454 + vertex -0.0181217 0.0199995 0.00734711 + endloop + endfacet +endsolid OpenSCAD_Model diff --git a/implementation/library/SCARA/inverse_kinematics_v1.emx b/implementation/library/SCARA/inverse_kinematics_v1.emx new file mode 100644 index 0000000..e2ab193 --- /dev/null +++ b/implementation/library/SCARA/inverse_kinematics_v1.emx @@ -0,0 +1,1628 @@ + + + + + + + 4.8 + SCARA\inverse_kinematics_v1.emx +1 + False + 2020-7-10 12:26:18 +False + +'; type 'Submodel-Equation' ports signal in input [2,1] {m} ; signal out angle1 {rad} ; signal out angle2 {rad} ; signal out a {rad} ; signal out b {rad} ; signal out c {rad} ; signal out phi {rad} ; end; implementation eq parameters real global A_length; // length of first arm real global B_length; // length of second arm real to_rad = 1 {rad}; variables real x {m}, y {m}; real C_length {m}; // length to x and y. real angle_sum {rad}; // test angle equations x = input[1]; y = input[2]; phi = atan2(y, x); C_length = sqrt(x^2 + y^2); a = arccos ((B_length^2 + C_length^2 - A_length^2) / (2 * B_length * C_length)); b = arccos ((A_length^2 + C_length^2 - B_length^2) / (2 * A_length * C_length)); c = arccos ((A_length^2 + B_length^2 - C_length^2) / (2 * A_length * B_length)); angle1 = b + phi; angle2 = angle1 - pi * to_rad + c; implementation_end; ]]> + + + + + + + Experiment 1 + + + + 4.8 + + + + + + A + 0.1 + + + A_length + + + 0 + + + B + 0.1 + + + B_length + + + 0 + + + + + + time + Submodel2\end_effector[2] + Submodel2\joint1[2] + Submodel2\end_effector[1] + Submodel2\joint1[1] + rectanglepath\output[1] + rectanglepath\output[2] + rectanglepath\test1 + rectanglepath\test2 + rectanglepath\test3 + Constant\output[1] + Constant\output[2] + + + + GraphPlot + + 1 + false + 16777215 + true + + + true + 15780518 + 12624260 + 0 + 10 + 10 + 10 + false + + 16777215 + true + 1 + model + true + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 10 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + true + true + false + + + -0.049999931062904804 + 0.12000000000000034 + true + 3 + + + + + + 0.019999999999999997 + 0.12 + true + 2 + + + + 0.0 + 5.0 + true + 2 + + + + 0.0 + 5.0 + true + 2 + + + + + + + 3355111 + 1 + 3355111 + 0 + true + 1 + 1 + 1 + true + + true + Submodel2\end_effector[1] + + + true + Submodel2\end_effector[2] + + + + 6076255 + 1 + 6076255 + 0 + true + 1 + 1 + 1 + true + + true + Submodel2\joint1[1] + + + true + Submodel2\joint1[2] + + + + 12553035 + 1 + 12553035 + 0 + true + 1 + 1 + 1 + true + + true + Constant\output[1] + + + true + Constant\output[2] + + + + + true + 0 + 16777215 + + + + GraphPlot + + 2 + false + 16777215 + true + + + true + 15780518 + 12624260 + 0 + 10 + 10 + 10 + false + + 16777215 + true + 1 + model(1) + true + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 10 + 34 + 400 + 0 + 0 + 0 + 0 + + + Arial + 12 + 34 + 400 + 0 + 0 + 0 + 0 + + + true + true + false + + + 0.0 + 40.0 + true + 3 + + + + + + 0.03 + 0.13 + true + 2 + + + + -4.0 + 1.0 + true + 2 + + + + -4.0 + 1.0 + true + 2 + + + + -4.0 + 1.0 + true + 2 + + + + -4.0 + 1.0 + true + 2 + + + + + + + 3355111 + 1 + 3355111 + 0 + true + 1 + 1 + 1 + true + + true + time + + + true + rectanglepath\output[1] + + + + 6076255 + 1 + 6076255 + 0 + true + 1 + 1 + 1 + true + + true + time + + + true + rectanglepath\output[2] + + + + 12553035 + 1 + 12553035 + 0 + true + 1 + 1 + 1 + true + + true + time + + + true + rectanglepath\test1 + + + + 15086320 + 1 + 15086320 + 0 + true + 1 + 1 + 1 + true + + true + time + + + true + rectanglepath\test2 + + + + 15790150 + 1 + 15790150 + 0 + true + 1 + 1 + 1 + true + + true + time + + + true + rectanglepath\test3 + + + + + true + 0 + 16777215 + + + + D3DPlot + + 3 + false + 16777215 + true + + 3D Animation + 137 + true + false + 4294967295 + Gradients\BlueWhite.png + true + 1.0 + 1.0 + + + + + 1 + + + 1 + + + 1 + + + true + Reference Frame + + + + Bryant + + false + false + false + false + false + false + + + + + 1 + + + 1 + + + 1 + + + false + Default Lights and Cameras + + + + Bryant + + false + false + false + false + false + false + + + false + Ambient + + + + + 1 + + + + + 1 + + + Direct3D + + false + false + false + false + false + false + + 0 + + + + 0.3 + + + 0.3 + + + 0.3 + + + + + + 1 + + + 1 + + + 1 + + + true + + + + + 0.3 + + + 0.3 + + + 0.3 + + + + + + 1 + + + 1 + + + 1 + + + true + + true + false + false + + + false + Parallel + + + -3 + + + 5 + + + 3 + + + + + + 0.457495710997814 + + + -0.762492851663023 + + + -0.457495710997814 + + + + + 0.235379601434674 + + + -0.392299335724456 + + + 0.889211827642101 + + + Direct3D + + false + false + false + false + false + false + + 3 + + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + 1 + + + 1 + + + 1 + + + true + + + + 1.0 + + + 0.0 + + + 0.0 + + + + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + 1 + + + 1 + + + 1 + + + true + + + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + 1 + + + 1 + + + 1 + + + true + + false + true + true + + + false + Spot Light 1 + + + -3 + + + -5 + + + 1 + + + + + + 0.50709255283711 + + + 0.845154254728517 + + + -0.169030850945703 + + + + + 0.0869656553478673 + + + 0.144942758913112 + + + 0.985610760609162 + + + Direct3D + + false + false + false + false + false + false + + 2 + + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + 1 + + + 1 + + + 1 + + + true + + + + 1.0 + + + 0.05 + + + 0.05 + + + + 1.0471975511965976 + + + 1.0471975511965976 + + 0.0 + + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + 1 + + + 1 + + + 1 + + + true + + + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + 1 + + + 1 + + + 1 + + + true + + false + true + true + + + false + Spot Light 2 + + + 2 + + + -3 + + + -1 + + + + + + -0.534522483824849 + + + 0.801783725737273 + + + 0.267261241912424 + + + + + 0.14824986333222 + + + -0.22237479499833 + + + 0.963624111659432 + + + Direct3D + + false + false + false + false + false + false + + 2 + + + + 1 + + + 1 + + + 1 + + + + + + 1 + + + 1 + + + 1 + + + true + + + + 1.0 + + + 0.05 + + + 0.05 + + + + 1.5707963267948966 + + + 1.5707963267948966 + + 0.0 + + + + 1 + + + 1 + + + 1 + + + + + + 1 + + + 1 + + + 1 + + + true + + + + + 0.5 + + + 0.5 + + + 0.5 + + + + + + 1 + + + 1 + + + 1 + + + true + + false + true + true + + + false + Camera Looking at Origin + + + 5.17039612254131 + + + -0.721279966459381 + + + 2.88738681298299 + + + + + + -0.866679128171114 + + + 0.120903365560907 + + + -0.483993455522493 + + + + + -0.479351652924763 + + + 0.0668704555607402 + + + 0.875071617075652 + + + Direct3D + + false + false + false + false + false + false + + 0.01 + 100.0 + true + 0.003926990816987242 + 45.0 + -10.0 + 10.0 + 10.0 + -10.0 + true + + true + + + 1 + + + true + true + true + + + false + Front(XY)-Camera + + + 10 + + + + + + -1 + + + + + 1 + + + Direct3D + + false + false + false + false + false + false + + 0.01 + 100.0 + true + 9.999999999999998 + 45.0 + -9.999999999999998 + 9.999999999999998 + 9.999999999999998 + -9.999999999999998 + true + + true + + + 1 + + + true + false + false + + + false + Side(YZ)-Camera + + + 10 + + + + + + -1 + + + + + 1 + + + Direct3D + + false + false + false + false + false + false + + 0.01 + 100.0 + true + 9.999999999999998 + 45.0 + -9.999999999999998 + 9.999999999999998 + 9.999999999999998 + -9.999999999999998 + true + + true + + + 1 + + + true + false + false + + + false + Top(XZ)-Camera + + + 10 + + + + + + -1 + + + + + 1 + + + Direct3D + + false + false + false + false + false + false + + 0.01 + 100.0 + true + 9.999999999999998 + 45.0 + -9.999999999999998 + 9.999999999999998 + 9.999999999999998 + -9.999999999999998 + true + + true + + + 1 + + + true + false + false + + + + + + + 10 + + + 10 + + + 10 + + + false + Scenery + + + + Bryant + + false + false + false + false + false + false + + + 3.0 + + + Submodel2\joint1[1] + -0.0011199998032978117 + + + Submodel2\joint1[2] + 0.09999372780550071 + + + 15 + true + false + + + 1 + + + 1 + + + 1 + + + true + + + 1 + + + 1 + + + 1 + + + 1.0 + + + 1 + + + 1 + + + 1 + + + + true + + + 0.5 + + + 0.5 + + + 0.5 + + + + + 15 + + false + false + Line + + + + Bryant + + false + false + false + false + false + false + + + + 3.0 + + + Submodel2\end_effector[1] + 0.09888000000000007 + + + Submodel2\end_effector[2] + 0.09999999999999992 + + + 15 + true + false + + + 1 + + + 1 + + + 1 + + + true + + + 1 + + + 1 + + + 1 + + + 1.0 + + + 1 + + + 1 + + + 1 + + + + true + + + 0.5 + + + 0.5 + + + 0.5 + + + + + 15 + + false + false + Line + + + Submodel2\joint1[1] + -0.0011199998032978117 + + + Submodel2\joint1[2] + 0.09999372780550071 + + + + + Bryant + + false + false + false + false + false + false + + + + + + + + + + + + 1 + true + Window 1 + 0 + + 1 + 2 + + Base + + + 2 + true + Window 2 + 0 + + 3 + + Base + + + + 0.411979 0.22037 0.885938 0.85 + 0.0703125 0.135185 0.686979 0.717593 + + + + + 0.0 + 10.0 + false + false + false + false + 0.1 + 1.0e-6 + 1.0e-7 + false + true + + + + Euler + 0.01 + false + + + BackwardEuler + 1.0e-5 + 1.0e-5 + 1.0e-5 + 1.0e-5 + 0.01 + 1.0 + + + AdamsBashforth + 0.01 + false + + + RungeKutta2 + 0.01 + false + + + RungeKutta4 + 0.01 + false + + + RungeKutta8 + false + 0.001 + false + 1.0 + 1.0e-6 + 1.0e-6 + 0.9 + 0.33 + 6.0 + 0.0 + false + 100000 + false + 1000 + + + RungeKuttaFehlberg + false + 0.001 + false + 1.0 + 1.0e-6 + 1.0e-6 + + + VodeAdams + false + 0.001 + false + 1.0 + 1.0e-6 + 1.0e-6 + true + true + + + BDFMethod + 1.0e-5 + 1.0e-5 + 1.0e-5 + 1.0e-5 + false + 0.001 + false + 1.0 + + + MeBDFiMethod + 1.0e-5 + 1.0e-5 + 1.0e-5 + 1.0e-5 + false + 0.001 + false + 1.0 + + 8 + + + + 10 + false + true + true + false + true + 0 + 0.0 + true + MultipleRun + true + + UseEndValue + 0.001 + BroydonFletcherGoldfarbShanno + + + + true + true + true + true + + + false + + + + + + + + diff --git a/implementation/library/setpoint/rectanglepath.emx b/implementation/library/setpoint/rectanglepath.emx new file mode 100644 index 0000000..84f36a5 --- /dev/null +++ b/implementation/library/setpoint/rectanglepath.emx @@ -0,0 +1,17 @@ + + + + + + + 4.8 + setpoint\rectanglepath.emx +1 + False + 2020-7-10 12:30:38 +False + +'; type 'Submodel-Equation' ports signal out output [2,1]; end; implementation eq /* This will generate coordinates for the box that has to be drawn */ parameters real w = 0.07{m} ; real h = 0.05 {m}; real t = 1 {s}; real origin[2] = [0.05,0.05]{m}; variables real v {m/s}; real t_w {s}; real t_h {s}; real period {s}; real test1, test2, test3; initialequations v = (2*w + 2*h)/t; t_w = w / v; t_h = h / v; equations period = floor(time / t) * t; output[1] = v*(ramp(period+t_h) - ramp(period + t_w+t_h) - ramp(period + t_w + t_h + t_h)) + origin[1]; output[2] = v*(ramp(period) - ramp(period + t_h) - ramp(period + t_h + t_w) + ramp(period + 2 * t_h + t_w))+ origin[2]; implementation_end; ]]> + + +