diff --git a/implementation/SCARA/06_arm/arm_model-v2.emx b/implementation/SCARA/06_arm/arm_model-v2.emx
index e1de3ac..8a88de4 100644
--- a/implementation/SCARA/06_arm/arm_model-v2.emx
+++ b/implementation/SCARA/06_arm/arm_model-v2.emx
@@ -8,8 +8,9 @@
0
False
C:\users\wouter\My Documents\studie\ma\mahd\implementation\SCARA\06_arm\arm_model-v2.emx
- 2020-7-23 16:28:58
-
+ 2020-7-24 16:11:50
+True
+
';
type 'Mainmodel-v2'
end;
@@ -87,7 +88,7 @@ equations
rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
//[input[3,2];input[1,3];input[2,1]];
R = input[1:3,1:3];implementation_end;
- Body4 480 192
+ Body4 480 64
description '4.0
Template\Submodel-Equation.emx
1
@@ -111,7 +112,7 @@ equations
rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
//[input[3,2];input[1,3];input[2,1]];
R = input[1:3,1:3];implementation_end;
- Body5 992 224
+ Body5 992 48
description '4.0
Template\Submodel-Equation.emx
1
@@ -135,7 +136,7 @@ equations
rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
//[input[3,2];input[1,3];input[2,1]];
R = input[1:3,1:3];implementation_end;
- Body6 1104 224
+ Body6 1416 184
description '4.0
Template\Submodel-Equation.emx
1
@@ -828,14 +829,17 @@ implementation_end;
description '4.81Bond Graph\MR\center_of_mass_v2.emx2020-7-21 12:24:38parameters
real density = 1400 {kg/m3};
real dimension[3] = [0.005;0.075;0.01] {m};
+ real servoweight = 5 {g};
variables
real I[3,1] {N.m.s};
- real m {kg};
+ real m {kg};
+ real mass;
initialequations
- m = dimension[1] * dimension[2] * dimension[3] * density;
- I[1] = m/12 * ( dimension[2]^2 + dimension[3]^2);
- I[2] = m/12 * ( dimension[1]^2 + dimension[3]^2);
- I[3] = m/12 * ( dimension[1]^2 + dimension[2]^2);';
+ mass = dimension[1] * dimension[2] * dimension[3] * density;
+ I[1] = mass/12 * ( dimension[2]^2 + dimension[3]^2);
+ I[2] = mass/12 * ( dimension[1]^2 + dimension[3]^2);
+ I[3] = mass/12 * ( dimension[1]^2 + dimension[2]^2);
+ m = mass + servoweight;';
type Submodel
ports
signal in Hin [4,4];
@@ -1049,7 +1053,7 @@ implementation_end;
ZeroJunction1\p => Ta0j\p;
end;
implementation_end;
- COM_body5 1184 128
+ COM_body5 1472 128
description '4.81Bond Graph\MR\center_of_mass_v2.emx2020-7-21 12:24:38parameters
real I [3,1] = [0.018;0.159;0.159] {mN.m.s};
real m = 0.015 {kg};';
@@ -1061,11 +1065,11 @@ implementation_end;
end;
icon bg bottom
figures
- rectangle 1168 96 1200 160 color 0 fill 139;
- text 'COM' 1184 128 color 0 'Clear Sans' 16;
+ rectangle 1456 96 1488 160 color 0 fill 139;
+ text 'COM' 1472 128 color 0 'Clear Sans' 16;
terminals
- Hin 1168 144 fixed;
- p 1168 112 fixed;
+ Hin 1456 144 fixed;
+ p 1456 112 fixed;
end;
implementation bg
submodels
@@ -3641,7 +3645,7 @@ implementation_end;
ZeroJunction1\p <= stepper_model\p;
end;
implementation_end;
- Joint_dynB 672 192
+ Joint_dynB 456 192
description '
4.8
1
@@ -3652,8 +3656,8 @@ implementation_end;
end;
icon bg
figures
- rectangle 632 176 712 208 color 0 fill 15132390;
- text 'name' 672 192 color 0 'Clear Sans' 16;
+ rectangle 416 176 496 208 color 0 fill 15132390;
+ text 'name' 456 192 color 0 'Clear Sans' 16;
end;
implementation bg
submodels
@@ -3675,7 +3679,7 @@ implementation_end;
end;
implementation eq
parameters
- real c[3,3] = [1, 0.0, 0.0; 0.0, 1, 0.0; 0.0, 0.0, 1] {uN/m};
+ 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;
@@ -3698,7 +3702,7 @@ implementation_end;
end;
implementation eq
parameters
- real c[2,2] = [1, 0.0; 0.0, 1] {uN.m/rad};
+ 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;
@@ -4929,6 +4933,11 @@ implementation_end;
ports
power out output [6,1];
end;
+ icon bg
+ figures
+ rectangle 48 472 128 504 color 0 fill 15132390;
+ text 'name' 88 488 color 0 'Clear Sans' 16;
+ end;
implementation bg
submodels
C1 191.8 216.2
@@ -4949,7 +4958,7 @@ implementation_end;
end;
implementation eq
parameters
- real c[3,3] = [1, 0.0, 0.0; 0.0, 1, 0.0; 0.0, 0.0, 1] {uN/m};
+ 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;
@@ -4972,7 +4981,7 @@ implementation_end;
end;
implementation eq
parameters
- real c[2,2] = [1, 0.0; 0.0, 1] {uN.m/rad};
+ 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;
@@ -5297,7 +5306,7 @@ implementation_end;
end;
implementation eq
parameters
- real c[3,3] = [1, 0.0, 0.0; 0.0, 1, 0.0; 0.0, 0.0, 1] {uN/m};
+ 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;
@@ -5320,7 +5329,7 @@ implementation_end;
end;
implementation eq
parameters
- real c[2,2] = [1, 0.0; 0.0, 1] {uN.m/rad};
+ 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;
@@ -5627,6 +5636,34 @@ implementation_end;
end;
implementation bg
submodels
+ C 264 168
+ description '
+
+ 4.2
+1
+ False
+ Bond Graph\C.emx
+ 2011-11-29 15:58:35
+
+';
+ type C
+ ports
+ power in p;
+ signal out state;
+ restrictions
+ causality preferred out p;
+ end;
+ icon bg bottom
+ figures
+ text 'C' 264 168 color 0 18 bold;
+ end;
+ implementation eq
+parameters
+ real c = 0.1;
+equations
+ state = int(p.f);
+ p.e = state / c;
+implementation_end;
C1 191.8 216.2
description '4.01False
Bond Graph\3D\C-3.emx
@@ -5645,7 +5682,7 @@ implementation_end;
end;
implementation eq
parameters
- real c[3,3] = [1, 0.0, 0.0; 0.0, 1, 0.0; 0.0, 0.0, 1] {uN/m};
+ 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;
@@ -5904,7 +5941,7 @@ specification_end;
end;
implementation eq
parameters
- real r = 0.0001;
+ real r = 0.01;
equations
p.e = r * p.f;
implementation_end;
@@ -5948,6 +5985,7 @@ equations
implementation_end;
end;
connections
+ C\p <= OneJunction8\p;
C1\p <= OneJunction7\p;
OneJunction5\p => C4\p;
OneJunction5\p => PowerMux\input_rot2;
@@ -5959,163 +5997,2517 @@ implementation_end;
R\p <= OneJunction8\p;
end;
implementation_end;
- Link1 632 128
- description '
-
- 4.8
- Bond Graph\MR\link-v3.emx
-1
- False
- 2020-7-21 11:14:41
-False
-
-';
- type 'Submodel-Equation'
+ LiftingArm 824 240
+ description '
+ 4.8
+ 1
+ ';
+ type Submodel
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 600 104 664 152 color 0 fill 8454041;
- text 'Link' 632 128 color 0 'Clear Sans' 16;
+ rectangle 752 208 896 272 color 0 fill 15132390;
+ text 'name' 792 232 color 0 'Clear Sans' 16;
terminals
- Hin 600 144 fixed;
- Hout 664 144 fixed;
- Pin 664 112 fixed;
- Pout 600 112 fixed;
+ Hin 752 256 fixed;
+ Pin 896 224 fixed;
+ Pout 752 224 fixed;
end;
- implementation eq
+ implementation bg
+ submodels
+ Body_Lift1 376 336
+ description '4.0
+ Template\Submodel-Equation.emx
+1
+ False
+ 2007-11-1 22:32:1
+ False
+';
+ type 'Submodel-Equation'
+ ports
+ signal in input [4,4];
+ end;
+ implementation eq
parameters
- real offset[6]= [0;0;0;0;0.0125;0]; //coordinates of joint_1
+ real dimension[3] = [0.02;0.02;0.02] {m};
variables
- real Hab[4,4];
- real AdHab[6,6];
+ real position[3];
+ real rotation[3];
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 944 128
- description '
-
- 4.8
- Bond Graph\MR\link-v3.emx
+ 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;
+ Body_Lift2 680 336
+ description '4.0
+ Template\Submodel-Equation.emx
1
- False
- 2020-7-21 11:14:41
-False
-
-';
- 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 912 104 976 152 color 0 fill 8454041;
- text 'Link' 944 128 color 0 'Clear Sans' 16;
- terminals
- Hin 912 144 fixed;
- Hout 976 144 fixed;
- Pin 976 112 fixed;
- Pout 912 112 fixed;
- end;
- implementation eq
+ False
+ 2007-11-1 22:32:1
+ False
+';
+ type 'Submodel-Equation'
+ ports
+ signal in input [4,4];
+ end;
+ implementation eq
parameters
- real offset[6]= [0;0;0;0;0.0125;0]; //coordinates of joint_1
+ real dimension[3] = [0.01;0.003;0.002] {m};
variables
- real Hab[4,4];
- real AdHab[6,6];
+ real position[3];
+ real rotation[3];
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;
- Link11 784 128
- description '
-
- 4.8
- Bond Graph\MR\link-v3.emx
+ 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;
+ Body_Lift3 1104 336
+ description '4.0
+ Template\Submodel-Equation.emx
1
- False
- 2020-7-21 11:14:41
-False
-
-';
- 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 752 104 816 152 color 0 fill 8454041;
- text 'Link' 784 128 color 0 'Clear Sans' 16;
- terminals
- Hin 752 144 fixed;
- Hout 816 144 fixed;
- Pin 816 112 fixed;
- Pout 752 112 fixed;
- end;
- implementation eq
+ False
+ 2007-11-1 22:32:1
+ False
+';
+ type 'Submodel-Equation'
+ ports
+ signal in input [4,4];
+ end;
+ implementation eq
parameters
- real offset[6]= [0;0;0;0;0.0125;0]; //coordinates of joint_1
+ real dimension[3] = [0.003;0.025;0.001] {m};
variables
- real Hab[4,4];
- real AdHab[6,6];
+ real position[3];
+ real rotation[3];
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 384 128
- description '
+ 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;
+ Body_Lift4 1416 336
+ description '4.0
+ Template\Submodel-Equation.emx
+1
+ False
+ 2007-11-1 22:32:1
+ False
+';
+ type 'Submodel-Equation'
+ ports
+ signal in input [4,4];
+ end;
+ implementation eq
+parameters
+ real dimension[3] = [0.0159;0.003;0.002] {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;
+ Joint 488 240
+ description '
4.8
- Bond Graph\MR\link-v3.emx
1
- False
- 2020-7-21 11:14:41
-False
-
+ Bond Graph\MR\joint-v3.emx
+ 2020-7-21 12:08:53
+
+';
+ 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 464 208 512 272 color 0 fill 14745599;
+ text 'Joint' 488 240 color 0 'Clear Sans' 16;
+ terminals
+ Pin 512 224 fixed;
+ Hin 464 256 fixed;
+ Hout 512 256 fixed;
+ Pout 464 224 fixed;
+ end;
+ implementation bg
+ submodels
+ AdHji 424 424
+ description '
+ 4.0
+ 1
+ False
+ Bond Graph\MTF.emx
+ 2007-9-25 12:3:3
+ True
+';
+ 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 '
+
+ 4.2
+1
+ False
+ Bond Graph\FlowSensor.emx
+ 2011-11-29 15:50:53
+
+';
+ 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 '4.0Template\Submodel-Equation.emx1False2007-11-1 22:32:1False';
+ 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 '
+ 4.0
+ 1
+ False
+ Signal\Block Diagram\Gain.emx
+ 2007-9-26 12:15:12
+ True
+';
+ 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 '4.0
+ Signal\Block Diagram\Splitter.emx
+ 2008-01-17 11:28:29
+1
+ False
+';
+ 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 '
+ 4.0
+ 1
+ False
+ Bond Graph\ZeroJunction.emx
+ 2007-9-27 9:51:43
+ True
+';
+ 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;
+ Joint1 952 240
+ description '
+
+ 4.8
+1
+ Bond Graph\MR\joint-v3.emx
+ 2020-7-21 12:08:53
+
+';
+ 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 928 208 976 272 color 0 fill 14745599;
+ text 'Joint' 952 240 color 0 'Clear Sans' 16;
+ terminals
+ Pin 976 224 fixed;
+ Hin 928 256 fixed;
+ Hout 976 256 fixed;
+ Pout 928 224 fixed;
+ end;
+ implementation bg
+ submodels
+ AdHji 424 424
+ description '
+ 4.0
+ 1
+ False
+ Bond Graph\MTF.emx
+ 2007-9-25 12:3:3
+ True
+';
+ 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 '
+
+ 4.2
+1
+ False
+ Bond Graph\FlowSensor.emx
+ 2011-11-29 15:50:53
+
+';
+ 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 '4.0Template\Submodel-Equation.emx1False2007-11-1 22:32:1False';
+ 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 '
+ 4.0
+ 1
+ False
+ Signal\Block Diagram\Gain.emx
+ 2007-9-26 12:15:12
+ True
+';
+ 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 '4.0
+ Signal\Block Diagram\Splitter.emx
+ 2008-01-17 11:28:29
+1
+ False
+';
+ 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 '
+ 4.0
+ 1
+ False
+ Bond Graph\ZeroJunction.emx
+ 2007-9-27 9:51:43
+ True
+';
+ 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;
+ Joint2 1256 240
+ description '
+
+ 4.8
+1
+ Bond Graph\MR\joint-v3.emx
+ 2020-7-21 12:08:53
+
+';
+ 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 1232 208 1280 272 color 0 fill 14745599;
+ text 'Joint' 1256 240 color 0 'Clear Sans' 16;
+ terminals
+ Pin 1280 224 fixed;
+ Hin 1232 256 fixed;
+ Hout 1280 256 fixed;
+ Pout 1232 224 fixed;
+ end;
+ implementation bg
+ submodels
+ AdHji 424 424
+ description '
+ 4.0
+ 1
+ False
+ Bond Graph\MTF.emx
+ 2007-9-25 12:3:3
+ True
+';
+ 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 '
+
+ 4.2
+1
+ False
+ Bond Graph\FlowSensor.emx
+ 2011-11-29 15:50:53
+
+';
+ 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 '4.0Template\Submodel-Equation.emx1False2007-11-1 22:32:1False';
+ 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 '
+ 4.0
+ 1
+ False
+ Signal\Block Diagram\Gain.emx
+ 2007-9-26 12:15:12
+ True
+';
+ 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 '4.0
+ Signal\Block Diagram\Splitter.emx
+ 2008-01-17 11:28:29
+1
+ False
+';
+ 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 '
+ 4.0
+ 1
+ False
+ Bond Graph\ZeroJunction.emx
+ 2007-9-27 9:51:43
+ True
+';
+ 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_dynF1 488 136
+ description '
+ 4.8
+ 1
+ ';
+ type Submodel
+ ports
+ power out output [6,1];
+ end;
+ icon bg
+ figures
+ rectangle 448 120 528 152 color 0 fill 15132390;
+ text 'name' 488 136 color 0 'Clear Sans' 16;
+ end;
+ implementation bg
+ submodels
+ C1 191.8 216.2
+ description '4.01False
+ Bond Graph\3D\C-3.emx
+ 2007-9-25 12:12:8
+';
+ 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] = [1, 0.0, 0.0; 0.0, 1, 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 '4.01False
+ Bond Graph\2D\C-2.emx
+ 2007-9-25 12:7:27
+';
+ 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] = [1, 0.0; 0.0, 1] {mN.m/rad};
+equations
+ state = int(p.f);
+ p.e = inverse(c) *state;
+implementation_end;
+ MSe 288 304
+ description '
+
+ 4.2
+1
+ False
+ Bond Graph\MSe.emx
+ 2011-11-29 16:12:33
+
+';
+ type MSe
+ ports
+ power out p;
+ signal in effort;
+ restrictions
+ causality fixed out p;
+ end;
+ icon bg bottom
+ figures
+ text 'MSe' 288 304 color 0 18 bold;
+ end;
+ implementation eq
+variables
+ real flow;
+equations
+ p.e = effort;
+ flow = p.f;
+implementation_end;
+ plug output 396 216;
+ OneJunction5 239.8 232.2
+ description '
+
+ 4.2
+1
+ False
+ Bond Graph\OneJunction.emx
+ 2011-11-29 16:17:51
+
+';
+ 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 '
+
+ 4.2
+1
+ False
+ Bond Graph\OneJunction.emx
+ 2011-11-29 16:17:51
+
+';
+ 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 '
+
+ 4.2
+1
+ False
+ Bond Graph\OneJunction.emx
+ 2011-11-29 16:17:51
+
+';
+ 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_z'
+ specification 'rot_x'
+description '
+
+ 4.8
+ Bond Graph\MR\PowerMux-Rotation.emx
+ 2020-7-20 14:35:23
+1
+ False
+ True
+
+';
+ 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 '
+ 4.1
+ Bond Graph\PowerMux.emx
+ 2011-3-4 15:12:50
+1
+ False
+ True
+';
+ 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[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 '
+
+ 4.8
+ Bond Graph\MR\PowerMux-Rotation.emx
+ 2020-7-21 12:05:13
+1
+ False
+ True
+
+';
+ 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 288 112
+ description '
+
+ 4.2
+1
+ False
+ Bond Graph\R.emx
+ 2011-11-29 16:35:37
+
+';
+ type R
+ ports
+ power in p;
+ end;
+ icon bg top
+ figures
+ text 'R' 288 112 color 0 18 bold;
+ end;
+ implementation eq
+parameters
+ real r = 0.0001;
+equations
+ p.e = r * p.f;
+implementation_end;
+ R4 239.8 288.2
+ description '4.01False
+ Bond Graph\2D\R-2.emx
+ 2007-9-25 12:6:54
+';
+ 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 '4.01False
+ Bond Graph\3D\R-3.emx
+ 2007-9-25 12:11:54
+';
+ 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;
+ Square 288 392
+ description '
+ 4.0
+1
+ False
+ Signal\Sources\WaveGenerator-Square.emx
+ 2009-3-5 16:05:33
+';
+ type 'WaveGenerator-Square'
+ ports
+ signal out output;
+ end;
+ icon bg bottom
+ figures
+ rectangle 272.1 376 303.9 408 color 0 fill 15132390;
+ line 276.1 379.9 275.9 406.2 color 0 fill 0;
+ line 273.9 404.1 299.9 404.1 color 0 fill 0;
+ line 276.1 404.1 280 404.1 280 392 color 16711680 fill 0;
+ line 288 392 280 392 288 392 color 16711680 fill 0;
+ line 288 404.1 288 392 288 404.1 color 16711680 fill 0;
+ line 296 392 296 404.1 296 392 color 16711680 fill 0;
+ line 299.9 392.1 295.7 392.1 color 16711680 fill 0;
+ line 288 404.1 296 404.1 color 16711680 fill 0;
+ end;
+ implementation eq
+parameters
+ real amplitude = 0.0; // amplitude of the wave
+ real omega = 3.1415926535898 {rad/s}; // angular frequency of the wave
+variables
+ real hidden s, half;
+ boolean hidden change;
+equations
+ "calculate at least 2 points per period
+ (just after the change in sign)"
+ half = pi / omega;
+ change = frequencyevent (half, 1e-14);
+
+ "calculate the square wave"
+ s = sign (sin (omega * time));
+ output = if( s == 0 ) then
+ amplitude
+ else
+ (amplitude / 2) * (s + 1)
+ end;
+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 <= MSe\p;
+ OneJunction8\p => PowerMux\input;
+ PowerMux\output => output;
+ R\p <= OneJunction8\p;
+ Square\output -> MSe\effort;
+ end;
+ implementation_end;
+ Joint_dynF2 952 136
+ description '
+ 4.8
+ 1
+ ';
+ type Submodel
+ ports
+ power out output [6,1];
+ end;
+ icon bg
+ figures
+ rectangle 912 120 992 152 color 0 fill 15132390;
+ text 'name' 952 136 color 0 'Clear Sans' 16;
+ end;
+ implementation bg
+ submodels
+ C1 191.8 216.2
+ description '4.01False
+ Bond Graph\3D\C-3.emx
+ 2007-9-25 12:12:8
+';
+ 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] = [1, 0.0, 0.0; 0.0, 1, 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 '4.01False
+ Bond Graph\2D\C-2.emx
+ 2007-9-25 12:7:27
+';
+ 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] = [1, 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 '
+
+ 4.2
+1
+ False
+ Bond Graph\OneJunction.emx
+ 2011-11-29 16:17:51
+
+';
+ 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 '
+
+ 4.2
+1
+ False
+ Bond Graph\OneJunction.emx
+ 2011-11-29 16:17:51
+
+';
+ 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 '
+
+ 4.2
+1
+ False
+ Bond Graph\OneJunction.emx
+ 2011-11-29 16:17:51
+
+';
+ 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_z'
+ specification 'rot_x'
+description '
+
+ 4.8
+ Bond Graph\MR\PowerMux-Rotation.emx
+ 2020-7-20 14:35:23
+1
+ False
+ True
+
+';
+ 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 '
+ 4.1
+ Bond Graph\PowerMux.emx
+ 2011-3-4 15:12:50
+1
+ False
+ True
+';
+ 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 '
+
+ 4.8
+ Bond Graph\MR\PowerMux-Rotation.emx
+ 2020-7-21 12:05:13
+1
+ False
+ True
+
+';
+ 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 288 152
+ description '
+
+ 4.2
+1
+ False
+ Bond Graph\R.emx
+ 2011-11-29 16:35:37
+
+';
+ 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.0001;
+equations
+ p.e = r * p.f;
+implementation_end;
+ R4 239.8 288.2
+ description '4.01False
+ Bond Graph\2D\R-2.emx
+ 2007-9-25 12:6:54
+';
+ 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 '4.01False
+ Bond Graph\3D\R-3.emx
+ 2007-9-25 12:11:54
+';
+ 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_dynF3 1256 136
+ description '
+ 4.8
+ 1
+ ';
+ type Submodel
+ ports
+ power out output [6,1];
+ end;
+ icon bg
+ figures
+ rectangle 1216 120 1296 152 color 0 fill 15132390;
+ text 'name' 1256 136 color 0 'Clear Sans' 16;
+ end;
+ implementation bg
+ submodels
+ C1 191.8 216.2
+ description '4.01False
+ Bond Graph\3D\C-3.emx
+ 2007-9-25 12:12:8
+';
+ 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] = [1, 0.0, 0.0; 0.0, 1, 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 '4.01False
+ Bond Graph\2D\C-2.emx
+ 2007-9-25 12:7:27
+';
+ 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] = [1, 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 '
+
+ 4.2
+1
+ False
+ Bond Graph\OneJunction.emx
+ 2011-11-29 16:17:51
+
+';
+ 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 '
+
+ 4.2
+1
+ False
+ Bond Graph\OneJunction.emx
+ 2011-11-29 16:17:51
+
+';
+ 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 '
+
+ 4.2
+1
+ False
+ Bond Graph\OneJunction.emx
+ 2011-11-29 16:17:51
+
+';
+ 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_z'
+ specification 'rot_x'
+description '
+
+ 4.8
+ Bond Graph\MR\PowerMux-Rotation.emx
+ 2020-7-20 14:35:23
+1
+ False
+ True
+
+';
+ 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 '
+ 4.1
+ Bond Graph\PowerMux.emx
+ 2011-3-4 15:12:50
+1
+ False
+ True
+';
+ 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 '
+
+ 4.8
+ Bond Graph\MR\PowerMux-Rotation.emx
+ 2020-7-21 12:05:13
+1
+ False
+ True
+
+';
+ 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 288 152
+ description '
+
+ 4.2
+1
+ False
+ Bond Graph\R.emx
+ 2011-11-29 16:35:37
+
+';
+ 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.0001;
+equations
+ p.e = r * p.f;
+implementation_end;
+ R4 239.8 288.2
+ description '4.01False
+ Bond Graph\2D\R-2.emx
+ 2007-9-25 12:6:54
+';
+ 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 '4.01False
+ Bond Graph\3D\R-3.emx
+ 2007-9-25 12:11:54
+';
+ 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;
+ Link1 800 240
+ description '
+
+ 4.8
+ Bond Graph\MR\link-v3.emx
+1
+ False
+ 2020-7-21 11:14:41
+False
+
+';
+ 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 768 216 832 264 color 0 fill 8454041;
+ text 'Link' 800 240 color 0 'Clear Sans' 16;
+ terminals
+ Hin 768 256 fixed;
+ Hout 832 256 fixed;
+ Pin 832 224 fixed;
+ Pout 768 224 fixed;
+ end;
+ implementation eq
+parameters
+ real offset[6]= [0;0;0;0.005;0;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;
+ Link12 304 240
+ description '
+
+ 4.8
+ Bond Graph\MR\link-v3.emx
+1
+ False
+ 2020-7-21 11:14:41
+False
+
+';
+ 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 272 216 336 264 color 0 fill 8454041;
+ text 'Link' 304 240 color 0 'Clear Sans' 16;
+ terminals
+ Hin 272 256 fixed;
+ Hout 336 256 fixed;
+ Pin 336 224 fixed;
+ Pout 272 224 fixed;
+ end;
+ implementation eq
+parameters
+ real offset[6]= [0;0;0;0.0059;0;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;
+ Link13 592 240
+ description '
+
+ 4.8
+ Bond Graph\MR\link-v3.emx
+1
+ False
+ 2020-7-21 11:14:41
+False
+
+';
+ 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 560 216 624 264 color 0 fill 8454041;
+ text 'Link' 592 240 color 0 'Clear Sans' 16;
+ terminals
+ Hin 560 256 fixed;
+ Hout 624 256 fixed;
+ Pin 624 224 fixed;
+ Pout 560 224 fixed;
+ end;
+ implementation eq
+parameters
+ real offset[6]= [0;0;0;0.005;0;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;
+ Link14 1048 240
+ description '
+
+ 4.8
+ Bond Graph\MR\link-v3.emx
+1
+ False
+ 2020-7-21 11:14:41
+False
+
+';
+ 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 1016 216 1080 264 color 0 fill 8454041;
+ text 'Link' 1048 240 color 0 'Clear Sans' 16;
+ terminals
+ Hin 1016 256 fixed;
+ Hout 1080 256 fixed;
+ Pin 1080 224 fixed;
+ Pout 1016 224 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;
+ Link15 1360 240
+ description '
+
+ 4.8
+ Bond Graph\MR\link-v3.emx
+1
+ False
+ 2020-7-21 11:14:41
+False
+
+';
+ 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 1328 216 1392 264 color 0 fill 8454041;
+ text 'Link' 1360 240 color 0 'Clear Sans' 16;
+ terminals
+ Hin 1328 256 fixed;
+ Hout 1392 256 fixed;
+ Pin 1392 224 fixed;
+ Pout 1328 224 fixed;
+ end;
+ implementation eq
+parameters
+ real offset[6]= [0;0;0;-0.00795;0;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 1168 240
+ description '
+
+ 4.8
+ Bond Graph\MR\link-v3.emx
+1
+ False
+ 2020-7-21 11:14:41
+False
+
+';
+ 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 1136 216 1200 264 color 0 fill 8454041;
+ text 'Link' 1168 240 color 0 'Clear Sans' 16;
+ terminals
+ Hin 1136 256 fixed;
+ Hout 1200 256 fixed;
+ Pin 1200 224 fixed;
+ Pout 1136 224 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;
+ Link3 1472 240
+ description '
+
+ 4.8
+ Bond Graph\MR\link-v3.emx
+1
+ False
+ 2020-7-21 11:14:41
+False
+
+';
+ 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 1440 216 1504 264 color 0 fill 8454041;
+ text 'Link' 1472 240 color 0 'Clear Sans' 16;
+ terminals
+ Hin 1440 256 fixed;
+ Hout 1504 256 fixed;
+ Pin 1504 224 fixed;
+ Pout 1440 224 fixed;
+ end;
+ implementation eq
+parameters
+ real offset[6]= [0;0;0;-0.00795;0;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;
+ plug Hin 224 256;
+ plug Pin 1584 224;
+ plug Pout 192 224;
+ Splitter1 680 256
+ description '4.0
+ Signal\Block Diagram\Splitter.emx
+ 2008-01-17 11:28:29
+1
+ False
+';
+ knot Splitter
+ ports
+ signal knot duplicatable out output [4,4];
+ signal knot in input [4,4];
+ end;
+ icon bg ellipse
+ figures
+ ellipse 676.8 252.8 683.2 259.2 color -1 fill 0;
+ ellipse 675.7 251.7 684.3 260.3 color -1;
+ terminals
+ input 680 256 fixed;
+ end;
+ implementation eq
+equations
+ collect (output) = input;
+implementation_end;
+ Splitter2 376 256
+ description '4.0
+ Signal\Block Diagram\Splitter.emx
+ 2008-01-17 11:28:29
+1
+ False
+';
+ knot Splitter
+ ports
+ signal knot duplicatable out output [4,4];
+ signal knot in input [4,4];
+ end;
+ icon bg ellipse
+ figures
+ ellipse 372.8 252.8 379.2 259.2 color -1 fill 0;
+ ellipse 371.7 251.7 380.3 260.3 color -1;
+ terminals
+ input 376 256 fixed;
+ end;
+ implementation eq
+equations
+ collect (output) = input;
+implementation_end;
+ Splitter3 1104 256
+ description '4.0
+ Signal\Block Diagram\Splitter.emx
+ 2008-01-17 11:28:29
+1
+ False
+';
+ knot Splitter
+ ports
+ signal knot duplicatable out output [4,4];
+ signal knot in input [4,4];
+ end;
+ icon bg ellipse
+ figures
+ ellipse 1100.8 252.8 1107.2 259.2 color -1 fill 0;
+ ellipse 1099.7 251.7 1108.3 260.3 color -1;
+ terminals
+ input 1104 256 fixed;
+ end;
+ implementation eq
+equations
+ collect (output) = input;
+implementation_end;
+ Splitter4 1416 256
+ description '4.0
+ Signal\Block Diagram\Splitter.emx
+ 2008-01-17 11:28:29
+1
+ False
+';
+ knot Splitter
+ ports
+ signal knot duplicatable out output [4,4];
+ signal knot in input [4,4];
+ end;
+ icon bg ellipse
+ figures
+ ellipse 1412.8 252.8 1419.2 259.2 color -1 fill 0;
+ ellipse 1411.7 251.7 1420.3 260.3 color -1;
+ terminals
+ input 1416 256 fixed;
+ end;
+ implementation eq
+equations
+ collect (output) = input;
+implementation_end;
+ end;
+ connections
+ Hin -> Link12\Hin;
+ Joint_dynF1\output => Joint\Pdiff;
+ Joint_dynF2\output => Joint1\Pdiff;
+ Joint_dynF3\output => Joint2\Pdiff;
+ Joint\Hout -> Link13\Hin;
+ Joint\Pin <= Link13\Pout;
+ Joint1\Hout -> Link14\Hin;
+ Joint1\Pin <= Link14\Pout;
+ Joint2\Hout -> Link15\Hin;
+ Joint2\Pin <= Link15\Pout;
+ Link1\Hout -> Joint1\Hin;
+ Link1\Pin <= Joint1\Pout;
+ Link12\Hout -> Splitter2\input;
+ Link12\Pin <= Joint\Pout;
+ Link12\Pout => Pout;
+ Link13\Hout -> Splitter1\input;
+ Link13\Pin <= Link1\Pout;
+ Link14\Hout -> Splitter3\input;
+ Link14\Pin <= Link2\Pout;
+ Link15\Hout -> Splitter4\input;
+ Link15\Pin <= Link3\Pout;
+ Link2\Hout -> Joint2\Hin;
+ Link2\Pin <= Joint2\Pout;
+ Link3\Pin <= Pin;
+ Splitter1\output -> Body_Lift2\input;
+ Splitter1\output -> Link1\Hin;
+ Splitter2\output -> Body_Lift1\input;
+ Splitter2\output -> Joint\Hin;
+ Splitter3\output -> Body_Lift3\input;
+ Splitter3\output -> Link2\Hin;
+ Splitter4\output -> Body_Lift4\input;
+ Splitter4\output -> Link3\Hin;
+ end;
+ implementation_end;
+ Link1 632 128
+ description '
+
+ 4.8
+ Bond Graph\MR\link-v3.emx
+1
+ False
+ 2020-7-21 11:14:41
+False
+
+';
+ 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 600 104 664 152 color 0 fill 8454041;
+ text 'Link' 632 128 color 0 'Clear Sans' 16;
+ terminals
+ Hin 600 144 fixed;
+ Hout 664 144 fixed;
+ Pin 664 112 fixed;
+ Pout 600 112 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;
+ Link10 944 128
+ description '
+
+ 4.8
+ Bond Graph\MR\link-v3.emx
+1
+ False
+ 2020-7-21 11:14:41
+False
+
+';
+ 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 912 104 976 152 color 0 fill 8454041;
+ text 'Link' 944 128 color 0 'Clear Sans' 16;
+ terminals
+ Hin 912 144 fixed;
+ Hout 976 144 fixed;
+ Pin 976 112 fixed;
+ Pout 912 112 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;
+ Link11 784 128
+ description '
+
+ 4.8
+ Bond Graph\MR\link-v3.emx
+1
+ False
+ 2020-7-21 11:14:41
+False
+
+';
+ 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 752 104 816 152 color 0 fill 8454041;
+ text 'Link' 784 128 color 0 'Clear Sans' 16;
+ terminals
+ Hin 752 144 fixed;
+ Hout 816 144 fixed;
+ Pin 816 112 fixed;
+ Pout 752 112 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 384 128
+ description '
+
+ 4.8
+ Bond Graph\MR\link-v3.emx
+1
+ False
+ 2020-7-21 11:14:41
+False
+
';
type 'Submodel-Equation'
ports
@@ -6400,7 +8792,7 @@ equations
Pin.f = AdHab * Pout.f;
implementation_end;
- Link8 1048 128
+ Link8 1360 128
description '
4.8
@@ -6422,13 +8814,13 @@ equations
end;
icon bg bottom
figures
- rectangle 1016 104 1080 152 color 0 fill 8454041;
- text 'Link' 1048 128 color 0 'Clear Sans' 16;
+ rectangle 1328 104 1392 152 color 0 fill 8454041;
+ text 'Link' 1360 128 color 0 'Clear Sans' 16;
terminals
- Hin 1016 144 fixed;
- Hout 1080 144 fixed;
- Pin 1080 112 fixed;
- Pout 1016 112 fixed;
+ Hin 1328 144 fixed;
+ Hout 1392 144 fixed;
+ Pin 1392 112 fixed;
+ Pout 1328 112 fixed;
end;
implementation eq
parameters
@@ -6678,6 +9070,33 @@ equations
sum (direct (p.e)) = 0;
equal (collect (p.f));
flow = first (p.f);
+implementation_end;
+ OneJunction7 1264 112
+ description '
+
+ 4.2
+1
+ False
+ Bond Graph\OneJunction.emx
+ 2011-11-29 16:17:51
+
+';
+ 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' 1264 112 color 0 18 bold;
+ end;
+ implementation eq
+equations
+ sum (direct (p.e)) = 0;
+ equal (collect (p.f));
+ flow = first (p.f);
implementation_end;
rectanglepath 856 768
description '
@@ -6764,7 +9183,7 @@ implementation_end;
equations
collect (output) = input;
implementation_end;
- Splitter10 1104 144
+ Splitter10 1416 144
description '4.0
Signal\Block Diagram\Splitter.emx
2008-01-17 11:28:29
@@ -6778,10 +9197,10 @@ implementation_end;
end;
icon bg ellipse
figures
- ellipse 1100.8 140.8 1107.2 147.2 color -1 fill 0;
- ellipse 1099.7 139.7 1108.3 148.3 color -1;
+ ellipse 1412.8 140.8 1419.2 147.2 color -1 fill 0;
+ ellipse 1411.7 139.7 1420.3 148.3 color -1;
terminals
- input 1104 144 fixed;
+ input 1416 144 fixed;
end;
implementation eq
equations
@@ -8082,7 +10501,7 @@ equations
implementation_end;
specification_end;
end;
- Zero 816 592
+ Zero 816 680
description '4.01False
Signal\Sources\Zero.emx
2007-9-27 15:54:36
@@ -8094,8 +10513,8 @@ specification_end;
end;
icon bg bottom
figures
- rectangle 800.1 576 831.9 608 color 0 fill 15132390;
- text '0' 816 592 color 16711680 18 bold;
+ rectangle 800.1 664 831.9 696 color 0 fill 15132390;
+ text '0' 816 680 color 16711680 18 bold;
end;
implementation eq
equations
@@ -8132,6 +10551,9 @@ equations
JointE\Pout => Link4\Pin;
JointF\Hout -> Link10\Hin;
JointF\Pout => Link11\Pin;
+ LiftingArm\Hin <- Splitter6\output 728 256;
+ LiftingArm\Pin <= OneJunction7\p 1264 224;
+ LiftingArm\Pout => OneJunction6\p 696 224;
Link1\Hout -> Splitter6\input;
Link10\Hout -> Splitter9\input;
Link10\Pout => JointF\Pin;
@@ -8148,7 +10570,7 @@ equations
Link6\Hout -> Splitter2\input;
Link6\Pin <= OneJunction2\p;
Link8\Hout -> Splitter10\input;
- Link8\Pout => Link10\Pin;
+ Link8\Pout => OneJunction7\p;
Link9\Hout -> Splitter3\input;
Link9\Pin <= OneJunction4\p;
Negate2\output -> stepper_control1\setpoint;
@@ -8161,6 +10583,7 @@ equations
OneJunction5\p <= JointC\Pout;
OneJunction5\p => JointA\Pin;
OneJunction6\p => Link1\Pin;
+ OneJunction7\p => Link10\Pin;
Splitter1\output -> Body2\input;
Splitter1\output -> COM_body2\Hin;
Splitter1\output -> Link7\Hin;
@@ -8195,6 +10618,12 @@ equations
4.8
+
+
+
+
+
+
@@ -8377,23 +10806,87 @@ equations
1
0 0
+
+ Joint_dynF\C\state_initial
+ 0
+
+
+ LiftingArm\Joint1\Hmatrix\p_initial
+ 3
+ 1
+ 0 0 0
+
+
+ LiftingArm\Joint2\Hmatrix\p_initial
+ 3
+ 1
+ 0 0 0
+
+
+ LiftingArm\Joint\Hmatrix\p_initial
+ 3
+ 1
+ 0 0 0
+
+
+ LiftingArm\Joint_dynF1\C1\state_initial
+ 3
+ 1
+ 0 0 0
+
+
+ LiftingArm\Joint_dynF1\C4\state_initial
+ 2
+ 1
+ 0 0
+
+
+ LiftingArm\Joint_dynF2\C1\state_initial
+ 3
+ 1
+ 0 0 0
+
+
+ LiftingArm\Joint_dynF2\C4\state_initial
+ 2
+ 1
+ 0 0
+
+
+ LiftingArm\Joint_dynF3\C1\state_initial
+ 3
+ 1
+ 0 0 0
+
+
+ LiftingArm\Joint_dynF3\C4\state_initial
+ 2
+ 1
+ 0 0
+
+
+ COM_body4\ZeroJunction1\p1.e_initial
+ 6
+ 1
+ 0 0 0 0 0 0
+
+
+ COM_body5\ZeroJunction1\p1.e_initial
+ 6
+ 1
+ 0 0 0 0 0 0
+
+
+ LiftingArm\Joint\AdHji\p2.e_initial
+ 6
+ 1
+ 0 0 0 0 0 0
+
time
- Body1\position[1]
- Body1\position[2]
- Body1\position[3]
- Body1\R[1,3]
- Body1\R[2,3]
- Body1\R[3,3]
- Body1\R[1,2]
- Body1\R[2,2]
- Body1\R[3,2]
- Body1\dimension[1]
- Body1\dimension[2]
- Body1\dimension[3]
Body2\dimension[1]
Body2\dimension[2]
Body2\dimension[3]
@@ -8461,10 +10954,60 @@ equations
Body6\R[2,2]
Body6\R[3,2]
Body6\position[1]
+ Body1\position[1]
+ Body1\position[2]
+ Body1\R[1,3]
+ Body1\R[2,3]
+ Body1\R[3,3]
+ Body1\R[1,2]
+ Body1\R[2,2]
+ Body1\R[3,2]
+ Body1\dimension[1]
+ Body1\dimension[2]
+ Body1\dimension[3]
+ Body1\position[3]
+ LiftingArm\Body_Lift2\dimension[1]
+ LiftingArm\Body_Lift2\dimension[2]
+ LiftingArm\Body_Lift2\dimension[3]
+ LiftingArm\Body_Lift2\position[1]
+ LiftingArm\Body_Lift2\position[2]
+ LiftingArm\Body_Lift2\position[3]
+ LiftingArm\Body_Lift2\R[1,3]
+ LiftingArm\Body_Lift2\R[2,3]
+ LiftingArm\Body_Lift2\R[3,3]
+ LiftingArm\Body_Lift2\R[1,2]
+ LiftingArm\Body_Lift2\R[2,2]
+ LiftingArm\Body_Lift2\R[3,2]
+ LiftingArm\Body_Lift3\dimension[1]
+ LiftingArm\Body_Lift3\dimension[2]
+ LiftingArm\Body_Lift3\dimension[3]
+ LiftingArm\Body_Lift3\position[1]
+ LiftingArm\Body_Lift3\position[2]
+ LiftingArm\Body_Lift3\position[3]
+ LiftingArm\Body_Lift3\R[1,3]
+ LiftingArm\Body_Lift3\R[2,3]
+ LiftingArm\Body_Lift3\R[3,3]
+ LiftingArm\Body_Lift3\R[1,2]
+ LiftingArm\Body_Lift3\R[2,2]
+ LiftingArm\Body_Lift3\R[3,2]
+ LiftingArm\Body_Lift4\dimension[1]
+ LiftingArm\Body_Lift4\dimension[2]
+ LiftingArm\Body_Lift4\dimension[3]
+ LiftingArm\Body_Lift4\position[1]
+ LiftingArm\Body_Lift4\position[2]
+ LiftingArm\Body_Lift4\position[3]
+ LiftingArm\Body_Lift4\R[1,3]
+ LiftingArm\Body_Lift4\R[2,3]
+ LiftingArm\Body_Lift4\R[3,3]
+ LiftingArm\Body_Lift4\R[1,2]
+ LiftingArm\Body_Lift4\R[2,2]
+ LiftingArm\Body_Lift4\R[3,2]
stepper_control\setpoint
Joint_dynA\stepper_model\angle
stepper_control1\setpoint
Joint_dynC\angle
+ Body_Lift2\position[2]
+ Body_Lift2\position[3]
@@ -8538,7 +11081,7 @@ equations
0.0
- 3.2420091467026997
+ 6.0
true
3
@@ -9248,36 +11791,36 @@ equations
Camera Looking at Origin
- 0.245976429808248
+ 0.223787984479337
- -0.0388302746466069
+ 0.0954804685656807
- 0.0780771451714441
+ 0.105305809287375
- -0.976228248439824
+ -0.88839104703304
- 0.15372928256777
+ -0.37796546340258
- -0.152793045094702
+ -0.260582915837574
- -0.150933112017381
+ -0.239783703536445
- 0.0237678422676611
+ -0.1020158396758
- 0.988258207843825
+ 0.965451471578757
Direct3D
@@ -9572,44 +12115,44 @@ equations
Body1\position[1]
- 0.0
+ -4.192318903545271e-13
Body1\position[2]
- -0.013216742557477136
+ -0.01794560018514256
Body1\position[3]
- 0.02929685427745184
+ 0.02587531783732037
Body1\R[1,3]
- 0.0
+ 1.8808915239954715e-11
Body1\R[2,3]
- -0.39150905335206887
+ -0.5026328576019784
Body1\R[3,3]
- 0.9201742558577516
+ 0.8644999771306355
Body1\R[1,2]
- 0.0
+ -6.441531859206288e-11
Body1\R[2,2]
- 0.9201742558577516
+ 0.8644999771306355
Body1\R[3,2]
- 0.39150905335206887
+ 0.5026328576019784
Matrix
@@ -9691,44 +12234,44 @@ equations
Body2\position[1]
- 0.0
+ 3.9961335365673003e-13
Body2\position[2]
- -0.010731870933632882
+ -0.010668707667296126
Body2\position[3]
- -0.006377522947254681
+ 0.006619337182379103
Body2\R[1,3]
- 0.0
+ 1.4843149326684468e-11
Body2\R[2,3]
- -0.5128634791918395
+ 0.525080867694379
Body2\R[3,3]
- 0.8584701810262496
+ 0.8510523382150583
Body2\R[1,2]
- 0.0
+ 6.025411718535906e-12
Body2\R[2,2]
- 0.8584701810262496
+ 0.8510523382150583
Body2\R[3,2]
- 0.5128634791918395
+ -0.525080867694379
Matrix
@@ -9810,44 +12353,44 @@ equations
Body3\position[1]
- 0.0
+ 8.37962015923301e-13
Body3\position[2]
- -0.03440839742237934
+ -0.03735447750060467
Body3\position[3]
- 0.016889663750438287
+ 0.041486728665558394
Body3\R[1,3]
- 0.0
+ 1.3203517771817197e-12
Body3\R[2,3]
- -0.4003112042408226
+ -0.493262820072999
Body3\R[3,3]
- 0.9163792554173531
+ 0.8698803310419384
Body3\R[1,2]
- 0.0
+ 1.3861294680230433e-10
Body3\R[2,2]
- 0.9163792554173531
+ 0.8698803310419384
Body3\R[3,2]
- 0.4003112042408226
+ 0.493262820072999
Matrix
@@ -9929,44 +12472,44 @@ equations
Body4\position[1]
- 0.0
+ 2.287910135372518e-12
Body4\position[2]
- -0.02583103540960315
+ -0.03421787608812493
Body4\position[3]
- 0.05894321641561122
+ 0.05382727747127006
Body4\R[1,3]
- 0.0
+ -4.592834816856213e-11
Body4\R[2,3]
- -0.49847598509542
+ 0.639676262061669
Body4\R[3,3]
- 0.8669035080579329
+ 0.7686444430000199
Body4\R[1,2]
- 0.0
+ 3.8196097794433654e-11
Body4\R[2,2]
- 0.8669035080579329
+ 0.7686444430000199
Body4\R[3,2]
- 0.49847598509542
+ -0.639676262061669
Matrix
@@ -10048,44 +12591,44 @@ equations
Body5\position[1]
- 0.0
+ -1.059715378988415e-9
Body5\position[2]
- 0.0064755680322661725
+ -0.0054321911761190805
Body5\position[3]
- 0.07751973284114312
+ 0.029862793849851747
Body5\R[1,3]
- 0.0
+ -6.900190287113113e-10
Body5\R[2,3]
- -0.4984759842502531
+ 0.6396762644345244
Body5\R[3,3]
- 0.8669035085439103
+ 0.7686444410252977
Body5\R[1,2]
- 0.0
+ -1.526597654298108e-7
Body5\R[2,2]
- 0.8669035085439103
+ 0.7686444410252886
Body5\R[3,2]
- 0.4984759842502531
+ -0.6396762644345171
Matrix
@@ -10116,44 +12659,44 @@ equations
Body6\position[1]
- 0.0
+ -2.965264415716501e-9
Body6\position[2]
- 0.017244532392109463
+ 0.004162279705310155
Body6\position[3]
- 0.08371196768126417
+ 0.021878145857768656
Body6\R[1,3]
- 0.0
+ -6.900190287113113e-10
Body6\R[2,3]
- -0.4984759842502531
+ 0.6396762644345244
Body6\R[3,3]
- 0.8669035085439103
+ 0.7686444410252977
Body6\R[1,2]
- 0.0
+ -1.526597654298108e-7
Body6\R[2,2]
- 0.8669035085439103
+ 0.7686444410252886
Body6\R[3,2]
- 0.4984759842502531
+ -0.6396762644345171
Matrix
@@ -10460,7 +13003,364 @@ equations
-
+
+
+ Center
+ 1.0
+ true
+ 4
+
+
+ LiftingArm\Body_Lift2\dimension[1]
+ 0.01
+
+
+ LiftingArm\Body_Lift2\dimension[2]
+ 0.003
+
+
+ LiftingArm\Body_Lift2\dimension[3]
+ 0.002
+
+
+ true
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+ 1.0
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+
+ true
+
+
+ 0.5
+
+
+ 0.5
+
+
+ 0.5
+
+
+
+
+
+ 15
+
+ false
+ false
+ Block
+
+
+ LiftingArm\Body_Lift2\position[1]
+ 0.010884341933766452
+
+
+ LiftingArm\Body_Lift2\position[2]
+ -0.02469354731052049
+
+
+ LiftingArm\Body_Lift2\position[3]
+ 0.045832181943591406
+
+
+
+
+
+ LiftingArm\Body_Lift2\R[1,3]
+ 3.5494701038080086e-7
+
+
+ LiftingArm\Body_Lift2\R[2,3]
+ 0.639676572691222
+
+
+ LiftingArm\Body_Lift2\R[3,3]
+ 0.7686441844897325
+
+
+
+
+ LiftingArm\Body_Lift2\R[1,2]
+ 0.009434918925523509
+
+
+ LiftingArm\Body_Lift2\R[2,2]
+ 0.7686099701193403
+
+
+ LiftingArm\Body_Lift2\R[3,2]
+ -0.6396481033646668
+
+
+ Matrix
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+
+
+ Center
+ 1.0
+ true
+ 4
+
+
+ LiftingArm\Body_Lift3\dimension[1]
+ 0.003
+
+
+ LiftingArm\Body_Lift3\dimension[2]
+ 0.025
+
+
+ LiftingArm\Body_Lift3\dimension[3]
+ 0.001
+
+
+ true
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+ 1.0
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+
+ true
+
+
+ 0.5
+
+
+ 0.5
+
+
+ 0.5
+
+
+
+
+
+ 15
+
+ false
+ false
+ Block
+
+
+ LiftingArm\Body_Lift3\position[1]
+ 0.015877282608288686
+
+
+ LiftingArm\Body_Lift3\position[2]
+ -0.015169225940552214
+
+
+ LiftingArm\Body_Lift3\position[3]
+ 0.03783707830340231
+
+
+
+
+
+ LiftingArm\Body_Lift3\R[1,3]
+ 1.765807711687116e-7
+
+
+ LiftingArm\Body_Lift3\R[2,3]
+ 0.6396768859853879
+
+
+ LiftingArm\Body_Lift3\R[3,3]
+ 0.7686439237618458
+
+
+
+
+ LiftingArm\Body_Lift3\R[1,2]
+ 2.064718926187933e-5
+
+
+ LiftingArm\Body_Lift3\R[2,2]
+ 0.7686439235956867
+
+
+ LiftingArm\Body_Lift3\R[3,2]
+ -0.639676885851851
+
+
+ Matrix
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+
+
+ Center
+ 1.0
+ true
+ 4
+
+
+ LiftingArm\Body_Lift4\dimension[1]
+ 0.0159
+
+
+ LiftingArm\Body_Lift4\dimension[2]
+ 0.003
+
+
+ LiftingArm\Body_Lift4\dimension[3]
+ 0.002
+
+
+ true
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+ 1.0
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+
+ true
+
+
+ 0.5
+
+
+ 0.5
+
+
+ 0.5
+
+
+
+
+
+ 15
+
+ false
+ false
+ Block
+
+
+ LiftingArm\Body_Lift4\position[1]
+ 0.007938757231490916
+
+
+ LiftingArm\Body_Lift4\position[2]
+ -0.005608695269323513
+
+
+ LiftingArm\Body_Lift4\position[3]
+ 0.02981184307274159
+
+
+
+
+
+ LiftingArm\Body_Lift4\R[1,3]
+ -1.0363837672010732e-9
+
+
+ LiftingArm\Body_Lift4\R[2,3]
+ 0.6396761815866475
+
+
+ LiftingArm\Body_Lift4\R[3,3]
+ 0.76864450997241
+
+
+
+
+ LiftingArm\Body_Lift4\R[1,2]
+ -1.530724086042814e-7
+
+
+ LiftingArm\Body_Lift4\R[2,2]
+ 0.7686445099724009
+
+
+ LiftingArm\Body_Lift4\R[3,2]
+ -0.6396761815866402
+
+
+ Matrix
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+
@@ -10538,7 +13438,7 @@ equations
0.0
- 3.2420091467026997
+ 6.0
true
3
@@ -10708,8 +13608,8 @@ equations
false
- -0.041708787744804604
- 0.08638068231201962
+ -0.04237372378417744
+ 0.08650812025464483
true
3
@@ -10781,11 +13681,11 @@ equations
true
true
- Body1\position[2]
+ Body_Lift2\position[2]
true
- Body1\position[3]
+ Body_Lift2\position[3]
@@ -10980,7 +13880,7 @@ equations
0.0
- 3.2420091467026997
+ 6.0
true
3
@@ -11151,7 +14051,7 @@ equations
0.0
- 3.2420091467026997
+ 6.0
true
3
@@ -11288,14 +14188,14 @@ equations
-
-0.0770833 0.135185 0.827083 0.859259
+
+0.0203125 0.075 0.770312 0.799074
-0.075 0.0861111 0.917708 0.938889
+0.114583 0.0472222 0.922917 0.859259
-0 0.0259259 1 1
+0.0328125 0.172222 0.782292 0.897222
@@ -11330,7 +14230,7 @@ equations
AdamsBashforth
- 0.01
+ 1.0e-4
false
@@ -11402,7 +14302,7 @@ equations
false
0.0
- 8
+ 7