4.80FalseC:\users\wouter\My Documents\studie\ma\mahd\implementation\SCARA\01_kinematics\kinematics.emx2020-7-10 15:12:13
';
type Mainmodel
end;
implementation bg
submodels
Differentiate 432 256
description '4.01FalseSignal\Block Diagram\Differentiate.emx2007-9-26 12:9:46';
type 'Differentiate-Default'
ports
signal in input;
signal out output;
end;
icon bg bottom
figures
group
rectangle 416 240 448 272 color 0 fill 15132390;
text 'd/dt' 432 256 color 16711680 13 bold;
end;
end;
implementation eq
parameters
real initial = 0; // initial value
equations
output = ddt (input, initial);
implementation_end;
Differentiate1 432 112
description '4.01FalseSignal\Block Diagram\Differentiate.emx2007-9-26 12:9:46';
type 'Differentiate-Default'
ports
signal in input;
signal out output;
end;
icon bg bottom
figures
group
rectangle 416 96 448 128 color 0 fill 15132390;
text 'd/dt' 432 112 color 16711680 13 bold;
end;
end;
implementation eq
parameters
real initial = 0; // initial value
equations
output = ddt (input, initial);
implementation_end;
inverse_kinematics 312 184
description '4.8SCARA\inverse_kinematics_v1.emx1False2020-7-10 12:26:18False';
type 'Submodel-Equation'
ports
signal in input [2,1] {m} ;
signal out angle1 {rad} ;
signal out angle2 {rad} ;
signal out a {rad} ;
signal out b {rad} ;
signal out c {rad} ;
signal out phi {rad} ;
end;
implementation eq
parameters
real global A_length; // length of first arm
real global B_length; // length of second arm
real to_rad = 1 {rad};
variables
real x {m}, y {m};
real C_length {m}; // length to x and y.
real angle_sum {rad}; // test angle
equations
x = input[1];
y = input[2];
phi = atan2(y, x);
C_length = sqrt(x^2 + y^2);
a = arccos ((B_length^2 + C_length^2 - A_length^2) / (2 * B_length * C_length));
b = arccos ((A_length^2 + C_length^2 - B_length^2) / (2 * A_length * C_length));
c = arccos ((A_length^2 + B_length^2 - C_length^2) / (2 * A_length * B_length));
angle1 = b + phi;
angle2 = angle1 - pi * to_rad + c;
implementation_end;
kinematics 536 184
description '4.0Template\Submodel-Equation.emx1False2007-11-1 22:32:1False';
type 'Submodel-Equation'
ports
signal in angle1;
signal in angle2;
end;
implementation eq
parameters
real global A_length = 0.065;
real global B_length = 0.05;
variables
real joint1[2]{m};
real joint2[2]{m};
real end_effector[2]{m};
equations
joint1 = A_length*[cos(angle1);sin(angle1)];
joint2 = B_length*[cos(angle2);sin(angle2)];
end_effector = joint1 + joint2;
implementation_end;
rectanglepath 136 184
description '4.8setpoint\rectanglepath.emx1False2020-7-10 12:30:38False';
type 'Submodel-Equation'
ports
signal out output [2,1];
end;
implementation eq
/*
This will generate coordinates for the box that has to be drawn
*/
parameters
real w = 0.07{m} ;
real h = 0.05 {m};
real t = 1 {s};
real origin[2] = [0.01;0.03] {m};
variables
real v {m/s};
real t_w {s};
real t_h {s};
real period {s};
real test1, test2, test3;
initialequations
v = (2*w + 2*h)/t;
t_w = w / v;
t_h = h / v;
equations
period = floor(time / t) * t;
output[1] = v*(ramp(period+t_h) - ramp(period + t_w+t_h) - ramp(period + t_w + t_h + t_h)) + origin[1];
output[2] = v*(ramp(period) - ramp(period + t_h) - ramp(period + t_h + t_w) + ramp(period + 2 * t_h + t_w))+ origin[2];
implementation_end;
Splitter1 432 200
description '4.0Signal\Block Diagram\Splitter.emx2008-01-17 11:28:291False';
knot Splitter
ports
signal knot duplicatable out output [1];
signal knot in input [1];
end;
icon bg ellipse
figures
ellipse 428.8 196.8 435.2 203.2 color -1 fill 0;
ellipse 427.7 195.7 436.3 204.3 color -1;
terminals
input 432 200 fixed;
end;
implementation eq
equations
collect (output) = input;
implementation_end;
Splitter2 432 176
description '4.0Signal\Block Diagram\Splitter.emx2008-01-17 11:28:291False';
knot Splitter
ports
signal knot duplicatable out output [1];
signal knot in input [1];
end;
icon bg ellipse
figures
ellipse 428.8 172.8 435.2 179.2 color -1 fill 0;
ellipse 427.7 171.7 436.3 180.3 color -1;
terminals
input 432 176 fixed;
end;
implementation eq
equations
collect (output) = input;
implementation_end;
end;
connections
inverse_kinematics\angle1 -> Splitter1\input;
inverse_kinematics\angle2 -> Splitter2\input;
rectanglepath\output -> inverse_kinematics\input;
Splitter1\output -> Differentiate\input;
Splitter1\output -> kinematics\angle1;
Splitter2\output -> Differentiate1\input;
Splitter2\output -> kinematics\angle2;
end;
implementation_end;
]]>
Experiment 14.8timekinematics\end_effector[2]kinematics\joint1[2]kinematics\end_effector[1]kinematics\joint1[1]rectanglepath\output[1]rectanglepath\output[2]rectanglepath\test1rectanglepath\test2rectanglepath\test3Constant\output[1]Constant\output[2]rectanglepath\origin[1]rectanglepath\origin[2]rectanglepath\wrectanglepath\hinverse_kinematics\angle1inverse_kinematics\angle2Differentiate\outputDifferentiate1\outputGraphPlot1false16777215truetrue15780518126242600101010false16777215true1modeltrueArial12344000000Arial12344000000Arial10344000000Arial12344000000truetruefalse-0.039999696736920480.08000000000000007true30.0099999999999999920.10999999999999999true20.05.0true20.05.0true23355111133551110true111truetruekinematics\end_effector[1]truekinematics\end_effector[2]6076255160762550true111truetruekinematics\joint1[1]truekinematics\joint1[2]125530351125530350true111truetrueConstant\output[1]trueConstant\output[2]true016777215GraphPlot2false16777215truetrue15780518126242600101010false16777215true1model(1)trueArial12344000000Arial12344000000Arial10344000000Arial12344000000truetruefalse0.01.2true3-3.469446951953614e-180.09999999999999999true2-4.01.0true2-4.01.0true2-4.01.0true2-4.01.0true23355111133551110true111truetruetimetruerectanglepath\output[1]6076255160762550true111truetruetimetruerectanglepath\output[2]125530351125530350true111truetruetimetruerectanglepath\test1150863201150863200true111truetruetimetruerectanglepath\test2157901501157901500true111truetruetimetruerectanglepath\test3true016777215D3DPlot3false16777215true3D Animation137truefalse4294967295Gradients\BlueWhite.pngtrue1.01.0111trueReference FrameBryantfalsefalsefalsefalsefalsefalse111falseDefault Lights and CamerasBryantfalsefalsefalsefalsefalsefalsefalseAmbient11Direct3Dfalsefalsefalsefalsefalsefalse00.30.30.3111true0.30.30.3111truetruefalsefalsefalseParallel-3530.457495710997814-0.762492851663023-0.4574957109978140.235379601434674-0.3922993357244560.889211827642101Direct3Dfalsefalsefalsefalsefalsefalse30.50.50.5111true1.00.00.00.50.50.5111true0.50.50.5111truefalsetruetruefalseSpot Light 1-3-510.507092552837110.845154254728517-0.1690308509457030.08696565534786730.1449427589131120.985610760609162Direct3Dfalsefalsefalsefalsefalsefalse20.50.50.5111true1.00.050.051.04719755119659761.04719755119659760.00.50.50.5111true0.50.50.5111truefalsetruetruefalseSpot Light 22-3-1-0.5345224838248490.8017837257372730.2672612419124240.14824986333222-0.222374794998330.963624111659432Direct3Dfalsefalsefalsefalsefalsefalse2111111true1.00.050.051.57079632679489661.57079632679489660.0111111true0.50.50.5111truefalsetruetruefalseCamera Looking at Origin4.35387542422191-1.031771176534343.945815567335-0.7298111919083710.172948942896729-0.661410830963772-0.6435862724461430.1525155639109210.750023808077992Direct3Dfalsefalsefalsefalsefalsefalse0.01100.0true0.00392699081698724245.0-10.010.010.0-10.0truetrue1truetruefalsefalseFront(XY)-Camera10-11Direct3Dfalsefalsefalsefalsefalsefalse0.01100.0true9.99999999999999845.0-9.9999999999999989.9999999999999989.999999999999998-9.999999999999998truetrue1truefalsefalsefalseSide(YZ)-Camera9.999737464879420.5559442289395010.542469812062668-0.9999737464879370.004405577106049750.005753018793733150.00575296296112807-2.53457873294314e-0050.999983451250449Direct3Dfalsefalsefalsefalsefalsefalse0.01100.0true1.890138662027836945.0-1.89013866202783691.89013866202783691.8901386620278369-1.8901386620278369true0.5999999999999990.6true1truefalsetruefalseTop(XZ)-Camera10-11Direct3Dfalsefalsefalsefalsefalsefalse0.01100.0true9.99999999999999845.0-9.9999999999999989.9999999999999989.999999999999998-9.999999999999998truetrue1truefalsefalse101010falseSceneryBryantfalsefalsefalsefalsefalsefalse3.0kinematics\joint1[1]0.023995909562154565kinematics\joint1[2]0.0604085782342615615truefalse111true0.4470588235294120.1137254901960780.9450980392156861.0111true0.50.50.515falsefalseLineBryantfalsefalsefalsefalsefalsefalse3.0kinematics\end_effector[1]0.06999782466573422kinematics\end_effector[2]0.0800000000000000215truefalse111true0.2431372549019610.03921568627450980.9450980392156861.0111true0.50.50.515falsefalseLinekinematics\joint1[1]0.023995909562154565kinematics\joint1[2]0.06040857823426156Bryantfalsefalsefalsefalsefalsefalse111falseSquare-0.001rectanglepath\origin[1]0.01rectanglepath\origin[2]0.03-1.5707963267949Bryantfalsefalsefalsefalsefalsefalsetrue1.01.0true20rectanglepath\h0.05rectanglepath\w0.071true1111.0111true0.4980392156862750.4980392156862750.49803921568627514.298713684082falsefalseSquareBryantfalsefalsefalsefalsefalsefalseGraphPlot5false16777215truetrue15780518126242600101010false16777215true1PlottrueArial12344000000Arial12344000000Arial10344000000Arial12344000000truetruefalse0.01.2true3-25.025.0true20.010.0true23355111133551110true111truetruetimetrueinverse_kinematics\angle1125530351125530350true111truetruetimetrueDifferentiate\outputtrue016777215GraphPlot4false16777215truetrue15780518126242600101010false16777215true1model(2)trueArial12344000000Arial12344000000Arial10344000000Arial12344000000truetruefalse0.01.2true3-30.020.0true2-2.03.0true26076255160762550true111truetruetimetrueinverse_kinematics\angle2150863201150863200true111truetruetimetrueDifferentiate1\outputtrue0167772151trueWindow 1012Base2trueWindow 203Base3trueWindow 3054Base
0.108854 0.0953704 0.701562 0.813889
0.194792 0.208333 0.811458 0.790741
0.254688 0.165741 0.833333 0.786111
0.01.2falsefalsefalsefalse0.11.0e-61.0e-7falsetrueEuler0.01falseBackwardEuler1.0e-51.0e-51.0e-51.0e-50.011.0AdamsBashforth0.01falseRungeKutta20.01falseRungeKutta40.01falseRungeKutta8false0.0false0.01.0e-61.0e-60.90.336.00.0false100000false1000RungeKuttaFehlbergfalse0.0false0.01.0e-61.0e-6VodeAdamsfalse0.0false0.01.0e-61.0e-6truetrueBDFMethod1.0e-51.0e-51.0e-51.0e-5false0.0false0.0MeBDFiMethod1.0e-51.0e-51.0e-51.0e-5false0.0false0.0810falsetruetruefalsetrue00.0trueMultipleRuntrueUseEndValue0.001BroydonFletcherGoldfarbShannotruetruetruetruefalse1.0