diff --git a/controls/model/3D_Animation/eigenaxis_ucart.m b/controls/model/3D_Animation/eigenaxis_ucart.m new file mode 100644 index 0000000000000000000000000000000000000000..4e951b32303e19fac8d0264e8902982dbfe2b4d7 --- /dev/null +++ b/controls/model/3D_Animation/eigenaxis_ucart.m @@ -0,0 +1,52 @@ +%************************************************************************** +% Project : Autonomous Helicopter +% Group : 05gr835 +% Created : 2005-04-28 +% Edited : 2005-05-25 +% ------------------------------------------------------------------------- +% The non-linear model contains the following files: +% +% thrusten.m : Main rotor thrust equations +% rigid.m : Rigid body equations +% parameters.m : Helicopter parameters +% mrflap.m : Main rotor flapping equations +% force_torque.m : Force and torque equations +% eigenaxis.m : Eigen axis rotation for use in VR toolbox + +%************************************************************************** + +% eigenaxis.m : This file contains the eigen axis rotation +%algorithm. This file is created by group 05gr830. + +function y = eigenaxis(u) + + +if abs(u(1))< 0.0001 + u(1) = 0.0001; +end + +if abs(u(2))< 0.0001 + u(2) = 0.0001; +end + +if abs(u(3))< 0.0001 + u(3) = 0.0001; +end + +u = [ -u(1); -u(2); u(3) ];% [Pitch, Yaw, Roll] + +C11 = cos(u(2))*cos(u(3)); +C12 = cos(u(2))*sin(u(3)); +C13 = -sin(u(2)); +C21 = sin(u(1))*sin(u(2))*cos(u(3))-cos(u(1))*sin(u(3)); +C22 = sin(u(1))*sin(u(2))*sin(u(3))+cos(u(1))*cos(u(3)); +C23 = sin(u(1))*cos(u(2)); +C31 = cos(u(1))*sin(u(2))*cos(u(3))+sin(u(1))*sin(u(3)); +C32 = cos(u(1))*sin(u(2))*sin(u(3))-sin(u(1))*cos(u(3)); +C33 = cos(u(1))*cos(u(2)); + +theta = acos(0.5*(C11+C22+C33-1)); + +e = [C23-C32; C31-C13; C12-C21]/(2*sin(theta)); + +y = [e; theta]; diff --git a/controls/model/3D_Animation/license.txt b/controls/model/3D_Animation/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..fb7c123bee6023a3ffcdfa0e256c7a3223ef4ae0 --- /dev/null +++ b/controls/model/3D_Animation/license.txt @@ -0,0 +1,27 @@ +Copyright (c) 2009, The MathWorks, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the distribution + * Neither the name of the The MathWorks, Inc. nor the names + of its contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/controls/model/3D_Animation/quadrotor_world_ucart.wrl b/controls/model/3D_Animation/quadrotor_world_ucart.wrl new file mode 100644 index 0000000000000000000000000000000000000000..eb0ece0c87dd94275cc01905e42ff20b87bd800c --- /dev/null +++ b/controls/model/3D_Animation/quadrotor_world_ucart.wrl @@ -0,0 +1,1030 @@ +#VRML V2.0 utf8 + +#Created with V-Realm Builder v2.0 +#Integrated Data Systems Inc. +#www.ids-net.com + + +PointLight { + location -0.8 1 1 +} +PointLight { + location 1.1 1.1 0 +} +DEF Viewport_heli Viewpoint { + fieldOfView 0.785398 + orientation 1 0 0 0.188496 + position 0.024 -0.191 11.9975 +} +DEF Helicopter Transform { + translation 0 0 0 + scale 0.108 0.108 0.108 + children [ + DEF Rotor_1 Transform { + translation 10 0 10 + scale 1.00001 1.00001 1.00001 + children Shape { + appearance Appearance { + material Material { + ambientIntensity 0.9551 + diffuseColor 0.6163 0.6163 0.6163 + shininess 0.3 + specularColor 0.3 0.3 0.3 + } + + } + + geometry IndexedFaceSet { + color NULL + coord DEF _v2%0 Coordinate { + point [ 1.87355 -2.12 -0.139033, + 0.783522 -2.076 0.446909, + 0.783515 -2.267 0.566909, + 0.783572 -2.266 -0.517091, + 1.87352 -2.12 0.566967, + 1.80752 -2.12 0.566963, + 1.87359 -2.266 -0.877033, + 1.87355 -2.267 -0.047033, + 1.87352 -2.267 0.566967, + 1.80752 -2.267 0.566963, + 1.80755 -2.12 -0.129037, + 1.80755 -2.267 -0.037037, + 1.80759 -2.266 -0.867037, + 1.80659 -2.12 -0.874037, + 1.87259 -2.12 -0.884034, + -1.18645 -2.12 -0.139194, + -1.18541 -2.12 -0.884194, + -1.11941 -2.12 -0.874191, + -1.12041 -2.266 -0.867191, + -1.12045 -2.12 -0.129191, + -1.12048 -2.12 0.566809, + -1.12048 -2.267 0.566809, + -1.18649 -2.267 0.566806, + -1.18645 -2.267 -0.047194, + -1.12045 -2.267 -0.037191, + -1.18641 -2.266 -0.877194, + -1.18649 -2.12 0.566806, + -0.096428 -2.266 -0.517137, + -0.096485 -2.267 0.566863, + -0.096479 -2.076 0.446863, + 0.591406 -3.166 2.6379, + 0.095406 -3.166 2.63787, + 0.095406 -2.912 2.63787, + 0.219395 -3.166 2.85388, + 0.219395 -2.912 2.85388, + 0.467395 -2.912 2.85389, + 0.467395 -3.166 2.85389, + 0.467418 -2.912 2.42289, + 0.219418 -2.912 2.42288, + 0.591406 -2.912 2.6379, + 0.219418 -3.166 2.42288, + 0.467418 -3.166 2.42289, + 0.434395 -3.132 2.85389, + 0.252395 -3.132 2.85388, + 0.252395 -2.946 2.85388, + 0.434395 -2.946 2.85389, + 0.269336 -3.076 3.96788, + 0.417336 -3.129 3.96789, + 0.417336 -3.076 3.96789, + 0.269336 -3.129 3.96788, + 0.269395 -3.012 2.85388, + 0.269395 -3.066 2.85388, + 0.367395 -2.962 2.85389, + 0.319395 -2.962 2.85388, + 0.417395 -3.066 2.85389, + 0.417395 -3.012 2.85389, + 0.367336 -3.179 3.96789, + 0.319336 -3.179 3.96789, + 0.319395 -3.116 2.85388, + 0.367395 -3.116 2.85389, + 0.319336 -3.026 3.96789, + 0.367336 -3.026 3.96789, + 6.61556 0.193 -0.215784, + 5.14735 -0.086 3.80614, + 1.43223 -0.234 5.94594, + -4.46066 -0.086 3.80563, + -5.92844 0.192 -0.216444, + -4.46123 0.471 -4.23737, + -0.74512 0.619 -6.37717, + 3.47884 0.568 -5.63495, + 5.14777 0.471 -4.23786, + 5.14777 0.532 -4.23786, + 3.47884 0.628 -5.63495, + -0.74512 0.68 -6.37717, + -4.46123 0.531 -4.23737, + -5.92844 0.253 -0.216444, + -4.46066 -0.025 3.80563, + 1.43223 -0.173 5.94594, + 5.14735 -0.025 3.80614, + 6.61556 0.253 -0.215784, + 0.614972 0.679 -8.1101, + 0.614936 0.106 -7.4281, + 0.614936 -1.196 -7.4281, + 0.614972 -1.767 -8.1101, + 0.615018 -1.768 -9.0011, + 0.615054 -1.196 -9.6831, + 0.615062 -0.319 -9.8381, + 0.615054 0.106 -9.6831, + 0.615039 0.453 -9.3931, + 0.615018 0.679 -9.0011, + 0.530019 0.679 -9.0011, + 0.530039 0.453 -9.39311, + 0.530054 0.106 -9.68311, + 0.530062 -0.319 -9.83811, + 0.530054 -1.196 -9.68311, + 0.530019 -1.768 -9.0011, + 0.529972 -1.767 -8.1101, + 0.529936 -1.196 -7.4281, + 0.529928 -0.319 -7.2731, + 0.529936 0.106 -7.4281, + 0.529972 0.679 -8.1101, + 0.255231 -2.14915 -7.3791, + 0.758162 -2.59984 3.36791, + 0.594847 -2.54881 3.72511, + -0.062854 -2.59984 3.36787, + 0.594839 -1.93645 3.87253, + 0.100415 -1.93645 3.8725, + 0.75818 -1.70965 3.02771, + -0.062836 -1.70965 3.02767, + 0.758223 -1.02925 2.19989, + -0.062793 -1.02925 2.19985, + 0.758299 -0.830803 0.75404, + -0.062717 -0.830803 0.753997, + 0.758301 -0.314833 0.72002, + -0.062715 -0.314833 0.719977, + 0.758416 -0.415926 -1.4647, + -0.0626 -0.415926 -1.46475, + -0.062585 -0.937566 -1.74258, + 0.477454 -1.87132 -6.6023, + 0.214366 -1.87132 -6.60231, + 0.441263 -0.495408 -8.43416, + 0.250751 -0.495408 -8.43417, + 0.414074 -0.461388 -8.95013, + 0.277994 -0.461388 -8.95014, + 0.436671 -2.14915 -7.37909, + 0.4548 -2.34193 -7.08992, + 0.241608 -2.34193 -7.08993, + 0.758426 -3.16939 -1.65658, + -0.06259 -3.16939 -1.65662, + 0.758217 -3.03428 2.31419, + -0.062799 -3.03428 2.31415, + -0.062716 -1.54522 0.742657, + -0.062569 -1.57261 -2.04875, + 0.7583 -1.54522 0.7427, + 0.758431 -0.937566 -1.74253, + 0.758447 -1.57261 -2.04871, + 0.100423 -2.54881 3.72509, + -0.476109 -1.54522 0.742637, + -0.47611 -0.830803 0.753977, + -0.063333 -1.54522 0.742658, + -0.063334 -0.830803 0.753998, + -0.475978 -0.937566 -1.74259, + -0.063202 -0.937566 -1.74257, + 1.17046 -0.830803 0.754063, + 0.757682 -0.830803 0.754041, + 1.17064 -1.59392 -2.71303, + 1.17046 -1.54522 0.742723, + 0.757683 -1.54522 0.742701, + 0.75783 -1.57261 -2.04871, + 1.17059 -0.937566 -1.74251, + -0.475928 -1.57816 -2.70774, + -0.475962 -1.57261 -2.04878, + -0.063153 -0.955725 -2.674, + -0.475929 -0.955725 -2.67402, + -0.063186 -1.57261 -2.04875, + -0.063152 -1.57816 -2.70772, + 1.17061 -1.57261 -2.04869, + 1.17064 -0.971488 -2.67932, + 0.757865 -1.59392 -2.71305, + 0.757814 -0.937566 -1.74253, + 0.757863 -0.971488 -2.67934, + 1.43188 0.68 -6.37806, + 1.43188 0.619 -6.37806, + -2.79216 0.628 -5.63428, + -2.79216 0.567 -5.63428, + -5.55033 0.401 -2.35642, + -5.55033 0.34 -2.35642, + -5.54956 0.105 1.92358, + -5.54956 0.044 1.92358, + -0.744768 -0.173 5.94583, + -0.744768 -0.234 5.94583, + 3.47927 -0.122 5.20305, + 3.47927 -0.183 5.20305, + 6.23667 0.341 -2.3568, + 6.23667 0.402 -2.3568, + 6.23644 0.044 1.9242, + 6.23644 0.105 1.9242, + 0.530062 -0.771 -9.83811, + 0.615062 -0.771 -9.8381, + 0.530039 -1.542 -9.3921, + 0.615039 -1.542 -9.3921, + 0.529995 -1.846 -8.5551, + 0.614995 -1.846 -8.5551, + 0.529951 -1.542 -7.7181, + 0.614951 -1.542 -7.7181, + 0.529928 -0.771 -7.2731, + 0.614928 -0.771 -7.2731, + 0.614928 -0.319 -7.2731, + 0.529951 0.453 -7.7181, + 0.614951 0.453 -7.7181, + 0.614995 0.757 -8.5551, + 0.529995 0.757 -8.5551, + -2.79173 -0.122 5.20272, + -2.79173 -0.183 5.20272 ] + } + + creaseAngle 1 + coordIndex [ 78, 171, 172, 63, -1, 74, 163, 164, + 67, -1, 62, 175, 63, 172, 64, 170, + 193, 65, 168, 66, 166, 67, 164, 68, + 162, 69, 70, 173, -1, 165, 74, 67, + 166, -1, 173, 70, 71, 174, -1, 175, + 62, 79, 176, -1, 167, 75, 66, 168, + -1, 175, 176, 78, 63, -1, 73, 161, + 162, 68, -1, 77, 169, 170, 64, -1, + 62, 173, 174, 79, -1, 75, 165, 166, + 66, -1, 174, 71, 72, 161, 73, 163, + 74, 165, 75, 167, 76, 192, 169, 77, + 171, 78, 176, 79, -1, 163, 73, 68, + 164, -1, 171, 77, 64, 172, -1, 192, + 76, 65, 193, -1, 169, 192, 193, 170, + -1, 161, 72, 69, 162, -1, 72, 71, + 70, 69, -1, 76, 167, 168, 65, -1, + -1 ] + colorIndex [ ] + } + + } + } + + DEF Rotor_2 Transform { + translation 10 0 -10 + scale 0.999617 0.999617 0.999617 + children Shape { + appearance Appearance { + material Material { + ambientIntensity 0.9551 + diffuseColor 0.6163 0.6163 0.6163 + shininess 0.3 + specularColor 0.3 0.3 0.3 + } + + } + + geometry IndexedFaceSet { + coord DEF _v2%0 Coordinate { + point [ 1.87355 -2.12 -0.139033, + 0.783522 -2.076 0.446909, + 0.783515 -2.267 0.566909, + 0.783572 -2.266 -0.517091, + 1.87352 -2.12 0.566967, + 1.80752 -2.12 0.566963, + 1.87359 -2.266 -0.877033, + 1.87355 -2.267 -0.047033, + 1.87352 -2.267 0.566967, + 1.80752 -2.267 0.566963, + 1.80755 -2.12 -0.129037, + 1.80755 -2.267 -0.037037, + 1.80759 -2.266 -0.867037, + 1.80659 -2.12 -0.874037, + 1.87259 -2.12 -0.884034, + -1.18645 -2.12 -0.139194, + -1.18541 -2.12 -0.884194, + -1.11941 -2.12 -0.874191, + -1.12041 -2.266 -0.867191, + -1.12045 -2.12 -0.129191, + -1.12048 -2.12 0.566809, + -1.12048 -2.267 0.566809, + -1.18649 -2.267 0.566806, + -1.18645 -2.267 -0.047194, + -1.12045 -2.267 -0.037191, + -1.18641 -2.266 -0.877194, + -1.18649 -2.12 0.566806, + -0.096428 -2.266 -0.517137, + -0.096485 -2.267 0.566863, + -0.096479 -2.076 0.446863, + 0.591406 -3.166 2.6379, + 0.095406 -3.166 2.63787, + 0.095406 -2.912 2.63787, + 0.219395 -3.166 2.85388, + 0.219395 -2.912 2.85388, + 0.467395 -2.912 2.85389, + 0.467395 -3.166 2.85389, + 0.467418 -2.912 2.42289, + 0.219418 -2.912 2.42288, + 0.591406 -2.912 2.6379, + 0.219418 -3.166 2.42288, + 0.467418 -3.166 2.42289, + 0.434395 -3.132 2.85389, + 0.252395 -3.132 2.85388, + 0.252395 -2.946 2.85388, + 0.434395 -2.946 2.85389, + 0.269336 -3.076 3.96788, + 0.417336 -3.129 3.96789, + 0.417336 -3.076 3.96789, + 0.269336 -3.129 3.96788, + 0.269395 -3.012 2.85388, + 0.269395 -3.066 2.85388, + 0.367395 -2.962 2.85389, + 0.319395 -2.962 2.85388, + 0.417395 -3.066 2.85389, + 0.417395 -3.012 2.85389, + 0.367336 -3.179 3.96789, + 0.319336 -3.179 3.96789, + 0.319395 -3.116 2.85388, + 0.367395 -3.116 2.85389, + 0.319336 -3.026 3.96789, + 0.367336 -3.026 3.96789, + 6.61556 0.193 -0.215784, + 5.14735 -0.086 3.80614, + 1.43223 -0.234 5.94594, + -4.46066 -0.086 3.80563, + -5.92844 0.192 -0.216444, + -4.46123 0.471 -4.23737, + -0.74512 0.619 -6.37717, + 3.47884 0.568 -5.63495, + 5.14777 0.471 -4.23786, + 5.14777 0.532 -4.23786, + 3.47884 0.628 -5.63495, + -0.74512 0.68 -6.37717, + -4.46123 0.531 -4.23737, + -5.92844 0.253 -0.216444, + -4.46066 -0.025 3.80563, + 1.43223 -0.173 5.94594, + 5.14735 -0.025 3.80614, + 6.61556 0.253 -0.215784, + 0.614972 0.679 -8.1101, + 0.614936 0.106 -7.4281, + 0.614936 -1.196 -7.4281, + 0.614972 -1.767 -8.1101, + 0.615018 -1.768 -9.0011, + 0.615054 -1.196 -9.6831, + 0.615062 -0.319 -9.8381, + 0.615054 0.106 -9.6831, + 0.615039 0.453 -9.3931, + 0.615018 0.679 -9.0011, + 0.530019 0.679 -9.0011, + 0.530039 0.453 -9.39311, + 0.530054 0.106 -9.68311, + 0.530062 -0.319 -9.83811, + 0.530054 -1.196 -9.68311, + 0.530019 -1.768 -9.0011, + 0.529972 -1.767 -8.1101, + 0.529936 -1.196 -7.4281, + 0.529928 -0.319 -7.2731, + 0.529936 0.106 -7.4281, + 0.529972 0.679 -8.1101, + 0.255231 -2.14915 -7.3791, + 0.758162 -2.59984 3.36791, + 0.594847 -2.54881 3.72511, + -0.062854 -2.59984 3.36787, + 0.594839 -1.93645 3.87253, + 0.100415 -1.93645 3.8725, + 0.75818 -1.70965 3.02771, + -0.062836 -1.70965 3.02767, + 0.758223 -1.02925 2.19989, + -0.062793 -1.02925 2.19985, + 0.758299 -0.830803 0.75404, + -0.062717 -0.830803 0.753997, + 0.758301 -0.314833 0.72002, + -0.062715 -0.314833 0.719977, + 0.758416 -0.415926 -1.4647, + -0.0626 -0.415926 -1.46475, + -0.062585 -0.937566 -1.74258, + 0.477454 -1.87132 -6.6023, + 0.214366 -1.87132 -6.60231, + 0.441263 -0.495408 -8.43416, + 0.250751 -0.495408 -8.43417, + 0.414074 -0.461388 -8.95013, + 0.277994 -0.461388 -8.95014, + 0.436671 -2.14915 -7.37909, + 0.4548 -2.34193 -7.08992, + 0.241608 -2.34193 -7.08993, + 0.758426 -3.16939 -1.65658, + -0.06259 -3.16939 -1.65662, + 0.758217 -3.03428 2.31419, + -0.062799 -3.03428 2.31415, + -0.062716 -1.54522 0.742657, + -0.062569 -1.57261 -2.04875, + 0.7583 -1.54522 0.7427, + 0.758431 -0.937566 -1.74253, + 0.758447 -1.57261 -2.04871, + 0.100423 -2.54881 3.72509, + -0.476109 -1.54522 0.742637, + -0.47611 -0.830803 0.753977, + -0.063333 -1.54522 0.742658, + -0.063334 -0.830803 0.753998, + -0.475978 -0.937566 -1.74259, + -0.063202 -0.937566 -1.74257, + 1.17046 -0.830803 0.754063, + 0.757682 -0.830803 0.754041, + 1.17064 -1.59392 -2.71303, + 1.17046 -1.54522 0.742723, + 0.757683 -1.54522 0.742701, + 0.75783 -1.57261 -2.04871, + 1.17059 -0.937566 -1.74251, + -0.475928 -1.57816 -2.70774, + -0.475962 -1.57261 -2.04878, + -0.063153 -0.955725 -2.674, + -0.475929 -0.955725 -2.67402, + -0.063186 -1.57261 -2.04875, + -0.063152 -1.57816 -2.70772, + 1.17061 -1.57261 -2.04869, + 1.17064 -0.971488 -2.67932, + 0.757865 -1.59392 -2.71305, + 0.757814 -0.937566 -1.74253, + 0.757863 -0.971488 -2.67934, + 1.43188 0.68 -6.37806, + 1.43188 0.619 -6.37806, + -2.79216 0.628 -5.63428, + -2.79216 0.567 -5.63428, + -5.55033 0.401 -2.35642, + -5.55033 0.34 -2.35642, + -5.54956 0.105 1.92358, + -5.54956 0.044 1.92358, + -0.744768 -0.173 5.94583, + -0.744768 -0.234 5.94583, + 3.47927 -0.122 5.20305, + 3.47927 -0.183 5.20305, + 6.23667 0.341 -2.3568, + 6.23667 0.402 -2.3568, + 6.23644 0.044 1.9242, + 6.23644 0.105 1.9242, + 0.530062 -0.771 -9.83811, + 0.615062 -0.771 -9.8381, + 0.530039 -1.542 -9.3921, + 0.615039 -1.542 -9.3921, + 0.529995 -1.846 -8.5551, + 0.614995 -1.846 -8.5551, + 0.529951 -1.542 -7.7181, + 0.614951 -1.542 -7.7181, + 0.529928 -0.771 -7.2731, + 0.614928 -0.771 -7.2731, + 0.614928 -0.319 -7.2731, + 0.529951 0.453 -7.7181, + 0.614951 0.453 -7.7181, + 0.614995 0.757 -8.5551, + 0.529995 0.757 -8.5551, + -2.79173 -0.122 5.20272, + -2.79173 -0.183 5.20272 ] + } + + creaseAngle 1 + coordIndex [ 78, 171, 172, 63, -1, 74, 163, 164, + 67, -1, 62, 175, 63, 172, 64, 170, + 193, 65, 168, 66, 166, 67, 164, 68, + 162, 69, 70, 173, -1, 165, 74, 67, + 166, -1, 173, 70, 71, 174, -1, 175, + 62, 79, 176, -1, 167, 75, 66, 168, + -1, 175, 176, 78, 63, -1, 73, 161, + 162, 68, -1, 77, 169, 170, 64, -1, + 62, 173, 174, 79, -1, 75, 165, 166, + 66, -1, 174, 71, 72, 161, 73, 163, + 74, 165, 75, 167, 76, 192, 169, 77, + 171, 78, 176, 79, -1, 163, 73, 68, + 164, -1, 171, 77, 64, 172, -1, 192, + 76, 65, 193, -1, 169, 192, 193, 170, + -1, 161, 72, 69, 162, -1, 72, 71, + 70, 69, -1, 76, 167, 168, 65, -1, + -1 ] + } + + } + } + + DEF Rotor_3 Transform { + translation -10 0 -10 + scale 0.999617 0.999617 0.999617 + children Shape { + appearance Appearance { + material Material { + ambientIntensity 0.9551 + diffuseColor 0.6163 0.6163 0.6163 + shininess 0.3 + specularColor 0.3 0.3 0.3 + } + + } + + geometry IndexedFaceSet { + coord DEF _v2%0 Coordinate { + point [ 1.87355 -2.12 -0.139033, + 0.783522 -2.076 0.446909, + 0.783515 -2.267 0.566909, + 0.783572 -2.266 -0.517091, + 1.87352 -2.12 0.566967, + 1.80752 -2.12 0.566963, + 1.87359 -2.266 -0.877033, + 1.87355 -2.267 -0.047033, + 1.87352 -2.267 0.566967, + 1.80752 -2.267 0.566963, + 1.80755 -2.12 -0.129037, + 1.80755 -2.267 -0.037037, + 1.80759 -2.266 -0.867037, + 1.80659 -2.12 -0.874037, + 1.87259 -2.12 -0.884034, + -1.18645 -2.12 -0.139194, + -1.18541 -2.12 -0.884194, + -1.11941 -2.12 -0.874191, + -1.12041 -2.266 -0.867191, + -1.12045 -2.12 -0.129191, + -1.12048 -2.12 0.566809, + -1.12048 -2.267 0.566809, + -1.18649 -2.267 0.566806, + -1.18645 -2.267 -0.047194, + -1.12045 -2.267 -0.037191, + -1.18641 -2.266 -0.877194, + -1.18649 -2.12 0.566806, + -0.096428 -2.266 -0.517137, + -0.096485 -2.267 0.566863, + -0.096479 -2.076 0.446863, + 0.591406 -3.166 2.6379, + 0.095406 -3.166 2.63787, + 0.095406 -2.912 2.63787, + 0.219395 -3.166 2.85388, + 0.219395 -2.912 2.85388, + 0.467395 -2.912 2.85389, + 0.467395 -3.166 2.85389, + 0.467418 -2.912 2.42289, + 0.219418 -2.912 2.42288, + 0.591406 -2.912 2.6379, + 0.219418 -3.166 2.42288, + 0.467418 -3.166 2.42289, + 0.434395 -3.132 2.85389, + 0.252395 -3.132 2.85388, + 0.252395 -2.946 2.85388, + 0.434395 -2.946 2.85389, + 0.269336 -3.076 3.96788, + 0.417336 -3.129 3.96789, + 0.417336 -3.076 3.96789, + 0.269336 -3.129 3.96788, + 0.269395 -3.012 2.85388, + 0.269395 -3.066 2.85388, + 0.367395 -2.962 2.85389, + 0.319395 -2.962 2.85388, + 0.417395 -3.066 2.85389, + 0.417395 -3.012 2.85389, + 0.367336 -3.179 3.96789, + 0.319336 -3.179 3.96789, + 0.319395 -3.116 2.85388, + 0.367395 -3.116 2.85389, + 0.319336 -3.026 3.96789, + 0.367336 -3.026 3.96789, + 6.61556 0.193 -0.215784, + 5.14735 -0.086 3.80614, + 1.43223 -0.234 5.94594, + -4.46066 -0.086 3.80563, + -5.92844 0.192 -0.216444, + -4.46123 0.471 -4.23737, + -0.74512 0.619 -6.37717, + 3.47884 0.568 -5.63495, + 5.14777 0.471 -4.23786, + 5.14777 0.532 -4.23786, + 3.47884 0.628 -5.63495, + -0.74512 0.68 -6.37717, + -4.46123 0.531 -4.23737, + -5.92844 0.253 -0.216444, + -4.46066 -0.025 3.80563, + 1.43223 -0.173 5.94594, + 5.14735 -0.025 3.80614, + 6.61556 0.253 -0.215784, + 0.614972 0.679 -8.1101, + 0.614936 0.106 -7.4281, + 0.614936 -1.196 -7.4281, + 0.614972 -1.767 -8.1101, + 0.615018 -1.768 -9.0011, + 0.615054 -1.196 -9.6831, + 0.615062 -0.319 -9.8381, + 0.615054 0.106 -9.6831, + 0.615039 0.453 -9.3931, + 0.615018 0.679 -9.0011, + 0.530019 0.679 -9.0011, + 0.530039 0.453 -9.39311, + 0.530054 0.106 -9.68311, + 0.530062 -0.319 -9.83811, + 0.530054 -1.196 -9.68311, + 0.530019 -1.768 -9.0011, + 0.529972 -1.767 -8.1101, + 0.529936 -1.196 -7.4281, + 0.529928 -0.319 -7.2731, + 0.529936 0.106 -7.4281, + 0.529972 0.679 -8.1101, + 0.255231 -2.14915 -7.3791, + 0.758162 -2.59984 3.36791, + 0.594847 -2.54881 3.72511, + -0.062854 -2.59984 3.36787, + 0.594839 -1.93645 3.87253, + 0.100415 -1.93645 3.8725, + 0.75818 -1.70965 3.02771, + -0.062836 -1.70965 3.02767, + 0.758223 -1.02925 2.19989, + -0.062793 -1.02925 2.19985, + 0.758299 -0.830803 0.75404, + -0.062717 -0.830803 0.753997, + 0.758301 -0.314833 0.72002, + -0.062715 -0.314833 0.719977, + 0.758416 -0.415926 -1.4647, + -0.0626 -0.415926 -1.46475, + -0.062585 -0.937566 -1.74258, + 0.477454 -1.87132 -6.6023, + 0.214366 -1.87132 -6.60231, + 0.441263 -0.495408 -8.43416, + 0.250751 -0.495408 -8.43417, + 0.414074 -0.461388 -8.95013, + 0.277994 -0.461388 -8.95014, + 0.436671 -2.14915 -7.37909, + 0.4548 -2.34193 -7.08992, + 0.241608 -2.34193 -7.08993, + 0.758426 -3.16939 -1.65658, + -0.06259 -3.16939 -1.65662, + 0.758217 -3.03428 2.31419, + -0.062799 -3.03428 2.31415, + -0.062716 -1.54522 0.742657, + -0.062569 -1.57261 -2.04875, + 0.7583 -1.54522 0.7427, + 0.758431 -0.937566 -1.74253, + 0.758447 -1.57261 -2.04871, + 0.100423 -2.54881 3.72509, + -0.476109 -1.54522 0.742637, + -0.47611 -0.830803 0.753977, + -0.063333 -1.54522 0.742658, + -0.063334 -0.830803 0.753998, + -0.475978 -0.937566 -1.74259, + -0.063202 -0.937566 -1.74257, + 1.17046 -0.830803 0.754063, + 0.757682 -0.830803 0.754041, + 1.17064 -1.59392 -2.71303, + 1.17046 -1.54522 0.742723, + 0.757683 -1.54522 0.742701, + 0.75783 -1.57261 -2.04871, + 1.17059 -0.937566 -1.74251, + -0.475928 -1.57816 -2.70774, + -0.475962 -1.57261 -2.04878, + -0.063153 -0.955725 -2.674, + -0.475929 -0.955725 -2.67402, + -0.063186 -1.57261 -2.04875, + -0.063152 -1.57816 -2.70772, + 1.17061 -1.57261 -2.04869, + 1.17064 -0.971488 -2.67932, + 0.757865 -1.59392 -2.71305, + 0.757814 -0.937566 -1.74253, + 0.757863 -0.971488 -2.67934, + 1.43188 0.68 -6.37806, + 1.43188 0.619 -6.37806, + -2.79216 0.628 -5.63428, + -2.79216 0.567 -5.63428, + -5.55033 0.401 -2.35642, + -5.55033 0.34 -2.35642, + -5.54956 0.105 1.92358, + -5.54956 0.044 1.92358, + -0.744768 -0.173 5.94583, + -0.744768 -0.234 5.94583, + 3.47927 -0.122 5.20305, + 3.47927 -0.183 5.20305, + 6.23667 0.341 -2.3568, + 6.23667 0.402 -2.3568, + 6.23644 0.044 1.9242, + 6.23644 0.105 1.9242, + 0.530062 -0.771 -9.83811, + 0.615062 -0.771 -9.8381, + 0.530039 -1.542 -9.3921, + 0.615039 -1.542 -9.3921, + 0.529995 -1.846 -8.5551, + 0.614995 -1.846 -8.5551, + 0.529951 -1.542 -7.7181, + 0.614951 -1.542 -7.7181, + 0.529928 -0.771 -7.2731, + 0.614928 -0.771 -7.2731, + 0.614928 -0.319 -7.2731, + 0.529951 0.453 -7.7181, + 0.614951 0.453 -7.7181, + 0.614995 0.757 -8.5551, + 0.529995 0.757 -8.5551, + -2.79173 -0.122 5.20272, + -2.79173 -0.183 5.20272 ] + } + + creaseAngle 1 + coordIndex [ 78, 171, 172, 63, -1, 74, 163, 164, + 67, -1, 62, 175, 63, 172, 64, 170, + 193, 65, 168, 66, 166, 67, 164, 68, + 162, 69, 70, 173, -1, 165, 74, 67, + 166, -1, 173, 70, 71, 174, -1, 175, + 62, 79, 176, -1, 167, 75, 66, 168, + -1, 175, 176, 78, 63, -1, 73, 161, + 162, 68, -1, 77, 169, 170, 64, -1, + 62, 173, 174, 79, -1, 75, 165, 166, + 66, -1, 174, 71, 72, 161, 73, 163, + 74, 165, 75, 167, 76, 192, 169, 77, + 171, 78, 176, 79, -1, 163, 73, 68, + 164, -1, 171, 77, 64, 172, -1, 192, + 76, 65, 193, -1, 169, 192, 193, 170, + -1, 161, 72, 69, 162, -1, 72, 71, + 70, 69, -1, 76, 167, 168, 65, -1, + -1 ] + } + + } + } + + DEF Center Transform { + translation 0 -1 0 + scale 1.11653 1.11653 1.11653 + children Shape { + appearance Appearance { + material Material { + } + + } + + geometry Box { + size 5 1.5 5 + } + + } + } + + DEF Rotor_4 Transform { + translation -10 0 10 + scale 0.999617 0.999617 0.999617 + children Shape { + appearance Appearance { + material Material { + ambientIntensity 0.9551 + diffuseColor 0.6163 0.6163 0.6163 + shininess 0.3 + specularColor 0.3 0.3 0.3 + } + + } + + geometry IndexedFaceSet { + coord DEF _v2%0 Coordinate { + point [ 1.87355 -2.12 -0.139033, + 0.783522 -2.076 0.446909, + 0.783515 -2.267 0.566909, + 0.783572 -2.266 -0.517091, + 1.87352 -2.12 0.566967, + 1.80752 -2.12 0.566963, + 1.87359 -2.266 -0.877033, + 1.87355 -2.267 -0.047033, + 1.87352 -2.267 0.566967, + 1.80752 -2.267 0.566963, + 1.80755 -2.12 -0.129037, + 1.80755 -2.267 -0.037037, + 1.80759 -2.266 -0.867037, + 1.80659 -2.12 -0.874037, + 1.87259 -2.12 -0.884034, + -1.18645 -2.12 -0.139194, + -1.18541 -2.12 -0.884194, + -1.11941 -2.12 -0.874191, + -1.12041 -2.266 -0.867191, + -1.12045 -2.12 -0.129191, + -1.12048 -2.12 0.566809, + -1.12048 -2.267 0.566809, + -1.18649 -2.267 0.566806, + -1.18645 -2.267 -0.047194, + -1.12045 -2.267 -0.037191, + -1.18641 -2.266 -0.877194, + -1.18649 -2.12 0.566806, + -0.096428 -2.266 -0.517137, + -0.096485 -2.267 0.566863, + -0.096479 -2.076 0.446863, + 0.591406 -3.166 2.6379, + 0.095406 -3.166 2.63787, + 0.095406 -2.912 2.63787, + 0.219395 -3.166 2.85388, + 0.219395 -2.912 2.85388, + 0.467395 -2.912 2.85389, + 0.467395 -3.166 2.85389, + 0.467418 -2.912 2.42289, + 0.219418 -2.912 2.42288, + 0.591406 -2.912 2.6379, + 0.219418 -3.166 2.42288, + 0.467418 -3.166 2.42289, + 0.434395 -3.132 2.85389, + 0.252395 -3.132 2.85388, + 0.252395 -2.946 2.85388, + 0.434395 -2.946 2.85389, + 0.269336 -3.076 3.96788, + 0.417336 -3.129 3.96789, + 0.417336 -3.076 3.96789, + 0.269336 -3.129 3.96788, + 0.269395 -3.012 2.85388, + 0.269395 -3.066 2.85388, + 0.367395 -2.962 2.85389, + 0.319395 -2.962 2.85388, + 0.417395 -3.066 2.85389, + 0.417395 -3.012 2.85389, + 0.367336 -3.179 3.96789, + 0.319336 -3.179 3.96789, + 0.319395 -3.116 2.85388, + 0.367395 -3.116 2.85389, + 0.319336 -3.026 3.96789, + 0.367336 -3.026 3.96789, + 6.61556 0.193 -0.215784, + 5.14735 -0.086 3.80614, + 1.43223 -0.234 5.94594, + -4.46066 -0.086 3.80563, + -5.92844 0.192 -0.216444, + -4.46123 0.471 -4.23737, + -0.74512 0.619 -6.37717, + 3.47884 0.568 -5.63495, + 5.14777 0.471 -4.23786, + 5.14777 0.532 -4.23786, + 3.47884 0.628 -5.63495, + -0.74512 0.68 -6.37717, + -4.46123 0.531 -4.23737, + -5.92844 0.253 -0.216444, + -4.46066 -0.025 3.80563, + 1.43223 -0.173 5.94594, + 5.14735 -0.025 3.80614, + 6.61556 0.253 -0.215784, + 0.614972 0.679 -8.1101, + 0.614936 0.106 -7.4281, + 0.614936 -1.196 -7.4281, + 0.614972 -1.767 -8.1101, + 0.615018 -1.768 -9.0011, + 0.615054 -1.196 -9.6831, + 0.615062 -0.319 -9.8381, + 0.615054 0.106 -9.6831, + 0.615039 0.453 -9.3931, + 0.615018 0.679 -9.0011, + 0.530019 0.679 -9.0011, + 0.530039 0.453 -9.39311, + 0.530054 0.106 -9.68311, + 0.530062 -0.319 -9.83811, + 0.530054 -1.196 -9.68311, + 0.530019 -1.768 -9.0011, + 0.529972 -1.767 -8.1101, + 0.529936 -1.196 -7.4281, + 0.529928 -0.319 -7.2731, + 0.529936 0.106 -7.4281, + 0.529972 0.679 -8.1101, + 0.255231 -2.14915 -7.3791, + 0.758162 -2.59984 3.36791, + 0.594847 -2.54881 3.72511, + -0.062854 -2.59984 3.36787, + 0.594839 -1.93645 3.87253, + 0.100415 -1.93645 3.8725, + 0.75818 -1.70965 3.02771, + -0.062836 -1.70965 3.02767, + 0.758223 -1.02925 2.19989, + -0.062793 -1.02925 2.19985, + 0.758299 -0.830803 0.75404, + -0.062717 -0.830803 0.753997, + 0.758301 -0.314833 0.72002, + -0.062715 -0.314833 0.719977, + 0.758416 -0.415926 -1.4647, + -0.0626 -0.415926 -1.46475, + -0.062585 -0.937566 -1.74258, + 0.477454 -1.87132 -6.6023, + 0.214366 -1.87132 -6.60231, + 0.441263 -0.495408 -8.43416, + 0.250751 -0.495408 -8.43417, + 0.414074 -0.461388 -8.95013, + 0.277994 -0.461388 -8.95014, + 0.436671 -2.14915 -7.37909, + 0.4548 -2.34193 -7.08992, + 0.241608 -2.34193 -7.08993, + 0.758426 -3.16939 -1.65658, + -0.06259 -3.16939 -1.65662, + 0.758217 -3.03428 2.31419, + -0.062799 -3.03428 2.31415, + -0.062716 -1.54522 0.742657, + -0.062569 -1.57261 -2.04875, + 0.7583 -1.54522 0.7427, + 0.758431 -0.937566 -1.74253, + 0.758447 -1.57261 -2.04871, + 0.100423 -2.54881 3.72509, + -0.476109 -1.54522 0.742637, + -0.47611 -0.830803 0.753977, + -0.063333 -1.54522 0.742658, + -0.063334 -0.830803 0.753998, + -0.475978 -0.937566 -1.74259, + -0.063202 -0.937566 -1.74257, + 1.17046 -0.830803 0.754063, + 0.757682 -0.830803 0.754041, + 1.17064 -1.59392 -2.71303, + 1.17046 -1.54522 0.742723, + 0.757683 -1.54522 0.742701, + 0.75783 -1.57261 -2.04871, + 1.17059 -0.937566 -1.74251, + -0.475928 -1.57816 -2.70774, + -0.475962 -1.57261 -2.04878, + -0.063153 -0.955725 -2.674, + -0.475929 -0.955725 -2.67402, + -0.063186 -1.57261 -2.04875, + -0.063152 -1.57816 -2.70772, + 1.17061 -1.57261 -2.04869, + 1.17064 -0.971488 -2.67932, + 0.757865 -1.59392 -2.71305, + 0.757814 -0.937566 -1.74253, + 0.757863 -0.971488 -2.67934, + 1.43188 0.68 -6.37806, + 1.43188 0.619 -6.37806, + -2.79216 0.628 -5.63428, + -2.79216 0.567 -5.63428, + -5.55033 0.401 -2.35642, + -5.55033 0.34 -2.35642, + -5.54956 0.105 1.92358, + -5.54956 0.044 1.92358, + -0.744768 -0.173 5.94583, + -0.744768 -0.234 5.94583, + 3.47927 -0.122 5.20305, + 3.47927 -0.183 5.20305, + 6.23667 0.341 -2.3568, + 6.23667 0.402 -2.3568, + 6.23644 0.044 1.9242, + 6.23644 0.105 1.9242, + 0.530062 -0.771 -9.83811, + 0.615062 -0.771 -9.8381, + 0.530039 -1.542 -9.3921, + 0.615039 -1.542 -9.3921, + 0.529995 -1.846 -8.5551, + 0.614995 -1.846 -8.5551, + 0.529951 -1.542 -7.7181, + 0.614951 -1.542 -7.7181, + 0.529928 -0.771 -7.2731, + 0.614928 -0.771 -7.2731, + 0.614928 -0.319 -7.2731, + 0.529951 0.453 -7.7181, + 0.614951 0.453 -7.7181, + 0.614995 0.757 -8.5551, + 0.529995 0.757 -8.5551, + -2.79173 -0.122 5.20272, + -2.79173 -0.183 5.20272 ] + } + + creaseAngle 1 + coordIndex [ 78, 171, 172, 63, -1, 74, 163, 164, + 67, -1, 62, 175, 63, 172, 64, 170, + 193, 65, 168, 66, 166, 67, 164, 68, + 162, 69, 70, 173, -1, 165, 74, 67, + 166, -1, 173, 70, 71, 174, -1, 175, + 62, 79, 176, -1, 167, 75, 66, 168, + -1, 175, 176, 78, 63, -1, 73, 161, + 162, 68, -1, 77, 169, 170, 64, -1, + 62, 173, 174, 79, -1, 75, 165, 166, + 66, -1, 174, 71, 72, 161, 73, 163, + 74, 165, 75, 167, 76, 192, 169, 77, + 171, 78, 176, 79, -1, 163, 73, 68, + 164, -1, 171, 77, 64, 172, -1, 192, + 76, 65, 193, -1, 169, 192, 193, 170, + -1, 161, 72, 69, 162, -1, 72, 71, + 70, 69, -1, 76, 167, 168, 65, -1, + -1 ] + } + + } + } + ] +} +Background { + groundAngle [ 0.9, 1.5, 1.57 ] + groundColor [ 0 0.8 0, + 0.174249 0.82 0.187362, + 0.467223 0.82 0.445801, + 0.621997 0.67 0.600279 ] + skyAngle [ 0.1, 1.2, 1.57 ] + skyColor [ 0.76238 0.8 0.1427, + 0.277798 0.219779 0.7, + 0.222549 0.390234 0.7, + 0.60094 0.662637 0.69 ] +} +DEF sqare_platform Transform { + translation 0 -0.432 0 + scale 2 0.04 2 + children [ + Shape { + appearance Appearance { + material Material { + ambientIntensity 0.2 + diffuseColor 0.8 0.407144 0.297047 + } + + } + + geometry Box { + } + + } + + Transform { + translation 0 0.031 0 + scale 0.5 1 0.5 + children Shape { + appearance Appearance { + material Material { + diffuseColor 0.8 0.613697 0.365273 + } + + } + + geometry Cylinder { + } + + } + } + ] +} diff --git a/controls/model/3D_Animation/sfun_time.c b/controls/model/3D_Animation/sfun_time.c new file mode 100644 index 0000000000000000000000000000000000000000..09f87e5667471119c401f6c7b2436207fb81c9a3 --- /dev/null +++ b/controls/model/3D_Animation/sfun_time.c @@ -0,0 +1,101 @@ +#define S_FUNCTION_LEVEL 2 +#define S_FUNCTION_NAME sfun_time + +#define TIME_SCALE_FACTOR(S) ssGetSFcnParam(S,0) + +/* + * Need to include simstruc.h for the definition of the SimStruct and + * its associated macro definitions. + */ +#include "simstruc.h" + +/* + * Include the standard ANSI C header for handling time functions: + * --------------------------------------------------------------- + */ +#include <time.h> + +static void mdlInitializeSizes(SimStruct *S) +{ + + ssSetNumSFcnParams(S, 1); /* Number of expected parameters */ + + if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) return; + + ssSetNumContStates(S, 0); + ssSetNumDiscStates(S, 0); + + if (!ssSetNumInputPorts(S, 0)) return; + + if (!ssSetNumOutputPorts(S, 0)) return; + + ssSetNumSampleTimes(S, 1); + ssSetNumRWork(S, 1); + ssSetNumIWork(S, 0); + ssSetNumPWork(S, 0); + ssSetNumModes(S, 0); + ssSetNumNonsampledZCs(S, 0); + ssSetOptions(S, 0); +} + +#define MDL_INITIALIZE_SAMPLE_TIMES +static void mdlInitializeSampleTimes(SimStruct *S) +{ + ssSetSampleTime(S, 0, CONTINUOUS_SAMPLE_TIME); + ssSetOffsetTime(S, 0, 0.0); +} + +#define MDL_START +static void mdlStart(SimStruct *S) +{ + ssSetRWorkValue(S,0,ssGetTStart(S)); +} + +static void mdlOutputs(SimStruct *S, int_T tid) +{ + real_T t_previousSimTime = ssGetRWorkValue(S,0); + const real_T *scaleFactor = mxGetPr(TIME_SCALE_FACTOR(S)); + time_T t_SimTime = ssGetT(S); + real_T t_diff = 0.0; + real_T dt; + real_T t_current; + real_T t_0; + real_T t_previous; + real_T t_elapsed; + + /* Desired Delta time */ + dt = (t_SimTime - t_previousSimTime) * (scaleFactor[0]); + /* Get clock time at the beginning of this step*/ + t_previous = (real_T)clock()/CLOCKS_PER_SEC; + t_0 = (real_T)clock()/CLOCKS_PER_SEC; + + /* Wait to reach the desired time */ + while (t_diff<dt){ + t_current = (real_T) clock()/CLOCKS_PER_SEC; + /* Look for wrapup */ + if (t_current<t_previous){ + t_elapsed = t_previous - t_0; + t_0 = (real_T) clock()/CLOCKS_PER_SEC - t_elapsed; + } + t_diff = t_current - t_0; + t_previous = t_current; + } + + /* Store current time to be used in next time step*/ + ssSetRWorkValue(S, 0, t_SimTime); +} + +static void mdlTerminate(SimStruct *S) +{ + UNUSED_ARG(S); /* unused input argument */ +} + +/* + * Required S-function trailer: + * ---------------------------- + */ +#ifdef MATLAB_MEX_FILE /* Is this file being compiled as a MEX-file? */ +#include "simulink.c" /* MEX-file interface mechanism */ +#else +#include "cg_sfun.h" /* Code generation registration function */ +#endif diff --git a/controls/model/3D_Animation/sfun_time.mexw32 b/controls/model/3D_Animation/sfun_time.mexw32 new file mode 100644 index 0000000000000000000000000000000000000000..e5f03e158c0ce37e723f6bf43cd79b24286994a6 Binary files /dev/null and b/controls/model/3D_Animation/sfun_time.mexw32 differ diff --git a/controls/model/3D_Animation/sfun_time.mexw64 b/controls/model/3D_Animation/sfun_time.mexw64 new file mode 100644 index 0000000000000000000000000000000000000000..c993c93128d86f7caa26ee652393c6d75a1c6fc0 Binary files /dev/null and b/controls/model/3D_Animation/sfun_time.mexw64 differ diff --git a/controls/model/3D_Animation/ucart_graphical_animation.mdl b/controls/model/3D_Animation/ucart_graphical_animation.mdl new file mode 100644 index 0000000000000000000000000000000000000000..e8caed96bbf11bc9f7c604680470cd80ae5a986d --- /dev/null +++ b/controls/model/3D_Animation/ucart_graphical_animation.mdl @@ -0,0 +1,1372 @@ +Model { + Name "ucart_graphical_animation" + Version 8.5 + MdlSubVersion 0 + SavedCharacterEncoding "windows-1252" + GraphicalInterface { + NumRootInports 0 + NumRootOutports 0 + ParameterArgumentNames "" + ComputedModelVersion "1.2" + NumModelReferences 0 + NumTestPointedSignals 0 + } + ScopeRefreshTime 0.035000 + OverrideScopeRefreshTime on + DisableAllScopes on + DataTypeOverride "UseLocalSettings" + DataTypeOverrideAppliesTo "AllNumericTypes" + MinMaxOverflowLogging "UseLocalSettings" + MinMaxOverflowArchiveMode "Overwrite" + FPTRunName "Run 1" + MaxMDLFileLineLength 120 + Object { + $PropName "BdWindowsInfo" + $ObjectID 1 + $ClassName "Simulink.BDWindowsInfo" + Object { + $PropName "WindowsInfo" + $ObjectID 2 + $ClassName "Simulink.WindowInfo" + IsActive [1] + Location [371.0, 86.0, 1171.0, 547.0] + Object { + $PropName "ModelBrowserInfo" + $ObjectID 3 + $ClassName "Simulink.ModelBrowserInfo" + Visible [0] + DockPosition "Left" + Width [50] + Height [50] + Filter [8] + } + Object { + $PropName "ExplorerBarInfo" + $ObjectID 4 + $ClassName "Simulink.ExplorerBarInfo" + Visible [1] + } + Object { + $PropName "EditorsInfo" + $ObjectID 5 + $ClassName "Simulink.EditorInfo" + IsActive [1] + ViewObjType "SimulinkTopLevel" + LoadSaveID "0" + Extents [1119.0, 345.0] + ZoomFactor [1.0] + Offset [0.0, 0.0] + } + } + } + Created "Thu Dec 01 14:57:20 2016" + Creator "m87rich" + UpdateHistory "UpdateHistoryNever" + ModifiedByFormat "%<Auto>" + LastModifiedBy "m87rich" + ModifiedDateFormat "%<Auto>" + LastModifiedDate "Thu Dec 01 15:14:58 2016" + RTWModifiedTimeStamp 402506046 + ModelVersionFormat "1.%<AutoIncrement:2>" + ConfigurationManager "none" + SampleTimeColors off + SampleTimeAnnotations off + LibraryLinkDisplay "disabled" + WideLines off + ShowLineDimensions off + ShowPortDataTypes off + ShowDesignRanges off + ShowLoopsOnError on + IgnoreBidirectionalLines off + ShowStorageClass off + ShowTestPointIcons on + ShowSignalResolutionIcons on + ShowViewerIcons on + SortedOrder off + ExecutionContextIcon off + ShowLinearizationAnnotations on + ShowMarkup on + BlockNameDataTip off + BlockParametersDataTip off + BlockDescriptionStringDataTip off + ToolBar on + StatusBar on + BrowserShowLibraryLinks off + BrowserLookUnderMasks off + SimulationMode "normal" + PauseTimes "5" + NumberOfSteps 1 + SnapshotBufferSize 10 + SnapshotInterval 10 + NumberOfLastSnapshots 0 + LinearizationMsg "none" + Profile off + ParamWorkspaceSource "MATLABWorkspace" + AccelSystemTargetFile "accel.tlc" + AccelTemplateMakefile "accel_default_tmf" + AccelMakeCommand "make_rtw" + TryForcingSFcnDF off + Object { + $PropName "DataLoggingOverride" + $ObjectID 6 + $ClassName "Simulink.SimulationData.ModelLoggingInfo" + model_ "ucart_graphical_animation" + overrideMode_ [0U] + Array { + Type "Cell" + Dimension 1 + Cell "ucart_graphical_animation" + PropName "logAsSpecifiedByModels_" + } + Array { + Type "Cell" + Dimension 1 + Cell [] + PropName "logAsSpecifiedByModelsSSIDs_" + } + } + RecordCoverage off + CovPath "/" + CovSaveName "covdata" + CovMetricSettings "dw" + CovNameIncrementing off + CovHtmlReporting on + CovForceBlockReductionOff on + CovEnableCumulative on + covSaveCumulativeToWorkspaceVar on + CovSaveSingleToWorkspaceVar on + CovCumulativeVarName "covCumulativeData" + CovCumulativeReport off + CovReportOnPause on + CovModelRefEnable "Off" + CovExternalEMLEnable off + CovSFcnEnable on + CovBoundaryAbsTol 0.000010 + CovBoundaryRelTol 0.010000 + CovUseTimeInterval off + CovStartTime 0 + CovStopTime 0 + ExtModeBatchMode off + ExtModeEnableFloating on + ExtModeTrigType "manual" + ExtModeTrigMode "normal" + ExtModeTrigPort "1" + ExtModeTrigElement "any" + ExtModeTrigDuration 1000 + ExtModeTrigDurationFloating "auto" + ExtModeTrigHoldOff 0 + ExtModeTrigDelay 0 + ExtModeTrigDirection "rising" + ExtModeTrigLevel 0 + ExtModeArchiveMode "off" + ExtModeAutoIncOneShot off + ExtModeIncDirWhenArm off + ExtModeAddSuffixToVar off + ExtModeWriteAllDataToWs off + ExtModeArmWhenConnect on + ExtModeSkipDownloadWhenConnect off + ExtModeLogAll on + ExtModeAutoUpdateStatusClock on + ShowModelReferenceBlockVersion off + ShowModelReferenceBlockIO off + Array { + Type "Handle" + Dimension 1 + Simulink.ConfigSet { + $ObjectID 7 + Version "1.15.0" + Array { + Type "Handle" + Dimension 8 + Simulink.SolverCC { + $ObjectID 8 + Version "1.15.0" + StartTime "0.0" + StopTime "10.0" + AbsTol "auto" + FixedStep "auto" + InitialStep "auto" + MaxNumMinSteps "-1" + MaxOrder 5 + ZcThreshold "auto" + ConsecutiveZCsStepRelTol "10*128*eps" + MaxConsecutiveZCs "1000" + ExtrapolationOrder 4 + NumberNewtonIterations 1 + MaxStep "auto" + MinStep "auto" + MaxConsecutiveMinStep "1" + RelTol "1e-3" + SolverMode "Auto" + EnableConcurrentExecution off + ConcurrentTasks off + Solver "ode45" + SolverName "ode45" + SolverJacobianMethodControl "auto" + ShapePreserveControl "DisableAll" + ZeroCrossControl "UseLocalSettings" + ZeroCrossAlgorithm "Nonadaptive" + AlgebraicLoopSolver "TrustRegion" + SolverResetMethod "Fast" + PositivePriorityOrder off + AutoInsertRateTranBlk off + SampleTimeConstraint "Unconstrained" + InsertRTBMode "Whenever possible" + } + Simulink.DataIOCC { + $ObjectID 9 + Version "1.15.0" + Decimation "1" + ExternalInput "[t, u]" + FinalStateName "xFinal" + InitialState "xInitial" + LimitDataPoints on + MaxDataPoints "1000" + LoadExternalInput off + LoadInitialState off + SaveFinalState off + SaveCompleteFinalSimState off + SaveFormat "Array" + SignalLoggingSaveFormat "Dataset" + SaveOutput on + SaveState off + SignalLogging on + DSMLogging on + InspectSignalLogs off + VisualizeSimOutput on + SaveTime on + ReturnWorkspaceOutputs off + StateSaveName "xout" + TimeSaveName "tout" + OutputSaveName "yout" + SignalLoggingName "logsout" + DSMLoggingName "dsmout" + OutputOption "RefineOutputTimes" + OutputTimes "[]" + ReturnWorkspaceOutputsName "out" + Refine "1" + } + Simulink.OptimizationCC { + $ObjectID 10 + Version "1.15.0" + Array { + Type "Cell" + Dimension 8 + Cell "BooleansAsBitfields" + Cell "PassReuseOutputArgsAs" + Cell "PassReuseOutputArgsThreshold" + Cell "ZeroExternalMemoryAtStartup" + Cell "ZeroInternalMemoryAtStartup" + Cell "OptimizeModelRefInitCode" + Cell "NoFixptDivByZeroProtection" + Cell "UseSpecifiedMinMax" + PropName "DisabledProps" + } + BlockReduction on + BooleanDataType on + ConditionallyExecuteInputs on + InlineParams off + UseDivisionForNetSlopeComputation "off" + UseFloatMulNetSlope off + DefaultUnderspecifiedDataType "double" + UseSpecifiedMinMax off + InlineInvariantSignals off + OptimizeBlockIOStorage on + BufferReuse on + EnhancedBackFolding off + CachingGlobalReferences off + GlobalBufferReuse on + StrengthReduction off + ExpressionFolding on + BooleansAsBitfields off + BitfieldContainerType "uint_T" + EnableMemcpy on + MemcpyThreshold 64 + PassReuseOutputArgsAs "Structure reference" + PassReuseOutputArgsThreshold 12 + ExpressionDepthLimit 128 + LocalBlockOutputs on + RollThreshold 5 + StateBitsets off + DataBitsets off + ActiveStateOutputEnumStorageType "Native Integer" + ZeroExternalMemoryAtStartup on + ZeroInternalMemoryAtStartup on + InitFltsAndDblsToZero off + NoFixptDivByZeroProtection off + EfficientFloat2IntCast off + EfficientMapNaN2IntZero on + OptimizeModelRefInitCode off + LifeSpan "inf" + MaxStackSize "Inherit from target" + BufferReusableBoundary on + SimCompilerOptimization "off" + AccelVerboseBuild off + } + Simulink.DebuggingCC { + $ObjectID 11 + Version "1.15.0" + RTPrefix "error" + ConsistencyChecking "none" + ArrayBoundsChecking "none" + SignalInfNanChecking "none" + SignalRangeChecking "none" + ReadBeforeWriteMsg "UseLocalSettings" + WriteAfterWriteMsg "UseLocalSettings" + WriteAfterReadMsg "UseLocalSettings" + AlgebraicLoopMsg "warning" + ArtificialAlgebraicLoopMsg "warning" + SaveWithDisabledLinksMsg "warning" + SaveWithParameterizedLinksMsg "warning" + CheckSSInitialOutputMsg on + UnderspecifiedInitializationDetection "Simplified" + MergeDetectMultiDrivingBlocksExec "error" + CheckExecutionContextPreStartOutputMsg off + CheckExecutionContextRuntimeOutputMsg off + SignalResolutionControl "UseLocalSettings" + BlockPriorityViolationMsg "warning" + MinStepSizeMsg "warning" + TimeAdjustmentMsg "none" + MaxConsecutiveZCsMsg "error" + MaskedZcDiagnostic "warning" + IgnoredZcDiagnostic "warning" + SolverPrmCheckMsg "none" + InheritedTsInSrcMsg "warning" + DiscreteInheritContinuousMsg "warning" + MultiTaskDSMMsg "error" + MultiTaskCondExecSysMsg "error" + MultiTaskRateTransMsg "error" + SingleTaskRateTransMsg "none" + TasksWithSamePriorityMsg "warning" + SigSpecEnsureSampleTimeMsg "warning" + CheckMatrixSingularityMsg "none" + IntegerOverflowMsg "warning" + Int32ToFloatConvMsg "warning" + ParameterDowncastMsg "error" + ParameterOverflowMsg "error" + ParameterUnderflowMsg "none" + ParameterPrecisionLossMsg "warning" + ParameterTunabilityLossMsg "warning" + FixptConstUnderflowMsg "none" + FixptConstOverflowMsg "none" + FixptConstPrecisionLossMsg "none" + UnderSpecifiedDataTypeMsg "none" + UnnecessaryDatatypeConvMsg "none" + VectorMatrixConversionMsg "none" + InvalidFcnCallConnMsg "error" + FcnCallInpInsideContextMsg "EnableAllAsError" + SignalLabelMismatchMsg "none" + UnconnectedInputMsg "warning" + UnconnectedOutputMsg "warning" + UnconnectedLineMsg "warning" + SFcnCompatibilityMsg "none" + FrameProcessingCompatibilityMsg "error" + UniqueDataStoreMsg "none" + BusObjectLabelMismatch "warning" + RootOutportRequireBusObject "warning" + AssertControl "UseLocalSettings" + ModelReferenceIOMsg "none" + ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" + ModelReferenceVersionMismatchMessage "none" + ModelReferenceIOMismatchMessage "none" + UnknownTsInhSupMsg "warning" + ModelReferenceDataLoggingMessage "warning" + ModelReferenceSymbolNameMessage "warning" + ModelReferenceExtraNoncontSigs "error" + StateNameClashWarn "none" + SimStateInterfaceChecksumMismatchMsg "warning" + SimStateOlderReleaseMsg "error" + InitInArrayFormatMsg "warning" + StrictBusMsg "ErrorLevel1" + BusNameAdapt "WarnAndRepair" + NonBusSignalsTreatedAsBus "none" + BlockIODiagnostic "none" + SFUnusedDataAndEventsDiag "warning" + SFUnexpectedBacktrackingDiag "warning" + SFInvalidInputDataAccessInChartInitDiag "warning" + SFNoUnconditionalDefaultTransitionDiag "warning" + SFTransitionOutsideNaturalParentDiag "warning" + SFUnconditionalTransitionShadowingDiag "warning" + SFUndirectedBroadcastEventsDiag "warning" + SFTransitionActionBeforeConditionDiag "warning" + SFOutputUsedAsStateInMooreChartDiag "error" + IntegerSaturationMsg "warning" + } + Simulink.HardwareCC { + $ObjectID 12 + Version "1.15.0" + ProdBitPerChar 8 + ProdBitPerShort 16 + ProdBitPerInt 32 + ProdBitPerLong 32 + ProdBitPerLongLong 64 + ProdBitPerFloat 32 + ProdBitPerDouble 64 + ProdBitPerPointer 32 + ProdLargestAtomicInteger "Char" + ProdLargestAtomicFloat "None" + ProdIntDivRoundTo "Undefined" + ProdEndianess "Unspecified" + ProdWordSize 32 + ProdShiftRightIntArith on + ProdLongLongMode off + ProdHWDeviceType "32-bit Generic" + TargetBitPerChar 8 + TargetBitPerShort 16 + TargetBitPerInt 32 + TargetBitPerLong 32 + TargetBitPerLongLong 64 + TargetBitPerFloat 32 + TargetBitPerDouble 64 + TargetBitPerPointer 32 + TargetLargestAtomicInteger "Char" + TargetLargestAtomicFloat "None" + TargetShiftRightIntArith on + TargetLongLongMode off + TargetIntDivRoundTo "Undefined" + TargetEndianess "Unspecified" + TargetWordSize 32 + TargetPreprocMaxBitsSint 32 + TargetPreprocMaxBitsUint 32 + TargetHWDeviceType "Specified" + TargetUnknown off + ProdEqTarget on + } + Simulink.ModelReferenceCC { + $ObjectID 13 + Version "1.15.0" + UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" + CheckModelReferenceTargetMessage "error" + EnableParallelModelReferenceBuilds off + ParallelModelReferenceErrorOnInvalidPool on + ParallelModelReferenceMATLABWorkerInit "None" + ModelReferenceNumInstancesAllowed "Multi" + PropagateVarSize "Infer from blocks in model" + ModelReferencePassRootInputsByReference on + ModelReferenceMinAlgLoopOccurrences off + PropagateSignalLabelsOutOfModel off + SupportModelReferenceSimTargetCustomCode off + } + Simulink.SFSimCC { + $ObjectID 14 + Version "1.15.0" + SFSimOverflowDetection on + SFSimEcho on + SimCtrlC on + SimIntegrity on + SimUseLocalCustomCode off + SimParseCustomCode on + SimBuildMode "sf_incremental_build" + SimGenImportedTypeDefs off + } + Simulink.RTWCC { + $BackupClass "Simulink.RTWCC" + $ObjectID 15 + Version "1.15.0" + Array { + Type "Cell" + Dimension 16 + Cell "IncludeHyperlinkInReport" + Cell "GenerateTraceInfo" + Cell "GenerateTraceReport" + Cell "GenerateTraceReportSl" + Cell "GenerateTraceReportSf" + Cell "GenerateTraceReportEml" + Cell "PortableWordSizes" + Cell "GenerateWebview" + Cell "GenerateCodeMetricsReport" + Cell "GenerateCodeReplacementReport" + Cell "GenerateMissedCodeReplacementReport" + Cell "GenerateErtSFunction" + Cell "CreateSILPILBlock" + Cell "CodeExecutionProfiling" + Cell "CodeProfilingSaveOptions" + Cell "CodeProfilingInstrumentation" + PropName "DisabledProps" + } + SystemTargetFile "grt.tlc" + TLCOptions "" + GenCodeOnly off + MakeCommand "make_rtw" + GenerateMakefile on + PackageGeneratedCodeAndArtifacts off + PackageName "" + TemplateMakefile "grt_default_tmf" + PostCodeGenCommand "" + Description "" + GenerateReport off + SaveLog off + RTWVerbose on + RetainRTWFile off + ProfileTLC off + TLCDebug off + TLCCoverage off + TLCAssert off + RTWUseLocalCustomCode off + RTWUseSimCustomCode off + CustomSourceCode "" + CustomHeaderCode "" + CustomInclude "" + CustomSource "" + CustomLibrary "" + CustomInitializer "" + CustomTerminator "" + Toolchain "Automatically locate an installed toolchain" + BuildConfiguration "Faster Builds" + IncludeHyperlinkInReport off + LaunchReport off + PortableWordSizes off + CreateSILPILBlock "None" + CodeExecutionProfiling off + CodeExecutionProfileVariable "executionProfile" + CodeProfilingSaveOptions "SummaryOnly" + CodeProfilingInstrumentation off + SILDebugging off + TargetLang "C" + IncludeBusHierarchyInRTWFileBlockHierarchyMap off + GenerateTraceInfo off + GenerateTraceReport off + GenerateTraceReportSl off + GenerateTraceReportSf off + GenerateTraceReportEml off + GenerateWebview off + GenerateCodeMetricsReport off + GenerateCodeReplacementReport off + GenerateMissedCodeReplacementReport off + RTWCompilerOptimization "off" + RTWCustomCompilerOptimizations "" + CheckMdlBeforeBuild "Off" + SharedConstantsCachingThreshold 1024 + Array { + Type "Handle" + Dimension 2 + Simulink.CodeAppCC { + $ObjectID 16 + Version "1.15.0" + Array { + Type "Cell" + Dimension 24 + Cell "IgnoreCustomStorageClasses" + Cell "ParameterTuningSideEffectCode" + Cell "IgnoreTestpoints" + Cell "InsertBlockDesc" + Cell "InsertPolySpaceComments" + Cell "SFDataObjDesc" + Cell "MATLABFcnDesc" + Cell "SimulinkDataObjDesc" + Cell "DefineNamingRule" + Cell "SignalNamingRule" + Cell "ParamNamingRule" + Cell "InternalIdentifier" + Cell "InlinedPrmAccess" + Cell "CustomSymbolStr" + Cell "CustomSymbolStrGlobalVar" + Cell "CustomSymbolStrType" + Cell "CustomSymbolStrField" + Cell "CustomSymbolStrFcn" + Cell "CustomSymbolStrFcnArg" + Cell "CustomSymbolStrBlkIO" + Cell "CustomSymbolStrTmpVar" + Cell "CustomSymbolStrMacro" + Cell "CustomSymbolStrUtil" + Cell "ReqsInCode" + PropName "DisabledProps" + } + ForceParamTrailComments off + GenerateComments on + CommentStyle "Auto" + IgnoreCustomStorageClasses on + IgnoreTestpoints off + IncHierarchyInIds off + MaxIdLength 31 + PreserveName off + PreserveNameWithParent off + ShowEliminatedStatement off + OperatorAnnotations off + IncAutoGenComments off + SimulinkDataObjDesc off + SFDataObjDesc off + MATLABFcnDesc off + IncDataTypeInIds off + MangleLength 1 + CustomSymbolStrGlobalVar "$R$N$M" + CustomSymbolStrType "$N$R$M_T" + CustomSymbolStrField "$N$M" + CustomSymbolStrFcn "$R$N$M$F" + CustomSymbolStrFcnArg "rt$I$N$M" + CustomSymbolStrBlkIO "rtb_$N$M" + CustomSymbolStrTmpVar "$N$M" + CustomSymbolStrMacro "$R$N$M" + CustomSymbolStrUtil "$N$C" + DefineNamingRule "None" + ParamNamingRule "None" + SignalNamingRule "None" + InsertBlockDesc off + InsertPolySpaceComments off + SimulinkBlockComments on + MATLABSourceComments off + EnableCustomComments off + InternalIdentifier "Shortened" + InlinedPrmAccess "Literals" + ReqsInCode off + UseSimReservedNames off + } + Simulink.GRTTargetCC { + $BackupClass "Simulink.TargetCC" + $ObjectID 17 + Version "1.15.0" + Array { + Type "Cell" + Dimension 13 + Cell "GeneratePreprocessorConditionals" + Cell "IncludeMdlTerminateFcn" + Cell "SuppressErrorStatus" + Cell "ERTCustomFileBanners" + Cell "GenerateSampleERTMain" + Cell "GenerateTestInterfaces" + Cell "ModelStepFunctionPrototypeControlCompliant" + Cell "GenerateAllocFcn" + Cell "PurelyIntegerCode" + Cell "SupportComplex" + Cell "SupportAbsoluteTime" + Cell "SupportContinuousTime" + Cell "SupportNonInlinedSFcns" + PropName "DisabledProps" + } + TargetFcnLib "ansi_tfl_table_tmw.mat" + TargetLibSuffix "" + TargetPreCompLibLocation "" + GenFloatMathFcnCalls "NOT IN USE" + TargetLangStandard "C89/C90 (ANSI)" + CodeReplacementLibrary "None" + UtilityFuncGeneration "Auto" + ERTMultiwordTypeDef "System defined" + ERTMultiwordLength 256 + MultiwordLength 2048 + GenerateFullHeader on + InferredTypesCompatibility off + GenerateSampleERTMain off + GenerateTestInterfaces off + ModelReferenceCompliant on + ParMdlRefBuildCompliant on + CompOptLevelCompliant on + ConcurrentExecutionCompliant on + IncludeMdlTerminateFcn on + GeneratePreprocessorConditionals "Disable all" + CombineOutputUpdateFcns on + CombineSignalStateStructs off + SuppressErrorStatus off + ERTFirstTimeCompliant off + IncludeFileDelimiter "Auto" + ERTCustomFileBanners off + SupportAbsoluteTime on + LogVarNameModifier "rt_" + MatFileLogging on + MultiInstanceERTCode off + CodeInterfacePackaging "Nonreusable function" + SupportNonFinite on + SupportComplex on + PurelyIntegerCode off + SupportContinuousTime on + SupportNonInlinedSFcns on + SupportVariableSizeSignals off + ParenthesesLevel "Nominal" + CastingMode "Nominal" + MATLABClassNameForMDSCustomization "Simulink.SoftwareTarget.GRTCustomization" + ModelStepFunctionPrototypeControlCompliant off + CPPClassGenCompliant on + AutosarCompliant off + GRTInterface off + GenerateAllocFcn off + GenerateSharedConstants on + UseMalloc off + ExtMode off + ExtModeStaticAlloc off + ExtModeTesting off + ExtModeStaticAllocSize 1000000 + ExtModeTransport 0 + ExtModeMexFile "ext_comm" + ExtModeIntrfLevel "Level1" + RTWCAPISignals off + RTWCAPIParams off + RTWCAPIStates off + RTWCAPIRootIO off + GenerateASAP2 off + MultiInstanceErrorCode "Error" + } + PropName "Components" + } + } + PropName "Components" + } + Name "Configuration" + CurrentDlgPage "Solver" + ConfigPrmDlgPosition [ 228, 112, 1308, 752 ] + } + PropName "ConfigurationSets" + } + Simulink.ConfigSet { + $PropName "ActiveConfigurationSet" + $ObjectID 7 + } + Object { + $PropName "DataTransfer" + $ObjectID 18 + $ClassName "Simulink.GlobalDataTransfer" + DefaultTransitionBetweenSyncTasks "Ensure deterministic transfer (maximum delay)" + DefaultTransitionBetweenAsyncTasks "Ensure data integrity only" + DefaultTransitionBetweenContTasks "Ensure deterministic transfer (minimum delay)" + DefaultExtrapolationMethodBetweenContTasks "None" + AutoInsertRateTranBlk [0] + } + ExplicitPartitioning off + BlockDefaults { + ForegroundColor "black" + BackgroundColor "white" + DropShadow off + NamePlacement "normal" + FontName "Helvetica" + FontSize 10 + FontWeight "normal" + FontAngle "normal" + ShowName on + BlockRotation 0 + BlockMirror off + } + AnnotationDefaults { + HorizontalAlignment "center" + VerticalAlignment "middle" + ForegroundColor "black" + BackgroundColor "white" + DropShadow off + FontName "Helvetica" + FontSize 10 + FontWeight "normal" + FontAngle "normal" + UseDisplayTextAsClickCallback off + } + LineDefaults { + FontName "Helvetica" + FontSize 9 + FontWeight "normal" + FontAngle "normal" + } + MaskDefaults { + SelfModifiable "off" + IconFrame "on" + IconOpaque "on" + RunInitForIconRedraw "off" + IconRotate "none" + PortRotate "default" + IconUnits "autoscale" + } + MaskParameterDefaults { + Evaluate "on" + Tunable "on" + NeverSave "off" + Internal "off" + ReadOnly "off" + Enabled "on" + Visible "on" + ToolTip "on" + } + BlockParameterDefaults { + Block { + BlockType BusCreator + Inputs "4" + DisplayOption "none" + OutDataTypeStr "Inherit: auto" + NonVirtualBus off + InheritFromInputs on + } + Block { + BlockType BusSelector + OutputSignals "signal1,signal2,signal3" + OutputAsBus off + } + Block { + BlockType Constant + Value "1" + VectorParams1D on + SamplingMode "Sample based" + OutMin "[]" + OutMax "[]" + OutDataTypeStr "Inherit: Inherit from 'Constant value'" + LockScale off + SampleTime "inf" + FramePeriod "inf" + PreserveConstantTs off + } + Block { + BlockType Demux + Outputs "4" + DisplayOption "none" + BusSelectionMode off + } + Block { + BlockType Gain + Gain "1" + Multiplication "Element-wise(K.*u)" + ParamMin "[]" + ParamMax "[]" + ParamDataTypeStr "Inherit: Same as input" + OutMin "[]" + OutMax "[]" + OutDataTypeStr "Inherit: Same as input" + LockScale off + RndMeth "Floor" + SaturateOnIntegerOverflow on + SampleTime "-1" + } + Block { + BlockType Inport + Port "1" + OutputFunctionCall off + OutMin "[]" + OutMax "[]" + OutDataTypeStr "Inherit: auto" + LockScale off + BusOutputAsStruct off + PortDimensions "-1" + VarSizeSig "Inherit" + SampleTime "-1" + SignalType "auto" + SamplingMode "auto" + LatchByDelayingOutsideSignal off + LatchInputForFeedbackSignals off + Interpolate on + } + Block { + BlockType MATLABFcn + MATLABFcn "sin" + OutputDimensions "-1" + OutputSignalType "auto" + Output1D on + SampleTime "-1" + } + Block { + BlockType RateTransition + Integrity on + Deterministic on + X0 "0" + OutPortSampleTimeOpt "Specify" + OutPortSampleTimeMultiple "1" + OutPortSampleTime "-1" + } + Block { + BlockType S-Function + FunctionName "system" + SFunctionModules "''" + PortCounts "[]" + SFunctionDeploymentMode off + EnableBusSupport off + } + Block { + BlockType SubSystem + ShowPortLabels "FromPortIcon" + Permissions "ReadWrite" + PermitHierarchicalResolution "All" + TreatAsAtomicUnit off + MinAlgLoopOccurrences off + PropExecContextOutsideSubsystem off + CheckFcnCallInpInsideContextMsg off + SystemSampleTime "-1" + RTWSystemCode "Auto" + RTWFcnNameOpts "Auto" + RTWFileNameOpts "Auto" + FunctionInterfaceSpec "void_void" + FunctionWithSeparateData off + RTWMemSecFuncInitTerm "Inherit from model" + RTWMemSecFuncExecute "Inherit from model" + RTWMemSecDataConstants "Inherit from model" + RTWMemSecDataInternal "Inherit from model" + RTWMemSecDataParameters "Inherit from model" + SimViewingDevice off + DataTypeOverride "UseLocalSettings" + DataTypeOverrideAppliesTo "AllNumericTypes" + MinMaxOverflowLogging "UseLocalSettings" + Opaque off + MaskHideContents off + SFBlockType "NONE" + Variant off + GeneratePreprocessorConditionals off + ContentPreviewEnabled off + IsWebBlock off + } + } + System { + Name "ucart_graphical_animation" + Location [371, 86, 1542, 633] + Open on + ModelBrowserVisibility off + ModelBrowserWidth 200 + ScreenColor "white" + PaperOrientation "landscape" + PaperPositionMode "auto" + PaperType "usletter" + PaperUnits "inches" + TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] + TiledPageScale 1 + ShowPageBoundaries off + ZoomFactor "100" + ReportName "simulink-default.rpt" + SIDHighWatermark "19" + Block { + BlockType SubSystem + Name "3D Graphical Simulation" + SID "1" + Ports [2] + Position [435, 80, 585, 140] + ZOrder 1 + RequestExecContextInheritance off + Object { + $PropName "MaskObject" + $ObjectID 19 + $ClassName "Simulink.Mask" + Display "port_label('input',1,'r_{o}','texmode','on')\nport_label('input',2,'\\Theta','texmode','on')" + } + System { + Name "3D Graphical Simulation" + Location [371, 86, 1542, 633] + Open off + ModelBrowserVisibility off + ModelBrowserWidth 200 + ScreenColor "white" + PaperOrientation "landscape" + PaperPositionMode "auto" + PaperType "usletter" + PaperUnits "inches" + TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] + TiledPageScale 1 + ShowPageBoundaries off + ZoomFactor "100" + Block { + BlockType Inport + Name "Displacement" + SID "2" + Position [110, 218, 140, 232] + ZOrder -1 + IconDisplay "Port number" + } + Block { + BlockType Inport + Name "Euler Angles" + SID "3" + Position [125, 108, 155, 122] + ZOrder -2 + Port "2" + IconDisplay "Port number" + } + Block { + BlockType BusCreator + Name "Bus\nCreator" + SID "4" + Ports [3, 1] + Position [600, 76, 610, 154] + ZOrder -3 + ShowName off + Inputs "3" + DisplayOption "bar" + } + Block { + BlockType BusCreator + Name "Bus\nCreator1" + SID "5" + Ports [3, 1] + Position [630, 191, 640, 269] + ZOrder -4 + ShowName off + Inputs "3" + DisplayOption "bar" + } + Block { + BlockType BusCreator + Name "Bus\nCreator2" + SID "6" + Ports [3, 1] + Position [385, 75, 390, 155] + ZOrder -5 + ShowName off + Inputs "3" + DisplayOption "bar" + } + Block { + BlockType BusSelector + Name "Bus\nSelector" + SID "7" + Ports [1, 3] + Position [500, 77, 505, 153] + ZOrder -6 + ShowName off + OutputSignals "phi,theta,psi" + Port { + PortNumber 1 + Name "<phi>" + RTWStorageClass "Auto" + DataLoggingNameMode "SignalName" + } + Port { + PortNumber 2 + Name "<theta>" + RTWStorageClass "Auto" + DataLoggingNameMode "SignalName" + } + Port { + PortNumber 3 + Name "<psi>" + RTWStorageClass "Auto" + DataLoggingNameMode "SignalName" + } + } + Block { + BlockType Demux + Name "Demux" + SID "8" + Ports [1, 3] + Position [440, 183, 450, 267] + ZOrder -7 + BackgroundColor "black" + ShowName off + Outputs "3" + DisplayOption "bar" + } + Block { + BlockType Demux + Name "Demux1" + SID "9" + Ports [1, 3] + Position [290, 75, 295, 155] + ZOrder -8 + ShowName off + Outputs "3" + DisplayOption "bar" + Port { + PortNumber 1 + Name "phi" + RTWStorageClass "Auto" + DataLoggingNameMode "SignalName" + } + Port { + PortNumber 2 + Name "theta" + RTWStorageClass "Auto" + DataLoggingNameMode "SignalName" + } + Port { + PortNumber 3 + Name "psi" + RTWStorageClass "Auto" + DataLoggingNameMode "SignalName" + } + } + Block { + BlockType MATLABFcn + Name "Eigenaxis Rotation" + SID "10" + Ports [1, 1] + Position [645, 100, 705, 130] + ZOrder -9 + MATLABFcn "eigenaxis_ucart" + Output1D off + } + Block { + BlockType Gain + Name "Gain" + SID "11" + Position [550, 240, 580, 270] + ZOrder -10 + Gain "-1" + ParamDataTypeStr "Inherit: Inherit via internal rule" + OutDataTypeStr "Inherit: Inherit via internal rule" + SaturateOnIntegerOverflow off + } + Block { + BlockType Gain + Name "Gain1" + SID "12" + Position [670, 208, 710, 252] + ZOrder -11 + Gain "eye(3)*1" + Multiplication "Matrix(K*u)" + ParamDataTypeStr "Inherit: Inherit via internal rule" + OutDataTypeStr "Inherit: Inherit via internal rule" + SaturateOnIntegerOverflow off + } + Block { + BlockType Gain + Name "Gain2" + SID "13" + Position [550, 190, 580, 220] + ZOrder -12 + Gain "-1" + ParamDataTypeStr "Inherit: Inherit via internal rule" + OutDataTypeStr "Inherit: Inherit via internal rule" + SaturateOnIntegerOverflow off + } + Block { + BlockType RateTransition + Name "Rate Transition" + SID "14" + Position [735, 94, 775, 136] + ZOrder -13 + NamePlacement "alternate" + OutPortSampleTime "0.06" + } + Block { + BlockType RateTransition + Name "Rate Transition1" + SID "15" + Position [735, 210, 770, 250] + ZOrder -14 + OutPortSampleTime "0.06" + } + Block { + BlockType Reference + Name "VR Sink" + SID "16" + Ports [2] + Position [865, 76, 1055, 234] + ZOrder -15 + LibraryVersion "1.34" + SourceBlock "vrlib/VR Sink" + SourceType "Virtual Reality Sink" + InstantiateOnLoad on + SampleTime "-1" + ViewEnable on + RemoteChange off + RemoteView off + FieldsWritten "Helicopter.rotation.4.1.1.double#Helicopter.translation.3.1.1.double" + WorldFileName "quadrotor_world_ucart.wrl" + AutoView on + VideoDimensions "[]" + AllowVariableSize off + } + Line { + ZOrder 1 + SrcBlock "Euler Angles" + SrcPort 1 + DstBlock "Demux1" + DstPort 1 + } + Line { + ZOrder 2 + SrcBlock "Displacement" + SrcPort 1 + DstBlock "Demux" + DstPort 1 + } + Line { + ZOrder 3 + SrcBlock "Bus\nCreator2" + SrcPort 1 + DstBlock "Bus\nSelector" + DstPort 1 + } + Line { + ZOrder 4 + SrcBlock "Demux" + SrcPort 1 + Points [40, 0; 0, 40; 120, 0] + DstBlock "Bus\nCreator1" + DstPort 3 + } + Line { + ZOrder 5 + SrcBlock "Gain" + SrcPort 1 + Points [5, 0; 0, -25] + DstBlock "Bus\nCreator1" + DstPort 2 + } + Line { + ZOrder 6 + SrcBlock "Gain2" + SrcPort 1 + DstBlock "Bus\nCreator1" + DstPort 1 + } + Line { + ZOrder 7 + SrcBlock "Rate Transition1" + SrcPort 1 + Points [35, 0; 0, -35] + DstBlock "VR Sink" + DstPort 2 + } + Line { + ZOrder 8 + SrcBlock "Rate Transition" + SrcPort 1 + DstBlock "VR Sink" + DstPort 1 + } + Line { + ZOrder 9 + SrcBlock "Demux" + SrcPort 3 + DstBlock "Gain" + DstPort 1 + } + Line { + ZOrder 10 + SrcBlock "Demux" + SrcPort 2 + Points [80, 0] + DstBlock "Gain2" + DstPort 1 + } + Line { + ZOrder 11 + SrcBlock "Bus\nCreator1" + SrcPort 1 + DstBlock "Gain1" + DstPort 1 + } + Line { + Name "<phi>" + ZOrder 12 + Labels [0, 0] + SrcBlock "Bus\nSelector" + SrcPort 1 + Points [0, -10; 45, 0; 0, 60] + DstBlock "Bus\nCreator" + DstPort 3 + } + Line { + Name "<psi>" + ZOrder 13 + Labels [0, 0] + SrcBlock "Bus\nSelector" + SrcPort 3 + Points [0, -10; 75, 0] + DstBlock "Bus\nCreator" + DstPort 2 + } + Line { + Name "<theta>" + ZOrder 14 + Labels [0, 0] + SrcBlock "Bus\nSelector" + SrcPort 2 + Points [30, 0; 0, -25] + DstBlock "Bus\nCreator" + DstPort 1 + } + Line { + ZOrder 15 + SrcBlock "Bus\nCreator" + SrcPort 1 + DstBlock "Eigenaxis Rotation" + DstPort 1 + } + Line { + ZOrder 16 + SrcBlock "Gain1" + SrcPort 1 + DstBlock "Rate Transition1" + DstPort 1 + } + Line { + ZOrder 17 + SrcBlock "Eigenaxis Rotation" + SrcPort 1 + DstBlock "Rate Transition" + DstPort 1 + } + Line { + Name "psi" + ZOrder 18 + Labels [0, 0] + SrcBlock "Demux1" + SrcPort 3 + DstBlock "Bus\nCreator2" + DstPort 3 + } + Line { + Name "theta" + ZOrder 19 + Labels [0, 0] + SrcBlock "Demux1" + SrcPort 2 + DstBlock "Bus\nCreator2" + DstPort 2 + } + Line { + Name "phi" + ZOrder 20 + Labels [0, 0] + SrcBlock "Demux1" + SrcPort 1 + DstBlock "Bus\nCreator2" + DstPort 1 + } + } + } + Block { + BlockType Constant + Name "Constant" + SID "18" + Position [145, 145, 175, 175] + ZOrder 3 + Value "[0;0;0]" + } + Block { + BlockType Reference + Name "Ramp" + SID "17" + Ports [0, 1] + Position [145, 80, 175, 110] + ZOrder 2 + LibraryVersion "1.356" + SourceBlock "simulink/Sources/Ramp" + SourceType "Ramp" + ContentPreviewEnabled off + slope "[ 1 ; 0 ; 0 ]" + start "0" + X0 "0" + VectorParams1D on + } + Block { + BlockType S-Function + Name "Soft Real Time" + SID "19" + Ports [] + Position [438, 15, 525, 46] + ZOrder 4 + ShowName off + FunctionName "sfun_time" + Parameters "x" + Object { + $PropName "MaskObject" + $ObjectID 20 + $ClassName "Simulink.Mask" + Display "color('red')\ndisp('Soft Real Time')\n" + Object { + $PropName "Parameters" + $ObjectID 21 + $ClassName "Simulink.MaskParameter" + Type "edit" + Name "x" + Prompt "Time Scaling Factor" + Value "1" + } + } + } + Line { + ZOrder 3 + SrcBlock "Constant" + SrcPort 1 + Points [125, 0; 0, -65] + DstBlock "3D Graphical Simulation" + DstPort 1 + } + Line { + ZOrder 4 + SrcBlock "Ramp" + SrcPort 1 + Points [60, 0; 0, 30] + DstBlock "3D Graphical Simulation" + DstPort 2 + } + } +}