diff --git a/implementation/SCARA/06_arm/arm_model-v2.emx b/implementation/SCARA/06_arm/arm_model-v2.emx
index 0a4b528..f6f2826 100644
--- a/implementation/SCARA/06_arm/arm_model-v2.emx
+++ b/implementation/SCARA/06_arm/arm_model-v2.emx
@@ -8,14 +8,14 @@
0
False
C:\users\wouter\My Documents\studie\ma\mahd\implementation\SCARA\06_arm\arm_model-v2.emx
- 2020-7-23 13:55:45
+ 2020-7-23 16:01:17
';
- type Mainmodel
+ type 'Mainmodel-v2'
end;
implementation bg
submodels
- Body1 720 464
+ Body1 472 336
description '4.0
Template\Submodel-Equation.emx
1
@@ -29,7 +29,7 @@
end;
implementation eq
parameters
- real dimension[3] = [0.005;0.01;0.065] {m};
+ real dimension[3] = [0.0048;0.009;0.065] {m};
variables
real position[3];
real rotation[3];
@@ -63,7 +63,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;
- Body3 272 448
+ Body3 104 312
description '4.0
Template\Submodel-Equation.emx
1
@@ -77,7 +77,7 @@ equations
end;
implementation eq
parameters
- real dimension[3] = [0.005;0.01;0.065] {m};
+ real dimension[3] = [0.0045;0.01;0.065] {m};
variables
real position[3];
real rotation[3];
@@ -87,7 +87,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 680 192
+ Body4 480 192
description '4.0
Template\Submodel-Equation.emx
1
@@ -111,7 +111,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 848 224
+ Body5 992 224
description '4.0
Template\Submodel-Equation.emx
1
@@ -135,7 +135,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 960 224
+ Body6 1104 224
description '4.0
Template\Submodel-Equation.emx
1
@@ -824,10 +824,18 @@ implementation_end;
ZeroJunction1\p => Ta0j\p;
end;
implementation_end;
- COM_body4 560 48
+ COM_body4 712 48
description '4.81Bond Graph\MR\center_of_mass_v2.emx2020-7-21 12:24:38parameters
- real I [3,1] = [7.583333333333335e-7; 3.645833333333334e-8; 7.364583333333335e-7] {N.m.s};
- real m = 0.0035 {kg};';
+ real density = 1400 {kg/m3};
+ real dimension[3] = [0.005;0.075;0.01] {m};
+variables
+ real I[3,1] {N.m.s};
+ real m {kg};
+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);';
type Submodel
ports
signal in Hin [4,4];
@@ -836,11 +844,11 @@ implementation_end;
end;
icon bg bottom
figures
- rectangle 528 32 592 64 color 0 fill 139;
- text 'COM' 560 48 color 0 'Clear Sans' 16;
+ rectangle 680 32 744 64 color 0 fill 139;
+ text 'COM' 712 48 color 0 'Clear Sans' 16;
terminals
- Hin 576 64 fixed;
- p 544 64 fixed;
+ Hin 728 64 fixed;
+ p 696 64 fixed;
end;
implementation bg
submodels
@@ -871,7 +879,7 @@ code
p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
p1.f = Adjoint(onlyRotH) * p2.f;
implementation_end;
- EJS 616 336
+ EJS 624 336
description '4.01False2007-10-31 11:43:6True';
type MGY
ports
@@ -879,14 +887,13 @@ implementation_end;
end;
icon bg top
figures
- text 'MGY' 616 336 color 0 18 bold;
+ text 'MGY' 624 336 color 0 18 bold;
end;
implementation eq
//EJS / Gyroscopic effects
-parameters
+variables
real global I[3];
real global m;
-variables
real II[6,6]; //Inertial tensor
real Q[6,6];
real QI[6,6];
@@ -912,15 +919,14 @@ equations
text 'Se' 624 400 color 0 18 bold;
end;
implementation eq
-parameters
- real global m;
variables
+ real global m;
real effort[6];
equations
effort = [0;0;0;0;0;-g_n*m];
p.e = effort;
implementation_end;
- InertialTensor 544 272
+ InertialTensor 544 256
description '4.01False
Bond Graph\3D\I-3.emx
2007-9-25 12:12:14
@@ -934,13 +940,12 @@ implementation_end;
end;
icon bg bottom
figures
- text 'I' 544 272 color 0 18 bold;
+ text 'I' 544 256 color 0 18 bold;
end;
implementation eq
-parameters
+variables
real global I[3];
real global m;
-variables
real II[6,6]; //Inertial tensor
real Ia[6];
initialequations
@@ -1044,7 +1049,7 @@ implementation_end;
ZeroJunction1\p => Ta0j\p;
end;
implementation_end;
- COM_body5 992 128
+ COM_body5 1184 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};';
@@ -1056,11 +1061,11 @@ implementation_end;
end;
icon bg bottom
figures
- rectangle 976 96 1008 160 color 0 fill 139;
- text 'COM' 992 128 color 0 'Clear Sans' 16;
+ rectangle 1168 96 1200 160 color 0 fill 139;
+ text 'COM' 1184 128 color 0 'Clear Sans' 16;
terminals
- Hin 976 144 fixed;
- p 976 112 fixed;
+ Hin 1168 144 fixed;
+ p 1168 112 fixed;
end;
implementation bg
submodels
@@ -1264,7 +1269,7 @@ implementation_end;
ZeroJunction1\p => Ta0j\p;
end;
implementation_end;
- Ground1 620 727.5
+ Ground1 620 687.5
description '
4.8
@@ -1280,22 +1285,22 @@ implementation_end;
end;
icon bg bottom
figures
- line 584 720 600 736 color 0 fill 15132390;
- line 592 720 608 736 color 0 fill 15132390;
- line 576 720 592 736 color 0 fill 15132390;
- line 616 736 600 720 color 0 fill 15132390;
- line 624 736 608 720 color 0 fill 15132390;
- line 632 736 616 720 color 0 fill 15132390;
- line 648 736 632 720 color 0 fill 15132390;
- line 640 736 624 720 color 0 fill 15132390;
- line 656 736 640 720 color 0 fill 15132390;
- line 664 736 648 720 color 0 fill 15132390;
- line 576 720 664 720 color 0 fill 15132390 width 2;
- line 656 720 664 728 color 0 fill 15132390;
- line 576 728 584 736 color 0 fill 15132390;
+ line 584 680 600 696 color 0 fill 15132390;
+ line 592 680 608 696 color 0 fill 15132390;
+ line 576 680 592 696 color 0 fill 15132390;
+ line 616 696 600 680 color 0 fill 15132390;
+ line 624 696 608 680 color 0 fill 15132390;
+ line 632 696 616 680 color 0 fill 15132390;
+ line 648 696 632 680 color 0 fill 15132390;
+ line 640 696 624 680 color 0 fill 15132390;
+ line 656 696 640 680 color 0 fill 15132390;
+ line 664 696 648 680 color 0 fill 15132390;
+ line 576 680 664 680 color 0 fill 15132390 width 2;
+ line 656 680 664 688 color 0 fill 15132390;
+ line 576 688 584 696 color 0 fill 15132390;
terminals
- p 600 720 fixed;
- output 632 720 fixed;
+ p 600 680 fixed;
+ output 632 680 fixed;
end;
implementation bg
submodels
@@ -1377,7 +1382,7 @@ equations
Zero\output -> output;
end;
implementation_end;
- inverse_kinematics 784 784
+ inverse_kinematics 712 768
description '
4.8
@@ -2495,7 +2500,7 @@ implementation_end;
Wbai\p => Pout;
end;
implementation_end;
- JointF 720 128
+ JointF 864 128
description '
4.8
@@ -2515,13 +2520,13 @@ implementation_end;
end;
icon bg bottom
figures
- rectangle 696 96 744 160 color 0 fill 14745599;
- text 'Joint' 720 128 color 0 'Clear Sans' 16;
+ rectangle 840 96 888 160 color 0 fill 14745599;
+ text 'Joint' 864 128 color 0 'Clear Sans' 16;
terminals
- Pin 744 112 fixed;
- Hin 696 144 fixed;
- Hout 744 144 fixed;
- Pout 696 112 fixed;
+ Pin 888 112 fixed;
+ Hin 840 144 fixed;
+ Hout 888 144 fixed;
+ Pout 840 112 fixed;
end;
implementation bg
submodels
@@ -2710,7 +2715,7 @@ implementation_end;
Wbai\p => Pout;
end;
implementation_end;
- Joint_dynA 704 512
+ Joint_dynA 712 512
description '
4.8
1
@@ -3532,7 +3537,7 @@ variables
real global p;
real angle {rad};
equations
- angle = int(omega,-1.57);
+ angle = int(omega,1.570796);
output_a = -p * fluxLinkage * sin(p * angle);
output_b = p * fluxLinkage * sin(p * angle - pi / 2);
output_d = detentTorque * sin(2 * p * angle);
@@ -3630,13 +3635,13 @@ implementation_end;
OneJunction7\p => PowerMux\input_pos3;
OneJunction7\p => R5\p;
OneJunction8\p => R\p;
+ OneJunction8\p => ZeroJunction1\p;
PowerMux\input <= ZeroJunction1\p;
PowerMux\output => output;
- ZeroJunction1\p <= OneJunction8\p;
ZeroJunction1\p <= stepper_model\p;
end;
implementation_end;
- Joint_dynB 456 192
+ Joint_dynB 672 192
description '
4.8
1
@@ -3645,6 +3650,11 @@ implementation_end;
ports
power out output [6,1];
end;
+ icon bg
+ figures
+ rectangle 632 176 712 208 color 0 fill 15132390;
+ text 'name' 672 192 color 0 'Clear Sans' 16;
+ end;
implementation bg
submodels
C1 191.8 216.2
@@ -3665,7 +3675,7 @@ implementation_end;
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};
+ real c[3,3] = [1, 0.0, 0.0; 0.0, 1, 0.0; 0.0, 0.0, 1] {uN/m};
equations
state = int(p.f);
p.e = inverse(c) *state;
@@ -3688,7 +3698,7 @@ implementation_end;
end;
implementation eq
parameters
- real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
+ real c[2,2] = [1, 0.0; 0.0, 1] {uN.m/rad};
equations
state = int(p.f);
p.e = inverse(c) *state;
@@ -4904,9 +4914,9 @@ implementation_end;
OneJunction7\p => PowerMux\input_pos3;
OneJunction7\p => R5\p;
OneJunction8\p => R\p;
+ OneJunction8\p => ZeroJunction1\p;
PowerMux\output => output;
stepper_model\p => ZeroJunction1\p;
- ZeroJunction1\p => OneJunction8\p;
ZeroJunction1\p => PowerMux\input;
end;
implementation_end;
@@ -4939,7 +4949,7 @@ implementation_end;
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};
+ real c[3,3] = [1, 0.0, 0.0; 0.0, 1, 0.0; 0.0, 0.0, 1] {uN/m};
equations
state = int(p.f);
p.e = inverse(c) *state;
@@ -4962,7 +4972,7 @@ implementation_end;
end;
implementation eq
parameters
- real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
+ real c[2,2] = [1, 0.0; 0.0, 1] {uN.m/rad};
equations
state = int(p.f);
p.e = inverse(c) *state;
@@ -5262,6 +5272,11 @@ implementation_end;
ports
power out output [6,1];
end;
+ icon bg
+ figures
+ rectangle 48 152 128 184 color 0 fill 15132390;
+ text 'name' 88 168 color 0 'Clear Sans' 16;
+ end;
implementation bg
submodels
C1 191.8 216.2
@@ -5282,7 +5297,7 @@ implementation_end;
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};
+ real c[3,3] = [1, 0.0, 0.0; 0.0, 1, 0.0; 0.0, 0.0, 1] {uN/m};
equations
state = int(p.f);
p.e = inverse(c) *state;
@@ -5305,7 +5320,7 @@ implementation_end;
end;
implementation eq
parameters
- real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
+ real c[2,2] = [1, 0.0; 0.0, 1] {uN.m/rad};
equations
state = int(p.f);
p.e = inverse(c) *state;
@@ -5596,7 +5611,7 @@ implementation_end;
R\p <= OneJunction8\p;
end;
implementation_end;
- Joint_dynF 720 48
+ Joint_dynF 864 48
description '
4.8
1
@@ -5605,36 +5620,13 @@ implementation_end;
ports
power out output [6,1];
end;
+ icon bg
+ figures
+ rectangle 824 32 904 64 color 0 fill 15132390;
+ text 'name' 864 48 color 0 'Clear Sans' 16;
+ end;
implementation bg
submodels
- C 264 200
- 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 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 '4.01False
Bond Graph\3D\C-3.emx
@@ -5653,7 +5645,7 @@ implementation_end;
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};
+ real c[3,3] = [1, 0.0, 0.0; 0.0, 1, 0.0; 0.0, 0.0, 1] {uN/m};
equations
state = int(p.f);
p.e = inverse(c) *state;
@@ -5676,39 +5668,12 @@ implementation_end;
end;
implementation eq
parameters
- real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
+ real c[2,2] = [1, 0.0; 0.0, 1] {uN.m/rad};
equations
state = int(p.f);
p.e = inverse(c) *state;
implementation_end;
plug output 396 216;
- OneJunction 328 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' 328 200 color 0 18 bold;
- end;
- implementation eq
-equations
- sum (direct (p.e)) = 0;
- equal (collect (p.f));
- flow = first (p.f);
-implementation_end;
OneJunction5 239.8 232.2
description '
@@ -5763,7 +5728,7 @@ equations
equal (collect (p.f));
flow = first (p.f);
implementation_end;
- OneJunction8 296 200
+ OneJunction8 288 200
description '
4.2
@@ -5782,7 +5747,7 @@ implementation_end;
end;
icon bg
figures
- text '1' 296 200 color 0 18 bold;
+ text '1' 288 200 color 0 18 bold;
end;
implementation eq
equations
@@ -5790,10 +5755,10 @@ equations
equal (collect (p.f));
flow = first (p.f);
implementation_end;
- PowerMux 362 216
+ PowerMux 330 216
specifications active 'rot_z'
specification 'rot_x'
- description '
+description '
4.8
Bond Graph\MR\PowerMux-Rotation.emx
@@ -5816,14 +5781,14 @@ implementation_end;
end;
icon bg bottom
figures
- line 360 192 360 240 color 0 width 2;
- rectangle 356 192 368 240 color -1;
- text '1' 365 210 color 8421504 8;
+ 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 360 200 fixed;
- output 360 216 fixed;
- input_rot2 360 232 fixed;
- input_pos3 360 216 fixed;
+ input 328 200 fixed;
+ output 328 216 fixed;
+ input_rot2 328 232 fixed;
+ input_pos3 328 216 fixed;
end;
implementation eq
equations
@@ -5900,14 +5865,14 @@ specification_end;
end;
icon bg bottom
figures
- line 360 192 360 240 color 0 width 2;
- rectangle 356 192 368 240 color -1;
- text '1' 365 210 color 8421504 8;
+ 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 360 200 fixed;
- output 360 216 fixed;
- input_rot2 360 232 fixed;
- input_pos3 360 216 fixed;
+ input 328 200 fixed;
+ output 328 216 fixed;
+ input_rot2 328 232 fixed;
+ input_pos3 328 216 fixed;
end;
implementation eq
equations
@@ -5919,7 +5884,7 @@ equations
output.f[4:6] = input_pos3.f;implementation_end;
specification_end;
end;
- R 296 120
+ R 288 152
description '
4.2
@@ -5935,11 +5900,11 @@ specification_end;
end;
icon bg top
figures
- text 'R' 296 120 color 0 18 bold;
+ text 'R' 288 152 color 0 18 bold;
end;
implementation eq
parameters
- real r = 1000;
+ real r = 0.0001;
equations
p.e = r * p.f;
implementation_end;
@@ -5983,15 +5948,13 @@ equations
implementation_end;
end;
connections
- C\p <= OneJunction8\p;
C1\p <= OneJunction7\p;
- OneJunction\p => PowerMux\input;
OneJunction5\p => C4\p;
OneJunction5\p => PowerMux\input_rot2;
OneJunction5\p => R4\p;
OneJunction7\p => PowerMux\input_pos3;
OneJunction7\p => R5\p;
- OneJunction8\p => OneJunction\p;
+ OneJunction8\p => PowerMux\input;
PowerMux\output => output;
R\p <= OneJunction8\p;
end;
@@ -6028,7 +5991,56 @@ implementation_end;
end;
implementation eq
parameters
- real offset[6]= [0;0;0;0;0.025;0]; //coordinates of joint_1
+ 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];
@@ -6045,7 +6057,7 @@ equations
Pin.f = AdHab * Pout.f;
implementation_end;
- Link10 800 128
+ Link11 784 128
description '
4.8
@@ -6067,13 +6079,13 @@ equations
end;
icon bg bottom
figures
- rectangle 768 104 832 152 color 0 fill 8454041;
- text 'Link' 800 128 color 0 'Clear Sans' 16;
+ rectangle 752 104 816 152 color 0 fill 8454041;
+ text 'Link' 784 128 color 0 'Clear Sans' 16;
terminals
- Hin 768 144 fixed;
- Hout 832 144 fixed;
- Pin 832 112 fixed;
- Pout 768 112 fixed;
+ Hin 752 144 fixed;
+ Hout 816 144 fixed;
+ Pin 816 112 fixed;
+ Pout 752 112 fixed;
end;
implementation eq
parameters
@@ -6388,7 +6400,7 @@ equations
Pin.f = AdHab * Pout.f;
implementation_end;
- Link8 904 128
+ Link8 1048 128
description '
4.8
@@ -6410,13 +6422,13 @@ equations
end;
icon bg bottom
figures
- rectangle 872 104 936 152 color 0 fill 8454041;
- text 'Link' 904 128 color 0 'Clear Sans' 16;
+ rectangle 1016 104 1080 152 color 0 fill 8454041;
+ text 'Link' 1048 128 color 0 'Clear Sans' 16;
terminals
- Hin 872 144 fixed;
- Hout 936 144 fixed;
- Pin 936 112 fixed;
- Pout 872 112 fixed;
+ Hin 1016 144 fixed;
+ Hout 1080 144 fixed;
+ Pin 1080 112 fixed;
+ Pout 1016 112 fixed;
end;
implementation eq
parameters
@@ -6486,26 +6498,7 @@ equations
Pin.f = AdHab * Pout.f;
implementation_end;
- Negate1 704 696
- description '4.01False
- Signal\Block Diagram\Negate.emx
- 2007-9-26 12:14:11
-';
- type Negate
- ports
- signal in input;
- signal out output;
- end;
- icon bg bottom
- figures
- rectangle 688 680 720 712 color 0 fill 15132390;
- text '-1' 704 696 color 16711680 16 bold;
- end;
- implementation eq
-equations
- output = - input;
- implementation_end;
- Negate2 624 784
+ Negate2 608 768
description '4.01False
Signal\Block Diagram\Negate.emx
2007-9-26 12:14:11
@@ -6517,8 +6510,8 @@ equations
end;
icon bg bottom
figures
- rectangle 608 768 640 800 color 0 fill 15132390;
- text '-1' 624 784 color 16711680 16 bold;
+ rectangle 592 752 624 784 color 0 fill 15132390;
+ text '-1' 608 768 color 16711680 16 bold;
end;
implementation eq
equations
@@ -6659,7 +6652,34 @@ equations
equal (collect (p.f));
flow = first (p.f);
implementation_end;
- rectanglepath 1024 784
+ OneJunction6 696 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' 696 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 '
4.8
@@ -6676,8 +6696,8 @@ implementation_end;
end;
icon bg
figures
- rectangle 968 768 1080 800 color 0 fill 15132390;
- text 'name' 1024 784 color 0 'Clear Sans' 16;
+ rectangle 800 752 912 784 color 0 fill 15132390;
+ text 'name' 856 768 color 0 'Clear Sans' 16;
end;
implementation eq
/*
@@ -6686,7 +6706,7 @@ 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 = 2.0 {s};
+ real t = 1 {s};
real origin[2] = [0.01;0.03] {m};
variables
real v {m/s};
@@ -6700,9 +6720,9 @@ initialequations
t_h = h / v;
code
y = frequencyevent (t,0);
-period = time + floor(time / t) * t;
+period = t - (time - floor(time / t) * t);
-if period < t_w or time < 4 then
+if period < t_w or time < t then
output = origin;
else
if period < t_w + t_h then
@@ -6744,7 +6764,30 @@ implementation_end;
equations
collect (output) = input;
implementation_end;
- Splitter10 960 144
+ Splitter10 1104 144
+ 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 140.8 1107.2 147.2 color -1 fill 0;
+ ellipse 1099.7 139.7 1108.3 148.3 color -1;
+ terminals
+ input 1104 144 fixed;
+ end;
+ implementation eq
+equations
+ collect (output) = input;
+implementation_end;
+ Splitter11 480 144
description '4.0
Signal\Block Diagram\Splitter.emx
2008-01-17 11:28:29
@@ -6758,10 +6801,10 @@ implementation_end;
end;
icon bg ellipse
figures
- ellipse 956.8 140.8 963.2 147.2 color -1 fill 0;
- ellipse 955.7 139.7 964.3 148.3 color -1;
+ ellipse 476.8 140.8 483.2 147.2 color -1 fill 0;
+ ellipse 475.7 139.7 484.3 148.3 color -1;
terminals
- input 960 144 fixed;
+ input 480 144 fixed;
end;
implementation eq
equations
@@ -6836,7 +6879,7 @@ implementation_end;
equations
collect (output) = input;
implementation_end;
- Splitter7 216 448
+ Splitter6 728 144
description '4.0
Signal\Block Diagram\Splitter.emx
2008-01-17 11:28:29
@@ -6850,16 +6893,16 @@ implementation_end;
end;
icon bg ellipse
figures
- ellipse 212.8 444.8 219.2 451.2 color -1 fill 0;
- ellipse 211.7 443.7 220.3 452.3 color -1;
+ ellipse 724.8 140.8 731.2 147.2 color -1 fill 0;
+ ellipse 723.7 139.7 732.3 148.3 color -1;
terminals
- input 216 448 fixed;
+ input 728 144 fixed;
end;
implementation eq
equations
collect (output) = input;
implementation_end;
- Splitter8 576 464
+ Splitter8 576 472
description '4.0
Signal\Block Diagram\Splitter.emx
2008-01-17 11:28:29
@@ -6873,16 +6916,16 @@ implementation_end;
end;
icon bg ellipse
figures
- ellipse 572.8 460.8 579.2 467.2 color -1 fill 0;
- ellipse 571.7 459.7 580.3 468.3 color -1;
+ ellipse 572.8 468.8 579.2 475.2 color -1 fill 0;
+ ellipse 571.7 467.7 580.3 476.3 color -1;
terminals
- input 576 464 fixed;
+ input 576 472 fixed;
end;
implementation eq
equations
collect (output) = input;
implementation_end;
- Splitter9 848 144
+ Splitter9 992 144
description '4.0
Signal\Block Diagram\Splitter.emx
2008-01-17 11:28:29
@@ -6896,35 +6939,37 @@ implementation_end;
end;
icon bg ellipse
figures
- ellipse 844.8 140.8 851.2 147.2 color -1 fill 0;
- ellipse 843.7 139.7 852.3 148.3 color -1;
+ ellipse 988.8 140.8 995.2 147.2 color -1 fill 0;
+ ellipse 987.7 139.7 996.3 148.3 color -1;
terminals
- input 848 144 fixed;
+ input 992 144 fixed;
end;
implementation eq
equations
collect (output) = input;
implementation_end;
- stepper_control 704 592
- description '4.81Z:\home\wouter\Documents\studie\ma\mahd\implementation\library\Motor\stepper_control.emx2020-7-23 13:09:57parameters
+ stepper_control 712 592
+ specifications active 'P_only'
+ specification 'default'
+description '4.81Z:\home\wouter\Documents\studie\ma\mahd\implementation\library\Motor\stepper_control.emx2020-7-23 13:09:57parameters
real max_acceleration = 250 {rad/s2};
real max_velocity = 25 {rad/s};
real initial_velocity = 0 {rad/s};
- real initial_angle = -1.57 {rad};';
- type Submodel
- ports
- signal in setpoint {rad} ;
- signal out output {rad} ;
- end;
- icon bg bottom
- figures
- rectangle 648 576 760 608 color 0 fill 15132390;
- text 'name' 704 592 color 0 'Clear Sans' 16;
- end;
- implementation bg
- submodels
- Acceleration_int 648 336
- description '
+ real initial_angle = -1.570796 {rad};';
+ type Submodel
+ ports
+ signal in setpoint {rad} ;
+ signal out output {rad} ;
+ end;
+ icon bg bottom
+ figures
+ rectangle 648 576 760 608 color 0 fill 15132390;
+ text 'name' 704 592 color 0 'Clear Sans' 16;
+ end;
+ implementation bg
+ submodels
+ Acceleration_int 648 336
+ description '
4.3
1
@@ -6933,108 +6978,108 @@ implementation_end;
2013-3-8 14:47:42
';
- 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
+ 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 global initial_velocity; // initial value
equations
output = int (input, initial_velocity);
implementation_end;
- Acceleration_limit 568 336
- description '4.01False
+ Acceleration_limit 568 336
+ description '4.01False
Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx
2007-9-26 12:47:40
';
- 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
+ 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 global max_acceleration {rad/s2};
equations
output = limit (input, -max_acceleration, max_acceleration);
implementation_end;
- plug setpoint 136 336;
- plug output 791 336;
- PlusMinus1 240 336
- description '4.01False
+ plug setpoint 136 336;
+ plug output 791 336;
+ PlusMinus1 240 336
+ description '4.01False
Signal\Block Diagram\PlusMinus.emx
2007-9-27 10:15:13
';
- 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
+ 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 '4.01False
+ PlusMinus2 432 336
+ description '4.01False
Signal\Block Diagram\PlusMinus.emx
2007-9-27 10:15:13
';
- 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
+ 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 '
+ Position_control 296 336
+ description '
4.0
1
False
Signal\Control\PID Control\Continuous\PD.emx
2008-1-17 10:49:7
';
- 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
+ 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
@@ -7046,71 +7091,71 @@ equations
state = int (rate);
output = state + kp * error / beta;
implementation_end;
- Splitter3 688 336
- description '4.0
+ Splitter3 688 336
+ description '4.0
Signal\Block Diagram\Splitter.emx
2008-01-17 11:28:29
1
False
';
- knot Splitter
- ports
- signal knot duplicatable out output [1];
- signal knot in input [1];
- end;
- icon bg ellipse
- figures
- ellipse 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
+ 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 '4.0
+ Splitter4 752 336
+ description '4.0
Signal\Block Diagram\Splitter.emx
2008-01-17 11:28:29
1
False
';
- knot Splitter
- ports
- signal knot duplicatable out output [1];
- signal knot in input [1];
- end;
- icon bg ellipse
- figures
- ellipse 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
+ 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 '
+ Velocity_control 480 336
+ description '
4.0
1
False
Signal\Control\PID Control\Continuous\PD.emx
2008-1-17 10:49:7
';
- 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
+ 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
@@ -7122,8 +7167,8 @@ equations
state = int (rate);
output = state + kp * error / beta;
implementation_end;
- Velocity_int 720 336
- description '
+ Velocity_int 720 336
+ description '
4.3
1
@@ -7132,82 +7177,87 @@ equations
2013-3-8 14:47:42
';
- 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
+ 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 global initial_angle; // initial value
equations
output = int (input, initial_angle);
implementation_end;
- Velocity_limit 376 336
- description '4.01False
+ Velocity_limit 376 336
+ description '4.01False
Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx
2007-9-26 12:47:40
';
- 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
+ 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 global max_velocity {rad/s};
equations
output = limit (input, -max_velocity, max_velocity);
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 512 784
- description '4.81Motor\stepper_control.emx2020-7-22 15:25:26parameters
- real max_acceleration = 250 {rad/s2};
+ 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;
+specification_end;
+ specification 'P_only'
+ description '4.81Z:\home\wouter\Documents\studie\ma\mahd\implementation\library\Motor\stepper_control.emx2020-7-23 13:09:57parameters
+ real max_acceleration = 350 {rad/s2};
real max_velocity = 25 {rad/s};
real initial_velocity = 0 {rad/s};
- real initial_angle = 0 {rad};
- ';
- type Submodel
- ports
- signal in setpoint {rad} ;
- signal out output {rad} ;
- end;
- implementation bg
- submodels
- Acceleration_int 648 336
- description '
+ real initial_angle = 1.570796 {rad};';
+ type Submodel
+ ports
+ signal in setpoint {rad} ;
+ signal out output {rad} ;
+ end;
+ icon bg bottom
+ figures
+ rectangle 656 576 768 608 color 0 fill 15132390;
+ text 'name' 712 592 color 0 'Clear Sans' 16;
+ end;
+ implementation bg
+ submodels
+ Acceleration_int 648 336
+ description '
4.3
1
@@ -7216,197 +7266,185 @@ equations
2013-3-8 14:47:42
';
- 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
+ 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 global initial_velocity; // initial value
equations
output = int (input, initial_velocity);
implementation_end;
- Acceleration_limit 568 336
- description '4.01False
+ Acceleration_limit 568 336
+ description '4.01False
Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx
2007-9-26 12:47:40
';
- 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
+ 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 global max_acceleration {rad/s2};
equations
output = limit (input, -max_acceleration, max_acceleration);
implementation_end;
- plug setpoint 136 336;
- plug output 791 336;
- PlusMinus1 240 336
- description '4.01False
+ plug setpoint 136 336;
+ plug output 791 336;
+ PlusMinus1 240 336
+ description '4.01False
Signal\Block Diagram\PlusMinus.emx
2007-9-27 10:15:13
';
- 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
+ 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 '4.01False
+ PlusMinus2 432 336
+ description '4.01False
Signal\Block Diagram\PlusMinus.emx
2007-9-27 10:15:13
';
- 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
+ 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 '
+ Position_control 296 336
+ description '
4.0
1
False
- Signal\Control\PID Control\Continuous\PD.emx
- 2008-1-17 10:49:7
+ Signal\Control\PID Control\Continuous\P.emx
+ 2008-1-17 10:48:8
';
- 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
+ type P
+ ports
+ signal in error;
+ signal out output;
+ end;
+ icon bg bottom
+ figures
+ rectangle 280 320 312 352 color 0 fill 15132390;
+ text 'P' 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;
+ real kp = 26.0 {}; // Proportional gain
equations
- rate = (kp * error - output) / (beta * tauD);
- state = int (rate);
- output = state + kp * error / beta;
- implementation_end;
- Splitter3 688 336
- description '4.0
+ output = kp * error;
+ implementation_end;
+ Splitter3 688 336
+ description '4.0
Signal\Block Diagram\Splitter.emx
2008-01-17 11:28:29
1
False
';
- knot Splitter
- ports
- signal knot duplicatable out output [1];
- signal knot in input [1];
- end;
- icon bg ellipse
- figures
- ellipse 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
+ 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 '4.0
+ Splitter4 752 336
+ description '4.0
Signal\Block Diagram\Splitter.emx
2008-01-17 11:28:29
1
False
';
- knot Splitter
- ports
- signal knot duplicatable out output [1];
- signal knot in input [1];
- end;
- icon bg ellipse
- figures
- ellipse 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
+ 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 '
+ Velocity_control 480 336
+ description '
4.0
1
False
- Signal\Control\PID Control\Continuous\PD.emx
- 2008-1-17 10:49:7
+ Signal\Control\PID Control\Continuous\P.emx
+ 2008-1-17 10:48:8
';
- 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
+ type P
+ ports
+ signal in error;
+ signal out output;
+ end;
+ icon bg bottom
+ figures
+ rectangle 464 320 496 352 color 0 fill 15132390;
+ text 'P' 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;
+ real kp = 66.0 {}; // Proportional gain
equations
- rate = (kp * error - output) / (beta * tauD);
- state = int (rate);
- output = state + kp * error / beta;
- implementation_end;
- Velocity_int 720 336
- description '
+ output = kp * error;
+ implementation_end;
+ Velocity_int 720 336
+ description '
4.3
1
@@ -7415,163 +7453,735 @@ equations
2013-3-8 14:47:42
';
- 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
+ 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 global initial_angle; // initial value
equations
output = int (input, initial_angle);
implementation_end;
- Velocity_limit 376 336
- description '4.01False
+ Velocity_limit 376 336
+ description '4.01False
Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx
2007-9-26 12:47:40
';
- 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
+ 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 global max_velocity {rad/s};
equations
output = limit (input, -max_velocity, max_velocity);
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;
+ 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;
+specification_end;
+ end;
+ stepper_control1 512 768
+ specifications active 'P_only'
+ specification 'default'
+description '4.81Z:\home\wouter\Documents\studie\ma\mahd\implementation\library\Motor\stepper_control.emx2020-7-23 13:09:57parameters
+ real max_acceleration = 250 {rad/s2};
+ real max_velocity = 25 {rad/s};
+ real initial_velocity = 0 {rad/s};
+ real initial_angle = -1.570796 {rad};';
+ type Submodel
+ ports
+ signal in setpoint {rad} ;
+ signal out output {rad} ;
+ end;
+ icon bg bottom
+ figures
+ rectangle 648 576 760 608 color 0 fill 15132390;
+ text 'name' 704 592 color 0 'Clear Sans' 16;
+ end;
+ implementation bg
+ submodels
+ Acceleration_int 648 336
+ description '
+
+ 4.3
+1
+ False
+ Signal\Block Diagram\Integrate.emx
+ 2013-3-8 14:47:42
+
+';
+ 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 global initial_velocity; // initial value
+equations
+ output = int (input, initial_velocity);
+ implementation_end;
+ Acceleration_limit 568 336
+ description '4.01False
+ Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx
+ 2007-9-26 12:47:40
+';
+ 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 global max_acceleration {rad/s2};
+equations
+ output = limit (input, -max_acceleration, max_acceleration);
+ implementation_end;
+ plug setpoint 136 336;
+ plug output 791 336;
+ PlusMinus1 240 336
+ description '4.01False
+ Signal\Block Diagram\PlusMinus.emx
+ 2007-9-27 10:15:13
+';
+ 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;
- Zero 808 536
+ PlusMinus2 432 336
description '4.01False
- Signal\Sources\Zero.emx
- 2007-9-27 15:54:36
-
-';
- type Zero
+ Signal\Block Diagram\PlusMinus.emx
+ 2007-9-27 10:15:13
+';
+ 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 '
+ 4.0
+ 1
+ False
+ Signal\Control\PID Control\Continuous\PD.emx
+ 2008-1-17 10:49:7
+';
+ type PD
ports
+ signal in error;
signal out output;
end;
icon bg bottom
figures
- rectangle 792.1 520 823.9 552 color 0 fill 15132390;
- text '0' 808 536 color 16711680 18 bold;
+ 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
- output = 0;implementation_end;
- end;
- connections
- COM_body3\p => OneJunction4\p;
- COM_body4\p => OneJunction3\p;
- COM_body5\p => Link8\Pin;
- Ground1\output -> JointC\Hin 632 616;
- Ground1\p <= OneJunction5\p;
- inverse_kinematics\angle1 -> Negate1\input;
- inverse_kinematics\angle2 -> Negate2\input;
- 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\Pout => Link3\Pin;
- JointB\Hin <- Splitter4\output;
- JointB\Hout -> Link6\Hin;
- JointB\Pin <= Link6\Pout;
- JointB\Pout => OneJunction3\p;
- JointC\Hout -> Link5\Hin;
- JointC\Pin <= Link5\Pout;
- JointD\Hin <- Link7\Hout 216 616;
- JointD\Hout -> Splitter7\input;
- JointD\Pin <= Link9\Pout;
- JointD\Pout => Link7\Pin 184 648;
- 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\Hin <- JointE\Hout;
- Link2\Hout -> Splitter4\input;
- Link2\Pin <= OneJunction3\p;
- Link2\Pout => JointE\Pin 184 112;
- 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 -> Splitter10\input;
- Link8\Pout => Link10\Pin;
- Link9\Hout -> Splitter3\input;
- Link9\Pin <= OneJunction4\p;
- Negate1\output -> stepper_control\setpoint;
- Negate2\output -> stepper_control1\setpoint;
- OneJunction1\p <= COM_body2\p;
- OneJunction1\p <= Link7\Pout;
- OneJunction2\p <= COM_body1\p;
- OneJunction2\p <= Link3\Pout;
- OneJunction3\p <= Link1\Pout;
- OneJunction4\p <= Link4\Pout;
- OneJunction5\p <= JointC\Pout;
- OneJunction5\p => JointA\Pin;
- Splitter1\output -> Body2\input;
- Splitter1\output -> COM_body2\Hin;
- Splitter1\output -> Link7\Hin;
- Splitter10\output -> Body6\input;
- Splitter10\output -> COM_body5\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;
- 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_dynC\angle;
- end;
- implementation_end;
+ rate = (kp * error - output) / (beta * tauD);
+ state = int (rate);
+ output = state + kp * error / beta;
+ implementation_end;
+ Splitter3 688 336
+ description '4.0
+ Signal\Block Diagram\Splitter.emx
+ 2008-01-17 11:28:29
+1
+ False
+';
+ knot Splitter
+ ports
+ signal knot duplicatable out output [1];
+ signal knot in input [1];
+ end;
+ icon bg ellipse
+ figures
+ ellipse 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 '4.0
+ Signal\Block Diagram\Splitter.emx
+ 2008-01-17 11:28:29
+1
+ False
+';
+ knot Splitter
+ ports
+ signal knot duplicatable out output [1];
+ signal knot in input [1];
+ end;
+ icon bg ellipse
+ figures
+ ellipse 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 '
+ 4.0
+ 1
+ False
+ Signal\Control\PID Control\Continuous\PD.emx
+ 2008-1-17 10:49:7
+';
+ 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 '
+
+ 4.3
+1
+ False
+ Signal\Block Diagram\Integrate.emx
+ 2013-3-8 14:47:42
+
+';
+ 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 global initial_angle; // initial value
+equations
+ output = int (input, initial_angle);
+ implementation_end;
+ Velocity_limit 376 336
+ description '4.01False
+ Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx
+ 2007-9-26 12:47:40
+';
+ 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 global max_velocity {rad/s};
+equations
+ output = limit (input, -max_velocity, max_velocity);
+ 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;
+specification_end;
+ specification 'P_only'
+ description '4.81Z:\home\wouter\Documents\studie\ma\mahd\implementation\library\Motor\stepper_control.emx2020-7-23 13:09:57parameters
+ real max_acceleration = 350 {rad/s2};
+ real max_velocity = 25 {rad/s};
+ real initial_velocity = 0 {rad/s};
+ real initial_angle = 0 {rad};';
+ type Submodel
+ ports
+ signal in setpoint {rad} ;
+ signal out output {rad} ;
+ end;
+ icon bg
+ figures
+ rectangle 456 752 568 784 color 0 fill 15132390;
+ text 'name' 512 768 color 0 'Clear Sans' 16;
+ end;
+ implementation bg
+ submodels
+ Acceleration_int 648 336
+ description '
+
+ 4.3
+1
+ False
+ Signal\Block Diagram\Integrate.emx
+ 2013-3-8 14:47:42
+
+';
+ 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 global initial_velocity; // initial value
+equations
+ output = int (input, initial_velocity);
+ implementation_end;
+ Acceleration_limit 568 336
+ description '4.01False
+ Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx
+ 2007-9-26 12:47:40
+';
+ 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 global max_acceleration {rad/s2};
+equations
+ output = limit (input, -max_acceleration, max_acceleration);
+ implementation_end;
+ plug setpoint 136 336;
+ plug output 791 336;
+ PlusMinus1 240 336
+ description '4.01False
+ Signal\Block Diagram\PlusMinus.emx
+ 2007-9-27 10:15:13
+';
+ 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 '4.01False
+ Signal\Block Diagram\PlusMinus.emx
+ 2007-9-27 10:15:13
+';
+ 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 '
+ 4.0
+ 1
+ False
+ Signal\Control\PID Control\Continuous\P.emx
+ 2008-1-17 10:48:8
+';
+ type P
+ ports
+ signal in error;
+ signal out output;
+ end;
+ icon bg bottom
+ figures
+ rectangle 280 320 312 352 color 0 fill 15132390;
+ text 'P' 296.5 336.1 color 16711680 18 bold;
+ end;
+ implementation eq
+parameters
+ real kp = 31.0 {}; // Proportional gain
+equations
+ output = kp * error;
+ implementation_end;
+ Splitter3 688 336
+ description '4.0
+ Signal\Block Diagram\Splitter.emx
+ 2008-01-17 11:28:29
+1
+ False
+';
+ knot Splitter
+ ports
+ signal knot duplicatable out output [1];
+ signal knot in input [1];
+ end;
+ icon bg ellipse
+ figures
+ ellipse 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 '4.0
+ Signal\Block Diagram\Splitter.emx
+ 2008-01-17 11:28:29
+1
+ False
+';
+ knot Splitter
+ ports
+ signal knot duplicatable out output [1];
+ signal knot in input [1];
+ end;
+ icon bg ellipse
+ figures
+ ellipse 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 '
+ 4.0
+ 1
+ False
+ Signal\Control\PID Control\Continuous\P.emx
+ 2008-1-17 10:48:8
+';
+ type P
+ ports
+ signal in error;
+ signal out output;
+ end;
+ icon bg bottom
+ figures
+ rectangle 464 320 496 352 color 0 fill 15132390;
+ text 'P' 480.5 336.1 color 16711680 18 bold;
+ end;
+ implementation eq
+parameters
+ real kp = 69.0 {}; // Proportional gain
+equations
+ output = kp * error;
+ implementation_end;
+ Velocity_int 720 336
+ description '
+
+ 4.3
+1
+ False
+ Signal\Block Diagram\Integrate.emx
+ 2013-3-8 14:47:42
+
+';
+ 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 global initial_angle; // initial value
+equations
+ output = int (input, initial_angle);
+ implementation_end;
+ Velocity_limit 376 336
+ description '4.01False
+ Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx
+ 2007-9-26 12:47:40
+';
+ 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 global max_velocity {rad/s};
+equations
+ output = limit (input, -max_velocity, max_velocity);
+ 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;
+specification_end;
+ end;
+ Zero 816 592
+ description '4.01False
+ Signal\Sources\Zero.emx
+ 2007-9-27 15:54:36
+
+';
+ type Zero
+ ports
+ signal out output;
+ end;
+ icon bg bottom
+ figures
+ rectangle 800.1 576 831.9 608 color 0 fill 15132390;
+ text '0' 816 592 color 16711680 18 bold;
+ end;
+ implementation eq
+equations
+ output = 0;implementation_end;
+ end;
+ connections
+ Body1\input <- Splitter2\output;
+ Body3\input <- Splitter3\output;
+ COM_body3\p => OneJunction4\p;
+ COM_body4\p => OneJunction6\p;
+ COM_body5\p => Link8\Pin;
+ Ground1\output -> JointC\Hin 632 616;
+ Ground1\p <= OneJunction5\p;
+ inverse_kinematics\angle1 -> stepper_control\setpoint;
+ inverse_kinematics\angle2 -> Negate2\input;
+ 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\Pout => Link3\Pin;
+ JointB\Hin <- Splitter4\output;
+ JointB\Hout -> Link6\Hin;
+ JointB\Pin <= Link6\Pout;
+ JointB\Pout => OneJunction3\p;
+ JointC\Hout -> Link5\Hin;
+ JointC\Pin <= Link5\Pout;
+ JointD\Hin <- Link7\Hout 216 616;
+ JointD\Hout -> Link9\Hin;
+ JointD\Pin <= Link9\Pout;
+ JointD\Pout => Link7\Pin 184 648;
+ JointE\Pout => Link4\Pin;
+ JointF\Hout -> Link10\Hin;
+ JointF\Pout => Link11\Pin;
+ Link1\Hout -> Splitter6\input;
+ Link10\Hout -> Splitter9\input;
+ Link10\Pout => JointF\Pin;
+ Link11\Hout -> JointF\Hin;
+ Link11\Pout => OneJunction6\p;
+ Link2\Hin <- JointE\Hout;
+ Link2\Hout -> Splitter11\input;
+ Link2\Pin <= OneJunction3\p;
+ Link2\Pout => JointE\Pin 184 112;
+ 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 -> Splitter10\input;
+ Link8\Pout => Link10\Pin;
+ Link9\Hout -> Splitter3\input;
+ Link9\Pin <= OneJunction4\p;
+ Negate2\output -> stepper_control1\setpoint;
+ OneJunction1\p <= COM_body2\p;
+ OneJunction1\p <= Link7\Pout;
+ OneJunction2\p <= COM_body1\p;
+ OneJunction2\p <= Link3\Pout;
+ OneJunction3\p <= Link1\Pout;
+ OneJunction4\p <= Link4\Pout;
+ OneJunction5\p <= JointC\Pout;
+ OneJunction5\p => JointA\Pin;
+ OneJunction6\p => Link1\Pin;
+ Splitter1\output -> Body2\input;
+ Splitter1\output -> COM_body2\Hin;
+ Splitter1\output -> Link7\Hin;
+ Splitter10\output -> Body6\input;
+ Splitter10\output -> COM_body5\Hin;
+ Splitter11\output -> Body4\input;
+ Splitter11\output -> Splitter4\input;
+ Splitter2\output -> COM_body1\Hin;
+ Splitter2\output -> Link3\Hin;
+ Splitter3\output -> COM_body3\Hin;
+ Splitter3\output -> Link4\Hin;
+ Splitter4\output -> Link1\Hin;
+ Splitter6\output -> COM_body4\Hin;
+ Splitter6\output -> Link11\Hin;
+ Splitter8\output -> JointA\Hin;
+ Splitter9\output -> Body5\input;
+ Splitter9\output -> Link8\Hin;
+ stepper_control\output -> Joint_dynA\angle;
+ stepper_control1\output -> Joint_dynC\angle;
+ end;
+ implementation_end;
]]>
@@ -7762,30 +8372,10 @@ equations
0 0 0
- Joint_dynF\C4\state_initial
- 2
- 1
- 0 0
-
-
- Joint_dynF\C\state_initial
- 0
-
-
- stepper_control1\Position_control\state_initial
- 0
-
-
- stepper_control1\Velocity_control\state_initial
- 0
-
-
- stepper_control\Position_control\state_initial
- 0
-
-
- stepper_control\Velocity_control\state_initial
- 0
+ Joint_dynF\C4\state_initial
+ 2
+ 1
+ 0 0
@@ -7852,16 +8442,29 @@ equations
Body5\R[1,2]
Body5\R[2,2]
Body5\R[3,2]
- stepper_control\setpoint
- Joint_dynA\stepper_model\angle
Joint_dynA\stepper_model\RotorAngle\angle
- stepper_control1\setpoint
- Joint_dynC\angle
Joint_dynC\stepper_model\RotorAngle\angle
Body6\position[3]
Body6\position[2]
rectanglepath\output[2]
rectanglepath\output[1]
+ stepper_control\Acceleration_int\input
+ stepper_control\Velocity_int\output
+ stepper_control\Velocity_int\input
+ stepper_control1\Acceleration_int\input
+ stepper_control1\Velocity_int\output
+ stepper_control1\Velocity_int\input
+ Body6\R[1,3]
+ Body6\R[2,3]
+ Body6\R[3,3]
+ Body6\R[1,2]
+ Body6\R[2,2]
+ Body6\R[3,2]
+ Body6\position[1]
+ stepper_control\setpoint
+ Joint_dynA\stepper_model\angle
+ stepper_control1\setpoint
+ Joint_dynC\angle
@@ -7885,7 +8488,7 @@ equations
16777215
true
1
- StepperA
+ Stepper Motor A
true
@@ -7935,7 +8538,7 @@ equations
0.0
- 50.0
+ 6.0
true
3
@@ -7943,25 +8546,25 @@ equations
- -2.3
- -1.2999999999999998
+ 0.6000000000000002
+ 2.6000000000000005
true
2
-
+
- -4.08637499341765
- 0.0
+ -2.6
+ -0.6
true
2
-
+
- -4.08637499341765
- 0.0
+ -2.6
+ -0.6
true
2
-
+
@@ -8027,6 +8630,10 @@ equations
true
+
+ 0.12119013062409288
+ 0.8741610738255033
+
0
16777215
@@ -8641,36 +9248,36 @@ equations
Camera Looking at Origin
- 0.145719696848087
+ 0.211790609540361
- 0.00771906321726964
+ -0.107655952853072
- 0.116837947253578
+ 0.123737714793038
- -0.883129107704613
+ -0.840897145443893
- -0.046561942628002
+ 0.426188883453037
- -0.46681362943209
+ -0.333549136418257
- -0.46616615439618
+ -0.297518598807634
- -0.0245780617428944
+ 0.150790284066671
- 0.884355717670463
+ 0.942732715882203
Direct3D
@@ -8882,7 +9489,7 @@ equations
false
- Scenery
+ Cylinder
@@ -8898,18 +9505,18 @@ equations
false
- Bottom
+ Center
1.0
true
4
Body1\dimension[1]
- 0.005
+ 0.0048
Body1\dimension[2]
- 0.01
+ 0.009
Body1\dimension[3]
@@ -8969,11 +9576,11 @@ equations
Body1\position[2]
- -1.0544452114340241e-4
+ -0.017071802542194314
Body1\position[3]
- -3.650733400542561e-5
+ 0.0265923779880002
@@ -8984,11 +9591,11 @@ equations
Body1\R[2,3]
- 0.5179032193456982
+ -0.5021736062379976
Body1\R[3,3]
- 0.8554392178240144
+ 0.8647668293811487
@@ -8998,11 +9605,11 @@ equations
Body1\R[2,2]
- 0.8554392178240144
+ 0.8647668293811487
Body1\R[3,2]
- -0.5179032193456982
+ 0.5021736062379976
Matrix
@@ -9088,11 +9695,11 @@ equations
Body2\position[2]
- -0.010891116074686562
+ -0.010639024121723569
Body2\position[3]
- -0.006056910383998224
+ 0.006594217889494994
@@ -9103,11 +9710,11 @@ equations
Body2\R[2,3]
- -0.4874093624920096
+ 0.5249456675421719
Body2\R[3,3]
- 0.8731735871836326
+ 0.8511357389563098
@@ -9117,11 +9724,11 @@ equations
Body2\R[2,2]
- 0.8731735871836326
+ 0.8511357389563098
Body2\R[3,2]
- 0.4874093624920096
+ -0.5249456675421719
Matrix
@@ -9136,14 +9743,14 @@ equations
- Bottom
+ Center
1.0
true
4
Body3\dimension[1]
- 0.005
+ 0.0045
Body3\dimension[2]
@@ -9207,11 +9814,11 @@ equations
Body3\position[2]
- -0.02178223215904808
+ -0.03682020445746276
Body3\position[3]
- -0.012112104568558652
+ 0.041384334395577975
@@ -9222,11 +9829,11 @@ equations
Body3\R[2,3]
- 0.5107213704282335
+ -0.48276125099189626
Body3\R[3,3]
- 0.8597462891969393
+ 0.875752005159417
@@ -9236,11 +9843,11 @@ equations
Body3\R[2,2]
- 0.8597462891969393
+ 0.875752005159417
Body3\R[3,2]
- -0.5107213704282335
+ 0.48276125099189626
Matrix
@@ -9326,11 +9933,11 @@ equations
Body4\position[2]
- 0.0335347846656958
+ -0.033109209191929785
Body4\position[3]
- 0.0555071396541279
+ 0.0542093131266403
@@ -9341,11 +9948,11 @@ equations
Body4\R[2,3]
- -0.46775115900174147
+ 0.6245890404745712
Body4\R[3,3]
- 0.8838602000613716
+ 0.7809536033075554
@@ -9355,11 +9962,11 @@ equations
Body4\R[2,2]
- 0.8838602000613716
+ 0.7809536033075554
Body4\R[3,2]
- 0.46775115900174147
+ -0.6245890404745712
Matrix
@@ -9439,69 +10046,666 @@ equations
false
Block
-
- Body5\position[1]
- 0.0
-
-
- Body5\position[2]
- 0.06667959735242092
-
-
- Body5\position[3]
- 0.0730331226976036
-
+
+ Body5\position[1]
+ 0.0
+
+
+ Body5\position[2]
+ -0.004186627780447375
+
+
+ Body5\position[3]
+ 0.0310775428306494
+
+
+
+
+
+ Body5\R[1,3]
+ 0.0
+
+
+ Body5\R[2,3]
+ 0.6245890426846639
+
+
+ Body5\R[3,3]
+ 0.7809536015399732
+
+
+
+
+ Body5\R[1,2]
+ 0.0
+
+
+ Body5\R[2,2]
+ 0.7809536015399732
+
+
+ Body5\R[3,2]
+ -0.6245890426846639
+
+
+ Matrix
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+
+
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+ false
+ Reference Frame
+
+
+ Body6\position[1]
+ 0.0
+
+
+ Body6\position[2]
+ 0.0054542326865783565
+
+
+ Body6\position[3]
+ 0.02336700049128123
+
+
+
+
+
+ Body6\R[1,3]
+ 0.0
+
+
+ Body6\R[2,3]
+ 0.6245890426846639
+
+
+ Body6\R[3,3]
+ 0.7809536015399732
+
+
+
+
+ Body6\R[1,2]
+ 0.0
+
+
+ Body6\R[2,2]
+ 0.7809536015399732
+
+
+ Body6\R[3,2]
+ -0.6245890426846639
+
+
+ Matrix
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+ 16
+ 0.0073
+ 0.0073
+ 0.135
+ true
+ true
+ true
+ true
+ false
+ true
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+ true
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+ 1.0
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+
+ true
+
+
+ 0.5
+
+
+ 0.5
+
+
+ 0.5
+
+
+
+
+
+ 15
+
+ false
+ false
+ Cylinder
+
+
+
+
+
+ 1.5707963267949
+
+
+ Bryant
+
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+ GraphPlot
+
+ 3
+ false
+ 16777215
+ true
+
+
+ true
+ 15780518
+ 12624260
+ 0
+ 10
+ 10
+ 10
+ false
+
+ 16777215
+ true
+ 1
+ Stepper Motor D
+ true
+
+
+ Arial
+ 12
+ 34
+ 400
+ 0
+ 0
+ 0
+ 0
+
+
+ Arial
+ 12
+ 34
+ 400
+ 0
+ 0
+ 0
+ 0
+
+
+ Arial
+ 10
+ 34
+ 400
+ 0
+ 0
+ 0
+ 0
+
+
+ Arial
+ 12
+ 34
+ 400
+ 0
+ 0
+ 0
+ 0
+
+
+ true
+ true
+ false
+
+
+ 0.0
+ 6.0
+ true
+ 3
+
+
+
+
+
+ -1.0
+ 1.0
+ true
+ 2
+
+
+
+ -1.0
+ 1.0
+ true
+ 2
+
+
+
+ -1.0
+ 1.0
+ true
+ 2
+
+
+
+
+
+
+
+ 3355111
+ 1
+ 3355111
+ 0
+ true
+ 1
+ 1
+ 1
+ true
+
+ true
+ time
+
+
+ true
+ stepper_control1\setpoint
+
+
+
+ 6076255
+ 1
+ 6076255
+ 0
+ true
+ 1
+ 1
+ 1
+ true
+
+ true
+ time
+
+
+ true
+ Joint_dynC\angle
+
+
+
+ 12553035
+ 1
+ 12553035
+ 0
+ true
+ 1
+ 1
+ 1
+ true
+
+ true
+ time
+
+
+ true
+ Joint_dynC\stepper_model\RotorAngle\angle
+
+
+
+
+ true
+
+ 0.11683599419448476
+ 0.8741610738255033
-
-
-
- Body5\R[1,3]
- 0.0
-
-
- Body5\R[2,3]
- -0.46775087171205454
-
-
- Body5\R[3,3]
- 0.8838603520990255
-
-
-
-
- Body5\R[1,2]
- 0.0
-
-
- Body5\R[2,2]
- 0.8838603520990255
-
-
- Body5\R[3,2]
- 0.46775087171205454
-
-
- Matrix
-
- false
- false
- false
- false
- false
- false
-
-
-
-
-
-
-
-
+ 0
+ 16777215
+
+
+
+ GraphPlot
+
+ 4
+ false
+ 16777215
+ true
+
+
+ true
+ 15780518
+ 12624260
+ 0
+ 10
+ 10
+ 10
+ false
+
+ 16777215
+ true
+ 1
+ Plot
+ true
+
+
+ Arial
+ 12
+ 34
+ 400
+ 0
+ 0
+ 0
+ 0
+
+
+ Arial
+ 12
+ 34
+ 400
+ 0
+ 0
+ 0
+ 0
+
+
+ Arial
+ 10
+ 34
+ 400
+ 0
+ 0
+ 0
+ 0
+
+
+ Arial
+ 12
+ 34
+ 400
+ 0
+ 0
+ 0
+ 0
+
+
+ true
+ true
+ false
+
+
+ -0.041708787744804604
+ 0.08638068231201962
+ true
+ 3
+
+
+
+
+
+ -0.06
+ 0.14
+ true
+ 2
+
+
+
+ -0.06
+ 0.14
+ true
+ 2
+
+
+
+ -0.06
+ 0.14
+ true
+ 2
+
+
+
+ -0.06
+ 0.14
+ true
+ 2
+
+
+
+ -0.06
+ 0.14
+ true
+ 2
+
+
+
+ -0.06
+ 0.14
+ true
+ 2
+
+
+
+ -0.06
+ 0.14
+ true
+ 2
+
+
+
+
+
+
+
+ 3355111
+ 1
+ 3355111
+ 0
+ true
+ 1
+ 1
+ 1
+ true
+
+ true
+ Body1\position[2]
+
+
+ true
+ Body1\position[3]
+
+
+
+ 6076255
+ 1
+ 6076255
+ 0
+ true
+ 1
+ 1
+ 1
+ true
+
+ true
+ Body2\position[2]
+
+
+ true
+ Body2\position[3]
+
+
+
+ 12553035
+ 1
+ 12553035
+ 0
+ true
+ 1
+ 1
+ 1
+ true
+
+ true
+ Body3\position[2]
+
+
+ true
+ Body3\position[3]
+
+
+
+ 15086320
+ 1
+ 15086320
+ 0
+ true
+ 1
+ 1
+ 1
+ true
+
+ true
+ Body4\position[2]
+
+
+ true
+ Body4\position[3]
+
+
+
+ 15790150
+ 1
+ 15790150
+ 0
+ true
+ 1
+ 1
+ 1
+ true
+
+ true
+ Body5\position[2]
+
+
+ true
+ Body5\position[3]
+
+
+
+ 1696255
+ 1
+ 1696255
+ 0
+ true
+ 1
+ 1
+ 1
+ true
+
+ true
+ Body6\position[2]
+
+
+ true
+ Body6\position[3]
+
+
+
+ 4089775
+ 1
+ 4089775
+ 0
+ true
+ 1
+ 1
+ 1
+ true
+
+ true
+ rectanglepath\output[1]
+
+
+ true
+ rectanglepath\output[2]
+
+
+
+
+ true
+ 0
+ 16777215
+
GraphPlot
- 3
+ 5
false
16777215
true
@@ -9519,7 +10723,7 @@ equations
16777215
true
1
- StepperD
+ Stepper Control A
true
@@ -9569,7 +10773,7 @@ equations
0.0
- 50.0
+ 6.0
true
3
@@ -9577,34 +10781,34 @@ equations
- -1.0
- 1.0
+ -500.0
+ 500.0
true
- 2
-
+ 1
+
- -1.0
- 1.0
+ 0.0
+ 0.730288609349958
true
- 2
-
+ 1
+
- -1.0
- 1.0
+ 0.0
+ 0.730288609349958
true
- 2
-
+ 1
+
- 3355111
+ 6076255
1
- 3355111
+ 6076255
0
true
1
@@ -9617,13 +10821,13 @@ equations
true
- stepper_control1\setpoint
+ stepper_control\Acceleration_int\input
- 6076255
+ 12553035
1
- 6076255
+ 12553035
0
true
1
@@ -9636,13 +10840,13 @@ equations
true
- Joint_dynC\angle
+ stepper_control\Velocity_int\output
- 12553035
+ 15086320
1
- 12553035
+ 15086320
0
true
1
@@ -9655,12 +10859,16 @@ equations
true
- Joint_dynC\stepper_model\RotorAngle\angle
+ stepper_control\Velocity_int\input
true
+
+ 0.07602339181286549
+ 0.877104377104377
+
0
16777215
@@ -9668,7 +10876,7 @@ equations
GraphPlot
- 4
+ 6
false
16777215
true
@@ -9686,7 +10894,7 @@ equations
16777215
true
1
- Plot
+ Stepper Control D
true
@@ -9735,62 +10943,34 @@ equations
false
- -0.025000001857932178
- 0.0831680151788676
+ 0.0
+ 6.0
true
3
-
+
- -0.020000000000000004
- 0.08
+ -500.0
+ 500.0
true
- 2
-
-
-
- -0.06
- 0.14
- true
- 2
-
-
-
- -0.06
- 0.14
- true
- 2
-
+ 1
+
- -0.06
- 0.14
- true
- 2
-
-
-
- -0.06
- 0.14
- true
- 2
-
-
-
- -0.06
- 0.14
+ 0.0
+ 39.669708688195
true
- 2
-
+ 1
+
- -0.06
- 0.14
+ 0.0
+ 39.669708688195
true
- 2
-
+ 1
+
@@ -9808,11 +10988,11 @@ equations
true
true
- Body1\position[2]
+ time
true
- Body1\position[3]
+ stepper_control1\Acceleration_int\input
@@ -9827,11 +11007,11 @@ equations
true
true
- Body2\position[2]
+ time
true
- Body2\position[3]
+ stepper_control1\Velocity_int\output
@@ -9846,92 +11026,20 @@ equations
true
true
- Body3\position[2]
-
-
- true
- Body3\position[3]
-
-
-
- 15086320
- 1
- 15086320
- 0
- true
- 1
- 1
- 1
- true
-
- true
- Body4\position[2]
-
-
- true
- Body4\position[3]
-
-
-
- 15790150
- 1
- 15790150
- 0
- true
- 1
- 1
- 1
- true
-
- true
- Body5\position[2]
-
-
- true
- Body5\position[3]
-
-
-
- 1696255
- 1
- 1696255
- 0
- true
- 1
- 1
- 1
- true
-
- true
- Body6\position[2]
-
-
- true
- Body6\position[3]
-
-
-
- 4089775
- 1
- 4089775
- 0
- true
- 1
- 1
- 1
- true
-
- true
- rectanglepath\output[1]
+ time
true
- rectanglepath\output[2]
+ stepper_control1\Velocity_int\input
true
+
+ 0.07602339181286549
+ 0.877104377104377
+
0
16777215
@@ -9946,6 +11054,8 @@ equations
1
3
+ 5
+ 6
Base
@@ -9971,11 +11081,11 @@ equations
-
-0.135417 0.109259 0.885417 0.809259
+
+0 0.0259259 1 1
-0.132292 0.142593 0.930729 0.903704
+0.075 0.0861111 0.917708 0.938889
0 0.0259259 1 1
@@ -9985,7 +11095,7 @@ equations
0.0
- 50.0
+ 6.0
false
false
false
@@ -10085,7 +11195,7 @@ equations
false
0.0
- 9
+ 8
@@ -10097,14 +11207,37 @@ equations
true
0
0.0
- true
- MultipleRun
+ false
+ Optimization
true
-
- UseEndValue
+ Joint_dynC\stepper_model\angle
+ stepper_control1\setpoint
+ UseIntegralAbsolute
0.001
- BroydonFletcherGoldfarbShanno
+ DavidsonFletcherPowell
+
+ stepper_control1\Position_control\kp
+ 13.0
+ 39.0
+ Linear
+ Uniform
+ 26.0
+ 1.0
+ 1.0
+ 26.0
+
+
+ stepper_control1\Velocity_control\kp
+ 33.0
+ 99.0
+ Linear
+ Uniform
+ 66.0
+ 1.0
+ 1.0
+ 66.0
+
@@ -10116,18 +11249,12 @@ equations
false
-
- time
-
-
- 1.0
-