|
- <?xml version="1.0" encoding="UTF-8"?>
- <Document>
- <Model version="4.8" build="4.8.2.10124">
- <Sidops><![CDATA[model 128 184
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <IsMainModel>0</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>C:\users\wouter\My Documents\studie\ma\mahd\implementation\SCARA\06_arm\arm_model.emx</LibraryPath>
- <TimeStamp>2020-7-23 11:32:46</TimeStamp>
- </Description>
- </Information>';
- type Mainmodel
- end;
- implementation bg
- submodels
- Body1 520 496
- description '<Description><Version>4.0</Version>
- <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <TimeStamp>2007-11-1 22:32:1</TimeStamp>
- <AllowLibraryUpdate>False</AllowLibraryUpdate>
- </Description>';
- type 'Submodel-Equation'
- ports
- signal in input [4,4];
- end;
- implementation eq
- parameters
- real dimension[3] = [0.005;0.01;0.065] {m};
- variables
- real position[3];
- real rotation[3];
- real R[3,3];
- equations
- position = input[1:3,4];
- rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
- //[input[3,2];input[1,3];input[2,1]];
- R = input[1:3,1:3];implementation_end;
- Body2 792 544
- description '<Description><Version>4.0</Version>
- <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <TimeStamp>2007-11-1 22:32:1</TimeStamp>
- <AllowLibraryUpdate>False</AllowLibraryUpdate>
- </Description>';
- type 'Submodel-Equation'
- ports
- signal in input [4,4];
- end;
- implementation eq
- parameters
- real dimension[3] = [0.005;0.025;0.01] {m};
- variables
- real position[3];
- real rotation[3];
- real R[3,3];
- equations
- position = input[1:3,4];
- rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
- //[input[3,2];input[1,3];input[2,1]];
- R = input[1:3,1:3];implementation_end;
- Body3 704 496
- description '<Description><Version>4.0</Version>
- <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <TimeStamp>2007-11-1 22:32:1</TimeStamp>
- <AllowLibraryUpdate>False</AllowLibraryUpdate>
- </Description>';
- type 'Submodel-Equation'
- ports
- signal in input [4,4];
- end;
- implementation eq
- parameters
- real dimension[3] = [0.005;0.01;0.065] {m};
- variables
- real position[3];
- real rotation[3];
- real R[3,3];
- equations
- position = input[1:3,4];
- rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
- //[input[3,2];input[1,3];input[2,1]];
- R = input[1:3,1:3];implementation_end;
- Body4 696 200
- description '<Description><Version>4.0</Version>
- <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <TimeStamp>2007-11-1 22:32:1</TimeStamp>
- <AllowLibraryUpdate>False</AllowLibraryUpdate>
- </Description>';
- type 'Submodel-Equation'
- ports
- signal in input [4,4];
- end;
- implementation eq
- parameters
- real dimension[3] = [0.005;0.05;0.01] {m};
- variables
- real position[3];
- real rotation[3];
- real R[3,3];
- equations
- position = input[1:3,4];
- rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
- //[input[3,2];input[1,3];input[2,1]];
- R = input[1:3,1:3];implementation_end;
- Body5 920 232
- description '<Description><Version>4.0</Version>
- <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <TimeStamp>2007-11-1 22:32:1</TimeStamp>
- <AllowLibraryUpdate>False</AllowLibraryUpdate>
- </Description>';
- type 'Submodel-Equation'
- ports
- signal in input [4,4];
- end;
- implementation eq
- parameters
- real dimension[3] = [0.005;0.025;0.01] {m};
- variables
- real position[3];
- real rotation[3];
- real R[3,3];
- equations
- position = input[1:3,4];
- rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
- //[input[3,2];input[1,3];input[2,1]];
- R = input[1:3,1:3];implementation_end;
- COM_body1 496 376
- description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Bond Graph\MR\center_of_mass_v2.emx</LibraryPath><TimeStamp>2020-7-21 12:24:38</TimeStamp></Description><Attributes><GlobalRelations>parameters
- real I [3,1] = [1.6399999999999998e-6; 4.7e-8; 1.61e-6] {N.m.s};
- real m = 0.00455 {kg};</GlobalRelations></Attributes></Information>';
- type Submodel
- ports
- signal in Hin [4,4];
- signal out Hout [4,4];
- power out p [6,1];
- end;
- icon bg bottom
- figures
- rectangle 480 344 512 408 color 0 fill 139;
- text 'COM' 496 376 color 0 'Clear Sans' 16;
- terminals
- Hin 480 360 fixed;
- p 480 392 fixed;
- end;
- implementation bg
- submodels
- AdHi0 544 400
- description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:3</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
- type MTF
- ports
- power in p1 [6,1];
- power out p2 [6,1];
- signal in H [4,4];
- restrictions
- causality constraint not_equal p1 p2;
- end;
- icon bg left
- figures
- text 'MTF' 544 400 color 0 18 bold;
- end;
- implementation eq
- variables
- real onlyRotH[4,4];
- code
- //Only rotations with respect to the inertial system matter!
- onlyRotH = H;
- onlyRotH[1,4] = 0;
- onlyRotH[2,4] = 0;
- onlyRotH[3,4] = 0;
-
- p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
- p1.f = Adjoint(onlyRotH) * p2.f;
- implementation_end;
- EJS 616 336
- description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-10-31 11:43:6</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
- type MGY
- ports
- power in p1 [6,1];
- end;
- icon bg top
- figures
- text 'MGY' 616 336 color 0 18 bold;
- end;
- implementation eq
- //EJS / Gyroscopic effects
- parameters
- real global I[3];
- real global m;
- variables
- real II[6,6]; //Inertial tensor
- real Q[6,6];
- real QI[6,6];
- real Ia[6];
- initialequations
- Ia[1:3] = I;
- Ia[4:6] = m;
- II = diag(Ia);
- equations
- Q = transpose(adjoint(p1.f));
- QI = Q*II;
- p1.e = QI*p1.f;implementation_end;
- Gravity 624 400
- description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:26</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
- type Se
- ports
- power out p [6,1];
- restrictions
- causality fixed out p;
- end;
- icon bg bottom
- figures
- text 'Se' 624 400 color 0 18 bold;
- end;
- implementation eq
- parameters
- real global m;
- variables
- real effort[6];
- equations
- effort = [0;0;0;0;0;-g_n*m];
- p.e = effort;
- implementation_end;
- InertialTensor 544 272
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:12:14</TimeStamp>
- </Description>';
- type 'I-3'
- ports
- power in p [6,1];
- signal out state [6,1];
- restrictions
- causality preferred in p;
- end;
- icon bg bottom
- figures
- text 'I' 544 272 color 0 18 bold;
- end;
- implementation eq
- parameters
- real global I[3];
- real global m;
- variables
- real II[6,6]; //Inertial tensor
- real Ia[6];
- initialequations
- Ia[1:3] = I;
- Ia[4:6] = m;
- II = diag(Ia);
- equations
- state = int(p.e); //state = generalized momentum
- p.f = inverse(II)*state;
- implementation_end;
- plug Hin 433.4 496;
- plug Hout 691.2 496;
- plug p 439.4 336;
- Splitter1 544 496
- description '<Description><Version>4.0</Version>
- <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
- <TimeStamp>2008-01-17 11:28:29</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- </Description>';
- knot Splitter
- ports
- signal knot duplicatable out output [4,4];
- signal knot in input [4,4];
- end;
- icon bg ellipse
- figures
- ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
- ellipse 539.7 491.7 548.3 500.3 color -1;
- terminals
- input 544 496 fixed;
- end;
- implementation eq
- equations
- collect (output) = input;
- implementation_end;
- Ta0j 544 336
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2007-9-27 9:51:18</TimeStamp>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- <Description></Description>
- </Description>';
- knot OneJunction
- ports
- power knot duplicatable none p [6,1];
- signal knot out flow [6,1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg bottom
- figures
- text '1' 544 336 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- ZeroJunction1 504 336
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:45:16</TimeStamp>
- </Description>
- </Information>';
- knot ZeroJunction
- ports
- power knot duplicatable none p [6,1];
- signal knot out effort [6,1];
- restrictions
- causality constraint one_in p;
- end;
- icon bg
- figures
- text '0' 504 336 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.f)) = 0;
- equal (collect (p.e));
- effort = first (p.e);
- implementation_end;
- end;
- connections
- AdHi0\p2 => Ta0j\p;
- Gravity\p => AdHi0\p1;
- Hin -> Splitter1\input;
- Splitter1\output -> AdHi0\H;
- Splitter1\output -> Hout;
- Ta0j\p => EJS\p1;
- Ta0j\p => InertialTensor\p;
- ZeroJunction1\p => p;
- ZeroJunction1\p => Ta0j\p;
- end;
- implementation_end;
- COM_body2 776 688
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <IsMainModel>1</IsMainModel>
- <LibraryPath>Bond Graph\MR\center_of_mass_v2.emx</LibraryPath>
- <TimeStamp>2020-7-21 12:24:38</TimeStamp>
- </Description>
- <Attributes>
- <GlobalRelations>parameters
- real I [3,1] = [0.01;0.01;0.0001] {N.m.s};
- real m = 0.5 {kg};</GlobalRelations>
- </Attributes>
- </Information>';
- type Submodel
- ports
- signal in Hin [4,4];
- signal out Hout [4,4];
- power out p [6,1];
- end;
- icon bg bottom
- figures
- rectangle 744 672 808 704 color 0 fill 139;
- text 'COM' 776 688 color 0 'Clear Sans' 16;
- terminals
- Hin 792 672 fixed;
- p 760 672 fixed;
- end;
- implementation bg
- submodels
- AdHi0 544 400
- description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:3</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
- type MTF
- ports
- power in p1 [6,1];
- power out p2 [6,1];
- signal in H [4,4];
- restrictions
- causality constraint not_equal p1 p2;
- end;
- icon bg left
- figures
- text 'MTF' 544 400 color 0 18 bold;
- end;
- implementation eq
- variables
- real onlyRotH[4,4];
- code
- //Only rotations with respect to the inertial system matter!
- onlyRotH = H;
- onlyRotH[1,4] = 0;
- onlyRotH[2,4] = 0;
- onlyRotH[3,4] = 0;
-
- p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
- p1.f = Adjoint(onlyRotH) * p2.f;
- implementation_end;
- EJS 616 336
- description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-10-31 11:43:6</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
- type MGY
- ports
- power in p1 [6,1];
- end;
- icon bg top
- figures
- text 'MGY' 616 336 color 0 18 bold;
- end;
- implementation eq
- //EJS / Gyroscopic effects
- parameters
- real global I[3];
- real global m;
- variables
- real II[6,6]; //Inertial tensor
- real Q[6,6];
- real QI[6,6];
- real Ia[6];
- initialequations
- Ia[1:3] = I;
- Ia[4:6] = m;
- II = diag(Ia);
- equations
- Q = transpose(adjoint(p1.f));
- QI = Q*II;
- p1.e = QI*p1.f;implementation_end;
- Gravity 624 400
- description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:26</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
- type Se
- ports
- power out p [6,1];
- restrictions
- causality fixed out p;
- end;
- icon bg bottom
- figures
- text 'Se' 624 400 color 0 18 bold;
- end;
- implementation eq
- parameters
- real global m;
- variables
- real effort[6];
- equations
- effort = [0;0;0;0;0;-g_n*m];
- p.e = effort;
- implementation_end;
- InertialTensor 544 272
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:12:14</TimeStamp>
- </Description>';
- type 'I-3'
- ports
- power in p [6,1];
- signal out state [6,1];
- restrictions
- causality preferred in p;
- end;
- icon bg bottom
- figures
- text 'I' 544 272 color 0 18 bold;
- end;
- implementation eq
- parameters
- real global I[3];
- real global m;
- variables
- real II[6,6]; //Inertial tensor
- real Ia[6];
- initialequations
- Ia[1:3] = I;
- Ia[4:6] = m;
- II = diag(Ia);
- equations
- state = int(p.e); //state = generalized momentum
- p.f = inverse(II)*state;
- implementation_end;
- plug Hin 433.4 496;
- plug Hout 691.2 496;
- plug p 439.4 336;
- Splitter1 544 496
- description '<Description><Version>4.0</Version>
- <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
- <TimeStamp>2008-01-17 11:28:29</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- </Description>';
- knot Splitter
- ports
- signal knot duplicatable out output [4,4];
- signal knot in input [4,4];
- end;
- icon bg ellipse
- figures
- ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
- ellipse 539.7 491.7 548.3 500.3 color -1;
- terminals
- input 544 496 fixed;
- end;
- implementation eq
- equations
- collect (output) = input;
- implementation_end;
- Ta0j 544 336
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2007-9-27 9:51:18</TimeStamp>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- <Description></Description>
- </Description>';
- knot OneJunction
- ports
- power knot duplicatable none p [6,1];
- signal knot out flow [6,1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg bottom
- figures
- text '1' 544 336 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- ZeroJunction1 504 336
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:45:16</TimeStamp>
- </Description>
- </Information>';
- knot ZeroJunction
- ports
- power knot duplicatable none p [6,1];
- signal knot out effort [6,1];
- restrictions
- causality constraint one_in p;
- end;
- icon bg
- figures
- text '0' 504 336 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.f)) = 0;
- equal (collect (p.e));
- effort = first (p.e);
- implementation_end;
- end;
- connections
- AdHi0\p2 => Ta0j\p;
- Gravity\p => AdHi0\p1;
- Hin -> Splitter1\input;
- Splitter1\output -> AdHi0\H;
- Splitter1\output -> Hout;
- Ta0j\p => EJS\p1;
- Ta0j\p => InertialTensor\p;
- ZeroJunction1\p => p;
- ZeroJunction1\p => Ta0j\p;
- end;
- implementation_end;
- COM_body3 696 376
- description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Bond Graph\MR\center_of_mass_v2.emx</LibraryPath><TimeStamp>2020-7-21 12:24:38</TimeStamp></Description><Attributes><GlobalRelations>parameters
- real I [3,1] = [1.6399999999999998e-6; 4.7e-8; 1.61e-6] {N.m.s};
- real m = 0.00455 {kg};</GlobalRelations></Attributes></Information>';
- type Submodel
- ports
- signal in Hin [4,4];
- signal out Hout [4,4];
- power out p [6,1];
- end;
- icon bg bottom
- figures
- rectangle 680 344 712 408 color 0 fill 139;
- text 'COM' 696 376 color 0 'Clear Sans' 16;
- terminals
- Hin 680 360 fixed;
- p 680 392 fixed;
- end;
- implementation bg
- submodels
- AdHi0 544 400
- description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:3</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
- type MTF
- ports
- power in p1 [6,1];
- power out p2 [6,1];
- signal in H [4,4];
- restrictions
- causality constraint not_equal p1 p2;
- end;
- icon bg left
- figures
- text 'MTF' 544 400 color 0 18 bold;
- end;
- implementation eq
- variables
- real onlyRotH[4,4];
- code
- //Only rotations with respect to the inertial system matter!
- onlyRotH = H;
- onlyRotH[1,4] = 0;
- onlyRotH[2,4] = 0;
- onlyRotH[3,4] = 0;
-
- p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
- p1.f = Adjoint(onlyRotH) * p2.f;
- implementation_end;
- EJS 616 336
- description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-10-31 11:43:6</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
- type MGY
- ports
- power in p1 [6,1];
- end;
- icon bg top
- figures
- text 'MGY' 616 336 color 0 18 bold;
- end;
- implementation eq
- //EJS / Gyroscopic effects
- parameters
- real global I[3];
- real global m;
- variables
- real II[6,6]; //Inertial tensor
- real Q[6,6];
- real QI[6,6];
- real Ia[6];
- initialequations
- Ia[1:3] = I;
- Ia[4:6] = m;
- II = diag(Ia);
- equations
- Q = transpose(adjoint(p1.f));
- QI = Q*II;
- p1.e = QI*p1.f;implementation_end;
- Gravity 624 400
- description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:26</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
- type Se
- ports
- power out p [6,1];
- restrictions
- causality fixed out p;
- end;
- icon bg bottom
- figures
- text 'Se' 624 400 color 0 18 bold;
- end;
- implementation eq
- parameters
- real global m;
- variables
- real effort[6];
- equations
- effort = [0;0;0;0;0;-g_n*m];
- p.e = effort;
- implementation_end;
- InertialTensor 544 272
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:12:14</TimeStamp>
- </Description>';
- type 'I-3'
- ports
- power in p [6,1];
- signal out state [6,1];
- restrictions
- causality preferred in p;
- end;
- icon bg bottom
- figures
- text 'I' 544 272 color 0 18 bold;
- end;
- implementation eq
- parameters
- real global I[3];
- real global m;
- variables
- real II[6,6]; //Inertial tensor
- real Ia[6];
- initialequations
- Ia[1:3] = I;
- Ia[4:6] = m;
- II = diag(Ia);
- equations
- state = int(p.e); //state = generalized momentum
- p.f = inverse(II)*state;
- implementation_end;
- plug Hin 433.4 496;
- plug Hout 691.2 496;
- plug p 439.4 336;
- Splitter1 544 496
- description '<Description><Version>4.0</Version>
- <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
- <TimeStamp>2008-01-17 11:28:29</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- </Description>';
- knot Splitter
- ports
- signal knot duplicatable out output [4,4];
- signal knot in input [4,4];
- end;
- icon bg ellipse
- figures
- ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
- ellipse 539.7 491.7 548.3 500.3 color -1;
- terminals
- input 544 496 fixed;
- end;
- implementation eq
- equations
- collect (output) = input;
- implementation_end;
- Ta0j 544 336
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2007-9-27 9:51:18</TimeStamp>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- <Description></Description>
- </Description>';
- knot OneJunction
- ports
- power knot duplicatable none p [6,1];
- signal knot out flow [6,1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg bottom
- figures
- text '1' 544 336 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- ZeroJunction1 504 336
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:45:16</TimeStamp>
- </Description>
- </Information>';
- knot ZeroJunction
- ports
- power knot duplicatable none p [6,1];
- signal knot out effort [6,1];
- restrictions
- causality constraint one_in p;
- end;
- icon bg
- figures
- text '0' 504 336 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.f)) = 0;
- equal (collect (p.e));
- effort = first (p.e);
- implementation_end;
- end;
- connections
- AdHi0\p2 => Ta0j\p;
- Gravity\p => AdHi0\p1;
- Hin -> Splitter1\input;
- Splitter1\output -> AdHi0\H;
- Splitter1\output -> Hout;
- Ta0j\p => EJS\p1;
- Ta0j\p => InertialTensor\p;
- ZeroJunction1\p => p;
- ZeroJunction1\p => Ta0j\p;
- end;
- implementation_end;
- COM_body4 632 56
- description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Bond Graph\MR\center_of_mass_v2.emx</LibraryPath><TimeStamp>2020-7-21 12:24:38</TimeStamp></Description><Attributes><GlobalRelations>parameters
- real I [3,1] = [7.583333333333335e-7; 3.645833333333334e-8; 7.364583333333335e-7] {N.m.s};
- real m = 0.0035 {kg};</GlobalRelations></Attributes></Information>';
- type Submodel
- ports
- signal in Hin [4,4];
- signal out Hout [4,4];
- power out p [6,1];
- end;
- icon bg bottom
- figures
- rectangle 600 40 664 72 color 0 fill 139;
- text 'COM' 632 56 color 0 'Clear Sans' 16;
- terminals
- Hin 648 72 fixed;
- p 616 72 fixed;
- end;
- implementation bg
- submodels
- AdHi0 544 400
- description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:3</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
- type MTF
- ports
- power in p1 [6,1];
- power out p2 [6,1];
- signal in H [4,4];
- restrictions
- causality constraint not_equal p1 p2;
- end;
- icon bg left
- figures
- text 'MTF' 544 400 color 0 18 bold;
- end;
- implementation eq
- variables
- real onlyRotH[4,4];
- code
- //Only rotations with respect to the inertial system matter!
- onlyRotH = H;
- onlyRotH[1,4] = 0;
- onlyRotH[2,4] = 0;
- onlyRotH[3,4] = 0;
-
- p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
- p1.f = Adjoint(onlyRotH) * p2.f;
- implementation_end;
- EJS 616 336
- description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-10-31 11:43:6</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
- type MGY
- ports
- power in p1 [6,1];
- end;
- icon bg top
- figures
- text 'MGY' 616 336 color 0 18 bold;
- end;
- implementation eq
- //EJS / Gyroscopic effects
- parameters
- real global I[3];
- real global m;
- variables
- real II[6,6]; //Inertial tensor
- real Q[6,6];
- real QI[6,6];
- real Ia[6];
- initialequations
- Ia[1:3] = I;
- Ia[4:6] = m;
- II = diag(Ia);
- equations
- Q = transpose(adjoint(p1.f));
- QI = Q*II;
- p1.e = QI*p1.f;implementation_end;
- Gravity 624 400
- description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:26</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
- type Se
- ports
- power out p [6,1];
- restrictions
- causality fixed out p;
- end;
- icon bg bottom
- figures
- text 'Se' 624 400 color 0 18 bold;
- end;
- implementation eq
- parameters
- real global m;
- variables
- real effort[6];
- equations
- effort = [0;0;0;0;0;-g_n*m];
- p.e = effort;
- implementation_end;
- InertialTensor 544 272
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:12:14</TimeStamp>
- </Description>';
- type 'I-3'
- ports
- power in p [6,1];
- signal out state [6,1];
- restrictions
- causality preferred in p;
- end;
- icon bg bottom
- figures
- text 'I' 544 272 color 0 18 bold;
- end;
- implementation eq
- parameters
- real global I[3];
- real global m;
- variables
- real II[6,6]; //Inertial tensor
- real Ia[6];
- initialequations
- Ia[1:3] = I;
- Ia[4:6] = m;
- II = diag(Ia);
- equations
- state = int(p.e); //state = generalized momentum
- p.f = inverse(II)*state;
- implementation_end;
- plug Hin 433.4 496;
- plug Hout 691.2 496;
- plug p 439.4 336;
- Splitter1 544 496
- description '<Description><Version>4.0</Version>
- <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
- <TimeStamp>2008-01-17 11:28:29</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- </Description>';
- knot Splitter
- ports
- signal knot duplicatable out output [4,4];
- signal knot in input [4,4];
- end;
- icon bg ellipse
- figures
- ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
- ellipse 539.7 491.7 548.3 500.3 color -1;
- terminals
- input 544 496 fixed;
- end;
- implementation eq
- equations
- collect (output) = input;
- implementation_end;
- Ta0j 544 336
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2007-9-27 9:51:18</TimeStamp>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- <Description></Description>
- </Description>';
- knot OneJunction
- ports
- power knot duplicatable none p [6,1];
- signal knot out flow [6,1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg bottom
- figures
- text '1' 544 336 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- ZeroJunction1 504 336
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:45:16</TimeStamp>
- </Description>
- </Information>';
- knot ZeroJunction
- ports
- power knot duplicatable none p [6,1];
- signal knot out effort [6,1];
- restrictions
- causality constraint one_in p;
- end;
- icon bg
- figures
- text '0' 504 336 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.f)) = 0;
- equal (collect (p.e));
- effort = first (p.e);
- implementation_end;
- end;
- connections
- AdHi0\p2 => Ta0j\p;
- Gravity\p => AdHi0\p1;
- Hin -> Splitter1\input;
- Splitter1\output -> AdHi0\H;
- Splitter1\output -> Hout;
- Ta0j\p => EJS\p1;
- Ta0j\p => InertialTensor\p;
- ZeroJunction1\p => p;
- ZeroJunction1\p => Ta0j\p;
- end;
- implementation_end;
- COM_body5 1064 136
- description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Bond Graph\MR\center_of_mass_v2.emx</LibraryPath><TimeStamp>2020-7-21 12:24:38</TimeStamp></Description><Attributes><GlobalRelations>parameters
- real I [3,1] = [0.018;0.159;0.159] {mN.m.s};
- real m = 0.015 {kg};</GlobalRelations></Attributes></Information>';
- type Submodel
- ports
- signal in Hin [4,4];
- signal out Hout [4,4];
- power out p [6,1];
- end;
- icon bg bottom
- figures
- rectangle 1048 104 1080 168 color 0 fill 139;
- text 'COM' 1064 136 color 0 'Clear Sans' 16;
- terminals
- Hin 1048 152 fixed;
- p 1048 120 fixed;
- end;
- implementation bg
- submodels
- AdHi0 544 400
- description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:3</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
- type MTF
- ports
- power in p1 [6,1];
- power out p2 [6,1];
- signal in H [4,4];
- restrictions
- causality constraint not_equal p1 p2;
- end;
- icon bg left
- figures
- text 'MTF' 544 400 color 0 18 bold;
- end;
- implementation eq
- variables
- real onlyRotH[4,4];
- code
- //Only rotations with respect to the inertial system matter!
- onlyRotH = H;
- onlyRotH[1,4] = 0;
- onlyRotH[2,4] = 0;
- onlyRotH[3,4] = 0;
-
- p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
- p1.f = Adjoint(onlyRotH) * p2.f;
- implementation_end;
- EJS 616 336
- description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-10-31 11:43:6</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
- type MGY
- ports
- power in p1 [6,1];
- end;
- icon bg top
- figures
- text 'MGY' 616 336 color 0 18 bold;
- end;
- implementation eq
- //EJS / Gyroscopic effects
- parameters
- real global I[3];
- real global m;
- variables
- real II[6,6]; //Inertial tensor
- real Q[6,6];
- real QI[6,6];
- real Ia[6];
- initialequations
- Ia[1:3] = I;
- Ia[4:6] = m;
- II = diag(Ia);
- equations
- Q = transpose(adjoint(p1.f));
- QI = Q*II;
- p1.e = QI*p1.f;implementation_end;
- Gravity 624 400
- description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:26</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
- type Se
- ports
- power out p [6,1];
- restrictions
- causality fixed out p;
- end;
- icon bg bottom
- figures
- text 'Se' 624 400 color 0 18 bold;
- end;
- implementation eq
- parameters
- real global m;
- variables
- real effort[6];
- equations
- effort = [0;0;0;0;0;-g_n*m];
- p.e = effort;
- implementation_end;
- InertialTensor 544 272
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:12:14</TimeStamp>
- </Description>';
- type 'I-3'
- ports
- power in p [6,1];
- signal out state [6,1];
- restrictions
- causality preferred in p;
- end;
- icon bg bottom
- figures
- text 'I' 544 272 color 0 18 bold;
- end;
- implementation eq
- parameters
- real global I[3];
- real global m;
- variables
- real II[6,6]; //Inertial tensor
- real Ia[6];
- initialequations
- Ia[1:3] = I;
- Ia[4:6] = m;
- II = diag(Ia);
- equations
- state = int(p.e); //state = generalized momentum
- p.f = inverse(II)*state;
- implementation_end;
- plug Hin 433.4 496;
- plug Hout 691.2 496;
- plug p 439.4 336;
- Splitter1 544 496
- description '<Description><Version>4.0</Version>
- <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
- <TimeStamp>2008-01-17 11:28:29</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- </Description>';
- knot Splitter
- ports
- signal knot duplicatable out output [4,4];
- signal knot in input [4,4];
- end;
- icon bg ellipse
- figures
- ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
- ellipse 539.7 491.7 548.3 500.3 color -1;
- terminals
- input 544 496 fixed;
- end;
- implementation eq
- equations
- collect (output) = input;
- implementation_end;
- Ta0j 544 336
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2007-9-27 9:51:18</TimeStamp>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- <Description></Description>
- </Description>';
- knot OneJunction
- ports
- power knot duplicatable none p [6,1];
- signal knot out flow [6,1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg bottom
- figures
- text '1' 544 336 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- ZeroJunction1 504 336
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:45:16</TimeStamp>
- </Description>
- </Information>';
- knot ZeroJunction
- ports
- power knot duplicatable none p [6,1];
- signal knot out effort [6,1];
- restrictions
- causality constraint one_in p;
- end;
- icon bg
- figures
- text '0' 504 336 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.f)) = 0;
- equal (collect (p.e));
- effort = first (p.e);
- implementation_end;
- end;
- connections
- AdHi0\p2 => Ta0j\p;
- Gravity\p => AdHi0\p1;
- Hin -> Splitter1\input;
- Splitter1\output -> AdHi0\H;
- Splitter1\output -> Hout;
- Ta0j\p => EJS\p1;
- Ta0j\p => InertialTensor\p;
- ZeroJunction1\p => p;
- ZeroJunction1\p => Ta0j\p;
- end;
- implementation_end;
- Ground1 1052 711.5
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <IsMainModel>1</IsMainModel>
- <LibraryPath>Bond Graph\MR\Ground.emx</LibraryPath>
- <TimeStamp>2020-7-23 09:30:51</TimeStamp>
- </Description>
- </Information>';
- type Submodel
- ports
- power in p [6,1];
- signal out output [4,4];
- end;
- icon bg bottom
- figures
- line 1016 704 1032 720 color 0 fill 15132390;
- line 1024 704 1040 720 color 0 fill 15132390;
- line 1008 704 1024 720 color 0 fill 15132390;
- line 1048 720 1032 704 color 0 fill 15132390;
- line 1056 720 1040 704 color 0 fill 15132390;
- line 1064 720 1048 704 color 0 fill 15132390;
- line 1080 720 1064 704 color 0 fill 15132390;
- line 1072 720 1056 704 color 0 fill 15132390;
- line 1088 720 1072 704 color 0 fill 15132390;
- line 1096 720 1080 704 color 0 fill 15132390;
- line 1008 704 1096 704 color 0 fill 15132390 width 2;
- line 1088 704 1096 712 color 0 fill 15132390;
- line 1008 712 1016 720 color 0 fill 15132390;
- terminals
- p 1032 704 fixed;
- output 1064 704 fixed;
- end;
- implementation bg
- submodels
- plug p 240 88;
- plug output 240 120;
- OneJunction2 192 88
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- power knot duplicatable none p [6,1];
- signal knot out flow [6,1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 192 88 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- Sf2 136 88
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\2D\Sf-2.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:7:5</TimeStamp>
- </Description>';
- type 'Sf-2'
- ports
- power out p [6,1];
- restrictions
- causality fixed in p;
- end;
- icon bg bottom
- figures
- text 'Sf' 136 88 color 0 18 bold;
- end;
- implementation eq
- parameters
- real flow[6,1] = 0;
- variables
- real effort [6];
- equations
- p.f = flow;
- effort = p.e;
- implementation_end;
- Zero 144 120
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Signal\Sources\Zero.emx</LibraryPath>
- <TimeStamp>2007-9-27 15:54:36</TimeStamp>
- </Description>
- ';
- type Zero
- ports
- signal out output [4,4];
- end;
- icon bg bottom
- figures
- rectangle 128.1 104 159.9 136 color 0 fill 15132390;
- text '0' 144 120 color 16711680 18 bold;
- end;
- implementation eq
- equations
- output = eye(4);implementation_end;
- end;
- connections
- p => OneJunction2\p;
- Sf2\p => OneJunction2\p;
- Zero\output -> output;
- end;
- implementation_end;
- Ground2 436 623.5
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <IsMainModel>1</IsMainModel>
- <LibraryPath>Bond Graph\MR\Ground.emx</LibraryPath>
- <TimeStamp>2020-7-23 09:30:51</TimeStamp>
- </Description>
- </Information>';
- type Submodel
- ports
- power in p [6,1];
- signal out output [4,4];
- end;
- icon bg bottom
- figures
- line 400 616 416 632 color 0 fill 15132390;
- line 408 616 424 632 color 0 fill 15132390;
- line 392 616 408 632 color 0 fill 15132390;
- line 432 632 416 616 color 0 fill 15132390;
- line 440 632 424 616 color 0 fill 15132390;
- line 448 632 432 616 color 0 fill 15132390;
- line 464 632 448 616 color 0 fill 15132390;
- line 456 632 440 616 color 0 fill 15132390;
- line 472 632 456 616 color 0 fill 15132390;
- line 480 632 464 616 color 0 fill 15132390;
- line 392 616 480 616 color 0 fill 15132390 width 2;
- line 472 616 480 624 color 0 fill 15132390;
- line 392 624 400 632 color 0 fill 15132390;
- terminals
- p 416 616 fixed;
- output 448 616 fixed;
- end;
- implementation bg
- submodels
- plug p 240 88;
- plug output 240 120;
- OneJunction2 192 88
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- power knot duplicatable none p [6,1];
- signal knot out flow [6,1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 192 88 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- Sf2 136 88
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\2D\Sf-2.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:7:5</TimeStamp>
- </Description>';
- type 'Sf-2'
- ports
- power out p [6,1];
- restrictions
- causality fixed in p;
- end;
- icon bg bottom
- figures
- text 'Sf' 136 88 color 0 18 bold;
- end;
- implementation eq
- parameters
- real flow[6,1] = 0;
- variables
- real effort [6];
- equations
- p.f = flow;
- effort = p.e;
- implementation_end;
- Zero 144 120
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Signal\Sources\Zero.emx</LibraryPath>
- <TimeStamp>2007-9-27 15:54:36</TimeStamp>
- </Description>
- ';
- type Zero
- ports
- signal out output [4,4];
- end;
- icon bg bottom
- figures
- rectangle 128.1 104 159.9 136 color 0 fill 15132390;
- text '0' 144 120 color 16711680 18 bold;
- end;
- implementation eq
- equations
- output = eye(4);implementation_end;
- end;
- connections
- p => OneJunction2\p;
- Sf2\p => OneJunction2\p;
- Zero\output -> output;
- end;
- implementation_end;
- inverse_kinematics 320 744
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <LibraryPath>SCARA\inverse_kinematics_v1.emx</LibraryPath>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <TimeStamp>2020-7-10 12:26:18</TimeStamp>
- <AllowLibraryUpdate>False</AllowLibraryUpdate>
- </Description>
- </Information>';
- 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 A_length = 0.065 {m}; // length of first arm
- real B_length = 0.05 {m}; // length of second arm
- real to_rad = 1 {rad};
- variables
- real x {m}, y {m};
- real C_length {m}; // length to x and y.
- 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;
- JointA 432 536
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <IsMainModel>1</IsMainModel>
- <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
- <TimeStamp>2020-7-21 12:08:53</TimeStamp>
- </Description>
- </Information>';
- type 'Submodel-v3'
- ports
- power in Pin [6,1];
- power in Pdiff [6,1];
- signal in Hin [4,4];
- signal out Hout [4,4];
- signal out Hdiff [4,4];
- power out Pout [6,1];
- end;
- icon bg bottom
- figures
- rectangle 400 512 464 560 color 0 fill 14745599;
- text 'Joint' 432 536 color 0 'Clear Sans' 16;
- terminals
- Pin 416 560 fixed;
- Hin 448 512 fixed;
- Hout 448 560 fixed;
- Pout 416 512 fixed;
- end;
- implementation bg
- submodels
- AdHji 424 424
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:3:3</TimeStamp>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>';
- type MTF
- ports
- power out p1 [6,1];
- power in p2 [6,1];
- signal in H [4,4];
- restrictions
- causality constraint not_equal p1 p2;
- end;
- icon bg bottom
- figures
- text 'MTF' 424 424 color 0 18 bold;
- end;
- implementation eq
- equations
- p2.e = transpose(Adjoint(H)) * p1.e;
- p1.f = Adjoint(H) * p2.f;implementation_end;
- FlowSensor2 184 311.9
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
- <TimeStamp>2011-11-29 15:50:53</TimeStamp>
- </Description>
- </Information>';
- knot FlowSensor
- ports
- power knot in p1 [6,1];
- power knot out p2 [6,1];
- signal knot out flow [6,1];
- restrictions
- causality constraint not_equal p1 p2;
- end;
- icon bg ellipse
- figures
- ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
- text 'f' 184 311.2 color 0;
- end;
- implementation eq
- equations
- p2.f = p1.f;
- p1.e = p2.e;
- flow = p1.f;
- implementation_end;
- Hmatrix 256 312
- description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
- type 'Submodel-Equation'
- ports
- signal in flow [6,1];
- signal out H [4,4];
- end;
- icon bg
- figures
- rectangle 224 296 288 328 color 0 fill 15132390;
- text 'name' 256 312 color 0 'Clear Sans' 16;
- end;
- implementation eq
- parameters
- real init[4] = [1;0;0;0];
- variables
- real q[4]; //quaternions
- real W[3,4]; //Quaternion Rates Matrix
- real R[3,3]; //Rotation Matrix
- real p[3]; //Position Vector
- real dq[4];
- real Wb[3,4];
- equations
- dq = transpose(Wb) * flow[1:3] ./ 2;
- q = int(dq,init);
- p = int(flow[4:6]);
- W = [-q[2], q[1], -q[4], q[3];
- -q[3], q[4], q[1], -q[2];
- -q[4], -q[3], q[2], q[1]];
- Wb = [ -q[2], q[1], q[4], -q[3];
- -q[3], -q[4], q[1], q[2];
- -q[4], q[3], -q[2], q[1]];
- R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
- 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
- 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
- H = homogeneous(R,p);
- implementation_end;
- MatrixMul 320 576
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
- <TimeStamp>2007-9-26 12:15:12</TimeStamp>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>';
- type Gain
- ports
- signal in input1 [4,4];
- signal out output [4,4];
- signal in input2 [4,4];
- end;
- icon bg bottom
- figures
- rectangle 304.1 560 335.9 592 color 0 fill 15132390;
- text 'X' 320 576 color 16711680 16 bold;
- end;
- implementation eq
- equations
- output = input2*input1; implementation_end;
- plug Pin 492.1 424;
- plug Pdiff 184 225;
- plug Hin 130.8 576;
- plug Hout 478.4 576;
- plug Hdiff 320 222;
- plug Pout 134.7 424;
- Splitter2 320 312
- description '<Description><Version>4.0</Version>
- <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
- <TimeStamp>2008-01-17 11:28:29</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- </Description>';
- knot Splitter
- ports
- signal knot duplicatable out output [4,4];
- signal knot in input [4,4];
- end;
- icon bg ellipse
- figures
- ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
- ellipse 315.7 307.7 324.3 316.3 color -1;
- terminals
- input 320 312 fixed;
- end;
- implementation eq
- equations
- collect (output) = input;
- implementation_end;
- Wbai 184 424
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
- <TimeStamp>2007-9-27 9:51:43</TimeStamp>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>';
- knot ZeroJunction
- ports
- power knot duplicatable none p [6,1];
- signal knot out effort [6,1];
- restrictions
- causality constraint one_in p;
- end;
- icon bg bottom
- figures
- text '0' 184 424 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.f)) = 0;
- equal (collect (p.e));
- effort = first (p.e);
- implementation_end;
- end;
- connections
- FlowSensor2\flow -> Hmatrix\flow;
- FlowSensor2\p2 => Wbai\p;
- Hin -> MatrixMul\input2;
- Hmatrix\H -> Splitter2\input;
- MatrixMul\output -> Hout;
- Pdiff => FlowSensor2\p1;
- Pin => AdHji\p2;
- Splitter2\output -> AdHji\H 424 312;
- Splitter2\output -> Hdiff;
- Splitter2\output -> MatrixMul\input1;
- Wbai\p <= AdHji\p1;
- Wbai\p => Pout;
- end;
- implementation_end;
- JointB 432 216
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <IsMainModel>1</IsMainModel>
- <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
- <TimeStamp>2020-7-21 12:08:53</TimeStamp>
- </Description>
- </Information>';
- type 'Submodel-v3'
- ports
- power in Pin [6,1];
- power in Pdiff [6,1];
- signal in Hin [4,4];
- signal out Hout [4,4];
- signal out Hdiff [4,4];
- power out Pout [6,1];
- end;
- icon bg bottom
- figures
- rectangle 400 192 464 240 color 0 fill 14745599;
- text 'Joint' 432 216 color 0 'Clear Sans' 16;
- terminals
- Pin 416 240 fixed;
- Hin 448 192 fixed;
- Hout 448 240 fixed;
- Pout 416 192 fixed;
- end;
- implementation bg
- submodels
- AdHji 424 424
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:3:3</TimeStamp>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>';
- type MTF
- ports
- power out p1 [6,1];
- power in p2 [6,1];
- signal in H [4,4];
- restrictions
- causality constraint not_equal p1 p2;
- end;
- icon bg bottom
- figures
- text 'MTF' 424 424 color 0 18 bold;
- end;
- implementation eq
- equations
- p2.e = transpose(Adjoint(H)) * p1.e;
- p1.f = Adjoint(H) * p2.f;implementation_end;
- FlowSensor2 184 311.9
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
- <TimeStamp>2011-11-29 15:50:53</TimeStamp>
- </Description>
- </Information>';
- knot FlowSensor
- ports
- power knot in p1 [6,1];
- power knot out p2 [6,1];
- signal knot out flow [6,1];
- restrictions
- causality constraint not_equal p1 p2;
- end;
- icon bg ellipse
- figures
- ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
- text 'f' 184 311.2 color 0;
- end;
- implementation eq
- equations
- p2.f = p1.f;
- p1.e = p2.e;
- flow = p1.f;
- implementation_end;
- Hmatrix 256 312
- description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
- type 'Submodel-Equation'
- ports
- signal in flow [6,1];
- signal out H [4,4];
- end;
- icon bg
- figures
- rectangle 224 296 288 328 color 0 fill 15132390;
- text 'name' 256 312 color 0 'Clear Sans' 16;
- end;
- implementation eq
- parameters
- real init[4] = [1;0;0;0];
- variables
- real q[4]; //quaternions
- real W[3,4]; //Quaternion Rates Matrix
- real R[3,3]; //Rotation Matrix
- real p[3]; //Position Vector
- real dq[4];
- real Wb[3,4];
- equations
- dq = transpose(Wb) * flow[1:3] ./ 2;
- q = int(dq,init);
- p = int(flow[4:6]);
- W = [-q[2], q[1], -q[4], q[3];
- -q[3], q[4], q[1], -q[2];
- -q[4], -q[3], q[2], q[1]];
- Wb = [ -q[2], q[1], q[4], -q[3];
- -q[3], -q[4], q[1], q[2];
- -q[4], q[3], -q[2], q[1]];
- R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
- 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
- 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
- H = homogeneous(R,p);
- implementation_end;
- MatrixMul 320 576
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
- <TimeStamp>2007-9-26 12:15:12</TimeStamp>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>';
- type Gain
- ports
- signal in input1 [4,4];
- signal out output [4,4];
- signal in input2 [4,4];
- end;
- icon bg bottom
- figures
- rectangle 304.1 560 335.9 592 color 0 fill 15132390;
- text 'X' 320 576 color 16711680 16 bold;
- end;
- implementation eq
- equations
- output = input2*input1; implementation_end;
- plug Pin 492.1 424;
- plug Pdiff 184 225;
- plug Hin 130.8 576;
- plug Hout 478.4 576;
- plug Hdiff 320 222;
- plug Pout 134.7 424;
- Splitter2 320 312
- description '<Description><Version>4.0</Version>
- <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
- <TimeStamp>2008-01-17 11:28:29</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- </Description>';
- knot Splitter
- ports
- signal knot duplicatable out output [4,4];
- signal knot in input [4,4];
- end;
- icon bg ellipse
- figures
- ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
- ellipse 315.7 307.7 324.3 316.3 color -1;
- terminals
- input 320 312 fixed;
- end;
- implementation eq
- equations
- collect (output) = input;
- implementation_end;
- Wbai 184 424
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
- <TimeStamp>2007-9-27 9:51:43</TimeStamp>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>';
- knot ZeroJunction
- ports
- power knot duplicatable none p [6,1];
- signal knot out effort [6,1];
- restrictions
- causality constraint one_in p;
- end;
- icon bg bottom
- figures
- text '0' 184 424 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.f)) = 0;
- equal (collect (p.e));
- effort = first (p.e);
- implementation_end;
- end;
- connections
- FlowSensor2\flow -> Hmatrix\flow;
- FlowSensor2\p2 => Wbai\p;
- Hin -> MatrixMul\input2;
- Hmatrix\H -> Splitter2\input;
- MatrixMul\output -> Hout;
- Pdiff => FlowSensor2\p1;
- Pin => AdHji\p2;
- Splitter2\output -> AdHji\H 424 312;
- Splitter2\output -> Hdiff;
- Splitter2\output -> MatrixMul\input1;
- Wbai\p <= AdHji\p1;
- Wbai\p => Pout;
- end;
- implementation_end;
- JointC 944 616
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <IsMainModel>1</IsMainModel>
- <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
- <TimeStamp>2020-7-21 12:08:53</TimeStamp>
- </Description>
- </Information>';
- type 'Submodel-v3'
- ports
- power in Pin [6,1];
- power in Pdiff [6,1];
- signal in Hin [4,4];
- signal out Hout [4,4];
- signal out Hdiff [4,4];
- power out Pout [6,1];
- end;
- icon bg bottom
- figures
- rectangle 920 584 968 648 color 0 fill 14745599;
- text 'Joint' 944 616 color 0 'Clear Sans' 16;
- terminals
- Pin 920 632 fixed;
- Hin 968 600 fixed;
- Hout 920 600 fixed;
- Pout 968 632 fixed;
- end;
- implementation bg
- submodels
- AdHji 424 424
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:3:3</TimeStamp>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>';
- type MTF
- ports
- power out p1 [6,1];
- power in p2 [6,1];
- signal in H [4,4];
- restrictions
- causality constraint not_equal p1 p2;
- end;
- icon bg bottom
- figures
- text 'MTF' 424 424 color 0 18 bold;
- end;
- implementation eq
- equations
- p2.e = transpose(Adjoint(H)) * p1.e;
- p1.f = Adjoint(H) * p2.f;implementation_end;
- FlowSensor2 184 311.9
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
- <TimeStamp>2011-11-29 15:50:53</TimeStamp>
- </Description>
- </Information>';
- knot FlowSensor
- ports
- power knot in p1 [6,1];
- power knot out p2 [6,1];
- signal knot out flow [6,1];
- restrictions
- causality constraint not_equal p1 p2;
- end;
- icon bg ellipse
- figures
- ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
- text 'f' 184 311.2 color 0;
- end;
- implementation eq
- equations
- p2.f = p1.f;
- p1.e = p2.e;
- flow = p1.f;
- implementation_end;
- Hmatrix 256 312
- description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
- type 'Submodel-Equation'
- ports
- signal in flow [6,1];
- signal out H [4,4];
- end;
- icon bg
- figures
- rectangle 224 296 288 328 color 0 fill 15132390;
- text 'name' 256 312 color 0 'Clear Sans' 16;
- end;
- implementation eq
- parameters
- real init[4] = [1;0;0;0];
- variables
- real q[4]; //quaternions
- real W[3,4]; //Quaternion Rates Matrix
- real R[3,3]; //Rotation Matrix
- real p[3]; //Position Vector
- real dq[4];
- real Wb[3,4];
- equations
- dq = transpose(Wb) * flow[1:3] ./ 2;
- q = int(dq,init);
- p = int(flow[4:6]);
- W = [-q[2], q[1], -q[4], q[3];
- -q[3], q[4], q[1], -q[2];
- -q[4], -q[3], q[2], q[1]];
- Wb = [ -q[2], q[1], q[4], -q[3];
- -q[3], -q[4], q[1], q[2];
- -q[4], q[3], -q[2], q[1]];
- R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
- 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
- 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
- H = homogeneous(R,p);
- implementation_end;
- MatrixMul 320 576
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
- <TimeStamp>2007-9-26 12:15:12</TimeStamp>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>';
- type Gain
- ports
- signal in input1 [4,4];
- signal out output [4,4];
- signal in input2 [4,4];
- end;
- icon bg bottom
- figures
- rectangle 304.1 560 335.9 592 color 0 fill 15132390;
- text 'X' 320 576 color 16711680 16 bold;
- end;
- implementation eq
- equations
- output = input2*input1; implementation_end;
- plug Pin 492.1 424;
- plug Pdiff 184 225;
- plug Hin 130.8 576;
- plug Hout 478.4 576;
- plug Hdiff 320 222;
- plug Pout 134.7 424;
- Splitter2 320 312
- description '<Description><Version>4.0</Version>
- <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
- <TimeStamp>2008-01-17 11:28:29</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- </Description>';
- knot Splitter
- ports
- signal knot duplicatable out output [4,4];
- signal knot in input [4,4];
- end;
- icon bg ellipse
- figures
- ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
- ellipse 315.7 307.7 324.3 316.3 color -1;
- terminals
- input 320 312 fixed;
- end;
- implementation eq
- equations
- collect (output) = input;
- implementation_end;
- Wbai 184 424
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
- <TimeStamp>2007-9-27 9:51:43</TimeStamp>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>';
- knot ZeroJunction
- ports
- power knot duplicatable none p [6,1];
- signal knot out effort [6,1];
- restrictions
- causality constraint one_in p;
- end;
- icon bg bottom
- figures
- text '0' 184 424 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.f)) = 0;
- equal (collect (p.e));
- effort = first (p.e);
- implementation_end;
- end;
- connections
- FlowSensor2\flow -> Hmatrix\flow;
- FlowSensor2\p2 => Wbai\p;
- Hin -> MatrixMul\input2;
- Hmatrix\H -> Splitter2\input;
- MatrixMul\output -> Hout;
- Pdiff => FlowSensor2\p1;
- Pin => AdHji\p2;
- Splitter2\output -> AdHji\H 424 312;
- Splitter2\output -> Hdiff;
- Splitter2\output -> MatrixMul\input1;
- Wbai\p <= AdHji\p1;
- Wbai\p => Pout;
- end;
- implementation_end;
- JointD 632 536
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <IsMainModel>1</IsMainModel>
- <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
- <TimeStamp>2020-7-21 12:08:53</TimeStamp>
- </Description>
- </Information>';
- type 'Submodel-v3'
- ports
- power in Pin [6,1];
- power in Pdiff [6,1];
- signal in Hin [4,4];
- signal out Hout [4,4];
- signal out Hdiff [4,4];
- power out Pout [6,1];
- end;
- icon bg bottom
- figures
- rectangle 600 512 664 560 color 0 fill 14745599;
- text 'Joint' 632 536 color 0 'Clear Sans' 16;
- terminals
- Pin 616 512 fixed;
- Hin 648 560 fixed;
- Hout 648 512 fixed;
- Pout 616 560 fixed;
- end;
- implementation bg
- submodels
- AdHji 424 424
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:3:3</TimeStamp>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>';
- type MTF
- ports
- power out p1 [6,1];
- power in p2 [6,1];
- signal in H [4,4];
- restrictions
- causality constraint not_equal p1 p2;
- end;
- icon bg bottom
- figures
- text 'MTF' 424 424 color 0 18 bold;
- end;
- implementation eq
- equations
- p2.e = transpose(Adjoint(H)) * p1.e;
- p1.f = Adjoint(H) * p2.f;implementation_end;
- FlowSensor2 184 311.9
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
- <TimeStamp>2011-11-29 15:50:53</TimeStamp>
- </Description>
- </Information>';
- knot FlowSensor
- ports
- power knot in p1 [6,1];
- power knot out p2 [6,1];
- signal knot out flow [6,1];
- restrictions
- causality constraint not_equal p1 p2;
- end;
- icon bg ellipse
- figures
- ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
- text 'f' 184 311.2 color 0;
- end;
- implementation eq
- equations
- p2.f = p1.f;
- p1.e = p2.e;
- flow = p1.f;
- implementation_end;
- Hmatrix 256 312
- description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
- type 'Submodel-Equation'
- ports
- signal in flow [6,1];
- signal out H [4,4];
- end;
- icon bg
- figures
- rectangle 224 296 288 328 color 0 fill 15132390;
- text 'name' 256 312 color 0 'Clear Sans' 16;
- end;
- implementation eq
- parameters
- real init[4] = [1;0;0;0];
- variables
- real q[4]; //quaternions
- real W[3,4]; //Quaternion Rates Matrix
- real R[3,3]; //Rotation Matrix
- real p[3]; //Position Vector
- real dq[4];
- real Wb[3,4];
- equations
- dq = transpose(Wb) * flow[1:3] ./ 2;
- q = int(dq,init);
- p = int(flow[4:6]);
- W = [-q[2], q[1], -q[4], q[3];
- -q[3], q[4], q[1], -q[2];
- -q[4], -q[3], q[2], q[1]];
- Wb = [ -q[2], q[1], q[4], -q[3];
- -q[3], -q[4], q[1], q[2];
- -q[4], q[3], -q[2], q[1]];
- R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
- 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
- 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
- H = homogeneous(R,p);
- implementation_end;
- MatrixMul 320 576
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
- <TimeStamp>2007-9-26 12:15:12</TimeStamp>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>';
- type Gain
- ports
- signal in input1 [4,4];
- signal out output [4,4];
- signal in input2 [4,4];
- end;
- icon bg bottom
- figures
- rectangle 304.1 560 335.9 592 color 0 fill 15132390;
- text 'X' 320 576 color 16711680 16 bold;
- end;
- implementation eq
- equations
- output = input2*input1; implementation_end;
- plug Pin 492.1 424;
- plug Pdiff 184 225;
- plug Hin 130.8 576;
- plug Hout 478.4 576;
- plug Hdiff 320 222;
- plug Pout 134.7 424;
- Splitter2 320 312
- description '<Description><Version>4.0</Version>
- <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
- <TimeStamp>2008-01-17 11:28:29</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- </Description>';
- knot Splitter
- ports
- signal knot duplicatable out output [4,4];
- signal knot in input [4,4];
- end;
- icon bg ellipse
- figures
- ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
- ellipse 315.7 307.7 324.3 316.3 color -1;
- terminals
- input 320 312 fixed;
- end;
- implementation eq
- equations
- collect (output) = input;
- implementation_end;
- Wbai 184 424
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
- <TimeStamp>2007-9-27 9:51:43</TimeStamp>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>';
- knot ZeroJunction
- ports
- power knot duplicatable none p [6,1];
- signal knot out effort [6,1];
- restrictions
- causality constraint one_in p;
- end;
- icon bg bottom
- figures
- text '0' 184 424 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.f)) = 0;
- equal (collect (p.e));
- effort = first (p.e);
- implementation_end;
- end;
- connections
- FlowSensor2\flow -> Hmatrix\flow;
- FlowSensor2\p2 => Wbai\p;
- Hin -> MatrixMul\input2;
- Hmatrix\H -> Splitter2\input;
- MatrixMul\output -> Hout;
- Pdiff => FlowSensor2\p1;
- Pin => AdHji\p2;
- Splitter2\output -> AdHji\H 424 312;
- Splitter2\output -> Hdiff;
- Splitter2\output -> MatrixMul\input1;
- Wbai\p <= AdHji\p1;
- Wbai\p => Pout;
- end;
- implementation_end;
- JointE 632 216
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <IsMainModel>1</IsMainModel>
- <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
- <TimeStamp>2020-7-21 12:08:53</TimeStamp>
- </Description>
- </Information>';
- type 'Submodel-v3'
- ports
- power in Pin [6,1];
- power in Pdiff [6,1];
- signal in Hin [4,4];
- signal out Hout [4,4];
- signal out Hdiff [4,4];
- power out Pout [6,1];
- end;
- icon bg bottom
- figures
- rectangle 600 192 664 240 color 0 fill 14745599;
- text 'Joint' 632 216 color 0 'Clear Sans' 16;
- terminals
- Pin 616 192 fixed;
- Hin 648 240 fixed;
- Hout 648 192 fixed;
- Pout 616 240 fixed;
- end;
- implementation bg
- submodels
- AdHji 424 424
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:3:3</TimeStamp>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>';
- type MTF
- ports
- power out p1 [6,1];
- power in p2 [6,1];
- signal in H [4,4];
- restrictions
- causality constraint not_equal p1 p2;
- end;
- icon bg bottom
- figures
- text 'MTF' 424 424 color 0 18 bold;
- end;
- implementation eq
- equations
- p2.e = transpose(Adjoint(H)) * p1.e;
- p1.f = Adjoint(H) * p2.f;implementation_end;
- FlowSensor2 184 311.9
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
- <TimeStamp>2011-11-29 15:50:53</TimeStamp>
- </Description>
- </Information>';
- knot FlowSensor
- ports
- power knot in p1 [6,1];
- power knot out p2 [6,1];
- signal knot out flow [6,1];
- restrictions
- causality constraint not_equal p1 p2;
- end;
- icon bg ellipse
- figures
- ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
- text 'f' 184 311.2 color 0;
- end;
- implementation eq
- equations
- p2.f = p1.f;
- p1.e = p2.e;
- flow = p1.f;
- implementation_end;
- Hmatrix 256 312
- description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
- type 'Submodel-Equation'
- ports
- signal in flow [6,1];
- signal out H [4,4];
- end;
- icon bg
- figures
- rectangle 224 296 288 328 color 0 fill 15132390;
- text 'name' 256 312 color 0 'Clear Sans' 16;
- end;
- implementation eq
- parameters
- real init[4] = [1;0;0;0];
- variables
- real q[4]; //quaternions
- real W[3,4]; //Quaternion Rates Matrix
- real R[3,3]; //Rotation Matrix
- real p[3]; //Position Vector
- real dq[4];
- real Wb[3,4];
- equations
- dq = transpose(Wb) * flow[1:3] ./ 2;
- q = int(dq,init);
- p = int(flow[4:6]);
- W = [-q[2], q[1], -q[4], q[3];
- -q[3], q[4], q[1], -q[2];
- -q[4], -q[3], q[2], q[1]];
- Wb = [ -q[2], q[1], q[4], -q[3];
- -q[3], -q[4], q[1], q[2];
- -q[4], q[3], -q[2], q[1]];
- R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
- 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
- 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
- H = homogeneous(R,p);
- implementation_end;
- MatrixMul 320 576
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
- <TimeStamp>2007-9-26 12:15:12</TimeStamp>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>';
- type Gain
- ports
- signal in input1 [4,4];
- signal out output [4,4];
- signal in input2 [4,4];
- end;
- icon bg bottom
- figures
- rectangle 304.1 560 335.9 592 color 0 fill 15132390;
- text 'X' 320 576 color 16711680 16 bold;
- end;
- implementation eq
- equations
- output = input2*input1; implementation_end;
- plug Pin 492.1 424;
- plug Pdiff 184 225;
- plug Hin 130.8 576;
- plug Hout 478.4 576;
- plug Hdiff 320 222;
- plug Pout 134.7 424;
- Splitter2 320 312
- description '<Description><Version>4.0</Version>
- <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
- <TimeStamp>2008-01-17 11:28:29</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- </Description>';
- knot Splitter
- ports
- signal knot duplicatable out output [4,4];
- signal knot in input [4,4];
- end;
- icon bg ellipse
- figures
- ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
- ellipse 315.7 307.7 324.3 316.3 color -1;
- terminals
- input 320 312 fixed;
- end;
- implementation eq
- equations
- collect (output) = input;
- implementation_end;
- Wbai 184 424
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
- <TimeStamp>2007-9-27 9:51:43</TimeStamp>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>';
- knot ZeroJunction
- ports
- power knot duplicatable none p [6,1];
- signal knot out effort [6,1];
- restrictions
- causality constraint one_in p;
- end;
- icon bg bottom
- figures
- text '0' 184 424 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.f)) = 0;
- equal (collect (p.e));
- effort = first (p.e);
- implementation_end;
- end;
- connections
- FlowSensor2\flow -> Hmatrix\flow;
- FlowSensor2\p2 => Wbai\p;
- Hin -> MatrixMul\input2;
- Hmatrix\H -> Splitter2\input;
- MatrixMul\output -> Hout;
- Pdiff => FlowSensor2\p1;
- Pin => AdHji\p2;
- Splitter2\output -> AdHji\H 424 312;
- Splitter2\output -> Hdiff;
- Splitter2\output -> MatrixMul\input1;
- Wbai\p <= AdHji\p1;
- Wbai\p => Pout;
- end;
- implementation_end;
- JointF 792 136
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <IsMainModel>1</IsMainModel>
- <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
- <TimeStamp>2020-7-21 12:08:53</TimeStamp>
- </Description>
- </Information>';
- type 'Submodel-v3'
- ports
- power in Pin [6,1];
- power in Pdiff [6,1];
- signal in Hin [4,4];
- signal out Hout [4,4];
- signal out Hdiff [4,4];
- power out Pout [6,1];
- end;
- icon bg bottom
- figures
- rectangle 768 104 816 168 color 0 fill 14745599;
- text 'Joint' 792 136 color 0 'Clear Sans' 16;
- terminals
- Pin 816 120 fixed;
- Hin 768 152 fixed;
- Hout 816 152 fixed;
- Pout 768 120 fixed;
- end;
- implementation bg
- submodels
- AdHji 424 424
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:3:3</TimeStamp>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>';
- type MTF
- ports
- power out p1 [6,1];
- power in p2 [6,1];
- signal in H [4,4];
- restrictions
- causality constraint not_equal p1 p2;
- end;
- icon bg bottom
- figures
- text 'MTF' 424 424 color 0 18 bold;
- end;
- implementation eq
- equations
- p2.e = transpose(Adjoint(H)) * p1.e;
- p1.f = Adjoint(H) * p2.f;implementation_end;
- FlowSensor2 184 311.9
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
- <TimeStamp>2011-11-29 15:50:53</TimeStamp>
- </Description>
- </Information>';
- knot FlowSensor
- ports
- power knot in p1 [6,1];
- power knot out p2 [6,1];
- signal knot out flow [6,1];
- restrictions
- causality constraint not_equal p1 p2;
- end;
- icon bg ellipse
- figures
- ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
- text 'f' 184 311.2 color 0;
- end;
- implementation eq
- equations
- p2.f = p1.f;
- p1.e = p2.e;
- flow = p1.f;
- implementation_end;
- Hmatrix 256 312
- description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
- type 'Submodel-Equation'
- ports
- signal in flow [6,1];
- signal out H [4,4];
- end;
- icon bg
- figures
- rectangle 224 296 288 328 color 0 fill 15132390;
- text 'name' 256 312 color 0 'Clear Sans' 16;
- end;
- implementation eq
- parameters
- real init[4] = [1;0;0;0];
- variables
- real q[4]; //quaternions
- real W[3,4]; //Quaternion Rates Matrix
- real R[3,3]; //Rotation Matrix
- real p[3]; //Position Vector
- real dq[4];
- real Wb[3,4];
- equations
- dq = transpose(Wb) * flow[1:3] ./ 2;
- q = int(dq,init);
- p = int(flow[4:6]);
- W = [-q[2], q[1], -q[4], q[3];
- -q[3], q[4], q[1], -q[2];
- -q[4], -q[3], q[2], q[1]];
- Wb = [ -q[2], q[1], q[4], -q[3];
- -q[3], -q[4], q[1], q[2];
- -q[4], q[3], -q[2], q[1]];
- R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
- 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
- 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
- H = homogeneous(R,p);
- implementation_end;
- MatrixMul 320 576
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
- <TimeStamp>2007-9-26 12:15:12</TimeStamp>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>';
- type Gain
- ports
- signal in input1 [4,4];
- signal out output [4,4];
- signal in input2 [4,4];
- end;
- icon bg bottom
- figures
- rectangle 304.1 560 335.9 592 color 0 fill 15132390;
- text 'X' 320 576 color 16711680 16 bold;
- end;
- implementation eq
- equations
- output = input2*input1; implementation_end;
- plug Pin 492.1 424;
- plug Pdiff 184 225;
- plug Hin 130.8 576;
- plug Hout 478.4 576;
- plug Hdiff 320 222;
- plug Pout 134.7 424;
- Splitter2 320 312
- description '<Description><Version>4.0</Version>
- <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
- <TimeStamp>2008-01-17 11:28:29</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- </Description>';
- knot Splitter
- ports
- signal knot duplicatable out output [4,4];
- signal knot in input [4,4];
- end;
- icon bg ellipse
- figures
- ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
- ellipse 315.7 307.7 324.3 316.3 color -1;
- terminals
- input 320 312 fixed;
- end;
- implementation eq
- equations
- collect (output) = input;
- implementation_end;
- Wbai 184 424
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
- <TimeStamp>2007-9-27 9:51:43</TimeStamp>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>';
- knot ZeroJunction
- ports
- power knot duplicatable none p [6,1];
- signal knot out effort [6,1];
- restrictions
- causality constraint one_in p;
- end;
- icon bg bottom
- figures
- text '0' 184 424 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.f)) = 0;
- equal (collect (p.e));
- effort = first (p.e);
- implementation_end;
- end;
- connections
- FlowSensor2\flow -> Hmatrix\flow;
- FlowSensor2\p2 => Wbai\p;
- Hin -> MatrixMul\input2;
- Hmatrix\H -> Splitter2\input;
- MatrixMul\output -> Hout;
- Pdiff => FlowSensor2\p1;
- Pin => AdHji\p2;
- Splitter2\output -> AdHji\H 424 312;
- Splitter2\output -> Hdiff;
- Splitter2\output -> MatrixMul\input1;
- Wbai\p <= AdHji\p1;
- Wbai\p => Pout;
- end;
- implementation_end;
- Joint_dynA 320 536
- description '<Description>
- <Version>4.8</Version>
- <IsMainModel>1</IsMainModel>
- </Description>';
- type Submodel
- ports
- power out output [6,1];
- signal in angle {rad} ;
- end;
- implementation bg
- submodels
- C 264 200
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\C.emx</LibraryPath>
- <TimeStamp>2011-11-29 15:58:35</TimeStamp>
- </Description>
- </Information>';
- type C
- ports
- power in p;
- signal out state;
- restrictions
- causality preferred out p;
- end;
- icon bg bottom
- figures
- text 'C' 264 200 color 0 18 bold;
- end;
- implementation eq
- parameters
- real c = 0.001;
- equations
- state = int(p.f);
- p.e = state / c;
- implementation_end;
- C1 191.8 216.2
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:12:8</TimeStamp>
- </Description>';
- type 'C-3'
- ports
- power in p [3,1];
- signal out state [3,1];
- restrictions
- causality preferred out p;
- end;
- icon bg top
- figures
- text 'C' 191.8 216.2 color 0 18 bold;
- end;
- implementation eq
- parameters
- real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
- equations
- state = int(p.f);
- p.e = inverse(c) *state;
- implementation_end;
- C4 191.8 232.2
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:7:27</TimeStamp>
- </Description>';
- type 'C-2'
- ports
- power in p [2,1];
- signal out state [2,1];
- restrictions
- causality preferred out p;
- end;
- icon bg bottom
- figures
- text 'C' 191.8 232.2 color 0 18 bold;
- end;
- implementation eq
- parameters
- real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
- equations
- state = int(p.f);
- p.e = inverse(c) *state;
- implementation_end;
- plug output 468 216;
- plug angle 224 80;
- OneJunction5 239.8 232.2
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- power knot duplicatable none p [2,1];
- signal knot out flow [2,1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 239.8 232.2 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- OneJunction7 239.8 216.2
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- power knot duplicatable none p [3,1];
- signal knot out flow [3,1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 239.8 216.2 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- OneJunction8 312 200
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- rotation knot duplicatable none p [1];
- signal knot out flow [1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 312 200 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- PowerMux 402 216
- specifications active 'rot_x'
- specification 'rot_x'
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
- <TimeStamp>2020-7-20 14:35:23</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>
- </Information>';
- type 'PowerMux-Rotation'
- ports
- power in input;
- power out output [6,1];
- power in input_rot2 [2,1];
- power in input_pos3 [3,1];
- restrictions
- causality constraint not_equal input output;
- causality constraint not_equal input_rot2 output;
- causality constraint not_equal input_pos3 output;
- end;
- icon bg bottom
- figures
- line 400 192 400 240 color 0 width 2;
- rectangle 396 192 408 240 color -1;
- text '1' 405 210 color 8421504 8;
- terminals
- input 400 200 fixed;
- output 400 216 fixed;
- input_rot2 400 232 fixed;
- input_pos3 400 216 fixed;
- end;
- implementation eq
- equations
- output.e[1] = input.e;
- output.e[2:3] = input_rot2.e;
- output.e[4:6] = input_pos3.e;
- output.f[1] = input.f;
- output.f[2:3] = input_rot2.f;
- output.f[4:6] = input_pos3.f;implementation_end;
- specification_end;
- specification 'rot_y'
- description '<Description>
- <Version>4.1</Version>
- <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
- <TimeStamp>2011-3-4 15:12:50</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>';
- type PowerMux
- ports
- power in input;
- power out output [6,1];
- power in input_rot2 [2,1];
- power in input_pos3 [3,1];
- restrictions
- causality constraint not_equal input output;
- causality constraint not_equal input_rot2 output;
- causality constraint not_equal input_pos3 output;
- end;
- icon bg bottom
- figures
- line 242 274 290 274 color 0 width 2;
- rectangle 242 266 290 278 color -1;
- text '1' 260 269 color 8421504 8;
- terminals
- input 250 274 fixed;
- output 266 274 fixed;
- input_rot2 282 274 fixed;
- input_pos3 266 274 fixed;
- end;
- implementation eq
- equations
- output.e[1] = input_rot2.e[1];
- output.e[2] = input.e;
- output.e[3] = input_rot2.e[2];
- output.e[4:6] = input_pos3.e;
- output.f[1] = input_rot2.f[1];
- output.f[2] = input.f;
- output.f[3] = input_rot2.f[2];
- output.f[4:6] = input_pos3.f;implementation_end;
- specification_end;
- specification 'rot_z'
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
- <TimeStamp>2020-7-21 12:05:13</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>
- </Information>';
- type PowerMux
- ports
- power in input;
- power out output [6,1];
- power in input_rot2 [2,1];
- power in input_pos3 [3,1];
- restrictions
- causality constraint not_equal input output;
- causality constraint not_equal input_rot2 output;
- causality constraint not_equal input_pos3 output;
- end;
- icon bg bottom
- figures
- line 242 274 290 274 color 0 width 2;
- rectangle 242 266 290 278 color -1;
- text '1' 260 269 color 8421504 8;
- terminals
- input 250 274 fixed;
- output 266 274 fixed;
- input_rot2 282 274 fixed;
- input_pos3 266 274 fixed;
- end;
- implementation eq
- equations
- output.e[3] = input.e;
- output.e[1:2] = input_rot2.e;
- output.e[4:6] = input_pos3.e;
- output.f[3] = input.f;
- output.f[1:2] = input_rot2.f;
- output.f[4:6] = input_pos3.f;implementation_end;
- specification_end;
- end;
- R 312 152
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\R.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:35:37</TimeStamp>
- </Description>
- </Information>';
- type R
- ports
- power in p;
- end;
- icon bg bottom
- figures
- text 'R' 312 152 color 0 18 bold;
- end;
- implementation eq
- parameters
- real r = 0.001;
- equations
- p.e = r * p.f;
- implementation_end;
- R4 239.8 288.2
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:6:54</TimeStamp>
- </Description>';
- type 'R-2'
- ports
- power in p [2,1];
- end;
- icon bg bottom
- figures
- text 'R' 239.8 288.2 color 0 18 bold;
- end;
- implementation eq
- parameters
- real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
- equations
- p.e = r * p.f;
- implementation_end;
- R5 239.8 168.2
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:11:54</TimeStamp>
- </Description>';
- type 'R-3'
- ports
- power in p [3,1];
- end;
- icon bg top
- figures
- text 'R' 239.8 168.2 color 0 18 bold;
- end;
- implementation eq
- parameters
- real r[3,3] = [1.0, 0.0, 0.0; 0.0, 1.0, 0.0; 0.0, 0.0, 1.0] {kN.s/m};
- equations
- p.e = r * p.f;
- implementation_end;
- stepper_model 360 80
- description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Motor\stepper_model.emx</LibraryPath><TimeStamp>2020-7-23 10:54:47</TimeStamp></Description><Attributes><GlobalRelations>parameters
- real I_phase = 3.4 {mH};
- real R_phase = 2.9 {ohm};
- real u_max = 6 {V};
- real RotorInertia = 5.6e-6 {kg.m2};
- real StepperMass = 0.29 {kg};
- real angle_step = 1.8 {deg};
- real n_phase = 2 {none};
- real fluxLinkage = 0.0022 {Wb};
- real detentTorque = 0.01 {N.m};
- variables
- real omega;
- real p; // rotor division
- initialequations
- p = 2 * pi / (2 * n_phase * angle_step);
- omega = 200;</GlobalRelations></Attributes></Information>';
- type Submodel
- ports
- signal in angle;
- rotation out p;
- end;
- implementation bg
- submodels
- I 560 104
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\I.emx</LibraryPath>
- <TimeStamp>2011-11-29 15:55:55</TimeStamp>
- </Description>
- </Information>';
- type I
- ports
- power in p;
- signal out state;
- restrictions
- causality preferred in p;
- end;
- icon bg bottom
- figures
- text 'I' 560 104 color 0 18 bold;
- end;
- implementation eq
- parameters
- real global I_phase;
- equations
- state = int(p.e);
- p.f = state / I_phase;
- implementation_end;
- I1 608 328
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\I.emx</LibraryPath>
- <TimeStamp>2011-11-29 15:55:55</TimeStamp>
- </Description>
- </Information>';
- type I
- ports
- power in p;
- signal out state;
- restrictions
- causality preferred in p;
- end;
- icon bg bottom
- figures
- text 'I' 608 328 color 0 18 bold;
- end;
- implementation eq
- parameters
- real global I_phase;
- equations
- state = int(p.e);
- p.f = state / I_phase;
- implementation_end;
- I2 752 160
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\I.emx</LibraryPath>
- <TimeStamp>2011-11-29 15:55:55</TimeStamp>
- </Description>
- </Information>';
- type I
- ports
- power in p;
- signal out state;
- restrictions
- causality preferred in p;
- end;
- icon bg bottom
- figures
- text 'I' 752 160 color 0 18 bold;
- end;
- implementation eq
- parameters
- real global RotorInertia;
- equations
- state = int(p.e);
- p.f = state / (RotorInertia);
- implementation_end;
- MGY_a 656 160
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\MGY.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:03:53</TimeStamp>
- </Description>
- </Information>';
- type MGY
- ports
- power in p1;
- power out p2;
- signal in r;
- restrictions
- causality constraint equal p1 p2;
- end;
- icon bg bottom
- figures
- text 'MGY' 656 160 color 0 18 bold;
- end;
- implementation eq
- equations
- p1.e = r * p2.f;
- p2.e = r * p1.f;
- implementation_end;
- MGY_b 656 272
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\MGY.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:03:53</TimeStamp>
- </Description>
- </Information>';
- type MGY
- ports
- power in p1;
- power out p2;
- signal in r;
- restrictions
- causality constraint equal p1 p2;
- end;
- icon bg bottom
- figures
- text 'MGY' 656 272 color 0 18 bold;
- end;
- implementation eq
- equations
- p1.e = r * p2.f;
- p2.e = r * p1.f;
- implementation_end;
- MSe_a 512 160
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:12:33</TimeStamp>
- </Description>
- </Information>';
- type MSe
- ports
- electric out p;
- signal in effort;
- restrictions
- causality fixed out p;
- end;
- icon bg bottom
- figures
- text 'MSe' 512 160 color 0 18 bold;
- end;
- implementation eq
- variables
- real flow;
- equations
- p.e = effort;
- flow = p.f;
- implementation_end;
- MSe_b 512 272
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:12:33</TimeStamp>
- </Description>
- </Information>';
- type MSe
- ports
- electric out p;
- signal in effort;
- restrictions
- causality fixed out p;
- end;
- icon bg bottom
- figures
- text 'MSe' 512 272 color 0 18 bold;
- end;
- implementation eq
- variables
- real flow;
- equations
- p.e = effort;
- flow = p.f;
- implementation_end;
- plug angle 200 216;
- plug p 1472 216;
- OneJunction1 840 216
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- rotation knot duplicatable none p [1];
- signal knot out flow [1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 840 216 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- OneJunction2 584 160
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- electric knot duplicatable none p [1];
- signal knot out flow [1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 584 160 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- OneJunction3 584 272
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- electric knot duplicatable none p [1];
- signal knot out flow [1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 584 272 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- OneJunction4 752 216
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- rotation knot duplicatable none p [1];
- signal knot out flow [1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 752 216 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- phase_control 512 216
- description '<Description><Version>4.0</Version>
- <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <TimeStamp>2007-11-1 22:32:1</TimeStamp>
- <AllowLibraryUpdate>False</AllowLibraryUpdate>
- </Description>';
- type Submodel
- ports
- signal in angle;
- signal out a;
- signal out b;
- end;
- icon bg
- figures
- rectangle 472 200 552 232 color 0 fill 15132390;
- text 'name' 512 216 color 0 'Clear Sans' 16;
- end;
- implementation eq
- parameters
- real global u_max {V};
- variables
- real global p;
- boolean hidden eventa, eventb;
- equations
- a = u_max * (cos (p*angle));
- eventa = event(a);
- b = u_max * -(sin (p*angle));
- eventb = event(b);
-
-
-
- implementation_end;
- R 608 104
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\R.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:35:37</TimeStamp>
- </Description>
- </Information>';
- type R
- ports
- power in p;
- end;
- icon bg bottom
- figures
- text 'R' 608 104 color 0 18 bold;
- end;
- implementation eq
- parameters
- real global R_phase;
- equations
- p.e = R_phase * p.f;
- implementation_end;
- R1 560 328
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\R.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:35:37</TimeStamp>
- </Description>
- </Information>';
- type R
- ports
- power in p;
- end;
- icon bg bottom
- figures
- text 'R' 560 328 color 0 18 bold;
- end;
- implementation eq
- parameters
- real global R_phase;
- equations
- p.e = R_phase * p.f;
- implementation_end;
- R2 824 264
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\R.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:35:37</TimeStamp>
- </Description>
- </Information>';
- type R
- ports
- power in p;
- end;
- icon bg bottom
- figures
- text 'R' 824 264 color 0 18 bold;
- end;
- implementation eq
- parameters
- real r = 1.0e-3;
- equations
- p.e = r * p.f;
- implementation_end;
- RotorAngle 656 216
- description '<Description><Version>4.0</Version>
- <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <TimeStamp>2007-11-1 22:32:1</TimeStamp>
- <AllowLibraryUpdate>False</AllowLibraryUpdate>
- </Description>';
- type Submodel
- ports
- signal out output_b;
- signal out output_a;
- signal in omega {rad/s} ;
- signal out output_d;
- end;
- icon bg
- figures
- rectangle 616 200 696 232 color 0 fill 15132390;
- text 'name' 656 216 color 0 'Clear Sans' 16;
- end;
- implementation eq
- parameters
- real global fluxLinkage;
- real global detentTorque;
- variables
- real global p;
- real angle {rad};
- equations
- angle = int(omega,-1.65);
- output_a = -p * fluxLinkage * sin(p * angle);
- output_b = p * fluxLinkage * sin(p * angle - pi / 2);
- output_d = detentTorque * sin(2 * p * angle);
- implementation_end;
- Se 752 272
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:12:33</TimeStamp>
- </Description>
- </Information>';
- type MSe
- ports
- power out p;
- signal in effort;
- restrictions
- causality fixed out p;
- end;
- icon bg bottom
- figures
- text 'MSe' 752 272 color 0 18 bold;
- end;
- implementation eq
-
- variables
- real flow;
- equations
- p.e = effort;
- flow = p.f;
- implementation_end;
- end;
- connections
- angle -> phase_control\angle;
- I2\p <= OneJunction4\p;
- MGY_a\p2 => OneJunction4\p;
- MGY_b\p2 => OneJunction4\p;
- MSe_b\p => OneJunction3\p;
- OneJunction1\p => p;
- OneJunction2\p <= MSe_a\p;
- OneJunction2\p => I\p;
- OneJunction2\p => MGY_a\p1;
- OneJunction2\p => R\p;
- OneJunction3\p => I1\p;
- OneJunction3\p => MGY_b\p1;
- OneJunction3\p => R1\p;
- OneJunction4\flow -> RotorAngle\omega;
- OneJunction4\p => OneJunction1\p;
- OneJunction4\p => R2\p;
- phase_control\a -> MSe_a\effort;
- phase_control\b -> MSe_b\effort;
- RotorAngle\output_a -> MGY_a\r;
- RotorAngle\output_b -> MGY_b\r;
- RotorAngle\output_d -> Se\effort;
- Se\p => OneJunction4\p;
- end;
- implementation_end;
- ZeroJunction1 360 200
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:45:16</TimeStamp>
- </Description>
- </Information>';
- knot ZeroJunction
- ports
- rotation knot duplicatable none p [1];
- signal knot out effort [1];
- restrictions
- causality constraint one_in p;
- end;
- icon bg
- figures
- text '0' 360 200 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.f)) = 0;
- equal (collect (p.e));
- effort = first (p.e);
- implementation_end;
- end;
- connections
- angle -> stepper_model\angle;
- C\p <= OneJunction8\p;
- C1\p <= OneJunction7\p;
- OneJunction5\p => C4\p;
- OneJunction5\p => PowerMux\input_rot2;
- OneJunction5\p => R4\p;
- OneJunction7\p => PowerMux\input_pos3;
- OneJunction7\p => R5\p;
- OneJunction8\p => R\p;
- PowerMux\input <= ZeroJunction1\p;
- PowerMux\output => output;
- ZeroJunction1\p <= OneJunction8\p;
- ZeroJunction1\p <= stepper_model\p;
- end;
- implementation_end;
- Joint_dynB 336 216
- description '<Description>
- <Version>4.8</Version>
- <IsMainModel>1</IsMainModel>
- </Description>';
- type Submodel
- ports
- power out output [6,1];
- end;
- implementation bg
- submodels
- C1 191.8 216.2
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:12:8</TimeStamp>
- </Description>';
- type 'C-3'
- ports
- power in p [3,1];
- signal out state [3,1];
- restrictions
- causality preferred out p;
- end;
- icon bg top
- figures
- text 'C' 191.8 216.2 color 0 18 bold;
- end;
- implementation eq
- parameters
- real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
- equations
- state = int(p.f);
- p.e = inverse(c) *state;
- implementation_end;
- C4 191.8 232.2
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:7:27</TimeStamp>
- </Description>';
- type 'C-2'
- ports
- power in p [2,1];
- signal out state [2,1];
- restrictions
- causality preferred out p;
- end;
- icon bg bottom
- figures
- text 'C' 191.8 232.2 color 0 18 bold;
- end;
- implementation eq
- parameters
- real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
- equations
- state = int(p.f);
- p.e = inverse(c) *state;
- implementation_end;
- plug output 396 216;
- OneJunction5 239.8 232.2
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- power knot duplicatable none p [2,1];
- signal knot out flow [2,1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 239.8 232.2 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- OneJunction7 239.8 216.2
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- power knot duplicatable none p [3,1];
- signal knot out flow [3,1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 239.8 216.2 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- OneJunction8 288 200
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- power knot duplicatable none p [1];
- signal knot out flow [1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 288 200 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- PowerMux 330 216
- specifications active 'rot_x'
- specification 'rot_x'
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
- <TimeStamp>2020-7-20 14:35:23</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>
- </Information>';
- type 'PowerMux-Rotation'
- ports
- power in input;
- power out output [6,1];
- power in input_rot2 [2,1];
- power in input_pos3 [3,1];
- restrictions
- causality constraint not_equal input output;
- causality constraint not_equal input_rot2 output;
- causality constraint not_equal input_pos3 output;
- end;
- icon bg bottom
- figures
- line 328 192 328 240 color 0 width 2;
- rectangle 324 192 336 240 color -1;
- text '1' 333 210 color 8421504 8;
- terminals
- input 328 200 fixed;
- output 328 216 fixed;
- input_rot2 328 232 fixed;
- input_pos3 328 216 fixed;
- end;
- implementation eq
- equations
- output.e[1] = input.e;
- output.e[2:3] = input_rot2.e;
- output.e[4:6] = input_pos3.e;
- output.f[1] = input.f;
- output.f[2:3] = input_rot2.f;
- output.f[4:6] = input_pos3.f;implementation_end;
- specification_end;
- specification 'rot_y'
- description '<Description>
- <Version>4.1</Version>
- <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
- <TimeStamp>2011-3-4 15:12:50</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>';
- type PowerMux
- ports
- power in input;
- power out output [6,1];
- power in input_rot2 [2,1];
- power in input_pos3 [3,1];
- restrictions
- causality constraint not_equal input output;
- causality constraint not_equal input_rot2 output;
- causality constraint not_equal input_pos3 output;
- end;
- icon bg bottom
- figures
- line 242 274 290 274 color 0 width 2;
- rectangle 242 266 290 278 color -1;
- text '1' 260 269 color 8421504 8;
- terminals
- input 250 274 fixed;
- output 266 274 fixed;
- input_rot2 282 274 fixed;
- input_pos3 266 274 fixed;
- end;
- implementation eq
- equations
- output.e[1] = input_rot2.e[1];
- output.e[2] = input.e;
- output.e[3] = input_rot2.e[2];
- output.e[4:6] = input_pos3.e;
- output.f[1] = input_rot2.f[1];
- output.f[2] = input.f;
- output.f[3] = input_rot2.f[2];
- output.f[4:6] = input_pos3.f;implementation_end;
- specification_end;
- specification 'rot_z'
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
- <TimeStamp>2020-7-21 12:05:13</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>
- </Information>';
- type PowerMux
- ports
- power in input;
- power out output [6,1];
- power in input_rot2 [2,1];
- power in input_pos3 [3,1];
- restrictions
- causality constraint not_equal input output;
- causality constraint not_equal input_rot2 output;
- causality constraint not_equal input_pos3 output;
- end;
- icon bg bottom
- figures
- line 242 274 290 274 color 0 width 2;
- rectangle 242 266 290 278 color -1;
- text '1' 260 269 color 8421504 8;
- terminals
- input 250 274 fixed;
- output 266 274 fixed;
- input_rot2 282 274 fixed;
- input_pos3 266 274 fixed;
- end;
- implementation eq
- equations
- output.e[3] = input.e;
- output.e[1:2] = input_rot2.e;
- output.e[4:6] = input_pos3.e;
- output.f[3] = input.f;
- output.f[1:2] = input_rot2.f;
- output.f[4:6] = input_pos3.f;implementation_end;
- specification_end;
- end;
- R 288 152
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\R.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:35:37</TimeStamp>
- </Description>
- </Information>';
- type R
- ports
- power in p;
- end;
- icon bg top
- figures
- text 'R' 288 152 color 0 18 bold;
- end;
- implementation eq
- parameters
- real r = 0.01;
- equations
- p.e = r * p.f;
- implementation_end;
- R4 239.8 288.2
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:6:54</TimeStamp>
- </Description>';
- type 'R-2'
- ports
- power in p [2,1];
- end;
- icon bg bottom
- figures
- text 'R' 239.8 288.2 color 0 18 bold;
- end;
- implementation eq
- parameters
- real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
- equations
- p.e = r * p.f;
- implementation_end;
- R5 239.8 168.2
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:11:54</TimeStamp>
- </Description>';
- type 'R-3'
- ports
- power in p [3,1];
- end;
- icon bg top
- figures
- text 'R' 239.8 168.2 color 0 18 bold;
- end;
- implementation eq
- parameters
- real r[3,3] = [1.0, 0.0, 0.0; 0.0, 1.0, 0.0; 0.0, 0.0, 1.0] {kN.s/m};
- equations
- p.e = r * p.f;
- implementation_end;
- end;
- connections
- C1\p <= OneJunction7\p;
- OneJunction5\p => C4\p;
- OneJunction5\p => PowerMux\input_rot2;
- OneJunction5\p => R4\p;
- OneJunction7\p => PowerMux\input_pos3;
- OneJunction7\p => R5\p;
- OneJunction8\p => PowerMux\input;
- PowerMux\output => output;
- R\p <= OneJunction8\p;
- end;
- implementation_end;
- Joint_dynC 944 696
- description '<Description>
- <Version>4.8</Version>
- <IsMainModel>1</IsMainModel>
- </Description>';
- type Submodel
- ports
- power out output [6,1];
- end;
- implementation bg
- submodels
- C1 191.8 216.2
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:12:8</TimeStamp>
- </Description>';
- type 'C-3'
- ports
- power in p [3,1];
- signal out state [3,1];
- restrictions
- causality preferred out p;
- end;
- icon bg top
- figures
- text 'C' 191.8 216.2 color 0 18 bold;
- end;
- implementation eq
- parameters
- real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
- equations
- state = int(p.f);
- p.e = inverse(c) *state;
- implementation_end;
- C4 191.8 232.2
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:7:27</TimeStamp>
- </Description>';
- type 'C-2'
- ports
- power in p [2,1];
- signal out state [2,1];
- restrictions
- causality preferred out p;
- end;
- icon bg bottom
- figures
- text 'C' 191.8 232.2 color 0 18 bold;
- end;
- implementation eq
- parameters
- real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
- equations
- state = int(p.f);
- p.e = inverse(c) *state;
- implementation_end;
- plug output 396 216;
- OneJunction5 239.8 232.2
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- power knot duplicatable none p [2,1];
- signal knot out flow [2,1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 239.8 232.2 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- OneJunction7 239.8 216.2
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- power knot duplicatable none p [3,1];
- signal knot out flow [3,1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 239.8 216.2 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- OneJunction8 288 200
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- power knot duplicatable none p [1];
- signal knot out flow [1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 288 200 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- PowerMux 330 216
- specifications active 'rot_x'
- specification 'rot_x'
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
- <TimeStamp>2020-7-20 14:35:23</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>
- </Information>';
- type 'PowerMux-Rotation'
- ports
- power in input;
- power out output [6,1];
- power in input_rot2 [2,1];
- power in input_pos3 [3,1];
- restrictions
- causality constraint not_equal input output;
- causality constraint not_equal input_rot2 output;
- causality constraint not_equal input_pos3 output;
- end;
- icon bg bottom
- figures
- line 328 192 328 240 color 0 width 2;
- rectangle 324 192 336 240 color -1;
- text '1' 333 210 color 8421504 8;
- terminals
- input 328 200 fixed;
- output 328 216 fixed;
- input_rot2 328 232 fixed;
- input_pos3 328 216 fixed;
- end;
- implementation eq
- equations
- output.e[1] = input.e;
- output.e[2:3] = input_rot2.e;
- output.e[4:6] = input_pos3.e;
- output.f[1] = input.f;
- output.f[2:3] = input_rot2.f;
- output.f[4:6] = input_pos3.f;implementation_end;
- specification_end;
- specification 'rot_y'
- description '<Description>
- <Version>4.1</Version>
- <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
- <TimeStamp>2011-3-4 15:12:50</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>';
- type PowerMux
- ports
- power in input;
- power out output [6,1];
- power in input_rot2 [2,1];
- power in input_pos3 [3,1];
- restrictions
- causality constraint not_equal input output;
- causality constraint not_equal input_rot2 output;
- causality constraint not_equal input_pos3 output;
- end;
- icon bg bottom
- figures
- line 242 274 290 274 color 0 width 2;
- rectangle 242 266 290 278 color -1;
- text '1' 260 269 color 8421504 8;
- terminals
- input 250 274 fixed;
- output 266 274 fixed;
- input_rot2 282 274 fixed;
- input_pos3 266 274 fixed;
- end;
- implementation eq
- equations
- output.e[1] = input_rot2.e[1];
- output.e[2] = input.e;
- output.e[3] = input_rot2.e[2];
- output.e[4:6] = input_pos3.e;
- output.f[1] = input_rot2.f[1];
- output.f[2] = input.f;
- output.f[3] = input_rot2.f[2];
- output.f[4:6] = input_pos3.f;implementation_end;
- specification_end;
- specification 'rot_z'
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
- <TimeStamp>2020-7-21 12:05:13</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>
- </Information>';
- type PowerMux
- ports
- power in input;
- power out output [6,1];
- power in input_rot2 [2,1];
- power in input_pos3 [3,1];
- restrictions
- causality constraint not_equal input output;
- causality constraint not_equal input_rot2 output;
- causality constraint not_equal input_pos3 output;
- end;
- icon bg bottom
- figures
- line 242 274 290 274 color 0 width 2;
- rectangle 242 266 290 278 color -1;
- text '1' 260 269 color 8421504 8;
- terminals
- input 250 274 fixed;
- output 266 274 fixed;
- input_rot2 282 274 fixed;
- input_pos3 266 274 fixed;
- end;
- implementation eq
- equations
- output.e[3] = input.e;
- output.e[1:2] = input_rot2.e;
- output.e[4:6] = input_pos3.e;
- output.f[3] = input.f;
- output.f[1:2] = input_rot2.f;
- output.f[4:6] = input_pos3.f;implementation_end;
- specification_end;
- end;
- R 288 152
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\R.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:35:37</TimeStamp>
- </Description>
- </Information>';
- type R
- ports
- power in p;
- end;
- icon bg top
- figures
- text 'R' 288 152 color 0 18 bold;
- end;
- implementation eq
- parameters
- real r = 0.01;
- equations
- p.e = r * p.f;
- implementation_end;
- R4 239.8 288.2
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:6:54</TimeStamp>
- </Description>';
- type 'R-2'
- ports
- power in p [2,1];
- end;
- icon bg bottom
- figures
- text 'R' 239.8 288.2 color 0 18 bold;
- end;
- implementation eq
- parameters
- real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
- equations
- p.e = r * p.f;
- implementation_end;
- R5 239.8 168.2
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:11:54</TimeStamp>
- </Description>';
- type 'R-3'
- ports
- power in p [3,1];
- end;
- icon bg top
- figures
- text 'R' 239.8 168.2 color 0 18 bold;
- end;
- implementation eq
- parameters
- real r[3,3] = [1.0, 0.0, 0.0; 0.0, 1.0, 0.0; 0.0, 0.0, 1.0] {kN.s/m};
- equations
- p.e = r * p.f;
- implementation_end;
- end;
- connections
- C1\p <= OneJunction7\p;
- OneJunction5\p => C4\p;
- OneJunction5\p => PowerMux\input_rot2;
- OneJunction5\p => R4\p;
- OneJunction7\p => PowerMux\input_pos3;
- OneJunction7\p => R5\p;
- OneJunction8\p => PowerMux\input;
- PowerMux\output => output;
- R\p <= OneJunction8\p;
- end;
- implementation_end;
- Joint_dynD 528 536
- description '<Description>
- <Version>4.8</Version>
- <IsMainModel>1</IsMainModel>
- </Description>';
- type Submodel
- ports
- power out output [6,1];
- signal in angle {rad} ;
- end;
- icon bg
- figures
- rectangle 488 520 568 552 color 0 fill 15132390;
- text 'name' 528 536 color 0 'Clear Sans' 16;
- end;
- implementation bg
- submodels
- C 264 200
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\C.emx</LibraryPath>
- <TimeStamp>2011-11-29 15:58:35</TimeStamp>
- </Description>
- </Information>';
- type C
- ports
- power in p;
- signal out state;
- restrictions
- causality preferred out p;
- end;
- icon bg bottom
- figures
- text 'C' 264 200 color 0 18 bold;
- end;
- implementation eq
- parameters
- real c = 0.001;
- equations
- state = int(p.f);
- p.e = state / c;
- implementation_end;
- C1 191.8 216.2
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:12:8</TimeStamp>
- </Description>';
- type 'C-3'
- ports
- power in p [3,1];
- signal out state [3,1];
- restrictions
- causality preferred out p;
- end;
- icon bg top
- figures
- text 'C' 191.8 216.2 color 0 18 bold;
- end;
- implementation eq
- parameters
- real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
- equations
- state = int(p.f);
- p.e = inverse(c) *state;
- implementation_end;
- C4 191.8 232.2
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:7:27</TimeStamp>
- </Description>';
- type 'C-2'
- ports
- power in p [2,1];
- signal out state [2,1];
- restrictions
- causality preferred out p;
- end;
- icon bg bottom
- figures
- text 'C' 191.8 232.2 color 0 18 bold;
- end;
- implementation eq
- parameters
- real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
- equations
- state = int(p.f);
- p.e = inverse(c) *state;
- implementation_end;
- plug output 468 216;
- plug angle 224 80;
- OneJunction5 239.8 232.2
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- power knot duplicatable none p [2,1];
- signal knot out flow [2,1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 239.8 232.2 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- OneJunction7 239.8 216.2
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- power knot duplicatable none p [3,1];
- signal knot out flow [3,1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 239.8 216.2 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- OneJunction8 312 200
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- rotation knot duplicatable none p [1];
- signal knot out flow [1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 312 200 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- PowerMux 402 216
- specifications active 'rot_x'
- specification 'rot_x'
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
- <TimeStamp>2020-7-20 14:35:23</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>
- </Information>';
- type 'PowerMux-Rotation'
- ports
- power in input;
- power out output [6,1];
- power in input_rot2 [2,1];
- power in input_pos3 [3,1];
- restrictions
- causality constraint not_equal input output;
- causality constraint not_equal input_rot2 output;
- causality constraint not_equal input_pos3 output;
- end;
- icon bg bottom
- figures
- line 400 192 400 240 color 0 width 2;
- rectangle 396 192 408 240 color -1;
- text '1' 405 210 color 8421504 8;
- terminals
- input 400 200 fixed;
- output 400 216 fixed;
- input_rot2 400 232 fixed;
- input_pos3 400 216 fixed;
- end;
- implementation eq
- equations
- output.e[1] = input.e;
- output.e[2:3] = input_rot2.e;
- output.e[4:6] = input_pos3.e;
- output.f[1] = input.f;
- output.f[2:3] = input_rot2.f;
- output.f[4:6] = input_pos3.f;implementation_end;
- specification_end;
- specification 'rot_y'
- description '<Description>
- <Version>4.1</Version>
- <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
- <TimeStamp>2011-3-4 15:12:50</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>';
- type PowerMux
- ports
- power in input;
- power out output [6,1];
- power in input_rot2 [2,1];
- power in input_pos3 [3,1];
- restrictions
- causality constraint not_equal input output;
- causality constraint not_equal input_rot2 output;
- causality constraint not_equal input_pos3 output;
- end;
- icon bg bottom
- figures
- line 242 274 290 274 color 0 width 2;
- rectangle 242 266 290 278 color -1;
- text '1' 260 269 color 8421504 8;
- terminals
- input 250 274 fixed;
- output 266 274 fixed;
- input_rot2 282 274 fixed;
- input_pos3 266 274 fixed;
- end;
- implementation eq
- equations
- output.e[1] = input_rot2.e[1];
- output.e[2] = input.e;
- output.e[3] = input_rot2.e[2];
- output.e[4:6] = input_pos3.e;
- output.f[1] = input_rot2.f[1];
- output.f[2] = input.f;
- output.f[3] = input_rot2.f[2];
- output.f[4:6] = input_pos3.f;implementation_end;
- specification_end;
- specification 'rot_z'
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
- <TimeStamp>2020-7-21 12:05:13</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>
- </Information>';
- type PowerMux
- ports
- power in input;
- power out output [6,1];
- power in input_rot2 [2,1];
- power in input_pos3 [3,1];
- restrictions
- causality constraint not_equal input output;
- causality constraint not_equal input_rot2 output;
- causality constraint not_equal input_pos3 output;
- end;
- icon bg bottom
- figures
- line 242 274 290 274 color 0 width 2;
- rectangle 242 266 290 278 color -1;
- text '1' 260 269 color 8421504 8;
- terminals
- input 250 274 fixed;
- output 266 274 fixed;
- input_rot2 282 274 fixed;
- input_pos3 266 274 fixed;
- end;
- implementation eq
- equations
- output.e[3] = input.e;
- output.e[1:2] = input_rot2.e;
- output.e[4:6] = input_pos3.e;
- output.f[3] = input.f;
- output.f[1:2] = input_rot2.f;
- output.f[4:6] = input_pos3.f;implementation_end;
- specification_end;
- end;
- R 312 152
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\R.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:35:37</TimeStamp>
- </Description>
- </Information>';
- type R
- ports
- power in p;
- end;
- icon bg bottom
- figures
- text 'R' 312 152 color 0 18 bold;
- end;
- implementation eq
- parameters
- real r = 0.001;
- equations
- p.e = r * p.f;
- implementation_end;
- R4 239.8 288.2
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:6:54</TimeStamp>
- </Description>';
- type 'R-2'
- ports
- power in p [2,1];
- end;
- icon bg bottom
- figures
- text 'R' 239.8 288.2 color 0 18 bold;
- end;
- implementation eq
- parameters
- real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
- equations
- p.e = r * p.f;
- implementation_end;
- R5 239.8 168.2
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:11:54</TimeStamp>
- </Description>';
- type 'R-3'
- ports
- power in p [3,1];
- end;
- icon bg top
- figures
- text 'R' 239.8 168.2 color 0 18 bold;
- end;
- implementation eq
- parameters
- real r[3,3] = [1.0, 0.0, 0.0; 0.0, 1.0, 0.0; 0.0, 0.0, 1.0] {kN.s/m};
- equations
- p.e = r * p.f;
- implementation_end;
- stepper_model 360 80
- description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Motor\stepper_model.emx</LibraryPath><TimeStamp>2020-7-23 10:54:47</TimeStamp></Description><Attributes><GlobalRelations>parameters
- real I_phase = 3.4 {mH};
- real R_phase = 2.9 {ohm};
- real u_max = 6 {V};
- real RotorInertia = 5.6e-6 {kg.m2};
- real StepperMass = 0.29 {kg};
- real angle_step = 1.8 {deg};
- real n_phase = 2 {none};
- real fluxLinkage = 0.0022 {Wb};
- real detentTorque = 0.01 {N.m};
- variables
- real omega;
- real p; // rotor division
- initialequations
- p = 2 * pi / (2 * n_phase * angle_step);
- omega = 200;</GlobalRelations></Attributes></Information>';
- type Submodel
- ports
- signal in angle;
- rotation out p;
- end;
- implementation bg
- submodels
- I 560 104
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\I.emx</LibraryPath>
- <TimeStamp>2011-11-29 15:55:55</TimeStamp>
- </Description>
- </Information>';
- type I
- ports
- power in p;
- signal out state;
- restrictions
- causality preferred in p;
- end;
- icon bg bottom
- figures
- text 'I' 560 104 color 0 18 bold;
- end;
- implementation eq
- parameters
- real global I_phase;
- equations
- state = int(p.e);
- p.f = state / I_phase;
- implementation_end;
- I1 608 328
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\I.emx</LibraryPath>
- <TimeStamp>2011-11-29 15:55:55</TimeStamp>
- </Description>
- </Information>';
- type I
- ports
- power in p;
- signal out state;
- restrictions
- causality preferred in p;
- end;
- icon bg bottom
- figures
- text 'I' 608 328 color 0 18 bold;
- end;
- implementation eq
- parameters
- real global I_phase;
- equations
- state = int(p.e);
- p.f = state / I_phase;
- implementation_end;
- I2 752 160
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\I.emx</LibraryPath>
- <TimeStamp>2011-11-29 15:55:55</TimeStamp>
- </Description>
- </Information>';
- type I
- ports
- power in p;
- signal out state;
- restrictions
- causality preferred in p;
- end;
- icon bg bottom
- figures
- text 'I' 752 160 color 0 18 bold;
- end;
- implementation eq
- parameters
- real i = 8e-5 {kg.m2};
- real global RotorInertia;
- equations
- state = int(p.e);
- p.f = state / (RotorInertia);
- implementation_end;
- MGY_a 656 160
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\MGY.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:03:53</TimeStamp>
- </Description>
- </Information>';
- type MGY
- ports
- power in p1;
- power out p2;
- signal in r;
- restrictions
- causality constraint equal p1 p2;
- end;
- icon bg bottom
- figures
- text 'MGY' 656 160 color 0 18 bold;
- end;
- implementation eq
- equations
- p1.e = r * p2.f;
- p2.e = r * p1.f;
- implementation_end;
- MGY_b 656 272
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\MGY.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:03:53</TimeStamp>
- </Description>
- </Information>';
- type MGY
- ports
- power in p1;
- power out p2;
- signal in r;
- restrictions
- causality constraint equal p1 p2;
- end;
- icon bg bottom
- figures
- text 'MGY' 656 272 color 0 18 bold;
- end;
- implementation eq
- equations
- p1.e = r * p2.f;
- p2.e = r * p1.f;
- implementation_end;
- MSe_a 512 160
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:12:33</TimeStamp>
- </Description>
- </Information>';
- type MSe
- ports
- electric out p;
- signal in effort;
- restrictions
- causality fixed out p;
- end;
- icon bg bottom
- figures
- text 'MSe' 512 160 color 0 18 bold;
- end;
- implementation eq
- variables
- real flow;
- equations
- p.e = effort;
- flow = p.f;
- implementation_end;
- MSe_b 512 272
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:12:33</TimeStamp>
- </Description>
- </Information>';
- type MSe
- ports
- electric out p;
- signal in effort;
- restrictions
- causality fixed out p;
- end;
- icon bg bottom
- figures
- text 'MSe' 512 272 color 0 18 bold;
- end;
- implementation eq
- variables
- real flow;
- equations
- p.e = effort;
- flow = p.f;
- implementation_end;
- plug angle 200 216;
- plug p 1472 216;
- OneJunction1 840 216
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- rotation knot duplicatable none p [1];
- signal knot out flow [1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 840 216 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- OneJunction2 584 160
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- electric knot duplicatable none p [1];
- signal knot out flow [1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 584 160 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- OneJunction3 584 272
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- electric knot duplicatable none p [1];
- signal knot out flow [1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 584 272 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- OneJunction4 752 216
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- rotation knot duplicatable none p [1];
- signal knot out flow [1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 752 216 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- phase_control 512 216
- description '<Description><Version>4.0</Version>
- <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <TimeStamp>2007-11-1 22:32:1</TimeStamp>
- <AllowLibraryUpdate>False</AllowLibraryUpdate>
- </Description>';
- type Submodel
- ports
- signal in angle;
- signal out a;
- signal out b;
- end;
- icon bg
- figures
- rectangle 472 200 552 232 color 0 fill 15132390;
- text 'name' 512 216 color 0 'Clear Sans' 16;
- end;
- implementation eq
- parameters
- real global u_max {V};
- variables
- real global p;
- boolean hidden eventa, eventb;
- equations
- a = u_max * (cos (p*angle));
- eventa = event(a);
- b = u_max * -(sin (p*angle));
- eventb = event(b);
-
-
-
- implementation_end;
- R 608 104
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\R.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:35:37</TimeStamp>
- </Description>
- </Information>';
- type R
- ports
- power in p;
- end;
- icon bg bottom
- figures
- text 'R' 608 104 color 0 18 bold;
- end;
- implementation eq
- parameters
- real global R_phase;
- equations
- p.e = R_phase * p.f;
- implementation_end;
- R1 560 328
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\R.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:35:37</TimeStamp>
- </Description>
- </Information>';
- type R
- ports
- power in p;
- end;
- icon bg bottom
- figures
- text 'R' 560 328 color 0 18 bold;
- end;
- implementation eq
- parameters
- real global R_phase;
- equations
- p.e = R_phase * p.f;
- implementation_end;
- R2 824 264
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\R.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:35:37</TimeStamp>
- </Description>
- </Information>';
- type R
- ports
- power in p;
- end;
- icon bg bottom
- figures
- text 'R' 824 264 color 0 18 bold;
- end;
- implementation eq
- parameters
- real r = 1.0e-3;
- equations
- p.e = r * p.f;
- implementation_end;
- RotorAngle 656 216
- description '<Description><Version>4.0</Version>
- <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <TimeStamp>2007-11-1 22:32:1</TimeStamp>
- <AllowLibraryUpdate>False</AllowLibraryUpdate>
- </Description>';
- type Submodel
- ports
- signal out output_b;
- signal out output_a;
- signal in omega {rad/s} ;
- signal out output_d;
- end;
- icon bg
- figures
- rectangle 616 200 696 232 color 0 fill 15132390;
- text 'name' 656 216 color 0 'Clear Sans' 16;
- end;
- implementation eq
- parameters
- real global fluxLinkage;
- real global detentTorque;
- variables
- real global p;
- real angle {rad};
- equations
- angle = int(omega);
- output_a = -p * fluxLinkage * sin(p * angle);
- output_b = p * fluxLinkage * sin(p * angle - pi / 2);
- output_d = detentTorque * sin(2 * p * angle);
- implementation_end;
- Se 752 272
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:12:33</TimeStamp>
- </Description>
- </Information>';
- type MSe
- ports
- power out p;
- signal in effort;
- restrictions
- causality fixed out p;
- end;
- icon bg bottom
- figures
- text 'MSe' 752 272 color 0 18 bold;
- end;
- implementation eq
-
- variables
- real flow;
- equations
- p.e = effort;
- flow = p.f;
- implementation_end;
- end;
- connections
- angle -> phase_control\angle;
- I2\p <= OneJunction4\p;
- MGY_a\p2 => OneJunction4\p;
- MGY_b\p2 => OneJunction4\p;
- MSe_b\p => OneJunction3\p;
- OneJunction1\p => p;
- OneJunction2\p <= MSe_a\p;
- OneJunction2\p => I\p;
- OneJunction2\p => MGY_a\p1;
- OneJunction2\p => R\p;
- OneJunction3\p => I1\p;
- OneJunction3\p => MGY_b\p1;
- OneJunction3\p => R1\p;
- OneJunction4\flow -> RotorAngle\omega;
- OneJunction4\p => OneJunction1\p;
- OneJunction4\p => R2\p;
- phase_control\a -> MSe_a\effort;
- phase_control\b -> MSe_b\effort;
- RotorAngle\output_a -> MGY_a\r;
- RotorAngle\output_b -> MGY_b\r;
- RotorAngle\output_d -> Se\effort;
- Se\p => OneJunction4\p;
- end;
- implementation_end;
- ZeroJunction1 360 200
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:45:16</TimeStamp>
- </Description>
- </Information>';
- knot ZeroJunction
- ports
- rotation knot duplicatable none p [1];
- signal knot out effort [1];
- restrictions
- causality constraint one_in p;
- end;
- icon bg
- figures
- text '0' 360 200 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.f)) = 0;
- equal (collect (p.e));
- effort = first (p.e);
- implementation_end;
- end;
- connections
- angle -> stepper_model\angle;
- C\p <= OneJunction8\p;
- C1\p <= OneJunction7\p;
- OneJunction5\p => C4\p;
- OneJunction5\p => PowerMux\input_rot2;
- OneJunction5\p => R4\p;
- OneJunction7\p => PowerMux\input_pos3;
- OneJunction7\p => R5\p;
- OneJunction8\p => R\p;
- PowerMux\input <= ZeroJunction1\p;
- PowerMux\output => output;
- ZeroJunction1\p <= OneJunction8\p;
- ZeroJunction1\p <= stepper_model\p;
- end;
- implementation_end;
- Joint_dynE 536 216
- description '<Description>
- <Version>4.8</Version>
- <IsMainModel>1</IsMainModel>
- </Description>';
- type Submodel
- ports
- power out output [6,1];
- end;
- implementation bg
- submodels
- C1 191.8 216.2
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:12:8</TimeStamp>
- </Description>';
- type 'C-3'
- ports
- power in p [3,1];
- signal out state [3,1];
- restrictions
- causality preferred out p;
- end;
- icon bg top
- figures
- text 'C' 191.8 216.2 color 0 18 bold;
- end;
- implementation eq
- parameters
- real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
- equations
- state = int(p.f);
- p.e = inverse(c) *state;
- implementation_end;
- C4 191.8 232.2
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:7:27</TimeStamp>
- </Description>';
- type 'C-2'
- ports
- power in p [2,1];
- signal out state [2,1];
- restrictions
- causality preferred out p;
- end;
- icon bg bottom
- figures
- text 'C' 191.8 232.2 color 0 18 bold;
- end;
- implementation eq
- parameters
- real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
- equations
- state = int(p.f);
- p.e = inverse(c) *state;
- implementation_end;
- plug output 396 216;
- OneJunction5 239.8 232.2
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- power knot duplicatable none p [2,1];
- signal knot out flow [2,1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 239.8 232.2 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- OneJunction7 239.8 216.2
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- power knot duplicatable none p [3,1];
- signal knot out flow [3,1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 239.8 216.2 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- OneJunction8 288 200
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- power knot duplicatable none p [1];
- signal knot out flow [1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 288 200 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- PowerMux 330 216
- specifications active 'rot_x'
- specification 'rot_x'
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
- <TimeStamp>2020-7-20 14:35:23</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>
- </Information>';
- type 'PowerMux-Rotation'
- ports
- power in input;
- power out output [6,1];
- power in input_rot2 [2,1];
- power in input_pos3 [3,1];
- restrictions
- causality constraint not_equal input output;
- causality constraint not_equal input_rot2 output;
- causality constraint not_equal input_pos3 output;
- end;
- icon bg bottom
- figures
- line 328 192 328 240 color 0 width 2;
- rectangle 324 192 336 240 color -1;
- text '1' 333 210 color 8421504 8;
- terminals
- input 328 200 fixed;
- output 328 216 fixed;
- input_rot2 328 232 fixed;
- input_pos3 328 216 fixed;
- end;
- implementation eq
- equations
- output.e[1] = input.e;
- output.e[2:3] = input_rot2.e;
- output.e[4:6] = input_pos3.e;
- output.f[1] = input.f;
- output.f[2:3] = input_rot2.f;
- output.f[4:6] = input_pos3.f;implementation_end;
- specification_end;
- specification 'rot_y'
- description '<Description>
- <Version>4.1</Version>
- <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
- <TimeStamp>2011-3-4 15:12:50</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>';
- type PowerMux
- ports
- power in input;
- power out output [6,1];
- power in input_rot2 [2,1];
- power in input_pos3 [3,1];
- restrictions
- causality constraint not_equal input output;
- causality constraint not_equal input_rot2 output;
- causality constraint not_equal input_pos3 output;
- end;
- icon bg bottom
- figures
- line 242 274 290 274 color 0 width 2;
- rectangle 242 266 290 278 color -1;
- text '1' 260 269 color 8421504 8;
- terminals
- input 250 274 fixed;
- output 266 274 fixed;
- input_rot2 282 274 fixed;
- input_pos3 266 274 fixed;
- end;
- implementation eq
- equations
- output.e[1] = input_rot2.e[1];
- output.e[2] = input.e;
- output.e[3] = input_rot2.e[2];
- output.e[4:6] = input_pos3.e;
- output.f[1] = input_rot2.f[1];
- output.f[2] = input.f;
- output.f[3] = input_rot2.f[2];
- output.f[4:6] = input_pos3.f;implementation_end;
- specification_end;
- specification 'rot_z'
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
- <TimeStamp>2020-7-21 12:05:13</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>
- </Information>';
- type PowerMux
- ports
- power in input;
- power out output [6,1];
- power in input_rot2 [2,1];
- power in input_pos3 [3,1];
- restrictions
- causality constraint not_equal input output;
- causality constraint not_equal input_rot2 output;
- causality constraint not_equal input_pos3 output;
- end;
- icon bg bottom
- figures
- line 242 274 290 274 color 0 width 2;
- rectangle 242 266 290 278 color -1;
- text '1' 260 269 color 8421504 8;
- terminals
- input 250 274 fixed;
- output 266 274 fixed;
- input_rot2 282 274 fixed;
- input_pos3 266 274 fixed;
- end;
- implementation eq
- equations
- output.e[3] = input.e;
- output.e[1:2] = input_rot2.e;
- output.e[4:6] = input_pos3.e;
- output.f[3] = input.f;
- output.f[1:2] = input_rot2.f;
- output.f[4:6] = input_pos3.f;implementation_end;
- specification_end;
- end;
- R 288 152
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\R.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:35:37</TimeStamp>
- </Description>
- </Information>';
- type R
- ports
- power in p;
- end;
- icon bg top
- figures
- text 'R' 288 152 color 0 18 bold;
- end;
- implementation eq
- parameters
- real r = 0.01;
- equations
- p.e = r * p.f;
- implementation_end;
- R4 239.8 288.2
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:6:54</TimeStamp>
- </Description>';
- type 'R-2'
- ports
- power in p [2,1];
- end;
- icon bg bottom
- figures
- text 'R' 239.8 288.2 color 0 18 bold;
- end;
- implementation eq
- parameters
- real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
- equations
- p.e = r * p.f;
- implementation_end;
- R5 239.8 168.2
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:11:54</TimeStamp>
- </Description>';
- type 'R-3'
- ports
- power in p [3,1];
- end;
- icon bg top
- figures
- text 'R' 239.8 168.2 color 0 18 bold;
- end;
- implementation eq
- parameters
- real r[3,3] = [1.0, 0.0, 0.0; 0.0, 1.0, 0.0; 0.0, 0.0, 1.0] {kN.s/m};
- equations
- p.e = r * p.f;
- implementation_end;
- end;
- connections
- C1\p <= OneJunction7\p;
- OneJunction5\p => C4\p;
- OneJunction5\p => PowerMux\input_rot2;
- OneJunction5\p => R4\p;
- OneJunction7\p => PowerMux\input_pos3;
- OneJunction7\p => R5\p;
- OneJunction8\p => PowerMux\input;
- PowerMux\output => output;
- R\p <= OneJunction8\p;
- end;
- implementation_end;
- Joint_dynF 792 56
- description '<Description>
- <Version>4.8</Version>
- <IsMainModel>1</IsMainModel>
- </Description>';
- type Submodel
- ports
- power out output [6,1];
- end;
- implementation bg
- submodels
- C 264 200
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\C.emx</LibraryPath>
- <TimeStamp>2011-11-29 15:58:35</TimeStamp>
- </Description>
- </Information>';
- type C
- ports
- power in p;
- signal out state;
- restrictions
- causality preferred out p;
- end;
- icon bg bottom
- figures
- text 'C' 264 200 color 0 18 bold;
- end;
- implementation eq
- parameters
- real c = 0.001;
- equations
- state = int(p.f);
- p.e = state / c;
- implementation_end;
- C1 191.8 216.2
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:12:8</TimeStamp>
- </Description>';
- type 'C-3'
- ports
- power in p [3,1];
- signal out state [3,1];
- restrictions
- causality preferred out p;
- end;
- icon bg top
- figures
- text 'C' 191.8 216.2 color 0 18 bold;
- end;
- implementation eq
- parameters
- real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
- equations
- state = int(p.f);
- p.e = inverse(c) *state;
- implementation_end;
- C4 191.8 232.2
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:7:27</TimeStamp>
- </Description>';
- type 'C-2'
- ports
- power in p [2,1];
- signal out state [2,1];
- restrictions
- causality preferred out p;
- end;
- icon bg bottom
- figures
- text 'C' 191.8 232.2 color 0 18 bold;
- end;
- implementation eq
- parameters
- real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
- equations
- state = int(p.f);
- p.e = inverse(c) *state;
- implementation_end;
- plug output 396 216;
- OneJunction5 239.8 232.2
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- power knot duplicatable none p [2,1];
- signal knot out flow [2,1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 239.8 232.2 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- OneJunction7 239.8 216.2
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- power knot duplicatable none p [3,1];
- signal knot out flow [3,1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 239.8 216.2 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- OneJunction8 296 200
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- power knot duplicatable none p [1];
- signal knot out flow [1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 296 200 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- PowerMux 330 216
- specifications active 'rot_z'
- specification 'rot_x'
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
- <TimeStamp>2020-7-20 14:35:23</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>
- </Information>';
- type 'PowerMux-Rotation'
- ports
- power in input;
- power out output [6,1];
- power in input_rot2 [2,1];
- power in input_pos3 [3,1];
- restrictions
- causality constraint not_equal input output;
- causality constraint not_equal input_rot2 output;
- causality constraint not_equal input_pos3 output;
- end;
- icon bg bottom
- figures
- line 328 192 328 240 color 0 width 2;
- rectangle 324 192 336 240 color -1;
- text '1' 333 210 color 8421504 8;
- terminals
- input 328 200 fixed;
- output 328 216 fixed;
- input_rot2 328 232 fixed;
- input_pos3 328 216 fixed;
- end;
- implementation eq
- equations
- output.e[1] = input.e;
- output.e[2:3] = input_rot2.e;
- output.e[4:6] = input_pos3.e;
- output.f[1] = input.f;
- output.f[2:3] = input_rot2.f;
- output.f[4:6] = input_pos3.f;implementation_end;
- specification_end;
- specification 'rot_y'
- description '<Description>
- <Version>4.1</Version>
- <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
- <TimeStamp>2011-3-4 15:12:50</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>';
- type PowerMux
- ports
- power in input;
- power out output [6,1];
- power in input_rot2 [2,1];
- power in input_pos3 [3,1];
- restrictions
- causality constraint not_equal input output;
- causality constraint not_equal input_rot2 output;
- causality constraint not_equal input_pos3 output;
- end;
- icon bg bottom
- figures
- line 242 274 290 274 color 0 width 2;
- rectangle 242 266 290 278 color -1;
- text '1' 260 269 color 8421504 8;
- terminals
- input 250 274 fixed;
- output 266 274 fixed;
- input_rot2 282 274 fixed;
- input_pos3 266 274 fixed;
- end;
- implementation eq
- equations
- output.e[1] = input_rot2.e[1];
- output.e[2] = input.e;
- output.e[3] = input_rot2.e[2];
- output.e[4:6] = input_pos3.e;
- output.f[1] = input_rot2.f[1];
- output.f[2] = input.f;
- output.f[3] = input_rot2.f[2];
- output.f[4:6] = input_pos3.f;implementation_end;
- specification_end;
- specification 'rot_z'
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
- <TimeStamp>2020-7-21 12:05:13</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <AllowLibraryUpdate>True</AllowLibraryUpdate>
- </Description>
- </Information>';
- type PowerMux
- ports
- power in input;
- power out output [6,1];
- power in input_rot2 [2,1];
- power in input_pos3 [3,1];
- restrictions
- causality constraint not_equal input output;
- causality constraint not_equal input_rot2 output;
- causality constraint not_equal input_pos3 output;
- end;
- icon bg bottom
- figures
- line 328 192 328 240 color 0 width 2;
- rectangle 324 192 336 240 color -1;
- text '1' 333 210 color 8421504 8;
- terminals
- input 328 200 fixed;
- output 328 216 fixed;
- input_rot2 328 232 fixed;
- input_pos3 328 216 fixed;
- end;
- implementation eq
- equations
- output.e[3] = input.e;
- output.e[1:2] = input_rot2.e;
- output.e[4:6] = input_pos3.e;
- output.f[3] = input.f;
- output.f[1:2] = input_rot2.f;
- output.f[4:6] = input_pos3.f;implementation_end;
- specification_end;
- end;
- R 296 152
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\R.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:35:37</TimeStamp>
- </Description>
- </Information>';
- type R
- ports
- power in p;
- end;
- icon bg top
- figures
- text 'R' 296 152 color 0 18 bold;
- end;
- implementation eq
- parameters
- real r = 1000;
- equations
- p.e = r * p.f;
- implementation_end;
- R4 239.8 288.2
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:6:54</TimeStamp>
- </Description>';
- type 'R-2'
- ports
- power in p [2,1];
- end;
- icon bg bottom
- figures
- text 'R' 239.8 288.2 color 0 18 bold;
- end;
- implementation eq
- parameters
- real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
- equations
- p.e = r * p.f;
- implementation_end;
- R5 239.8 168.2
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
- <TimeStamp>2007-9-25 12:11:54</TimeStamp>
- </Description>';
- type 'R-3'
- ports
- power in p [3,1];
- end;
- icon bg top
- figures
- text 'R' 239.8 168.2 color 0 18 bold;
- end;
- implementation eq
- parameters
- real r[3,3] = [1.0, 0.0, 0.0; 0.0, 1.0, 0.0; 0.0, 0.0, 1.0] {kN.s/m};
- equations
- p.e = r * p.f;
- implementation_end;
- end;
- connections
- C\p <= OneJunction8\p;
- C1\p <= OneJunction7\p;
- OneJunction5\p => C4\p;
- OneJunction5\p => PowerMux\input_rot2;
- OneJunction5\p => R4\p;
- OneJunction7\p => PowerMux\input_pos3;
- OneJunction7\p => R5\p;
- OneJunction8\p => PowerMux\input;
- PowerMux\output => output;
- R\p <= OneJunction8\p;
- end;
- implementation_end;
- Link1 704 136
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <TimeStamp>2020-7-21 11:14:41</TimeStamp>
- <AllowLibraryUpdate>False</AllowLibraryUpdate>
- </Description>
- </Information>';
- type 'Submodel-Equation'
- ports
- signal in Hin [4,4];
- signal out Hout [4,4];
- power in Pin [6,1];
- power out Pout [6,1];
- restrictions
- causality constraint not_equal Pin Pout;
- end;
- icon bg bottom
- figures
- rectangle 672 112 736 160 color 0 fill 8454041;
- text 'Link' 704 136 color 0 'Clear Sans' 16;
- terminals
- Hin 672 152 fixed;
- Hout 736 152 fixed;
- Pin 736 120 fixed;
- Pout 672 120 fixed;
- end;
- implementation eq
- parameters
- real offset[6]= [0;0;0;0;0.025;0]; //coordinates of joint_1
- variables
- real Hab[4,4];
- real AdHab[6,6];
- real R[3,3];
- real omega[3];
- initialequations
- omega = offset[1:3];
- R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
- Hab = homogeneous(R,offset[4:6]);
- AdHab = Adjoint(Hab);
- equations
- Hout = Hin * Hab;
- Pout.e = transpose(AdHab) * Pin.e;
- Pin.f = AdHab * Pout.f;
-
- implementation_end;
- Link10 872 136
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <TimeStamp>2020-7-21 11:14:41</TimeStamp>
- <AllowLibraryUpdate>False</AllowLibraryUpdate>
- </Description>
- </Information>';
- type 'Submodel-Equation'
- ports
- signal in Hin [4,4];
- signal out Hout [4,4];
- power in Pin [6,1];
- power out Pout [6,1];
- restrictions
- causality constraint not_equal Pin Pout;
- end;
- icon bg bottom
- figures
- rectangle 840 112 904 160 color 0 fill 8454041;
- text 'Link' 872 136 color 0 'Clear Sans' 16;
- terminals
- Hin 840 152 fixed;
- Hout 904 152 fixed;
- Pin 904 120 fixed;
- Pout 840 120 fixed;
- end;
- implementation eq
- parameters
- real offset[6]= [0;0;0;0;0.0125;0]; //coordinates of joint_1
- variables
- real Hab[4,4];
- real AdHab[6,6];
- real R[3,3];
- real omega[3];
- initialequations
- omega = offset[1:3];
- R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
- Hab = homogeneous(R,offset[4:6]);
- AdHab = Adjoint(Hab);
- equations
- Hout = Hin * Hab;
- Pout.e = transpose(AdHab) * Pin.e;
- Pin.f = AdHab * Pout.f;
-
- implementation_end;
- Link2 544 136
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <TimeStamp>2020-7-21 11:14:41</TimeStamp>
- <AllowLibraryUpdate>False</AllowLibraryUpdate>
- </Description>
- </Information>';
- type 'Submodel-Equation'
- ports
- signal in Hin [4,4];
- signal out Hout [4,4];
- power in Pin [6,1];
- power out Pout [6,1];
- restrictions
- causality constraint not_equal Pin Pout;
- end;
- icon bg bottom
- figures
- rectangle 512 112 576 160 color 0 fill 8454041;
- text 'Link' 544 136 color 0 'Clear Sans' 16;
- terminals
- Hin 576 152 fixed;
- Hout 512 152 fixed;
- Pin 512 120 fixed;
- Pout 576 120 fixed;
- end;
- implementation eq
- parameters
- real offset[6]= [0;0;0;0;-0.025;0]; //coordinates of joint_1
- variables
- real Hab[4,4];
- real AdHab[6,6];
- real R[3,3];
- real omega[3];
- initialequations
- omega = offset[1:3];
- R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
- Hab = homogeneous(R,offset[4:6]);
- AdHab = Adjoint(Hab);
- equations
- Hout = Hin * Hab;
- Pout.e = transpose(AdHab) * Pin.e;
- Pin.f = AdHab * Pout.f;
-
- implementation_end;
- Link3 432 448
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <TimeStamp>2020-7-21 11:14:41</TimeStamp>
- <AllowLibraryUpdate>False</AllowLibraryUpdate>
- </Description>
- </Information>';
- type 'Submodel-Equation'
- ports
- signal in Hin [4,4];
- signal out Hout [4,4];
- power in Pin [6,1];
- power out Pout [6,1];
- restrictions
- causality constraint not_equal Pin Pout;
- end;
- icon bg bottom
- figures
- rectangle 408 416 456 480 color 0 fill 8454041;
- text 'Link' 432 448 color 0 'Clear Sans' 16;
- terminals
- Hin 448 416 fixed;
- Hout 448 480 fixed;
- Pin 416 480 fixed;
- Pout 416 416 fixed;
- end;
- implementation eq
- parameters
- real offset[6]= [0;0;0;0;0;-0.0325]; //coordinates of joint_1
- variables
- real Hab[4,4];
- real AdHab[6,6];
- real R[3,3];
- real omega[3];
- initialequations
- omega = offset[1:3];
- R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
- Hab = homogeneous(R,offset[4:6]);
- AdHab = Adjoint(Hab);
- equations
- Hout = Hin * Hab;
- Pout.e = transpose(AdHab) * Pin.e;
- Pin.f = AdHab * Pout.f;
-
- implementation_end;
- Link4 632 304
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <TimeStamp>2020-7-21 11:14:41</TimeStamp>
- <AllowLibraryUpdate>False</AllowLibraryUpdate>
- </Description>
- </Information>';
- type 'Submodel-Equation'
- ports
- signal in Hin [4,4];
- signal out Hout [4,4];
- power in Pin [6,1];
- power out Pout [6,1];
- restrictions
- causality constraint not_equal Pin Pout;
- end;
- icon bg bottom
- figures
- rectangle 608 272 656 336 color 0 fill 8454041;
- text 'Link' 632 304 color 0 'Clear Sans' 16;
- terminals
- Hin 648 336 fixed;
- Hout 648 272 fixed;
- Pin 616 272 fixed;
- Pout 616 336 fixed;
- end;
- implementation eq
- parameters
- real offset[6]= [0;0;0;0;0;0.0325]; //coordinates of joint_1
- variables
- real Hab[4,4];
- real AdHab[6,6];
- real R[3,3];
- real omega[3];
- initialequations
- omega = offset[1:3];
- R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
- Hab = homogeneous(R,offset[4:6]);
- AdHab = Adjoint(Hab);
- equations
- Hout = Hin * Hab;
- Pout.e = transpose(AdHab) * Pin.e;
- Pin.f = AdHab * Pout.f;
-
- implementation_end;
- Link5 840 616
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <TimeStamp>2020-7-21 11:14:41</TimeStamp>
- <AllowLibraryUpdate>False</AllowLibraryUpdate>
- </Description>
- </Information>';
- type 'Submodel-Equation'
- ports
- signal in Hin [4,4];
- signal out Hout [4,4];
- power in Pin [6,1];
- power out Pout [6,1];
- restrictions
- causality constraint not_equal Pin Pout;
- end;
- icon bg bottom
- figures
- rectangle 808 592 872 640 color 0 fill 8454041;
- text 'Link' 840 616 color 0 'Clear Sans' 16;
- terminals
- Hin 872 600 fixed;
- Hout 808 600 fixed;
- Pin 808 632 fixed;
- Pout 872 632 fixed;
- end;
- implementation eq
- parameters
- real offset[6]= [0;0;0;0;-0.0125;0]; //coordinates of joint_1
- variables
- real Hab[4,4];
- real AdHab[6,6];
- real R[3,3];
- real omega[3];
- initialequations
- omega = offset[1:3];
- R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
- Hab = homogeneous(R,offset[4:6]);
- AdHab = Adjoint(Hab);
- equations
- Hout = Hin * Hab;
- Pout.e = transpose(AdHab) * Pin.e;
- Pin.f = AdHab * Pout.f;
-
- implementation_end;
- Link6 432 304
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <TimeStamp>2020-7-21 11:14:41</TimeStamp>
- <AllowLibraryUpdate>False</AllowLibraryUpdate>
- </Description>
- </Information>';
- type 'Submodel-Equation'
- ports
- signal in Hin [4,4];
- signal out Hout [4,4];
- power in Pin [6,1];
- power out Pout [6,1];
- restrictions
- causality constraint not_equal Pin Pout;
- end;
- icon bg bottom
- figures
- rectangle 408 272 456 336 color 0 fill 8454041;
- text 'Link' 432 304 color 0 'Clear Sans' 16;
- terminals
- Hin 448 272 fixed;
- Hout 448 336 fixed;
- Pin 416 336 fixed;
- Pout 416 272 fixed;
- end;
- implementation eq
- parameters
- real offset[6]= [0;0;0;0;0;-0.0325]; //coordinates of joint_1
- variables
- real Hab[4,4];
- real AdHab[6,6];
- real R[3,3];
- real omega[3];
- initialequations
- omega = offset[1:3];
- R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
- Hab = homogeneous(R,offset[4:6]);
- AdHab = Adjoint(Hab);
- equations
- Hout = Hin * Hab;
- Pout.e = transpose(AdHab) * Pin.e;
- Pin.f = AdHab * Pout.f;
-
- implementation_end;
- Link7 704 616
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <TimeStamp>2020-7-21 11:14:41</TimeStamp>
- <AllowLibraryUpdate>False</AllowLibraryUpdate>
- </Description>
- </Information>';
- type 'Submodel-Equation'
- ports
- signal in Hin [4,4];
- signal out Hout [4,4];
- power in Pin [6,1];
- power out Pout [6,1];
- restrictions
- causality constraint not_equal Pin Pout;
- end;
- icon bg bottom
- figures
- rectangle 672 592 736 640 color 0 fill 8454041;
- text 'Link' 704 616 color 0 'Clear Sans' 16;
- terminals
- Hin 736 600 fixed;
- Hout 672 600 fixed;
- Pin 672 632 fixed;
- Pout 736 632 fixed;
- end;
- implementation eq
- parameters
- real offset[6]= [0;0;0;0;-0.0125;0]; //coordinates of joint_1
- variables
- real Hab[4,4];
- real AdHab[6,6];
- real R[3,3];
- real omega[3];
- initialequations
- omega = offset[1:3];
- R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
- Hab = homogeneous(R,offset[4:6]);
- AdHab = Adjoint(Hab);
- equations
- Hout = Hin * Hab;
- Pout.e = transpose(AdHab) * Pin.e;
- Pin.f = AdHab * Pout.f;
-
- implementation_end;
- Link8 976 136
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <TimeStamp>2020-7-21 11:14:41</TimeStamp>
- <AllowLibraryUpdate>False</AllowLibraryUpdate>
- </Description>
- </Information>';
- type 'Submodel-Equation'
- ports
- signal in Hin [4,4];
- signal out Hout [4,4];
- power in Pin [6,1];
- power out Pout [6,1];
- restrictions
- causality constraint not_equal Pin Pout;
- end;
- icon bg bottom
- figures
- rectangle 944 112 1008 160 color 0 fill 8454041;
- text 'Link' 976 136 color 0 'Clear Sans' 16;
- terminals
- Hin 944 152 fixed;
- Hout 1008 152 fixed;
- Pin 1008 120 fixed;
- Pout 944 120 fixed;
- end;
- implementation eq
- parameters
- real offset[6]= [0;0;0;0;0.0125;0]; //coordinates of joint_1
- variables
- real Hab[4,4];
- real AdHab[6,6];
- real R[3,3];
- real omega[3];
- initialequations
- omega = offset[1:3];
- R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
- Hab = homogeneous(R,offset[4:6]);
- AdHab = Adjoint(Hab);
- equations
- Hout = Hin * Hab;
- Pout.e = transpose(AdHab) * Pin.e;
- Pin.f = AdHab * Pout.f;
-
- implementation_end;
- Link9 632 448
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <TimeStamp>2020-7-21 11:14:41</TimeStamp>
- <AllowLibraryUpdate>False</AllowLibraryUpdate>
- </Description>
- </Information>';
- type 'Submodel-Equation'
- ports
- signal in Hin [4,4];
- signal out Hout [4,4];
- power in Pin [6,1];
- power out Pout [6,1];
- restrictions
- causality constraint not_equal Pin Pout;
- end;
- icon bg bottom
- figures
- rectangle 608 416 656 480 color 0 fill 8454041;
- text 'Link' 632 448 color 0 'Clear Sans' 16;
- terminals
- Hin 648 480 fixed;
- Hout 648 416 fixed;
- Pin 616 416 fixed;
- Pout 616 480 fixed;
- end;
- implementation eq
- parameters
- real offset[6]= [0;0;0;0;0;0.0325]; //coordinates of joint_1
- variables
- real Hab[4,4];
- real AdHab[6,6];
- real R[3,3];
- real omega[3];
- initialequations
- omega = offset[1:3];
- R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
- Hab = homogeneous(R,offset[4:6]);
- AdHab = Adjoint(Hab);
- equations
- Hout = Hin * Hab;
- Pout.e = transpose(AdHab) * Pin.e;
- Pin.f = AdHab * Pout.f;
-
- implementation_end;
- Negate1 320 672
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Signal\Block Diagram\Negate.emx</LibraryPath>
- <TimeStamp>2007-9-26 12:14:11</TimeStamp>
- </Description>';
- type Negate
- ports
- signal in input;
- signal out output;
- end;
- icon bg bottom
- figures
- rectangle 304 656 336 688 color 0 fill 15132390;
- text '-1' 320 672 color 16711680 16 bold;
- end;
- implementation eq
- equations
- output = - input;
- implementation_end;
- OneJunction1 760 632
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- power knot duplicatable none p [6,1];
- signal knot out flow [6,1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 760 632 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- OneJunction2 416 392
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- power knot duplicatable none p [6,1];
- signal knot out flow [6,1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 416 392 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- OneJunction3 616 120
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- power knot duplicatable none p [6,1];
- signal knot out flow [6,1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 616 120 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- OneJunction4 616 392
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- power knot duplicatable none p [6,1];
- signal knot out flow [6,1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 616 392 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- OneJunction5 416 584
- description '<Information>
- <Description>
- <Version>4.2</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
- <TimeStamp>2011-11-29 16:17:51</TimeStamp>
- </Description>
- </Information>';
- knot OneJunction
- ports
- power knot duplicatable none p [6,1];
- signal knot out flow [6,1];
- restrictions
- causality constraint one_out p;
- end;
- icon bg
- figures
- text '1' 416 584 color 0 18 bold;
- end;
- implementation eq
- equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
- implementation_end;
- rectanglepath 152 744
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <LibraryPath>setpoint\rectanglepath.emx</LibraryPath>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <TimeStamp>2020-7-10 12:30:38</TimeStamp>
- <AllowLibraryUpdate>False</AllowLibraryUpdate>
- </Description>
- </Information>';
- 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};
- 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 792 600
- description '<Description><Version>4.0</Version>
- <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
- <TimeStamp>2008-01-17 11:28:29</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- </Description>';
- knot Splitter
- ports
- signal knot duplicatable out output [4,4];
- signal knot in input [4,4];
- end;
- icon bg ellipse
- figures
- ellipse 788.8 596.8 795.2 603.2 color -1 fill 0;
- ellipse 787.7 595.7 796.3 604.3 color -1;
- terminals
- input 792 600 fixed;
- end;
- implementation eq
- equations
- collect (output) = input;
- implementation_end;
- Splitter2 448 360
- description '<Description><Version>4.0</Version>
- <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
- <TimeStamp>2008-01-17 11:28:29</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- </Description>';
- knot Splitter
- ports
- signal knot duplicatable out output [4,4];
- signal knot in input [4,4];
- end;
- icon bg ellipse
- figures
- ellipse 444.8 356.8 451.2 363.2 color -1 fill 0;
- ellipse 443.7 355.7 452.3 364.3 color -1;
- terminals
- input 448 360 fixed;
- end;
- implementation eq
- equations
- collect (output) = input;
- implementation_end;
- Splitter3 648 360
- description '<Description><Version>4.0</Version>
- <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
- <TimeStamp>2008-01-17 11:28:29</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- </Description>';
- knot Splitter
- ports
- signal knot duplicatable out output [4,4];
- signal knot in input [4,4];
- end;
- icon bg ellipse
- figures
- ellipse 644.8 356.8 651.2 363.2 color -1 fill 0;
- ellipse 643.7 355.7 652.3 364.3 color -1;
- terminals
- input 648 360 fixed;
- end;
- implementation eq
- equations
- collect (output) = input;
- implementation_end;
- Splitter4 648 152
- description '<Description><Version>4.0</Version>
- <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
- <TimeStamp>2008-01-17 11:28:29</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- </Description>';
- knot Splitter
- ports
- signal knot duplicatable out output [4,4];
- signal knot in input [4,4];
- end;
- icon bg ellipse
- figures
- ellipse 644.8 148.8 651.2 155.2 color -1 fill 0;
- ellipse 643.7 147.7 652.3 156.3 color -1;
- terminals
- input 648 152 fixed;
- end;
- implementation eq
- equations
- collect (output) = input;
- implementation_end;
- Splitter5 448 152
- description '<Description><Version>4.0</Version>
- <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
- <TimeStamp>2008-01-17 11:28:29</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- </Description>';
- knot Splitter
- ports
- signal knot duplicatable out output [4,4];
- signal knot in input [4,4];
- end;
- icon bg ellipse
- figures
- ellipse 444.8 148.8 451.2 155.2 color -1 fill 0;
- ellipse 443.7 147.7 452.3 156.3 color -1;
- terminals
- input 448 152 fixed;
- end;
- implementation eq
- equations
- collect (output) = input;
- implementation_end;
- Splitter6 896 600
- description '<Description><Version>4.0</Version>
- <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
- <TimeStamp>2008-01-17 11:28:29</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- </Description>';
- knot Splitter
- ports
- signal knot duplicatable out output [4,4];
- signal knot in input [4,4];
- end;
- icon bg ellipse
- figures
- ellipse 892.8 596.8 899.2 603.2 color -1 fill 0;
- ellipse 891.7 595.7 900.3 604.3 color -1;
- terminals
- input 896 600 fixed;
- end;
- implementation eq
- equations
- collect (output) = input;
- implementation_end;
- Splitter7 648 496
- description '<Description><Version>4.0</Version>
- <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
- <TimeStamp>2008-01-17 11:28:29</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- </Description>';
- knot Splitter
- ports
- signal knot duplicatable out output [4,4];
- signal knot in input [4,4];
- end;
- icon bg ellipse
- figures
- ellipse 644.8 492.8 651.2 499.2 color -1 fill 0;
- ellipse 643.7 491.7 652.3 500.3 color -1;
- terminals
- input 648 496 fixed;
- end;
- implementation eq
- equations
- collect (output) = input;
- implementation_end;
- Splitter8 448 496
- description '<Description><Version>4.0</Version>
- <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
- <TimeStamp>2008-01-17 11:28:29</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- </Description>';
- knot Splitter
- ports
- signal knot duplicatable out output [4,4];
- signal knot in input [4,4];
- end;
- icon bg ellipse
- figures
- ellipse 444.8 492.8 451.2 499.2 color -1 fill 0;
- ellipse 443.7 491.7 452.3 500.3 color -1;
- terminals
- input 448 496 fixed;
- end;
- implementation eq
- equations
- collect (output) = input;
- implementation_end;
- Splitter9 920 152
- description '<Description><Version>4.0</Version>
- <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
- <TimeStamp>2008-01-17 11:28:29</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- </Description>';
- knot Splitter
- ports
- signal knot duplicatable out output [4,4];
- signal knot in input [4,4];
- end;
- icon bg ellipse
- figures
- ellipse 916.8 148.8 923.2 155.2 color -1 fill 0;
- ellipse 915.7 147.7 924.3 156.3 color -1;
- terminals
- input 920 152 fixed;
- end;
- implementation eq
- equations
- collect (output) = input;
- implementation_end;
- stepper_control 320 608
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <IsMainModel>1</IsMainModel>
- <LibraryPath>Motor\stepper_control.emx</LibraryPath>
- <TimeStamp>2020-7-23 10:55:26</TimeStamp>
- </Description>
- </Information>';
- type Submodel
- ports
- signal in setpoint {rad} ;
- signal out output {rad} ;
- end;
- icon bg bottom
- figures
- rectangle 264 592 376 624 color 0 fill 15132390;
- text 'name' 320 608 color 0 'Clear Sans' 16;
- end;
- implementation bg
- submodels
- Acceleration_int 648 336
- description '<Information>
- <Description>
- <Version>4.3</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
- <TimeStamp>2013-3-8 14:47:42</TimeStamp>
- </Description>
- </Information>';
- type Integrate
- ports
- signal in input;
- signal out output;
- end;
- icon bg bottom
- figures
- rectangle 632 320 664 352 color 0 fill 15132390;
- text '∫' 648 336.3 color 16711680 'Lucida Sans' 21 italic;
- end;
- implementation eq
- parameters
- real initial = 0; // initial value
- equations
- output = int (input, initial);
- implementation_end;
- Acceleration_limit 568 336
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
- <TimeStamp>2007-9-26 12:47:40</TimeStamp>
- </Description>';
- type 'SignalLimiter-Limit'
- ports
- signal in input;
- signal out output;
- end;
- icon bg bottom
- figures
- group
- rectangle 552 320 584 352 color 0 fill 15132390;
- line 567.9 324.5 567.9 349 color 0 fill 15132390;
- line 555 336.2 580.7 336.2 color 0 fill 15132390;
- spline 561.9 343.1 573.9 329.4 color 16711680 fill 15132390 width 2;
- spline 573.3 330.2 581.9 329.8 color 16711680 fill 15132390 width 2;
- spline 555 343.6 561.9 343.1 color 16711680 fill 15132390 width 2;
- end;
- end;
- implementation eq
- parameters
- real maximum = 20;
- real minimum = -20;
- equations
- output = limit (input, minimum, maximum);
- implementation_end;
- plug setpoint 136 336;
- plug output 791 336;
- PlusMinus1 240 336
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
- <TimeStamp>2007-9-27 10:15:13</TimeStamp>
- </Description>';
- knot PlusMinus
- ports
- signal knot duplicatable in plus [1];
- signal knot duplicatable in minus [1];
- signal knot out output [1];
- end;
- icon bg ellipse
- figures
- ellipse 232 328 248 344 color 0 fill 16777215;
- end;
- implementation eq
- equations
- output = sum (collect (plus)) - sum (collect (minus));
- implementation_end;
- PlusMinus2 432 336
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
- <TimeStamp>2007-9-27 10:15:13</TimeStamp>
- </Description>';
- knot PlusMinus
- ports
- signal knot duplicatable in plus [1];
- signal knot duplicatable in minus [1];
- signal knot out output [1];
- end;
- icon bg ellipse
- figures
- ellipse 424 328 440 344 color 0 fill 16777215;
- end;
- implementation eq
- equations
- output = sum (collect (plus)) - sum (collect (minus));
- implementation_end;
- Position_control 296 336
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Signal\Control\PID Control\Continuous\PD.emx</LibraryPath>
- <TimeStamp>2008-1-17 10:49:7</TimeStamp>
- </Description>';
- type PD
- ports
- signal in error;
- signal out output;
- end;
- icon bg bottom
- figures
- rectangle 280 320 312 352 color 0 fill 15132390;
- text 'PD' 296.5 336.1 color 16711680 18 bold;
- end;
- implementation eq
- parameters
- real kp = 4 {}; // Proportional gain
- real tauD = 100 {s}; // Derivative time constant: tauD > 0
- real beta = 0.4 {}; // Tameness constant: 0 < beta << 1
- variables
- real state, rate;
- equations
- rate = (kp * error - output) / (beta * tauD);
- state = int (rate);
- output = state + kp * error / beta;
- implementation_end;
- Splitter3 688 336
- description '<Description><Version>4.0</Version>
- <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
- <TimeStamp>2008-01-17 11:28:29</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- </Description>';
- knot Splitter
- ports
- signal knot duplicatable out output [1];
- signal knot in input [1];
- end;
- icon bg ellipse
- figures
- ellipse 684.8 332.8 691.2 339.2 color -1 fill 0;
- ellipse 683.7 331.7 692.3 340.3 color -1;
- terminals
- input 688 336 fixed;
- end;
- implementation eq
- equations
- collect (output) = input;
- implementation_end;
- Splitter4 752 336
- description '<Description><Version>4.0</Version>
- <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
- <TimeStamp>2008-01-17 11:28:29</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- </Description>';
- knot Splitter
- ports
- signal knot duplicatable out output [1];
- signal knot in input [1];
- end;
- icon bg ellipse
- figures
- ellipse 748.8 332.8 755.2 339.2 color -1 fill 0;
- ellipse 747.7 331.7 756.3 340.3 color -1;
- terminals
- input 752 336 fixed;
- end;
- implementation eq
- equations
- collect (output) = input;
- implementation_end;
- Velocity_control 480 336
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Signal\Control\PID Control\Continuous\PD.emx</LibraryPath>
- <TimeStamp>2008-1-17 10:49:7</TimeStamp>
- </Description>';
- type PD
- ports
- signal in error;
- signal out output;
- end;
- icon bg bottom
- figures
- rectangle 464 320 496 352 color 0 fill 15132390;
- text 'PD' 480.5 336.1 color 16711680 18 bold;
- end;
- implementation eq
- parameters
- real kp = 12 {}; // Proportional gain
- real tauD = 10 {s}; // Derivative time constant: tauD > 0
- real beta = 0.4 {}; // Tameness constant: 0 < beta << 1
- variables
- real state, rate;
- equations
- rate = (kp * error - output) / (beta * tauD);
- state = int (rate);
- output = state + kp * error / beta;
- implementation_end;
- Velocity_int 720 336
- description '<Information>
- <Description>
- <Version>4.3</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
- <TimeStamp>2013-3-8 14:47:42</TimeStamp>
- </Description>
- </Information>';
- type Integrate
- ports
- signal in input;
- signal out output;
- end;
- icon bg bottom
- figures
- rectangle 704 320 736 352 color 0 fill 15132390;
- text '∫' 720 336.3 color 16711680 'Lucida Sans' 21 italic;
- end;
- implementation eq
- parameters
- real initial = -1.65; // initial value
- equations
- output = int (input, initial);
- implementation_end;
- Velocity_limit 376 336
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
- <TimeStamp>2007-9-26 12:47:40</TimeStamp>
- </Description>';
- type 'SignalLimiter-Limit'
- ports
- signal in input;
- signal out output;
- end;
- icon bg bottom
- figures
- group
- rectangle 360 320 392 352 color 0 fill 15132390;
- line 375.9 324.5 375.9 349 color 0 fill 15132390;
- line 363 336.2 388.7 336.2 color 0 fill 15132390;
- spline 369.9 343.1 381.9 329.4 color 16711680 fill 15132390 width 2;
- spline 381.3 330.2 389.9 329.8 color 16711680 fill 15132390 width 2;
- spline 363 343.6 369.9 343.1 color 16711680 fill 15132390 width 2;
- end;
- end;
- implementation eq
- parameters
- real maximum = 25;
- real minimum = -25;
- equations
- output = limit (input, minimum, maximum);
- implementation_end;
- end;
- connections
- Acceleration_int\output -> Splitter3\input;
- Acceleration_limit\output -> Acceleration_int\input;
- PlusMinus1\output -> Position_control\error;
- PlusMinus2\output -> Velocity_control\error;
- Position_control\output -> Velocity_limit\input;
- setpoint -> PlusMinus1\plus;
- Splitter3\output -> PlusMinus2\minus 688 288 432 288;
- Splitter3\output -> Velocity_int\input;
- Splitter4\output -> output;
- Splitter4\output -> PlusMinus1\minus 752 400 240 400;
- Velocity_control\output -> Acceleration_limit\input;
- Velocity_int\output -> Splitter4\input;
- Velocity_limit\output -> PlusMinus2\plus;
- end;
- implementation_end;
- stepper_control1 528 744
- description '<Information>
- <Description>
- <Version>4.8</Version>
- <IsMainModel>1</IsMainModel>
- <LibraryPath>Motor\stepper_control.emx</LibraryPath>
- <TimeStamp>2020-7-22 15:25:26</TimeStamp>
- </Description>
- </Information>';
- type Submodel
- ports
- signal in setpoint {rad} ;
- signal out output {rad} ;
- end;
- implementation bg
- submodels
- Acceleration_int 648 336
- description '<Information>
- <Description>
- <Version>4.3</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
- <TimeStamp>2013-3-8 14:47:42</TimeStamp>
- </Description>
- </Information>';
- type Integrate
- ports
- signal in input;
- signal out output;
- end;
- icon bg bottom
- figures
- rectangle 632 320 664 352 color 0 fill 15132390;
- text '∫' 648 336.3 color 16711680 'Lucida Sans' 21 italic;
- end;
- implementation eq
- parameters
- real initial = 0; // initial value
- equations
- output = int (input, initial);
- implementation_end;
- Acceleration_limit 568 336
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
- <TimeStamp>2007-9-26 12:47:40</TimeStamp>
- </Description>';
- type 'SignalLimiter-Limit'
- ports
- signal in input;
- signal out output;
- end;
- icon bg bottom
- figures
- group
- rectangle 552 320 584 352 color 0 fill 15132390;
- line 567.9 324.5 567.9 349 color 0 fill 15132390;
- line 555 336.2 580.7 336.2 color 0 fill 15132390;
- spline 561.9 343.1 573.9 329.4 color 16711680 fill 15132390 width 2;
- spline 573.3 330.2 581.9 329.8 color 16711680 fill 15132390 width 2;
- spline 555 343.6 561.9 343.1 color 16711680 fill 15132390 width 2;
- end;
- end;
- implementation eq
- parameters
- real maximum = 80;
- real minimum = -80;
- equations
- output = limit (input, minimum, maximum);
- implementation_end;
- plug setpoint 136 336;
- plug output 791 336;
- PlusMinus1 240 336
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
- <TimeStamp>2007-9-27 10:15:13</TimeStamp>
- </Description>';
- knot PlusMinus
- ports
- signal knot duplicatable in plus [1];
- signal knot duplicatable in minus [1];
- signal knot out output [1];
- end;
- icon bg ellipse
- figures
- ellipse 232 328 248 344 color 0 fill 16777215;
- end;
- implementation eq
- equations
- output = sum (collect (plus)) - sum (collect (minus));
- implementation_end;
- PlusMinus2 432 336
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
- <TimeStamp>2007-9-27 10:15:13</TimeStamp>
- </Description>';
- knot PlusMinus
- ports
- signal knot duplicatable in plus [1];
- signal knot duplicatable in minus [1];
- signal knot out output [1];
- end;
- icon bg ellipse
- figures
- ellipse 424 328 440 344 color 0 fill 16777215;
- end;
- implementation eq
- equations
- output = sum (collect (plus)) - sum (collect (minus));
- implementation_end;
- Position_control 296 336
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Signal\Control\PID Control\Continuous\PD.emx</LibraryPath>
- <TimeStamp>2008-1-17 10:49:7</TimeStamp>
- </Description>';
- type PD
- ports
- signal in error;
- signal out output;
- end;
- icon bg bottom
- figures
- rectangle 280 320 312 352 color 0 fill 15132390;
- text 'PD' 296.5 336.1 color 16711680 18 bold;
- end;
- implementation eq
- parameters
- real kp = 4 {}; // Proportional gain
- real tauD = 100 {s}; // Derivative time constant: tauD > 0
- real beta = 0.4 {}; // Tameness constant: 0 < beta << 1
- variables
- real state, rate;
- equations
- rate = (kp * error - output) / (beta * tauD);
- state = int (rate);
- output = state + kp * error / beta;
- implementation_end;
- Splitter3 688 336
- description '<Description><Version>4.0</Version>
- <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
- <TimeStamp>2008-01-17 11:28:29</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- </Description>';
- knot Splitter
- ports
- signal knot duplicatable out output [1];
- signal knot in input [1];
- end;
- icon bg ellipse
- figures
- ellipse 684.8 332.8 691.2 339.2 color -1 fill 0;
- ellipse 683.7 331.7 692.3 340.3 color -1;
- terminals
- input 688 336 fixed;
- end;
- implementation eq
- equations
- collect (output) = input;
- implementation_end;
- Splitter4 752 336
- description '<Description><Version>4.0</Version>
- <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
- <TimeStamp>2008-01-17 11:28:29</TimeStamp>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- </Description>';
- knot Splitter
- ports
- signal knot duplicatable out output [1];
- signal knot in input [1];
- end;
- icon bg ellipse
- figures
- ellipse 748.8 332.8 755.2 339.2 color -1 fill 0;
- ellipse 747.7 331.7 756.3 340.3 color -1;
- terminals
- input 752 336 fixed;
- end;
- implementation eq
- equations
- collect (output) = input;
- implementation_end;
- Velocity_control 480 336
- description '<Description>
- <Version>4.0</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Signal\Control\PID Control\Continuous\PD.emx</LibraryPath>
- <TimeStamp>2008-1-17 10:49:7</TimeStamp>
- </Description>';
- type PD
- ports
- signal in error;
- signal out output;
- end;
- icon bg bottom
- figures
- rectangle 464 320 496 352 color 0 fill 15132390;
- text 'PD' 480.5 336.1 color 16711680 18 bold;
- end;
- implementation eq
- parameters
- real kp = 12 {}; // Proportional gain
- real tauD = 10 {s}; // Derivative time constant: tauD > 0
- real beta = 0.4 {}; // Tameness constant: 0 < beta << 1
- variables
- real state, rate;
- equations
- rate = (kp * error - output) / (beta * tauD);
- state = int (rate);
- output = state + kp * error / beta;
- implementation_end;
- Velocity_int 720 336
- description '<Information>
- <Description>
- <Version>4.3</Version>
- <IsMainModel>1</IsMainModel>
- <KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
- <TimeStamp>2013-3-8 14:47:42</TimeStamp>
- </Description>
- </Information>';
- type Integrate
- ports
- signal in input;
- signal out output;
- end;
- icon bg bottom
- figures
- rectangle 704 320 736 352 color 0 fill 15132390;
- text '∫' 720 336.3 color 16711680 'Lucida Sans' 21 italic;
- end;
- implementation eq
- parameters
- real initial = 0; // initial value
- equations
- output = int (input, initial);
- implementation_end;
- Velocity_limit 376 336
- description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
- <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
- <TimeStamp>2007-9-26 12:47:40</TimeStamp>
- </Description>';
- type 'SignalLimiter-Limit'
- ports
- signal in input;
- signal out output;
- end;
- icon bg bottom
- figures
- group
- rectangle 360 320 392 352 color 0 fill 15132390;
- line 375.9 324.5 375.9 349 color 0 fill 15132390;
- line 363 336.2 388.7 336.2 color 0 fill 15132390;
- spline 369.9 343.1 381.9 329.4 color 16711680 fill 15132390 width 2;
- spline 381.3 330.2 389.9 329.8 color 16711680 fill 15132390 width 2;
- spline 363 343.6 369.9 343.1 color 16711680 fill 15132390 width 2;
- end;
- end;
- implementation eq
- parameters
- real maximum = 25;
- real minimum = -25;
- equations
- output = limit (input, minimum, maximum);
- implementation_end;
- end;
- connections
- Acceleration_int\output -> Splitter3\input;
- Acceleration_limit\output -> Acceleration_int\input;
- PlusMinus1\output -> Position_control\error;
- PlusMinus2\output -> Velocity_control\error;
- Position_control\output -> Velocity_limit\input;
- setpoint -> PlusMinus1\plus;
- Splitter3\output -> PlusMinus2\minus 688 288 432 288;
- Splitter3\output -> Velocity_int\input;
- Splitter4\output -> output;
- Splitter4\output -> PlusMinus1\minus 752 400 240 400;
- Velocity_control\output -> Acceleration_limit\input;
- Velocity_int\output -> Splitter4\input;
- Velocity_limit\output -> PlusMinus2\plus;
- end;
- implementation_end;
- end;
- connections
- COM_body3\p => OneJunction4\p;
- COM_body4\p => OneJunction3\p;
- COM_body5\p => Link8\Pin;
- Ground1\output -> JointC\Hin 1064 600;
- Ground1\p <= JointC\Pout 1032 632;
- inverse_kinematics\angle1 -> Negate1\input;
- inverse_kinematics\angle2 -> stepper_control1\setpoint;
- inverse_kinematics\input <- rectanglepath\output;
- Joint_dynB\output => JointB\Pdiff;
- Joint_dynC\output => JointC\Pdiff;
- Joint_dynD\output => JointD\Pdiff;
- Joint_dynE\output => JointE\Pdiff;
- Joint_dynF\output => JointF\Pdiff;
- JointA\Pdiff <= Joint_dynA\output;
- JointA\Pin <= OneJunction5\p;
- JointA\Pout => Link3\Pin;
- JointB\Hin <- Splitter5\output;
- JointB\Hout -> Link6\Hin;
- JointB\Pin <= Link6\Pout;
- JointB\Pout => Link2\Pin 416 120;
- JointC\Hout -> Splitter6\input;
- JointC\Pin <= Link5\Pout;
- JointD\Hin <- Link7\Hout 648 600;
- JointD\Hout -> Splitter7\input;
- JointD\Pin <= Link9\Pout;
- JointD\Pout => Link7\Pin 616 632;
- JointE\Hout -> Splitter4\input;
- JointE\Pout => Link4\Pin;
- JointF\Hout -> Link10\Hin;
- JointF\Pout => Link1\Pin;
- Link1\Hout -> JointF\Hin;
- Link10\Hout -> Splitter9\input;
- Link10\Pout => JointF\Pin;
- Link2\Pout => OneJunction3\p;
- Link3\Hout -> Splitter8\input;
- Link4\Hout -> JointE\Hin;
- Link5\Hout -> Splitter1\input;
- Link5\Pin <= OneJunction1\p;
- Link6\Hout -> Splitter2\input;
- Link6\Pin <= OneJunction2\p;
- Link8\Hout -> COM_body5\Hin;
- Link8\Pout => Link10\Pin;
- Link9\Hout -> Splitter3\input;
- Link9\Pin <= OneJunction4\p;
- Negate1\output -> stepper_control\setpoint;
- OneJunction1\p <= COM_body2\p;
- OneJunction1\p <= Link7\Pout;
- OneJunction2\p <= COM_body1\p;
- OneJunction2\p <= Link3\Pout;
- OneJunction3\p <= Link1\Pout;
- OneJunction3\p => JointE\Pin;
- OneJunction4\p <= Link4\Pout;
- OneJunction5\p => Ground2\p;
- Splitter1\output -> Body2\input;
- Splitter1\output -> COM_body2\Hin;
- Splitter1\output -> Link7\Hin;
- Splitter2\output -> COM_body1\Hin;
- Splitter2\output -> Link3\Hin;
- Splitter3\output -> COM_body3\Hin;
- Splitter3\output -> Link4\Hin;
- Splitter4\output -> Body4\input;
- Splitter4\output -> COM_body4\Hin;
- Splitter4\output -> Link1\Hin;
- Splitter4\output -> Link2\Hin;
- Splitter5\input <- Link2\Hout;
- Splitter6\output -> Link5\Hin;
- Splitter7\output -> Body3\input;
- Splitter7\output -> Link9\Hin;
- Splitter8\output -> Body1\input;
- Splitter8\output -> JointA\Hin;
- Splitter9\output -> Body5\input;
- Splitter9\output -> Link8\Hin;
- stepper_control\output -> Joint_dynA\angle;
- stepper_control1\output -> Joint_dynD\angle;
- end;
- implementation_end;
- ]]>
- </Sidops>
- </Model>
- <Experiments>
- <DefaultExperiment><![CDATA[Experiment 1]]>
- </DefaultExperiment>
- <Experiment>
- <Name>Experiment 1</Name>
- <CreatedBy></CreatedBy>
- <Info></Info>
- <ExpData>
- <VersionNumber>4.8</VersionNumber>
- <ModelProperties>
- </ModelProperties>
- <Variables>
- <Constants>
- </Constants>
- <Parameters>
- </Parameters>
- <Initials>
- <Variable>
- <Name>COM_body1\InertialTensor\state_initial</Name>
- <Rows>6</Rows>
- <Columns>1</Columns>
- <Value>0 0 0 0 0 0</Value>
- </Variable>
- <Variable>
- <Name>COM_body2\InertialTensor\state_initial</Name>
- <Rows>6</Rows>
- <Columns>1</Columns>
- <Value>0 0 0 0 0 0</Value>
- </Variable>
- <Variable>
- <Name>COM_body3\InertialTensor\state_initial</Name>
- <Rows>6</Rows>
- <Columns>1</Columns>
- <Value>0 0 0 0 0 0</Value>
- </Variable>
- <Variable>
- <Name>COM_body4\InertialTensor\state_initial</Name>
- <Rows>6</Rows>
- <Columns>1</Columns>
- <Value>0 0 0 0 0 0</Value>
- </Variable>
- <Variable>
- <Name>COM_body5\InertialTensor\state_initial</Name>
- <Rows>6</Rows>
- <Columns>1</Columns>
- <Value>0 0 0 0 0 0</Value>
- </Variable>
- <Variable>
- <Name>JointA\Hmatrix\p_initial</Name>
- <Rows>3</Rows>
- <Columns>1</Columns>
- <Value>0 0 0</Value>
- </Variable>
- <Variable>
- <Name>JointB\Hmatrix\p_initial</Name>
- <Rows>3</Rows>
- <Columns>1</Columns>
- <Value>0 0 0</Value>
- </Variable>
- <Variable>
- <Name>JointC\Hmatrix\p_initial</Name>
- <Rows>3</Rows>
- <Columns>1</Columns>
- <Value>0 0 0</Value>
- </Variable>
- <Variable>
- <Name>JointD\Hmatrix\p_initial</Name>
- <Rows>3</Rows>
- <Columns>1</Columns>
- <Value>0 0 0</Value>
- </Variable>
- <Variable>
- <Name>JointE\Hmatrix\p_initial</Name>
- <Rows>3</Rows>
- <Columns>1</Columns>
- <Value>0 0 0</Value>
- </Variable>
- <Variable>
- <Name>JointF\Hmatrix\p_initial</Name>
- <Rows>3</Rows>
- <Columns>1</Columns>
- <Value>0 0 0</Value>
- </Variable>
- <Variable>
- <Name>Joint_dynA\C1\state_initial</Name>
- <Rows>3</Rows>
- <Columns>1</Columns>
- <Value>0 0 0</Value>
- </Variable>
- <Variable>
- <Name>Joint_dynA\C4\state_initial</Name>
- <Rows>2</Rows>
- <Columns>1</Columns>
- <Value>0 0</Value>
- </Variable>
- <Variable>
- <Name>Joint_dynA\C\state_initial</Name>
- <Value>0</Value>
- </Variable>
- <Variable>
- <Name>Joint_dynA\stepper_model\I1\state_initial</Name>
- <Value>0</Value>
- </Variable>
- <Variable>
- <Name>Joint_dynA\stepper_model\I2\state_initial</Name>
- <Value>0</Value>
- </Variable>
- <Variable>
- <Name>Joint_dynA\stepper_model\I\state_initial</Name>
- <Value>0</Value>
- </Variable>
- <Variable>
- <Name>Joint_dynB\C1\state_initial</Name>
- <Rows>3</Rows>
- <Columns>1</Columns>
- <Value>0 0 0</Value>
- </Variable>
- <Variable>
- <Name>Joint_dynB\C4\state_initial</Name>
- <Rows>2</Rows>
- <Columns>1</Columns>
- <Value>0 0</Value>
- </Variable>
- <Variable>
- <Name>Joint_dynC\C1\state_initial</Name>
- <Rows>3</Rows>
- <Columns>1</Columns>
- <Value>0 0 0</Value>
- </Variable>
- <Variable>
- <Name>Joint_dynC\C4\state_initial</Name>
- <Rows>2</Rows>
- <Columns>1</Columns>
- <Value>0 0</Value>
- </Variable>
- <Variable>
- <Name>Joint_dynD\C1\state_initial</Name>
- <Rows>3</Rows>
- <Columns>1</Columns>
- <Value>0 0 0</Value>
- </Variable>
- <Variable>
- <Name>Joint_dynD\C4\state_initial</Name>
- <Rows>2</Rows>
- <Columns>1</Columns>
- <Value>0 0</Value>
- </Variable>
- <Variable>
- <Name>Joint_dynD\C\state_initial</Name>
- <Value>0</Value>
- </Variable>
- <Variable>
- <Name>Joint_dynD\stepper_model\I1\state_initial</Name>
- <Value>0</Value>
- </Variable>
- <Variable>
- <Name>Joint_dynD\stepper_model\I2\state_initial</Name>
- <Value>0</Value>
- </Variable>
- <Variable>
- <Name>Joint_dynD\stepper_model\I\state_initial</Name>
- <Value>0</Value>
- </Variable>
- <Variable>
- <Name>Joint_dynD\stepper_model\RotorAngle\angle_initial</Name>
- <Unit>rad</Unit>
- <Value>0</Value>
- </Variable>
- <Variable>
- <Name>Joint_dynE\C1\state_initial</Name>
- <Rows>3</Rows>
- <Columns>1</Columns>
- <Value>0 0 0</Value>
- </Variable>
- <Variable>
- <Name>Joint_dynE\C4\state_initial</Name>
- <Rows>2</Rows>
- <Columns>1</Columns>
- <Value>0 0</Value>
- </Variable>
- <Variable>
- <Name>Joint_dynF\C1\state_initial</Name>
- <Rows>3</Rows>
- <Columns>1</Columns>
- <Value>0 0 0</Value>
- </Variable>
- <Variable>
- <Name>Joint_dynF\C4\state_initial</Name>
- <Rows>2</Rows>
- <Columns>1</Columns>
- <Value>0 0</Value>
- </Variable>
- <Variable>
- <Name>Joint_dynF\C\state_initial</Name>
- <Value>0</Value>
- </Variable>
- <Variable>
- <Name>stepper_control1\Position_control\state_initial</Name>
- <Value>0</Value>
- </Variable>
- <Variable>
- <Name>stepper_control1\Velocity_control\state_initial</Name>
- <Value>0</Value>
- </Variable>
- <Variable>
- <Name>stepper_control\Position_control\state_initial</Name>
- <Value>0</Value>
- </Variable>
- <Variable>
- <Name>stepper_control\Velocity_control\state_initial</Name>
- <Value>0</Value>
- </Variable>
- </Initials>
- </Variables>
- <PlotSpecs>
- <VarNames>
- <VarName>time</VarName>
- <VarName>Body1\position[1]</VarName>
- <VarName>Body1\position[2]</VarName>
- <VarName>Body1\position[3]</VarName>
- <VarName>Body1\R[1,3]</VarName>
- <VarName>Body1\R[2,3]</VarName>
- <VarName>Body1\R[3,3]</VarName>
- <VarName>Body1\R[1,2]</VarName>
- <VarName>Body1\R[2,2]</VarName>
- <VarName>Body1\R[3,2]</VarName>
- <VarName>Body1\dimension[1]</VarName>
- <VarName>Body1\dimension[2]</VarName>
- <VarName>Body1\dimension[3]</VarName>
- <VarName>Body2\dimension[1]</VarName>
- <VarName>Body2\dimension[2]</VarName>
- <VarName>Body2\dimension[3]</VarName>
- <VarName>Body2\position[1]</VarName>
- <VarName>Body2\position[2]</VarName>
- <VarName>Body2\position[3]</VarName>
- <VarName>Body2\R[1,3]</VarName>
- <VarName>Body2\R[2,3]</VarName>
- <VarName>Body2\R[3,3]</VarName>
- <VarName>Body2\R[1,2]</VarName>
- <VarName>Body2\R[2,2]</VarName>
- <VarName>Body2\R[3,2]</VarName>
- <VarName>Body3\dimension[1]</VarName>
- <VarName>Body3\dimension[2]</VarName>
- <VarName>Body3\dimension[3]</VarName>
- <VarName>Body3\position[1]</VarName>
- <VarName>Body3\position[2]</VarName>
- <VarName>Body3\position[3]</VarName>
- <VarName>Body3\R[1,3]</VarName>
- <VarName>Body3\R[2,3]</VarName>
- <VarName>Body3\R[3,3]</VarName>
- <VarName>Body3\R[1,2]</VarName>
- <VarName>Body3\R[2,2]</VarName>
- <VarName>Body3\R[3,2]</VarName>
- <VarName>Body4\dimension[1]</VarName>
- <VarName>Body4\dimension[2]</VarName>
- <VarName>Body4\dimension[3]</VarName>
- <VarName>Body4\R[1,3]</VarName>
- <VarName>Body4\R[2,3]</VarName>
- <VarName>Body4\R[3,3]</VarName>
- <VarName>Body4\R[1,2]</VarName>
- <VarName>Body4\R[2,2]</VarName>
- <VarName>Body4\R[3,2]</VarName>
- <VarName>Body4\position[1]</VarName>
- <VarName>Body4\position[2]</VarName>
- <VarName>Body4\position[3]</VarName>
- <VarName>Body5\dimension[1]</VarName>
- <VarName>Body5\dimension[2]</VarName>
- <VarName>Body5\dimension[3]</VarName>
- <VarName>Body5\position[1]</VarName>
- <VarName>Body5\position[2]</VarName>
- <VarName>Body5\position[3]</VarName>
- <VarName>Body5\R[1,3]</VarName>
- <VarName>Body5\R[2,3]</VarName>
- <VarName>Body5\R[3,3]</VarName>
- <VarName>Body5\R[1,2]</VarName>
- <VarName>Body5\R[2,2]</VarName>
- <VarName>Body5\R[3,2]</VarName>
- <VarName>stepper_control\setpoint</VarName>
- <VarName>Joint_dynA\stepper_model\angle</VarName>
- <VarName>Joint_dynA\stepper_model\RotorAngle\angle</VarName>
- <VarName>stepper_control1\setpoint</VarName>
- <VarName>Joint_dynD\angle</VarName>
- <VarName>Joint_dynD\stepper_model\RotorAngle\angle</VarName>
- </VarNames>
- <Plots>
- <Plot>
- <PlotType>GraphPlot</PlotType>
- <BasePlot>
- <PlotId>1</PlotId>
- <UseWindowsBGColor>false</UseWindowsBGColor>
- <BGColor>16777215</BGColor>
- <PlotIsVisible>true</PlotIsVisible>
- </BasePlot>
- <Grid>
- <DrawGrid>true</DrawGrid>
- <GridColor>15780518</GridColor>
- <GridBorderLineColor>12624260</GridBorderLineColor>
- <GridZeroLineColor>0</GridZeroLineColor>
- <XTicks>10</XTicks>
- <YTicks>10</YTicks>
- <ZTicks>10</ZTicks>
- <Use3DLook>false</Use3DLook>
- </Grid>
- <PlotBGColor>16777215</PlotBGColor>
- <ShowPlotTitle>true</ShowPlotTitle>
- <TitlePosition>1</TitlePosition>
- <PlotTitle>StepperA</PlotTitle>
- <ShowXValues>true</ShowXValues>
- <Fonts>
- <TitleFont>
- <Name>Arial</Name>
- <Height>12</Height>
- <PitchFamily>34</PitchFamily>
- <Weight>400</Weight>
- <Italic>0</Italic>
- <UnderLine>0</UnderLine>
- <StrikeOut>0</StrikeOut>
- <Color>0</Color>
- </TitleFont>
- <LabelFont>
- <Name>Arial</Name>
- <Height>12</Height>
- <PitchFamily>34</PitchFamily>
- <Weight>400</Weight>
- <Italic>0</Italic>
- <UnderLine>0</UnderLine>
- <StrikeOut>0</StrikeOut>
- <Color>0</Color>
- </LabelFont>
- <ValuesFont>
- <Name>Arial</Name>
- <Height>10</Height>
- <PitchFamily>34</PitchFamily>
- <Weight>400</Weight>
- <Italic>0</Italic>
- <UnderLine>0</UnderLine>
- <StrikeOut>0</StrikeOut>
- <Color>0</Color>
- </ValuesFont>
- <LegendFont>
- <Name>Arial</Name>
- <Height>12</Height>
- <PitchFamily>34</PitchFamily>
- <Weight>400</Weight>
- <Italic>0</Italic>
- <UnderLine>0</UnderLine>
- <StrikeOut>0</StrikeOut>
- <Color>0</Color>
- </LegendFont>
- </Fonts>
- <SharedXAxis>true</SharedXAxis>
- <SharedYAxis>true</SharedYAxis>
- <SharedZAxis>false</SharedZAxis>
- <XAxes>
- <Axis>
- <Minimum>0.0</Minimum>
- <Maximum>5.823613498640715</Maximum>
- <Linear>true</Linear>
- <Scaling>3</Scaling>
- <Label>time</Label>
- </Axis>
- </XAxes>
- <YAxes>
- <Axis>
- <Minimum>-2.8</Minimum>
- <Maximum>-0.8</Maximum>
- <Linear>true</Linear>
- <Scaling>2</Scaling>
- <Label>setpoint</Label>
- </Axis>
- <Axis>
- <Minimum>-4.08637499341765</Minimum>
- <Maximum>0.0</Maximum>
- <Linear>true</Linear>
- <Scaling>2</Scaling>
- <Label>angle</Label>
- </Axis>
- <Axis>
- <Minimum>-4.08637499341765</Minimum>
- <Maximum>0.0</Maximum>
- <Linear>true</Linear>
- <Scaling>2</Scaling>
- <Label>angle</Label>
- </Axis>
- </YAxes>
- <ZAxes>
- </ZAxes>
- <Curves>
- <Curve>
- <LineColor>3355111</LineColor>
- <LineStyle>1</LineStyle>
- <TickColor>3355111</TickColor>
- <TickStyle>0</TickStyle>
- <CurveVisible>true</CurveVisible>
- <PixelThresshold>1</PixelThresshold>
- <LineThickness>1</LineThickness>
- <LineOrder>1</LineOrder>
- <ShowYValues>true</ShowYValues>
- <XCurveData>
- <ShowUnit>true</ShowUnit>
- <VarName>time</VarName>
- </XCurveData>
- <YCurveData>
- <ShowUnit>true</ShowUnit>
- <VarName>stepper_control\setpoint</VarName>
- </YCurveData>
- </Curve>
- <Curve>
- <LineColor>6076255</LineColor>
- <LineStyle>1</LineStyle>
- <TickColor>6076255</TickColor>
- <TickStyle>0</TickStyle>
- <CurveVisible>true</CurveVisible>
- <PixelThresshold>1</PixelThresshold>
- <LineThickness>1</LineThickness>
- <LineOrder>1</LineOrder>
- <ShowYValues>true</ShowYValues>
- <XCurveData>
- <ShowUnit>true</ShowUnit>
- <VarName>time</VarName>
- </XCurveData>
- <YCurveData>
- <ShowUnit>true</ShowUnit>
- <VarName>Joint_dynA\stepper_model\angle</VarName>
- </YCurveData>
- </Curve>
- <Curve>
- <LineColor>12553035</LineColor>
- <LineStyle>1</LineStyle>
- <TickColor>12553035</TickColor>
- <TickStyle>0</TickStyle>
- <CurveVisible>true</CurveVisible>
- <PixelThresshold>1</PixelThresshold>
- <LineThickness>1</LineThickness>
- <LineOrder>1</LineOrder>
- <ShowYValues>true</ShowYValues>
- <XCurveData>
- <ShowUnit>true</ShowUnit>
- <VarName>time</VarName>
- </XCurveData>
- <YCurveData>
- <ShowUnit>true</ShowUnit>
- <VarName>Joint_dynA\stepper_model\RotorAngle\angle</VarName>
- </YCurveData>
- </Curve>
- </Curves>
- <Legenda>
- <ShowLegenda>true</ShowLegenda>
- <BorderPenColor>0</BorderPenColor>
- <BackgroundColor>16777215</BackgroundColor>
- </Legenda>
- </Plot>
- <Plot>
- <PlotType>D3DPlot</PlotType>
- <BasePlot>
- <PlotId>2</PlotId>
- <UseWindowsBGColor>false</UseWindowsBGColor>
- <BGColor>16777215</BGColor>
- <PlotIsVisible>true</PlotIsVisible>
- </BasePlot>
- <PlotTitle>3D Animation</PlotTitle>
- <RenderQuality>137</RenderQuality>
- <ShowGrid>true</ShowGrid>
- <ShowFPS>false</ShowFPS>
- <BackgroundColor>4294967295</BackgroundColor>
- <SceneBackgroundImage>Gradients\BlueWhite.png</SceneBackgroundImage>
- <ApplyTextureBackground>true</ApplyTextureBackground>
- <FrameScale>1.0</FrameScale>
- <FrameThickness>1.0</FrameThickness>
- <MainFrame>
- <Frame>
- <ScaleValue>
- <X>
- <Value>1</Value>
- </X>
- <Y>
- <Value>1</Value>
- </Y>
- <Z>
- <Value>1</Value>
- </Z>
- </ScaleValue>
- <ShowReferenceFrame>true</ShowReferenceFrame>
- <Name>Reference Frame</Name>
- <Position>
- </Position>
- <Orientation>
- <Angles>
- </Angles>
- <OrientationType>Bryant</OrientationType>
- </Orientation>
- <LockX>false</LockX>
- <LockY>false</LockY>
- <LockZ>false</LockZ>
- <LockXPitch>false</LockXPitch>
- <LockYYaw>false</LockYYaw>
- <LockZRoll>false</LockZRoll>
- <Childs>
- <Frame>
- <ScaleValue>
- <X>
- <Value>1</Value>
- </X>
- <Y>
- <Value>1</Value>
- </Y>
- <Z>
- <Value>1</Value>
- </Z>
- </ScaleValue>
- <ShowReferenceFrame>false</ShowReferenceFrame>
- <Name>Default Lights and Cameras</Name>
- <Position>
- </Position>
- <Orientation>
- <Angles>
- </Angles>
- <OrientationType>Bryant</OrientationType>
- </Orientation>
- <LockX>false</LockX>
- <LockY>false</LockY>
- <LockZ>false</LockZ>
- <LockXPitch>false</LockXPitch>
- <LockYYaw>false</LockYYaw>
- <LockZRoll>false</LockZRoll>
- <Childs>
- <Light>
- <ShowReferenceFrame>false</ShowReferenceFrame>
- <Name>Ambient</Name>
- <Position>
- </Position>
- <Orientation>
- <ZAxis>
- <Z>
- <Value>1</Value>
- </Z>
- </ZAxis>
- <YAxis>
- <Y>
- <Value>1</Value>
- </Y>
- </YAxis>
- <OrientationType>Direct3D</OrientationType>
- </Orientation>
- <LockX>false</LockX>
- <LockY>false</LockY>
- <LockZ>false</LockZ>
- <LockXPitch>false</LockXPitch>
- <LockYYaw>false</LockYYaw>
- <LockZRoll>false</LockZRoll>
- <Childs>
- </Childs>
- <LightType>0</LightType>
- <LightColor>
- <Color>
- <X>
- <Value>0.3</Value>
- </X>
- <Y>
- <Value>0.3</Value>
- </Y>
- <Z>
- <Value>0.3</Value>
- </Z>
- </Color>
- <Offset>
- </Offset>
- <Multipliers>
- <X>
- <Value>1</Value>
- </X>
- <Y>
- <Value>1</Value>
- </Y>
- <Z>
- <Value>1</Value>
- </Z>
- </Multipliers>
- <Direct3DColorRange>true</Direct3DColorRange>
- </LightColor>
- <AmbientLight>
- <Color>
- <X>
- <Value>0.3</Value>
- </X>
- <Y>
- <Value>0.3</Value>
- </Y>
- <Z>
- <Value>0.3</Value>
- </Z>
- </Color>
- <Offset>
- </Offset>
- <Multipliers>
- <X>
- <Value>1</Value>
- </X>
- <Y>
- <Value>1</Value>
- </Y>
- <Z>
- <Value>1</Value>
- </Z>
- </Multipliers>
- <Direct3DColorRange>true</Direct3DColorRange>
- </AmbientLight>
- <AmbientOn>true</AmbientOn>
- <DiffuseOn>false</DiffuseOn>
- <SpecularOn>false</SpecularOn>
- </Light>
- <Light>
- <ShowReferenceFrame>false</ShowReferenceFrame>
- <Name>Parallel</Name>
- <Position>
- <X>
- <Value>-3</Value>
- </X>
- <Y>
- <Value>5</Value>
- </Y>
- <Z>
- <Value>3</Value>
- </Z>
- </Position>
- <Orientation>
- <ZAxis>
- <X>
- <Value>0.457495710997814</Value>
- </X>
- <Y>
- <Value>-0.762492851663023</Value>
- </Y>
- <Z>
- <Value>-0.457495710997814</Value>
- </Z>
- </ZAxis>
- <YAxis>
- <X>
- <Value>0.235379601434674</Value>
- </X>
- <Y>
- <Value>-0.392299335724456</Value>
- </Y>
- <Z>
- <Value>0.889211827642101</Value>
- </Z>
- </YAxis>
- <OrientationType>Direct3D</OrientationType>
- </Orientation>
- <LockX>false</LockX>
- <LockY>false</LockY>
- <LockZ>false</LockZ>
- <LockXPitch>false</LockXPitch>
- <LockYYaw>false</LockYYaw>
- <LockZRoll>false</LockZRoll>
- <Childs>
- </Childs>
- <LightType>3</LightType>
- <LightColor>
- <Color>
- <X>
- <Value>0.5</Value>
- </X>
- <Y>
- <Value>0.5</Value>
- </Y>
- <Z>
- <Value>0.5</Value>
- </Z>
- </Color>
- <Offset>
- </Offset>
- <Multipliers>
- <X>
- <Value>1</Value>
- </X>
- <Y>
- <Value>1</Value>
- </Y>
- <Z>
- <Value>1</Value>
- </Z>
- </Multipliers>
- <Direct3DColorRange>true</Direct3DColorRange>
- </LightColor>
- <Attenuation>
- <Constant>
- <Value>1.0</Value>
- </Constant>
- <Linear>
- <Value>0.0</Value>
- </Linear>
- <Quadratic>
- <Value>0.0</Value>
- </Quadratic>
- </Attenuation>
- <DiffuseLight>
- <Color>
- <X>
- <Value>0.5</Value>
- </X>
- <Y>
- <Value>0.5</Value>
- </Y>
- <Z>
- <Value>0.5</Value>
- </Z>
- </Color>
- <Offset>
- </Offset>
- <Multipliers>
- <X>
- <Value>1</Value>
- </X>
- <Y>
- <Value>1</Value>
- </Y>
- <Z>
- <Value>1</Value>
- </Z>
- </Multipliers>
- <Direct3DColorRange>true</Direct3DColorRange>
- </DiffuseLight>
- <SpecularLight>
- <Color>
- <X>
- <Value>0.5</Value>
- </X>
- <Y>
- <Value>0.5</Value>
- </Y>
- <Z>
- <Value>0.5</Value>
- </Z>
- </Color>
- <Offset>
- </Offset>
- <Multipliers>
- <X>
- <Value>1</Value>
- </X>
- <Y>
- <Value>1</Value>
- </Y>
- <Z>
- <Value>1</Value>
- </Z>
- </Multipliers>
- <Direct3DColorRange>true</Direct3DColorRange>
- </SpecularLight>
- <AmbientOn>false</AmbientOn>
- <DiffuseOn>true</DiffuseOn>
- <SpecularOn>true</SpecularOn>
- </Light>
- <Light>
- <ShowReferenceFrame>false</ShowReferenceFrame>
- <Name>Spot Light 1</Name>
- <Position>
- <X>
- <Value>-3</Value>
- </X>
- <Y>
- <Value>-5</Value>
- </Y>
- <Z>
- <Value>1</Value>
- </Z>
- </Position>
- <Orientation>
- <ZAxis>
- <X>
- <Value>0.50709255283711</Value>
- </X>
- <Y>
- <Value>0.845154254728517</Value>
- </Y>
- <Z>
- <Value>-0.169030850945703</Value>
- </Z>
- </ZAxis>
- <YAxis>
- <X>
- <Value>0.0869656553478673</Value>
- </X>
- <Y>
- <Value>0.144942758913112</Value>
- </Y>
- <Z>
- <Value>0.985610760609162</Value>
- </Z>
- </YAxis>
- <OrientationType>Direct3D</OrientationType>
- </Orientation>
- <LockX>false</LockX>
- <LockY>false</LockY>
- <LockZ>false</LockZ>
- <LockXPitch>false</LockXPitch>
- <LockYYaw>false</LockYYaw>
- <LockZRoll>false</LockZRoll>
- <Childs>
- </Childs>
- <LightType>2</LightType>
- <LightColor>
- <Color>
- <X>
- <Value>0.5</Value>
- </X>
- <Y>
- <Value>0.5</Value>
- </Y>
- <Z>
- <Value>0.5</Value>
- </Z>
- </Color>
- <Offset>
- </Offset>
- <Multipliers>
- <X>
- <Value>1</Value>
- </X>
- <Y>
- <Value>1</Value>
- </Y>
- <Z>
- <Value>1</Value>
- </Z>
- </Multipliers>
- <Direct3DColorRange>true</Direct3DColorRange>
- </LightColor>
- <Attenuation>
- <Constant>
- <Value>1.0</Value>
- </Constant>
- <Linear>
- <Value>0.05</Value>
- </Linear>
- <Quadratic>
- <Value>0.05</Value>
- </Quadratic>
- </Attenuation>
- <Umbra>
- <Value>1.0471975511965976</Value>
- </Umbra>
- <Penumbra>
- <Value>1.0471975511965976</Value>
- </Penumbra>
- <SpotExponent>0.0</SpotExponent>
- <DiffuseLight>
- <Color>
- <X>
- <Value>0.5</Value>
- </X>
- <Y>
- <Value>0.5</Value>
- </Y>
- <Z>
- <Value>0.5</Value>
- </Z>
- </Color>
- <Offset>
- </Offset>
- <Multipliers>
- <X>
- <Value>1</Value>
- </X>
- <Y>
- <Value>1</Value>
- </Y>
- <Z>
- <Value>1</Value>
- </Z>
- </Multipliers>
- <Direct3DColorRange>true</Direct3DColorRange>
- </DiffuseLight>
- <SpecularLight>
- <Color>
- <X>
- <Value>0.5</Value>
- </X>
- <Y>
- <Value>0.5</Value>
- </Y>
- <Z>
- <Value>0.5</Value>
- </Z>
- </Color>
- <Offset>
- </Offset>
- <Multipliers>
- <X>
- <Value>1</Value>
- </X>
- <Y>
- <Value>1</Value>
- </Y>
- <Z>
- <Value>1</Value>
- </Z>
- </Multipliers>
- <Direct3DColorRange>true</Direct3DColorRange>
- </SpecularLight>
- <AmbientOn>false</AmbientOn>
- <DiffuseOn>true</DiffuseOn>
- <SpecularOn>true</SpecularOn>
- </Light>
- <Light>
- <ShowReferenceFrame>false</ShowReferenceFrame>
- <Name>Spot Light 2</Name>
- <Position>
- <X>
- <Value>2</Value>
- </X>
- <Y>
- <Value>-3</Value>
- </Y>
- <Z>
- <Value>-1</Value>
- </Z>
- </Position>
- <Orientation>
- <ZAxis>
- <X>
- <Value>-0.534522483824849</Value>
- </X>
- <Y>
- <Value>0.801783725737273</Value>
- </Y>
- <Z>
- <Value>0.267261241912424</Value>
- </Z>
- </ZAxis>
- <YAxis>
- <X>
- <Value>0.14824986333222</Value>
- </X>
- <Y>
- <Value>-0.22237479499833</Value>
- </Y>
- <Z>
- <Value>0.963624111659432</Value>
- </Z>
- </YAxis>
- <OrientationType>Direct3D</OrientationType>
- </Orientation>
- <LockX>false</LockX>
- <LockY>false</LockY>
- <LockZ>false</LockZ>
- <LockXPitch>false</LockXPitch>
- <LockYYaw>false</LockYYaw>
- <LockZRoll>false</LockZRoll>
- <Childs>
- </Childs>
- <LightType>2</LightType>
- <LightColor>
- <Color>
- <X>
- <Value>1</Value>
- </X>
- <Y>
- <Value>1</Value>
- </Y>
- <Z>
- <Value>1</Value>
- </Z>
- </Color>
- <Offset>
- </Offset>
- <Multipliers>
- <X>
- <Value>1</Value>
- </X>
- <Y>
- <Value>1</Value>
- </Y>
- <Z>
- <Value>1</Value>
- </Z>
- </Multipliers>
- <Direct3DColorRange>true</Direct3DColorRange>
- </LightColor>
- <Attenuation>
- <Constant>
- <Value>1.0</Value>
- </Constant>
- <Linear>
- <Value>0.05</Value>
- </Linear>
- <Quadratic>
- <Value>0.05</Value>
- </Quadratic>
- </Attenuation>
- <Umbra>
- <Value>1.5707963267948966</Value>
- </Umbra>
- <Penumbra>
- <Value>1.5707963267948966</Value>
- </Penumbra>
- <SpotExponent>0.0</SpotExponent>
- <DiffuseLight>
- <Color>
- <X>
- <Value>1</Value>
- </X>
- <Y>
- <Value>1</Value>
- </Y>
- <Z>
- <Value>1</Value>
- </Z>
- </Color>
- <Offset>
- </Offset>
- <Multipliers>
- <X>
- <Value>1</Value>
- </X>
- <Y>
- <Value>1</Value>
- </Y>
- <Z>
- <Value>1</Value>
- </Z>
- </Multipliers>
- <Direct3DColorRange>true</Direct3DColorRange>
- </DiffuseLight>
- <SpecularLight>
- <Color>
- <X>
- <Value>0.5</Value>
- </X>
- <Y>
- <Value>0.5</Value>
- </Y>
- <Z>
- <Value>0.5</Value>
- </Z>
- </Color>
- <Offset>
- </Offset>
- <Multipliers>
- <X>
- <Value>1</Value>
- </X>
- <Y>
- <Value>1</Value>
- </Y>
- <Z>
- <Value>1</Value>
- </Z>
- </Multipliers>
- <Direct3DColorRange>true</Direct3DColorRange>
- </SpecularLight>
- <AmbientOn>false</AmbientOn>
- <DiffuseOn>true</DiffuseOn>
- <SpecularOn>true</SpecularOn>
- </Light>
- <Camera>
- <ShowReferenceFrame>false</ShowReferenceFrame>
- <Name>Camera Looking at Origin</Name>
- <Position>
- <X>
- <Value>0.159539928254181</Value>
- </X>
- <Y>
- <Value>0.0210195694587388</Value>
- </Y>
- <Z>
- <Value>0.0764390770931449</Value>
- </Z>
- </Position>
- <Orientation>
- <ZAxis>
- <X>
- <Value>-0.966527083347675</Value>
- </X>
- <Y>
- <Value>-0.12682364469163</Value>
- </Y>
- <Z>
- <Value>-0.223027263585795</Value>
- </Z>
- </ZAxis>
- <YAxis>
- <X>
- <Value>-0.221131710235122</Value>
- </X>
- <Y>
- <Value>-0.0290159788919472</Value>
- </Y>
- <Z>
- <Value>0.974812207400704</Value>
- </Z>
- </YAxis>
- <OrientationType>Direct3D</OrientationType>
- </Orientation>
- <LockX>false</LockX>
- <LockY>false</LockY>
- <LockZ>false</LockZ>
- <LockXPitch>false</LockXPitch>
- <LockYYaw>false</LockYYaw>
- <LockZRoll>false</LockZRoll>
- <Childs>
- </Childs>
- <FrontPlane>0.01</FrontPlane>
- <BackPlane>100.0</BackPlane>
- <AutoFrontBack>true</AutoFrontBack>
- <Field>0.003926990816987242</Field>
- <Fieldy>45.0</Fieldy>
- <PlaneLeft>-10.0</PlaneLeft>
- <PlaneRight>10.0</PlaneRight>
- <PlaneTop>10.0</PlaneTop>
- <PlaneBottom>-10.0</PlaneBottom>
- <UseLookatPosition>true</UseLookatPosition>
- <LookatPosition>
- <X>
- <Value>-0.000627364166602552</Value>
- </X>
- <Y>
- <Value>3.08669776184333e-006</Value>
- </Y>
- <Z>
- <Value>0.0394802856014185</Value>
- </Z>
- </LookatPosition>
- <UseAlwaysLookUp>true</UseAlwaysLookUp>
- <LookUpVector>
- <Z>
- <Value>1</Value>
- </Z>
- </LookUpVector>
- <RightHand>true</RightHand>
- <Perspective>true</Perspective>
- <IsSelectedCamera>true</IsSelectedCamera>
- </Camera>
- <Camera>
- <ShowReferenceFrame>false</ShowReferenceFrame>
- <Name>Front(XY)-Camera</Name>
- <Position>
- <Z>
- <Value>10</Value>
- </Z>
- </Position>
- <Orientation>
- <ZAxis>
- <Z>
- <Value>-1</Value>
- </Z>
- </ZAxis>
- <YAxis>
- <Y>
- <Value>1</Value>
- </Y>
- </YAxis>
- <OrientationType>Direct3D</OrientationType>
- </Orientation>
- <LockX>false</LockX>
- <LockY>false</LockY>
- <LockZ>false</LockZ>
- <LockXPitch>false</LockXPitch>
- <LockYYaw>false</LockYYaw>
- <LockZRoll>false</LockZRoll>
- <Childs>
- </Childs>
- <FrontPlane>0.01</FrontPlane>
- <BackPlane>100.0</BackPlane>
- <AutoFrontBack>true</AutoFrontBack>
- <Field>9.999999999999998</Field>
- <Fieldy>45.0</Fieldy>
- <PlaneLeft>-9.999999999999998</PlaneLeft>
- <PlaneRight>9.999999999999998</PlaneRight>
- <PlaneTop>9.999999999999998</PlaneTop>
- <PlaneBottom>-9.999999999999998</PlaneBottom>
- <UseLookatPosition>true</UseLookatPosition>
- <LookatPosition>
- </LookatPosition>
- <UseAlwaysLookUp>true</UseAlwaysLookUp>
- <LookUpVector>
- <Y>
- <Value>1</Value>
- </Y>
- </LookUpVector>
- <RightHand>true</RightHand>
- <Perspective>false</Perspective>
- <IsSelectedCamera>false</IsSelectedCamera>
- </Camera>
- <Camera>
- <ShowReferenceFrame>false</ShowReferenceFrame>
- <Name>Side(YZ)-Camera</Name>
- <Position>
- <X>
- <Value>10</Value>
- </X>
- </Position>
- <Orientation>
- <ZAxis>
- <X>
- <Value>-1</Value>
- </X>
- </ZAxis>
- <YAxis>
- <Z>
- <Value>1</Value>
- </Z>
- </YAxis>
- <OrientationType>Direct3D</OrientationType>
- </Orientation>
- <LockX>false</LockX>
- <LockY>false</LockY>
- <LockZ>false</LockZ>
- <LockXPitch>false</LockXPitch>
- <LockYYaw>false</LockYYaw>
- <LockZRoll>false</LockZRoll>
- <Childs>
- </Childs>
- <FrontPlane>0.01</FrontPlane>
- <BackPlane>100.0</BackPlane>
- <AutoFrontBack>true</AutoFrontBack>
- <Field>9.999999999999998</Field>
- <Fieldy>45.0</Fieldy>
- <PlaneLeft>-9.999999999999998</PlaneLeft>
- <PlaneRight>9.999999999999998</PlaneRight>
- <PlaneTop>9.999999999999998</PlaneTop>
- <PlaneBottom>-9.999999999999998</PlaneBottom>
- <UseLookatPosition>true</UseLookatPosition>
- <LookatPosition>
- </LookatPosition>
- <UseAlwaysLookUp>true</UseAlwaysLookUp>
- <LookUpVector>
- <Z>
- <Value>1</Value>
- </Z>
- </LookUpVector>
- <RightHand>true</RightHand>
- <Perspective>false</Perspective>
- <IsSelectedCamera>false</IsSelectedCamera>
- </Camera>
- <Camera>
- <ShowReferenceFrame>false</ShowReferenceFrame>
- <Name>Top(XZ)-Camera</Name>
- <Position>
- <Y>
- <Value>10</Value>
- </Y>
- </Position>
- <Orientation>
- <ZAxis>
- <Y>
- <Value>-1</Value>
- </Y>
- </ZAxis>
- <YAxis>
- <X>
- <Value>1</Value>
- </X>
- </YAxis>
- <OrientationType>Direct3D</OrientationType>
- </Orientation>
- <LockX>false</LockX>
- <LockY>false</LockY>
- <LockZ>false</LockZ>
- <LockXPitch>false</LockXPitch>
- <LockYYaw>false</LockYYaw>
- <LockZRoll>false</LockZRoll>
- <Childs>
- </Childs>
- <FrontPlane>0.01</FrontPlane>
- <BackPlane>100.0</BackPlane>
- <AutoFrontBack>true</AutoFrontBack>
- <Field>9.999999999999998</Field>
- <Fieldy>45.0</Fieldy>
- <PlaneLeft>-9.999999999999998</PlaneLeft>
- <PlaneRight>9.999999999999998</PlaneRight>
- <PlaneTop>9.999999999999998</PlaneTop>
- <PlaneBottom>-9.999999999999998</PlaneBottom>
- <UseLookatPosition>true</UseLookatPosition>
- <LookatPosition>
- </LookatPosition>
- <UseAlwaysLookUp>true</UseAlwaysLookUp>
- <LookUpVector>
- <X>
- <Value>1</Value>
- </X>
- </LookUpVector>
- <RightHand>true</RightHand>
- <Perspective>false</Perspective>
- <IsSelectedCamera>false</IsSelectedCamera>
- </Camera>
- </Childs>
- </Frame>
- <Frame>
- <ScaleValue>
- <X>
- <Value>1</Value>
- </X>
- <Y>
- <Value>1</Value>
- </Y>
- <Z>
- <Value>1</Value>
- </Z>
- </ScaleValue>
- <ShowReferenceFrame>false</ShowReferenceFrame>
- <Name>Scenery</Name>
- <Position>
- </Position>
- <Orientation>
- <Angles>
- </Angles>
- <OrientationType>Bryant</OrientationType>
- </Orientation>
- <LockX>false</LockX>
- <LockY>false</LockY>
- <LockZ>false</LockZ>
- <LockXPitch>false</LockXPitch>
- <LockYYaw>false</LockYYaw>
- <LockZRoll>false</LockZRoll>
- <Childs>
- <Cube>
- <Center>Bottom</Center>
- <RibLength>1.0</RibLength>
- <ShowInnerSide>true</ShowInnerSide>
- <Accuracy>4</Accuracy>
- <ScaleValue>
- <X>
- <VariableName>Body1\dimension[1]</VariableName>
- <Value>0.005</Value>
- </X>
- <Y>
- <VariableName>Body1\dimension[2]</VariableName>
- <Value>0.01</Value>
- </Y>
- <Z>
- <VariableName>Body1\dimension[3]</VariableName>
- <Value>0.065</Value>
- </Z>
- </ScaleValue>
- <OverrideColor>true</OverrideColor>
- <MeshColor>
- <X>
- <Value>0</Value>
- </X>
- <Y>
- <Value>0.501960784313725</Value>
- </Y>
- <Z>
- <Value>0.501960784313725</Value>
- </Z>
- </MeshColor>
- <Alpha>1.0</Alpha>
- <MeshColorMultipliers>
- <X>
- <Value>1</Value>
- </X>
- <Y>
- <Value>1</Value>
- </Y>
- <Z>
- <Value>1</Value>
- </Z>
- </MeshColorMultipliers>
- <MeshColorOffsets>
- </MeshColorOffsets>
- <Direct3DColorRange>true</Direct3DColorRange>
- <SpecularColor>
- <X>
- <Value>0.5</Value>
- </X>
- <Y>
- <Value>0.5</Value>
- </Y>
- <Z>
- <Value>0.5</Value>
- </Z>
- </SpecularColor>
- <EmissiveColor>
- </EmissiveColor>
- <ShininessPower>
- <Value>15</Value>
- </ShininessPower>
- <OverrideQuality>false</OverrideQuality>
- <ShowReferenceFrame>false</ShowReferenceFrame>
- <Name>Block</Name>
- <Position>
- <X>
- <VariableName>Body1\position[1]</VariableName>
- <Value>0.0</Value>
- </X>
- <Y>
- <VariableName>Body1\position[2]</VariableName>
- <Value>-0.05</Value>
- </Y>
- <Z>
- <VariableName>Body1\position[3]</VariableName>
- <Value>0.0</Value>
- </Z>
- </Position>
- <Orientation>
- <ZAxis>
- <X>
- <VariableName>Body1\R[1,3]</VariableName>
- <Value>0.0</Value>
- </X>
- <Y>
- <VariableName>Body1\R[2,3]</VariableName>
- <Value>0.0</Value>
- </Y>
- <Z>
- <VariableName>Body1\R[3,3]</VariableName>
- <Value>1.0</Value>
- </Z>
- </ZAxis>
- <YAxis>
- <X>
- <VariableName>Body1\R[1,2]</VariableName>
- <Value>0.0</Value>
- </X>
- <Y>
- <VariableName>Body1\R[2,2]</VariableName>
- <Value>1.0</Value>
- </Y>
- <Z>
- <VariableName>Body1\R[3,2]</VariableName>
- <Value>0.0</Value>
- </Z>
- </YAxis>
- <OrientationType>Matrix</OrientationType>
- </Orientation>
- <LockX>false</LockX>
- <LockY>false</LockY>
- <LockZ>false</LockZ>
- <LockXPitch>false</LockXPitch>
- <LockYYaw>false</LockYYaw>
- <LockZRoll>false</LockZRoll>
- <Childs>
- </Childs>
- </Cube>
- <Cube>
- <Center>Bottom</Center>
- <RibLength>1.0</RibLength>
- <ShowInnerSide>true</ShowInnerSide>
- <Accuracy>4</Accuracy>
- <ScaleValue>
- <X>
- <VariableName>Body2\dimension[1]</VariableName>
- <Value>0.005</Value>
- </X>
- <Y>
- <VariableName>Body2\dimension[2]</VariableName>
- <Value>0.025</Value>
- </Y>
- <Z>
- <VariableName>Body2\dimension[3]</VariableName>
- <Value>0.01</Value>
- </Z>
- </ScaleValue>
- <OverrideColor>true</OverrideColor>
- <MeshColor>
- <X>
- <Value>1</Value>
- </X>
- <Y>
- <Value>0.501960784313725</Value>
- </Y>
- <Z>
- <Value>0</Value>
- </Z>
- </MeshColor>
- <Alpha>1.0</Alpha>
- <MeshColorMultipliers>
- <X>
- <Value>1</Value>
- </X>
- <Y>
- <Value>1</Value>
- </Y>
- <Z>
- <Value>1</Value>
- </Z>
- </MeshColorMultipliers>
- <MeshColorOffsets>
- </MeshColorOffsets>
- <Direct3DColorRange>true</Direct3DColorRange>
- <SpecularColor>
- <X>
- <Value>0.5</Value>
- </X>
- <Y>
- <Value>0.5</Value>
- </Y>
- <Z>
- <Value>0.5</Value>
- </Z>
- </SpecularColor>
- <EmissiveColor>
- </EmissiveColor>
- <ShininessPower>
- <Value>15</Value>
- </ShininessPower>
- <OverrideQuality>false</OverrideQuality>
- <ShowReferenceFrame>false</ShowReferenceFrame>
- <Name>Block</Name>
- <Position>
- <X>
- <VariableName>Body2\position[1]</VariableName>
- <Value>0.0</Value>
- </X>
- <Y>
- <VariableName>Body2\position[2]</VariableName>
- <Value>-0.0125</Value>
- </Y>
- <Z>
- <VariableName>Body2\position[3]</VariableName>
- <Value>0.0</Value>
- </Z>
- </Position>
- <Orientation>
- <ZAxis>
- <X>
- <VariableName>Body2\R[1,3]</VariableName>
- <Value>0.0</Value>
- </X>
- <Y>
- <VariableName>Body2\R[2,3]</VariableName>
- <Value>0.0</Value>
- </Y>
- <Z>
- <VariableName>Body2\R[3,3]</VariableName>
- <Value>1.0</Value>
- </Z>
- </ZAxis>
- <YAxis>
- <X>
- <VariableName>Body2\R[1,2]</VariableName>
- <Value>0.0</Value>
- </X>
- <Y>
- <VariableName>Body2\R[2,2]</VariableName>
- <Value>1.0</Value>
- </Y>
- <Z>
- <VariableName>Body2\R[3,2]</VariableName>
- <Value>0.0</Value>
- </Z>
- </YAxis>
- <OrientationType>Matrix</OrientationType>
- </Orientation>
- <LockX>false</LockX>
- <LockY>false</LockY>
- <LockZ>false</LockZ>
- <LockXPitch>false</LockXPitch>
- <LockYYaw>false</LockYYaw>
- <LockZRoll>false</LockZRoll>
- <Childs>
- </Childs>
- </Cube>
- <Cube>
- <Center>Bottom</Center>
- <RibLength>1.0</RibLength>
- <ShowInnerSide>true</ShowInnerSide>
- <Accuracy>4</Accuracy>
- <ScaleValue>
- <X>
- <VariableName>Body3\dimension[1]</VariableName>
- <Value>0.005</Value>
- </X>
- <Y>
- <VariableName>Body3\dimension[2]</VariableName>
- <Value>0.01</Value>
- </Y>
- <Z>
- <VariableName>Body3\dimension[3]</VariableName>
- <Value>0.065</Value>
- </Z>
- </ScaleValue>
- <OverrideColor>true</OverrideColor>
- <MeshColor>
- <X>
- <Value>0.501960784313725</Value>
- </X>
- <Y>
- <Value>0.501960784313725</Value>
- </Y>
- <Z>
- <Value>1</Value>
- </Z>
- </MeshColor>
- <Alpha>1.0</Alpha>
- <MeshColorMultipliers>
- <X>
- <Value>1</Value>
- </X>
- <Y>
- <Value>1</Value>
- </Y>
- <Z>
- <Value>1</Value>
- </Z>
- </MeshColorMultipliers>
- <MeshColorOffsets>
- </MeshColorOffsets>
- <Direct3DColorRange>true</Direct3DColorRange>
- <SpecularColor>
- <X>
- <Value>0.5</Value>
- </X>
- <Y>
- <Value>0.5</Value>
- </Y>
- <Z>
- <Value>0.5</Value>
- </Z>
- </SpecularColor>
- <EmissiveColor>
- </EmissiveColor>
- <ShininessPower>
- <Value>15</Value>
- </ShininessPower>
- <OverrideQuality>false</OverrideQuality>
- <ShowReferenceFrame>false</ShowReferenceFrame>
- <Name>Block</Name>
- <Position>
- <X>
- <VariableName>Body3\position[1]</VariableName>
- <Value>0.0</Value>
- </X>
- <Y>
- <VariableName>Body3\position[2]</VariableName>
- <Value>-0.025</Value>
- </Y>
- <Z>
- <VariableName>Body3\position[3]</VariableName>
- <Value>0.0</Value>
- </Z>
- </Position>
- <Orientation>
- <ZAxis>
- <X>
- <VariableName>Body3\R[1,3]</VariableName>
- <Value>0.0</Value>
- </X>
- <Y>
- <VariableName>Body3\R[2,3]</VariableName>
- <Value>0.0</Value>
- </Y>
- <Z>
- <VariableName>Body3\R[3,3]</VariableName>
- <Value>1.0</Value>
- </Z>
- </ZAxis>
- <YAxis>
- <X>
- <VariableName>Body3\R[1,2]</VariableName>
- <Value>0.0</Value>
- </X>
- <Y>
- <VariableName>Body3\R[2,2]</VariableName>
- <Value>1.0</Value>
- </Y>
- <Z>
- <VariableName>Body3\R[3,2]</VariableName>
- <Value>0.0</Value>
- </Z>
- </YAxis>
- <OrientationType>Matrix</OrientationType>
- </Orientation>
- <LockX>false</LockX>
- <LockY>false</LockY>
- <LockZ>false</LockZ>
- <LockXPitch>false</LockXPitch>
- <LockYYaw>false</LockYYaw>
- <LockZRoll>false</LockZRoll>
- <Childs>
- </Childs>
- </Cube>
- <Cube>
- <Center>Center</Center>
- <RibLength>1.0</RibLength>
- <ShowInnerSide>true</ShowInnerSide>
- <Accuracy>4</Accuracy>
- <ScaleValue>
- <X>
- <VariableName>Body4\dimension[1]</VariableName>
- <Value>0.005</Value>
- </X>
- <Y>
- <VariableName>Body4\dimension[2]</VariableName>
- <Value>0.05</Value>
- </Y>
- <Z>
- <VariableName>Body4\dimension[3]</VariableName>
- <Value>0.01</Value>
- </Z>
- </ScaleValue>
- <OverrideColor>true</OverrideColor>
- <MeshColor>
- <X>
- <Value>0.501960784313725</Value>
- </X>
- <Y>
- <Value>0</Value>
- </Y>
- <Z>
- <Value>0</Value>
- </Z>
- </MeshColor>
- <Alpha>1.0</Alpha>
- <MeshColorMultipliers>
- <X>
- <Value>1</Value>
- </X>
- <Y>
- <Value>1</Value>
- </Y>
- <Z>
- <Value>1</Value>
- </Z>
- </MeshColorMultipliers>
- <MeshColorOffsets>
- </MeshColorOffsets>
- <Direct3DColorRange>true</Direct3DColorRange>
- <SpecularColor>
- <X>
- <Value>0.5</Value>
- </X>
- <Y>
- <Value>0.5</Value>
- </Y>
- <Z>
- <Value>0.5</Value>
- </Z>
- </SpecularColor>
- <EmissiveColor>
- </EmissiveColor>
- <ShininessPower>
- <Value>15</Value>
- </ShininessPower>
- <OverrideQuality>false</OverrideQuality>
- <ShowReferenceFrame>false</ShowReferenceFrame>
- <Name>Block</Name>
- <Position>
- <X>
- <VariableName>Body4\position[1]</VariableName>
- <Value>0.0</Value>
- </X>
- <Y>
- <VariableName>Body4\position[2]</VariableName>
- <Value>-0.025</Value>
- </Y>
- <Z>
- <VariableName>Body4\position[3]</VariableName>
- <Value>0.065</Value>
- </Z>
- </Position>
- <Orientation>
- <ZAxis>
- <X>
- <VariableName>Body4\R[1,3]</VariableName>
- <Value>0.0</Value>
- </X>
- <Y>
- <VariableName>Body4\R[2,3]</VariableName>
- <Value>0.0</Value>
- </Y>
- <Z>
- <VariableName>Body4\R[3,3]</VariableName>
- <Value>1.0</Value>
- </Z>
- </ZAxis>
- <YAxis>
- <X>
- <VariableName>Body4\R[1,2]</VariableName>
- <Value>0.0</Value>
- </X>
- <Y>
- <VariableName>Body4\R[2,2]</VariableName>
- <Value>1.0</Value>
- </Y>
- <Z>
- <VariableName>Body4\R[3,2]</VariableName>
- <Value>0.0</Value>
- </Z>
- </YAxis>
- <OrientationType>Matrix</OrientationType>
- </Orientation>
- <LockX>false</LockX>
- <LockY>false</LockY>
- <LockZ>false</LockZ>
- <LockXPitch>false</LockXPitch>
- <LockYYaw>false</LockYYaw>
- <LockZRoll>false</LockZRoll>
- <Childs>
- </Childs>
- </Cube>
- <Cube>
- <Center>Center</Center>
- <RibLength>1.0</RibLength>
- <ShowInnerSide>true</ShowInnerSide>
- <Accuracy>4</Accuracy>
- <ScaleValue>
- <X>
- <VariableName>Body5\dimension[1]</VariableName>
- <Value>0.005</Value>
- </X>
- <Y>
- <VariableName>Body5\dimension[2]</VariableName>
- <Value>0.025</Value>
- </Y>
- <Z>
- <VariableName>Body5\dimension[3]</VariableName>
- <Value>0.01</Value>
- </Z>
- </ScaleValue>
- <OverrideColor>true</OverrideColor>
- <MeshColor>
- <X>
- <Value>0.501960784313725</Value>
- </X>
- <Y>
- <Value>0</Value>
- </Y>
- <Z>
- <Value>0</Value>
- </Z>
- </MeshColor>
- <Alpha>1.0</Alpha>
- <MeshColorMultipliers>
- <X>
- <Value>1</Value>
- </X>
- <Y>
- <Value>1</Value>
- </Y>
- <Z>
- <Value>1</Value>
- </Z>
- </MeshColorMultipliers>
- <MeshColorOffsets>
- </MeshColorOffsets>
- <Direct3DColorRange>true</Direct3DColorRange>
- <SpecularColor>
- <X>
- <Value>0.5</Value>
- </X>
- <Y>
- <Value>0.5</Value>
- </Y>
- <Z>
- <Value>0.5</Value>
- </Z>
- </SpecularColor>
- <EmissiveColor>
- </EmissiveColor>
- <ShininessPower>
- <Value>15</Value>
- </ShininessPower>
- <OverrideQuality>false</OverrideQuality>
- <ShowReferenceFrame>false</ShowReferenceFrame>
- <Name>Block</Name>
- <Position>
- <X>
- <VariableName>Body5\position[1]</VariableName>
- <Value>0.0</Value>
- </X>
- <Y>
- <VariableName>Body5\position[2]</VariableName>
- <Value>0.0125</Value>
- </Y>
- <Z>
- <VariableName>Body5\position[3]</VariableName>
- <Value>0.065</Value>
- </Z>
- </Position>
- <Orientation>
- <ZAxis>
- <X>
- <VariableName>Body5\R[1,3]</VariableName>
- <Value>0.0</Value>
- </X>
- <Y>
- <VariableName>Body5\R[2,3]</VariableName>
- <Value>0.0</Value>
- </Y>
- <Z>
- <VariableName>Body5\R[3,3]</VariableName>
- <Value>1.0</Value>
- </Z>
- </ZAxis>
- <YAxis>
- <X>
- <VariableName>Body5\R[1,2]</VariableName>
- <Value>0.0</Value>
- </X>
- <Y>
- <VariableName>Body5\R[2,2]</VariableName>
- <Value>1.0</Value>
- </Y>
- <Z>
- <VariableName>Body5\R[3,2]</VariableName>
- <Value>0.0</Value>
- </Z>
- </YAxis>
- <OrientationType>Matrix</OrientationType>
- </Orientation>
- <LockX>false</LockX>
- <LockY>false</LockY>
- <LockZ>false</LockZ>
- <LockXPitch>false</LockXPitch>
- <LockYYaw>false</LockYYaw>
- <LockZRoll>false</LockZRoll>
- <Childs>
- </Childs>
- </Cube>
- </Childs>
- </Frame>
- </Childs>
- </Frame>
- </MainFrame>
- </Plot>
- <Plot>
- <PlotType>GraphPlot</PlotType>
- <BasePlot>
- <PlotId>3</PlotId>
- <UseWindowsBGColor>false</UseWindowsBGColor>
- <BGColor>16777215</BGColor>
- <PlotIsVisible>true</PlotIsVisible>
- </BasePlot>
- <Grid>
- <DrawGrid>true</DrawGrid>
- <GridColor>15780518</GridColor>
- <GridBorderLineColor>12624260</GridBorderLineColor>
- <GridZeroLineColor>0</GridZeroLineColor>
- <XTicks>10</XTicks>
- <YTicks>10</YTicks>
- <ZTicks>10</ZTicks>
- <Use3DLook>false</Use3DLook>
- </Grid>
- <PlotBGColor>16777215</PlotBGColor>
- <ShowPlotTitle>true</ShowPlotTitle>
- <TitlePosition>1</TitlePosition>
- <PlotTitle>StepperD</PlotTitle>
- <ShowXValues>true</ShowXValues>
- <Fonts>
- <TitleFont>
- <Name>Arial</Name>
- <Height>12</Height>
- <PitchFamily>34</PitchFamily>
- <Weight>400</Weight>
- <Italic>0</Italic>
- <UnderLine>0</UnderLine>
- <StrikeOut>0</StrikeOut>
- <Color>0</Color>
- </TitleFont>
- <LabelFont>
- <Name>Arial</Name>
- <Height>12</Height>
- <PitchFamily>34</PitchFamily>
- <Weight>400</Weight>
- <Italic>0</Italic>
- <UnderLine>0</UnderLine>
- <StrikeOut>0</StrikeOut>
- <Color>0</Color>
- </LabelFont>
- <ValuesFont>
- <Name>Arial</Name>
- <Height>10</Height>
- <PitchFamily>34</PitchFamily>
- <Weight>400</Weight>
- <Italic>0</Italic>
- <UnderLine>0</UnderLine>
- <StrikeOut>0</StrikeOut>
- <Color>0</Color>
- </ValuesFont>
- <LegendFont>
- <Name>Arial</Name>
- <Height>12</Height>
- <PitchFamily>34</PitchFamily>
- <Weight>400</Weight>
- <Italic>0</Italic>
- <UnderLine>0</UnderLine>
- <StrikeOut>0</StrikeOut>
- <Color>0</Color>
- </LegendFont>
- </Fonts>
- <SharedXAxis>true</SharedXAxis>
- <SharedYAxis>true</SharedYAxis>
- <SharedZAxis>false</SharedZAxis>
- <XAxes>
- <Axis>
- <Minimum>0.0</Minimum>
- <Maximum>5.823613498640715</Maximum>
- <Linear>true</Linear>
- <Scaling>3</Scaling>
- <Label>time</Label>
- </Axis>
- </XAxes>
- <YAxes>
- <Axis>
- <Minimum>-2.0</Minimum>
- <Maximum>3.0</Maximum>
- <Linear>true</Linear>
- <Scaling>2</Scaling>
- <Label>setpoint</Label>
- </Axis>
- <Axis>
- <Minimum>-0.944547877949926</Minimum>
- <Maximum>0.0</Maximum>
- <Linear>true</Linear>
- <Scaling>2</Scaling>
- <Label>angle</Label>
- </Axis>
- <Axis>
- <Minimum>-0.944547877949926</Minimum>
- <Maximum>0.0</Maximum>
- <Linear>true</Linear>
- <Scaling>2</Scaling>
- <Label>angle</Label>
- </Axis>
- </YAxes>
- <ZAxes>
- </ZAxes>
- <Curves>
- <Curve>
- <LineColor>3355111</LineColor>
- <LineStyle>1</LineStyle>
- <TickColor>3355111</TickColor>
- <TickStyle>0</TickStyle>
- <CurveVisible>true</CurveVisible>
- <PixelThresshold>1</PixelThresshold>
- <LineThickness>1</LineThickness>
- <LineOrder>1</LineOrder>
- <ShowYValues>true</ShowYValues>
- <XCurveData>
- <ShowUnit>true</ShowUnit>
- <VarName>time</VarName>
- </XCurveData>
- <YCurveData>
- <ShowUnit>true</ShowUnit>
- <VarName>stepper_control1\setpoint</VarName>
- </YCurveData>
- </Curve>
- <Curve>
- <LineColor>6076255</LineColor>
- <LineStyle>1</LineStyle>
- <TickColor>6076255</TickColor>
- <TickStyle>0</TickStyle>
- <CurveVisible>true</CurveVisible>
- <PixelThresshold>1</PixelThresshold>
- <LineThickness>1</LineThickness>
- <LineOrder>1</LineOrder>
- <ShowYValues>true</ShowYValues>
- <XCurveData>
- <ShowUnit>true</ShowUnit>
- <VarName>time</VarName>
- </XCurveData>
- <YCurveData>
- <ShowUnit>true</ShowUnit>
- <VarName>Joint_dynD\angle</VarName>
- </YCurveData>
- </Curve>
- <Curve>
- <LineColor>12553035</LineColor>
- <LineStyle>1</LineStyle>
- <TickColor>12553035</TickColor>
- <TickStyle>0</TickStyle>
- <CurveVisible>true</CurveVisible>
- <PixelThresshold>1</PixelThresshold>
- <LineThickness>1</LineThickness>
- <LineOrder>1</LineOrder>
- <ShowYValues>true</ShowYValues>
- <XCurveData>
- <ShowUnit>true</ShowUnit>
- <VarName>time</VarName>
- </XCurveData>
- <YCurveData>
- <ShowUnit>true</ShowUnit>
- <VarName>Joint_dynD\stepper_model\RotorAngle\angle</VarName>
- </YCurveData>
- </Curve>
- </Curves>
- <Legenda>
- <ShowLegenda>true</ShowLegenda>
- <BorderPenColor>0</BorderPenColor>
- <BackgroundColor>16777215</BackgroundColor>
- </Legenda>
- </Plot>
- </Plots>
- <PlotPanels>
- <PlotPanel>
- <PlotPanelId>1</PlotPanelId>
- <PlotPanelVisible>true</PlotPanelVisible>
- <Name>Window 1</Name>
- <Tiling>0</Tiling>
- <PlotIds>
- <PlotId>1</PlotId>
- <PlotId>3</PlotId>
- </PlotIds>
- <ToggleState>Base</ToggleState>
- </PlotPanel>
- <PlotPanel>
- <PlotPanelId>2</PlotPanelId>
- <PlotPanelVisible>true</PlotPanelVisible>
- <Name>Window 2</Name>
- <Tiling>0</Tiling>
- <PlotIds>
- <PlotId>2</PlotId>
- </PlotIds>
- <ToggleState>Base</ToggleState>
- </PlotPanel>
- </PlotPanels>
- <WindowRectangles virtualDesktopWidth="5760" virtualDesktopHeight="1080">
- <WindowRectangle monitor="0" left="0" top="0" right="1920" bottom="1080" plotpanelid="2">
- 0 0.0259259 1 0.968519
- </WindowRectangle>
- <WindowRectangle monitor="1" left="-1920" top="0" right="0" bottom="1080" plotpanelid="1">
- 0.09375 0.134259 0.892708 0.89537
- </WindowRectangle>
- </WindowRectangles>
- </PlotSpecs>
- <RunSpecs>
- <SimulatorSettings>
- <StartTime>0.0</StartTime>
- <FinishTime>10.0</FinishTime>
- <AllowPassFinishTime>false</AllowPassFinishTime>
- <Warp>false</Warp>
- <FPGonio>false</FPGonio>
- <UseOutputAfterEach>false</UseOutputAfterEach>
- <OutputAfterEach>0.1</OutputAfterEach>
- <EventEpsilon>1.0e-6</EventEpsilon>
- <AlgebraicTolerance>1.0e-7</AlgebraicTolerance>
- <SteadyStateAnalysis>false</SteadyStateAnalysis>
- <UpdateHoldInstructions>true</UpdateHoldInstructions>
- </SimulatorSettings>
- <IntegrationMethods>
- <IntegrationMethod>
- <Name>Euler</Name>
- <StepSize>0.01</StepSize>
- <AutoStepSize>false</AutoStepSize>
- </IntegrationMethod>
- <IntegrationMethod>
- <Name>BackwardEuler</Name>
- <AbsoluteTolerance>1.0e-5</AbsoluteTolerance>
- <RelativeTolerance>1.0e-5</RelativeTolerance>
- <AlgebraicAbsoluteTolerance>1.0e-5</AlgebraicAbsoluteTolerance>
- <AlgebraicRelativeTolerance>1.0e-5</AlgebraicRelativeTolerance>
- <StepSize>0.01</StepSize>
- <Alpha>1.0</Alpha>
- </IntegrationMethod>
- <IntegrationMethod>
- <Name>AdamsBashforth</Name>
- <StepSize>0.01</StepSize>
- <AutoStepSize>false</AutoStepSize>
- </IntegrationMethod>
- <IntegrationMethod>
- <Name>RungeKutta2</Name>
- <StepSize>0.01</StepSize>
- <AutoStepSize>false</AutoStepSize>
- </IntegrationMethod>
- <IntegrationMethod>
- <Name>RungeKutta4</Name>
- <StepSize>0.01</StepSize>
- <AutoStepSize>false</AutoStepSize>
- </IntegrationMethod>
- <IntegrationMethod>
- <Name>RungeKutta8</Name>
- <UseInitialStepSize>false</UseInitialStepSize>
- <InitialStepSize>0.001</InitialStepSize>
- <UseMaximumStepSize>false</UseMaximumStepSize>
- <MaximumStepSize>1.0</MaximumStepSize>
- <AbsoluteTolerance>1.0e-6</AbsoluteTolerance>
- <RelativeTolerance>1.0e-6</RelativeTolerance>
- <SafetyFactor>0.9</SafetyFactor>
- <Factor1>0.33</Factor1>
- <Factor2>6.0</Factor2>
- <Beta>0.0</Beta>
- <UseMaxNrSteps>false</UseMaxNrSteps>
- <MaxNrSteps>100000</MaxNrSteps>
- <UseStiffDetection>false</UseStiffDetection>
- <MaxNrStiffnessSteps>1000</MaxNrStiffnessSteps>
- </IntegrationMethod>
- <IntegrationMethod>
- <Name>RungeKuttaFehlberg</Name>
- <UseInitialStepSize>false</UseInitialStepSize>
- <InitialStepSize>0.001</InitialStepSize>
- <UseMaximumStepSize>false</UseMaximumStepSize>
- <MaximumStepSize>1.0</MaximumStepSize>
- <AbsoluteTolerance>1.0e-6</AbsoluteTolerance>
- <RelativeTolerance>1.0e-6</RelativeTolerance>
- </IntegrationMethod>
- <IntegrationMethod>
- <Name>VodeAdams</Name>
- <UseInitialStepSize>false</UseInitialStepSize>
- <InitialStepSize>0.001</InitialStepSize>
- <UseMaximumStepSize>false</UseMaximumStepSize>
- <MaximumStepSize>1.0</MaximumStepSize>
- <AbsoluteTolerance>1.0e-6</AbsoluteTolerance>
- <RelativeTolerance>1.0e-6</RelativeTolerance>
- <VodeUseBDF>true</VodeUseBDF>
- <VodeUseNewton>true</VodeUseNewton>
- </IntegrationMethod>
- <IntegrationMethod>
- <Name>BDFMethod</Name>
- <AbsoluteTolerance>1.0e-5</AbsoluteTolerance>
- <RelativeTolerance>1.0e-5</RelativeTolerance>
- <AlgebraicAbsoluteTolerance>1.0e-5</AlgebraicAbsoluteTolerance>
- <AlgebraicRelativeTolerance>1.0e-5</AlgebraicRelativeTolerance>
- <UseInitialStepSize>false</UseInitialStepSize>
- <InitialStepSize>0.001</InitialStepSize>
- <UseMaximumStepSize>false</UseMaximumStepSize>
- <MaximumStepSize>1.0</MaximumStepSize>
- </IntegrationMethod>
- <IntegrationMethod>
- <Name>MeBDFiMethod</Name>
- <AbsoluteTolerance>1.0e-5</AbsoluteTolerance>
- <RelativeTolerance>1.0e-5</RelativeTolerance>
- <AlgebraicAbsoluteTolerance>1.0e-5</AlgebraicAbsoluteTolerance>
- <AlgebraicRelativeTolerance>1.0e-5</AlgebraicRelativeTolerance>
- <UseInitialStepSize>false</UseInitialStepSize>
- <InitialStepSize>0.001</InitialStepSize>
- <UseMaximumStepSize>false</UseMaximumStepSize>
- <MaximumStepSize>1.0</MaximumStepSize>
- </IntegrationMethod>
- <SelectedIntegrationMethod>8</SelectedIntegrationMethod>
- </IntegrationMethods>
- </RunSpecs>
- <MultipleRun>
- <NrSteps>10</NrSteps>
- <CopyFromStates>false</CopyFromStates>
- <JoinParameterVariation>true</JoinParameterVariation>
- <ClearAfterRun>true</ClearAfterRun>
- <RedrawAfterRun>false</RedrawAfterRun>
- <DrawDuringSimulation>true</DrawDuringSimulation>
- <ActionBeforeOptimization>0</ActionBeforeOptimization>
- <CompareValue>0.0</CompareValue>
- <UseCompareValue>true</UseCompareValue>
- <MultipleRunType>MultipleRun</MultipleRunType>
- <Minimize>true</Minimize>
- <OptimizationVariable></OptimizationVariable>
- <ResulVarUsage>UseEndValue</ResulVarUsage>
- <Tolerance>0.001</Tolerance>
- <OptimizationMethod>BroydonFletcherGoldfarbShanno</OptimizationMethod>
- <MultipleRunVariables>
- </MultipleRunVariables>
- </MultipleRun>
- <ExportData>
- <WriteAsText>true</WriteAsText>
- <ReadAsText>true</ReadAsText>
- <WriteHeader>true</WriteHeader>
- <ReadHeader>true</ReadHeader>
- <ReadFilename></ReadFilename>
- <WriteFilename></WriteFilename>
- <DoWrite>false</DoWrite>
- <ExportVariables>
- <ExportVariable>
- <VariableName>time</VariableName>
- </ExportVariable>
- </ExportVariables>
- <ImportVariables>
- </ImportVariables>
- </ExportData>
- <BreakPoints>
- </BreakPoints>
- <AnimationPlayback>
- <PlaybackSpeed>1.0</PlaybackSpeed>
- </AnimationPlayback>
- </ExpData>
- </Experiment>
- </Experiments>
- </Document>
|