|
|
|
@@ -0,0 +1,877 @@ |
|
|
|
<?xml version="1.0" encoding="UTF-8"?> |
|
|
|
<Document> |
|
|
|
<Model version="4.8" build="4.8.2.10124"> |
|
|
|
<Sidops><![CDATA[model 128 184 |
|
|
|
description '<Information> |
|
|
|
<Description> |
|
|
|
<Version>4.8</Version> |
|
|
|
<IsMainModel>0</IsMainModel> |
|
|
|
<KeepParameterValues>False</KeepParameterValues> |
|
|
|
<LibraryPath>C:\users\wouter\My Documents\studie\ma\mahd\implementation\submodel\endeffector\endeffector.emx</LibraryPath> |
|
|
|
<TimeStamp>2020-7-6 14:39:32</TimeStamp> |
|
|
|
</Description> |
|
|
|
</Information>'; |
|
|
|
type Mainmodel |
|
|
|
end; |
|
|
|
implementation bg |
|
|
|
submodels |
|
|
|
endeffector 592 296 |
|
|
|
description '<Description> |
|
|
|
<IsMainModel>1</IsMainModel> |
|
|
|
<KeepParameterValues>True</KeepParameterValues> |
|
|
|
<Version>4.8</Version> |
|
|
|
<Description>Model generated by 3D-Mechanics Toolbox |
|
|
|
Original Filename: C:\users\wouter\My Documents\studie\ma\mahd\implementation\submodel\endeffector\endeffector.3dm</Description> |
|
|
|
<LibraryPath>C:\users\wouter\My Documents\studie\ma\mahd\implementation\submodel\endeffector\endeffector.emx</LibraryPath> |
|
|
|
<TimeStamp>2020-7-6 14:12:40</TimeStamp> |
|
|
|
</Description>'; |
|
|
|
type MechanicsModel |
|
|
|
ports |
|
|
|
signal out H_marker [4,4]; |
|
|
|
mechanical psi in marker2 [6,1]; |
|
|
|
signal out H_grippertop [4,4]; |
|
|
|
mechanical psi in grippertop2 [6,1]; |
|
|
|
signal out H_gripperbottom [4,4]; |
|
|
|
mechanical psi in gripperbottom [6,1]; |
|
|
|
restrictions |
|
|
|
causality fixed in marker2; |
|
|
|
causality fixed in grippertop2; |
|
|
|
causality fixed in gripperbottom; |
|
|
|
end; |
|
|
|
icon bg bottom |
|
|
|
figures |
|
|
|
image 'C:\users\wouter\My Documents\studie\ma\mahd\implementation\submodel\endeffector\endeffectorIcon.png' 528 232 128 128; |
|
|
|
terminals |
|
|
|
marker2 592.5 296.5; |
|
|
|
grippertop2 592.5 296.5; |
|
|
|
gripperbottom 592.5 296.5; |
|
|
|
end; |
|
|
|
implementation eq |
|
|
|
// 20-sim 3D Mechanics Editor |
|
|
|
// C:\users\wouter\My Documents\studie\ma\mahd\implementation\submodel\endeffector\endeffector.3dm |
|
|
|
|
|
|
|
variables |
|
|
|
real hidden World\AbsH[4,4]; |
|
|
|
real hidden World\mass_x_I[6,6]; |
|
|
|
real hidden holderWeld\ConnectionPoint1\AbsH[4,4]; |
|
|
|
real hidden holderWeld\AbsH[4,4]; |
|
|
|
real hidden holderWeld\ConnectionPoint2\AbsH[4,4]; |
|
|
|
real hidden holder\AbsH[4,4]; |
|
|
|
real hidden holder\mass_x_I[6,6]; |
|
|
|
real hidden markerFree\ConnectionPoint1\AbsH[4,4]; |
|
|
|
real hidden markerFree\AbsH[4,4]; |
|
|
|
real hidden markerFree\RelH[4,4]; |
|
|
|
real hidden markerFree\rotationInitial[4,4]; |
|
|
|
real markerFree\quat[4]; |
|
|
|
real markerFree\quatDot[4]; |
|
|
|
real hidden markerFree\quatInitial[4]; |
|
|
|
real markerFree\QOmega[4,4]; |
|
|
|
real markerFree\vgen[6]; |
|
|
|
real markerFree\x[3]; |
|
|
|
real markerFree\v[3]; |
|
|
|
real markerFree\vel[3]; |
|
|
|
real markerFree_Rot[4,4]; |
|
|
|
real hidden markerFree\ConnectionPoint2\AbsH[4,4]; |
|
|
|
real hidden marker\AbsH[4,4]; |
|
|
|
real hidden marker\mass_x_I[6,6]; |
|
|
|
real hidden H_marker\ConnectionPoint1\AbsH[4,4]; |
|
|
|
real hidden marker2\ConnectionPoint1\AbsH[4,4]; |
|
|
|
real hidden grippertopFree\ConnectionPoint1\AbsH[4,4]; |
|
|
|
real hidden grippertopFree\AbsH[4,4]; |
|
|
|
real hidden grippertopFree\RelH[4,4]; |
|
|
|
real hidden grippertopFree\rotationInitial[4,4]; |
|
|
|
real grippertopFree\quat[4]; |
|
|
|
real grippertopFree\quatDot[4]; |
|
|
|
real hidden grippertopFree\quatInitial[4]; |
|
|
|
real grippertopFree\QOmega[4,4]; |
|
|
|
real grippertopFree\vgen[6]; |
|
|
|
real grippertopFree\x[3]; |
|
|
|
real grippertopFree\v[3]; |
|
|
|
real grippertopFree\vel[3]; |
|
|
|
real grippertopFree_Rot[4,4]; |
|
|
|
real hidden grippertopFree\ConnectionPoint2\AbsH[4,4]; |
|
|
|
real hidden grippertop\AbsH[4,4]; |
|
|
|
real hidden grippertop\mass_x_I[6,6]; |
|
|
|
real hidden FreeJoint1\ConnectionPoint1\AbsH[4,4]; |
|
|
|
real hidden H_grippertop\ConnectionPoint1\AbsH[4,4]; |
|
|
|
real hidden grippertop2\ConnectionPoint1\AbsH[4,4]; |
|
|
|
real hidden gripperbaseFree\ConnectionPoint1\AbsH[4,4]; |
|
|
|
real hidden gripperbaseFree\AbsH[4,4]; |
|
|
|
real hidden gripperbaseFree\RelH[4,4]; |
|
|
|
real hidden gripperbaseFree\rotationInitial[4,4]; |
|
|
|
real gripperbaseFree\quat[4]; |
|
|
|
real gripperbaseFree\quatDot[4]; |
|
|
|
real hidden gripperbaseFree\quatInitial[4]; |
|
|
|
real gripperbaseFree\QOmega[4,4]; |
|
|
|
real gripperbaseFree\vgen[6]; |
|
|
|
real gripperbaseFree\x[3]; |
|
|
|
real gripperbaseFree\v[3]; |
|
|
|
real gripperbaseFree\vel[3]; |
|
|
|
real gripperbaseFree_Rot[4,4]; |
|
|
|
real hidden gripperbaseFree\ConnectionPoint2\AbsH[4,4]; |
|
|
|
real hidden gripperbase\AbsH[4,4]; |
|
|
|
real hidden gripperbase\mass_x_I[6,6]; |
|
|
|
real hidden FreeJoint1\ConnectionPoint2\AbsH[4,4]; |
|
|
|
real hidden H_gripperbottom\ConnectionPoint1\AbsH[4,4]; |
|
|
|
real hidden gripperbottom\ConnectionPoint1\AbsH[4,4]; |
|
|
|
real v[18]; |
|
|
|
real P[18]; |
|
|
|
real PDot[18]; |
|
|
|
real PDotBodies[18]; |
|
|
|
real hidden AdjX2[6,6]; |
|
|
|
real hidden AdjX2_T[6,6]; |
|
|
|
real hidden adjAdjX2_1[6,6]; |
|
|
|
real hidden adjAdjX2_2[6,6]; |
|
|
|
real hidden adjAdjX2_3[6,6]; |
|
|
|
real hidden adjAdjX2_4[6,6]; |
|
|
|
real hidden adjAdjX2_5[6,6]; |
|
|
|
real hidden adjAdjX2_6[6,6]; |
|
|
|
real hidden AdjX3[6,6]; |
|
|
|
real hidden AdjX3_T[6,6]; |
|
|
|
real hidden adjAdjX3_1[6,6]; |
|
|
|
real hidden adjAdjX3_2[6,6]; |
|
|
|
real hidden adjAdjX3_3[6,6]; |
|
|
|
real hidden adjAdjX3_4[6,6]; |
|
|
|
real hidden adjAdjX3_5[6,6]; |
|
|
|
real hidden adjAdjX3_6[6,6]; |
|
|
|
real hidden AdjX4[6,6]; |
|
|
|
real hidden AdjX4_T[6,6]; |
|
|
|
real hidden adjAdjX4_1[6,6]; |
|
|
|
real hidden adjAdjX4_2[6,6]; |
|
|
|
real hidden adjAdjX4_3[6,6]; |
|
|
|
real hidden adjAdjX4_4[6,6]; |
|
|
|
real hidden adjAdjX4_5[6,6]; |
|
|
|
real hidden adjAdjX4_6[6,6]; |
|
|
|
real hidden J1[6,18]; |
|
|
|
real hidden J2[6,18]; |
|
|
|
real hidden J3[6,18]; |
|
|
|
real hidden J4[6,18]; |
|
|
|
real hidden T1_00[6]; |
|
|
|
real hidden T1_00T[1,6]; |
|
|
|
real hidden T2_00[6]; |
|
|
|
real hidden T2_00T[1,6]; |
|
|
|
real hidden T3_00[6]; |
|
|
|
real hidden T3_00T[1,6]; |
|
|
|
real hidden T4_00[6]; |
|
|
|
real hidden T4_00T[1,6]; |
|
|
|
real hidden M1[6,6]; |
|
|
|
real hidden AdjInv1[6,6]; |
|
|
|
real hidden TM1[1,6]; |
|
|
|
real hidden M2[6,6]; |
|
|
|
real hidden AdjInv2[6,6]; |
|
|
|
real hidden TM2[1,6]; |
|
|
|
real hidden M3[6,6]; |
|
|
|
real hidden AdjInv3[6,6]; |
|
|
|
real hidden TM3[1,6]; |
|
|
|
real hidden M4[6,6]; |
|
|
|
real hidden AdjInv4[6,6]; |
|
|
|
real hidden TM4[1,6]; |
|
|
|
real MassMatrix[18,18]; |
|
|
|
real hidden M2_2[6,6]; |
|
|
|
real hidden M3_3[6,6]; |
|
|
|
real hidden M4_4[6,6]; |
|
|
|
real hidden wrenchGrav2[1,6]; |
|
|
|
real hidden wrenchGrav3[1,6]; |
|
|
|
real hidden wrenchGrav4[1,6]; |
|
|
|
real FreeJoint1\ConnectionPoint1\invAdjointH[6,6]; |
|
|
|
real FreeJoint1\ConnectionPoint1\AbsHinverse[4,4]; |
|
|
|
real FreeJoint1\ConnectionPoint2\invAdjointH[6,6]; |
|
|
|
real FreeJoint1\ConnectionPoint2\AbsHinverse[4,4]; |
|
|
|
real FreeJoint1\ConnectionPoint1_effort[1,6]; |
|
|
|
real FreeJoint1\ConnectionPoint1_flow[6]; |
|
|
|
real FreeJoint1\ConnectionPoint2_effort[1,6]; |
|
|
|
real FreeJoint1\ConnectionPoint2_flow[6]; |
|
|
|
real FreeJoint1_relH[4,4]; |
|
|
|
real FreeJoint1_relT[6]; |
|
|
|
real FreeJoint1_relW[1,6]; |
|
|
|
real FreeJoint1_f1; |
|
|
|
real FreeJoint1_e1; |
|
|
|
real FreeJoint1_f2; |
|
|
|
real FreeJoint1_e2; |
|
|
|
real FreeJoint1_f3; |
|
|
|
real FreeJoint1_e3; |
|
|
|
real FreeJoint1_f4; |
|
|
|
real FreeJoint1_e4; |
|
|
|
real FreeJoint1_f5; |
|
|
|
real FreeJoint1_e5; |
|
|
|
real FreeJoint1_f6; |
|
|
|
real FreeJoint1_e6; |
|
|
|
real FreeJoint1_EulerXZY[3]; |
|
|
|
real FreeJoint1_EulerYXZ[3]; |
|
|
|
real FreeJoint1\SpringForce; |
|
|
|
real FreeJoint1\DampingForce; |
|
|
|
real markerFree\Bk[6,6]; |
|
|
|
real hidden markerFree\skewP4to6[3,3]; |
|
|
|
real TMSum2[1,6]; |
|
|
|
real grippertopFree\Bk[6,6]; |
|
|
|
real hidden grippertopFree\skewP4to6[3,3]; |
|
|
|
real TMSum3[1,6]; |
|
|
|
real gripperbaseFree\Bk[6,6]; |
|
|
|
real hidden gripperbaseFree\skewP4to6[3,3]; |
|
|
|
real TMSum4[1,6]; |
|
|
|
parameters |
|
|
|
real hidden World\H[4,4] = [ |
|
|
|
1, 0, 0, 0; |
|
|
|
0, 1, 0, 0; |
|
|
|
0, 0, 1, 0; |
|
|
|
0, 0, 0, 1]; |
|
|
|
real hidden World\I[6,6] = [ |
|
|
|
0.1, 0, 0, 0, 0, 0; |
|
|
|
0, 0.1, 0, 0, 0, 0; |
|
|
|
0, 0, 0.1, 0, 0, 0; |
|
|
|
0, 0, 0, 1, 0, 0; |
|
|
|
0, 0, 0, 0, 1, 0; |
|
|
|
0, 0, 0, 0, 0, 1]; |
|
|
|
real World\mass = 1; |
|
|
|
real hidden holderWeld\ConnectionPoint1\RelH[4,4] = [ |
|
|
|
1, 0, 0, 0; |
|
|
|
0, 1, 0, 0.11; |
|
|
|
0, 0, 1, -0.0088; |
|
|
|
0, 0, 0, 1]; |
|
|
|
real hidden holder\RelH[4,4] = [ |
|
|
|
1, 0, 0, 0; |
|
|
|
0, 1, 0, 0; |
|
|
|
0, 0, 1, 0; |
|
|
|
0, 0, 0, 1]; |
|
|
|
real hidden holder\I[6,6] = [ |
|
|
|
0.1, 0, 0, 0, 0, 0; |
|
|
|
0, 0.1, 0, 0, 0, 0; |
|
|
|
0, 0, 0.1, 0, 0, 0; |
|
|
|
0, 0, 0, 1, 0, 0; |
|
|
|
0, 0, 0, 0, 1, 0; |
|
|
|
0, 0, 0, 0, 0, 1]; |
|
|
|
real holder\mass = 1; |
|
|
|
real hidden markerFree\ConnectionPoint1\RelH[4,4] = [ |
|
|
|
1, 0, 0, 0; |
|
|
|
0, 1, 0, 0; |
|
|
|
0, 0, 1, 0; |
|
|
|
0, 0, 0, 1]; |
|
|
|
real markerFree\EulerXYZInitial[3] = [1.5707963267949; 0; -0]; |
|
|
|
real hidden markerFree\xInitial[3] = [0; 0.1; 0]; |
|
|
|
real hidden marker\RelH[4,4] = [ |
|
|
|
1, 0, 0, 0; |
|
|
|
0, 1, 0, 0; |
|
|
|
0, 0, 1, 0; |
|
|
|
0, 0, 0, 1]; |
|
|
|
real hidden marker\I[6,6] = [ |
|
|
|
0.00163636363636364, 0, 0, 0, 0, 0; |
|
|
|
0, 2.6645e-005, 0, 0, 0, 0; |
|
|
|
0, 0, 0.00163636363636364, 0, 0, 0; |
|
|
|
0, 0, 0, 1, 0, 0; |
|
|
|
0, 0, 0, 0, 1, 0; |
|
|
|
0, 0, 0, 0, 0, 1]; |
|
|
|
real marker\mass = 0.011; |
|
|
|
real hidden H_marker\ConnectionPoint1\RelH[4,4] = [ |
|
|
|
1, 0, 0, 0; |
|
|
|
0, 1, 0, 0; |
|
|
|
0, 0, 1, 0; |
|
|
|
0, 0, 0, 1]; |
|
|
|
real hidden marker2\ConnectionPoint1\RelH[4,4] = [ |
|
|
|
1, 0, 0, 0; |
|
|
|
0, 1, 0, 0; |
|
|
|
0, 0, 1, 0; |
|
|
|
0, 0, 0, 1]; |
|
|
|
real hidden grippertopFree\ConnectionPoint1\RelH[4,4] = [ |
|
|
|
1, 0, 0, 0; |
|
|
|
0, 1, 0, 0; |
|
|
|
0, 0, 1, 0; |
|
|
|
0, 0, 0, 1]; |
|
|
|
real grippertopFree\EulerXYZInitial[3] = [-0; 0; -0]; |
|
|
|
real hidden grippertopFree\xInitial[3] = [0; 0.11; 0.015]; |
|
|
|
real hidden grippertop\RelH[4,4] = [ |
|
|
|
1, 0, 0, 0; |
|
|
|
0, 1, 0, 0; |
|
|
|
0, 0, 1, 0; |
|
|
|
0, 0, 0, 1]; |
|
|
|
real hidden grippertop\I[6,6] = [ |
|
|
|
0.1, 0, 0, 0, 0, 0; |
|
|
|
0, 0.1, 0, 0, 0, 0; |
|
|
|
0, 0, 0.1, 0, 0, 0; |
|
|
|
0, 0, 0, 1, 0, 0; |
|
|
|
0, 0, 0, 0, 1, 0; |
|
|
|
0, 0, 0, 0, 0, 1]; |
|
|
|
real grippertop\mass = 1; |
|
|
|
real hidden FreeJoint1\ConnectionPoint1\RelH[4,4] = [ |
|
|
|
1, 0, 0, 0.05; |
|
|
|
0, 1, 0, 0; |
|
|
|
0, 0, 1, 0; |
|
|
|
0, 0, 0, 1]; |
|
|
|
real hidden H_grippertop\ConnectionPoint1\RelH[4,4] = [ |
|
|
|
1, 0, 0, 0; |
|
|
|
0, 1, 0, 0; |
|
|
|
0, 0, 1, 0; |
|
|
|
0, 0, 0, 1]; |
|
|
|
real hidden grippertop2\ConnectionPoint1\RelH[4,4] = [ |
|
|
|
1, 0, 0, 0; |
|
|
|
0, 1, 0, 0; |
|
|
|
0, 0, 1, 0; |
|
|
|
0, 0, 0, 1]; |
|
|
|
real hidden gripperbaseFree\ConnectionPoint1\RelH[4,4] = [ |
|
|
|
1, 0, 0, 0; |
|
|
|
0, 1, 0, 0; |
|
|
|
0, 0, 1, 0; |
|
|
|
0, 0, 0, 1]; |
|
|
|
real gripperbaseFree\EulerXYZInitial[3] = [-0; 0; -0]; |
|
|
|
real hidden gripperbaseFree\xInitial[3] = [0; 0.11; 0]; |
|
|
|
real hidden gripperbase\RelH[4,4] = [ |
|
|
|
1, 0, 0, 0; |
|
|
|
0, 1, 0, 0; |
|
|
|
0, 0, 1, 0; |
|
|
|
0, 0, 0, 1]; |
|
|
|
real hidden gripperbase\I[6,6] = [ |
|
|
|
0.02, 0, 0, 0, 0, 0; |
|
|
|
0, 0.02, 0, 0, 0, 0; |
|
|
|
0, 0, 0.08, 0, 0, 0; |
|
|
|
0, 0, 0, 1, 0, 0; |
|
|
|
0, 0, 0, 0, 1, 0; |
|
|
|
0, 0, 0, 0, 0, 1]; |
|
|
|
real gripperbase\mass = 0.005; |
|
|
|
real hidden FreeJoint1\ConnectionPoint2\RelH[4,4] = [ |
|
|
|
1, 0, 0, 0.05; |
|
|
|
0, 1, 0, 0; |
|
|
|
0, 0, 1, 0.015; |
|
|
|
0, 0, 0, 1]; |
|
|
|
real hidden H_gripperbottom\ConnectionPoint1\RelH[4,4] = [ |
|
|
|
1, 0, 0, 0; |
|
|
|
0, 1, 0, 0; |
|
|
|
0, 0, 1, 0; |
|
|
|
0, 0, 0, 1]; |
|
|
|
real hidden gripperbottom\ConnectionPoint1\RelH[4,4] = [ |
|
|
|
1, 0, 0, 0; |
|
|
|
0, 1, 0, 0; |
|
|
|
0, 0, 1, 0; |
|
|
|
0, 0, 0, 1]; |
|
|
|
real gravity[3] = [0; 0; -9.81]; |
|
|
|
real constraintRotSpringK = 10000; |
|
|
|
real constraintRotDamperD = 100; |
|
|
|
real FreeJoint1\Spring = 1; |
|
|
|
real FreeJoint1\Damping = 1; |
|
|
|
real constraintTransSpringK = 100000; |
|
|
|
real constraintTransDamperD = 100; |
|
|
|
real hidden PDotInitial[18] = [0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0]; |
|
|
|
initialequations |
|
|
|
markerFree\rotationInitial = dll ('EulerAngles.dll', 'HMatrixFromEulXYZr', markerFree\EulerXYZInitial); |
|
|
|
markerFree\quatInitial = dll ('EulerAngles.dll', 'QuaternionFromHMatrix', markerFree\rotationInitial); |
|
|
|
markerFree\RelH[4, 1:3] = 0; |
|
|
|
markerFree\RelH[4, 4] = 1; |
|
|
|
grippertopFree\rotationInitial = dll ('EulerAngles.dll', 'HMatrixFromEulXYZr', grippertopFree\EulerXYZInitial); |
|
|
|
grippertopFree\quatInitial = dll ('EulerAngles.dll', 'QuaternionFromHMatrix', grippertopFree\rotationInitial); |
|
|
|
grippertopFree\RelH[4, 1:3] = 0; |
|
|
|
grippertopFree\RelH[4, 4] = 1; |
|
|
|
gripperbaseFree\rotationInitial = dll ('EulerAngles.dll', 'HMatrixFromEulXYZr', gripperbaseFree\EulerXYZInitial); |
|
|
|
gripperbaseFree\quatInitial = dll ('EulerAngles.dll', 'QuaternionFromHMatrix', gripperbaseFree\rotationInitial); |
|
|
|
gripperbaseFree\RelH[4, 1:3] = 0; |
|
|
|
gripperbaseFree\RelH[4, 4] = 1; |
|
|
|
J1[1:6, 1:6] = 0; |
|
|
|
J1[1:6, 7:12] = 0; |
|
|
|
J1[1:6, 13:18] = 0; |
|
|
|
J2[1:6, 7:12] = 0; |
|
|
|
J2[1:6, 13:18] = 0; |
|
|
|
J3[1:6, 1:6] = 0; |
|
|
|
J3[1:6, 13:18] = 0; |
|
|
|
J4[1:6, 1:6] = 0; |
|
|
|
J4[1:6, 7:12] = 0; |
|
|
|
MassMatrix[1:6, 7:12] = 0; |
|
|
|
MassMatrix[1:6, 13:18] = 0; |
|
|
|
MassMatrix[7:12, 1:6] = 0; |
|
|
|
MassMatrix[7:12, 13:18] = 0; |
|
|
|
MassMatrix[13:18, 1:6] = 0; |
|
|
|
MassMatrix[13:18, 7:12] = 0; |
|
|
|
markerFree\Bk[4:6, 4:6] = 0; |
|
|
|
grippertopFree\Bk[4:6, 4:6] = 0; |
|
|
|
gripperbaseFree\Bk[4:6, 4:6] = 0; |
|
|
|
equations |
|
|
|
World\AbsH = World\H; |
|
|
|
World\mass_x_I = World\mass * World\I; |
|
|
|
holderWeld\ConnectionPoint1\AbsH = multiplyH (World\AbsH, holderWeld\ConnectionPoint1\RelH); |
|
|
|
holderWeld\AbsH = holderWeld\ConnectionPoint1\AbsH; |
|
|
|
holderWeld\ConnectionPoint2\AbsH = holderWeld\AbsH; |
|
|
|
holder\AbsH = multiplyH (holderWeld\ConnectionPoint2\AbsH, holder\RelH); |
|
|
|
holder\mass_x_I = holder\mass * holder\I; |
|
|
|
markerFree\ConnectionPoint1\AbsH = multiplyH (World\AbsH, markerFree\ConnectionPoint1\RelH); |
|
|
|
markerFree\QOmega = [0, -markerFree\vgen[3], markerFree\vgen[2], -markerFree\vgen[1]; |
|
|
|
markerFree\vgen[3], 0, -markerFree\vgen[1], -markerFree\vgen[2]; |
|
|
|
-markerFree\vgen[2], markerFree\vgen[1], 0, -markerFree\vgen[3]; |
|
|
|
markerFree\vgen[1], markerFree\vgen[2], markerFree\vgen[3], 0]; |
|
|
|
markerFree\quat = int (markerFree\quatDot) + markerFree\quatInitial; |
|
|
|
markerFree\quatDot = 0.5 * (markerFree\QOmega * markerFree\quat); |
|
|
|
markerFree\vel = markerFree\vgen[4:6]; |
|
|
|
markerFree\v = skew (markerFree\vgen[1:3]) * markerFree\x + markerFree\vel; |
|
|
|
markerFree\x = int (markerFree\v) + markerFree\xInitial; |
|
|
|
markerFree_Rot = dll ('EulerAngles.dll', 'HMatrixFromQuaternion', markerFree\quat); |
|
|
|
markerFree\RelH[1:3, 1:3] = markerFree_Rot[1:3, 1:3]; |
|
|
|
markerFree\RelH[1:3, 4] = markerFree\x; |
|
|
|
markerFree\AbsH = multiplyH (markerFree\ConnectionPoint1\AbsH, markerFree\RelH); |
|
|
|
markerFree\ConnectionPoint2\AbsH = markerFree\AbsH; |
|
|
|
marker\AbsH = multiplyH (markerFree\ConnectionPoint2\AbsH, marker\RelH); |
|
|
|
marker\mass_x_I = marker\mass * marker\I; |
|
|
|
H_marker\ConnectionPoint1\AbsH = multiplyH (marker\AbsH, H_marker\ConnectionPoint1\RelH); |
|
|
|
marker2\ConnectionPoint1\AbsH = multiplyH (marker\AbsH, marker2\ConnectionPoint1\RelH); |
|
|
|
grippertopFree\ConnectionPoint1\AbsH = multiplyH (World\AbsH, grippertopFree\ConnectionPoint1\RelH); |
|
|
|
grippertopFree\QOmega = [0, -grippertopFree\vgen[3], grippertopFree\vgen[2], -grippertopFree\vgen[1]; |
|
|
|
grippertopFree\vgen[3], 0, -grippertopFree\vgen[1], -grippertopFree\vgen[2]; |
|
|
|
-grippertopFree\vgen[2], grippertopFree\vgen[1], 0, -grippertopFree\vgen[3]; |
|
|
|
grippertopFree\vgen[1], grippertopFree\vgen[2], grippertopFree\vgen[3], 0]; |
|
|
|
grippertopFree\quat = int (grippertopFree\quatDot) + grippertopFree\quatInitial; |
|
|
|
grippertopFree\quatDot = 0.5 * (grippertopFree\QOmega * grippertopFree\quat); |
|
|
|
grippertopFree\vel = grippertopFree\vgen[4:6]; |
|
|
|
grippertopFree\v = skew (grippertopFree\vgen[1:3]) * grippertopFree\x + grippertopFree\vel; |
|
|
|
grippertopFree\x = int (grippertopFree\v) + grippertopFree\xInitial; |
|
|
|
grippertopFree_Rot = dll ('EulerAngles.dll', 'HMatrixFromQuaternion', grippertopFree\quat); |
|
|
|
grippertopFree\RelH[1:3, 1:3] = grippertopFree_Rot[1:3, 1:3]; |
|
|
|
grippertopFree\RelH[1:3, 4] = grippertopFree\x; |
|
|
|
grippertopFree\AbsH = multiplyH (grippertopFree\ConnectionPoint1\AbsH, grippertopFree\RelH); |
|
|
|
grippertopFree\ConnectionPoint2\AbsH = grippertopFree\AbsH; |
|
|
|
grippertop\AbsH = multiplyH (grippertopFree\ConnectionPoint2\AbsH, grippertop\RelH); |
|
|
|
grippertop\mass_x_I = grippertop\mass * grippertop\I; |
|
|
|
FreeJoint1\ConnectionPoint1\AbsH = multiplyH (grippertop\AbsH, FreeJoint1\ConnectionPoint1\RelH); |
|
|
|
H_grippertop\ConnectionPoint1\AbsH = multiplyH (grippertop\AbsH, H_grippertop\ConnectionPoint1\RelH); |
|
|
|
grippertop2\ConnectionPoint1\AbsH = multiplyH (grippertop\AbsH, grippertop2\ConnectionPoint1\RelH); |
|
|
|
gripperbaseFree\ConnectionPoint1\AbsH = multiplyH (World\AbsH, gripperbaseFree\ConnectionPoint1\RelH); |
|
|
|
gripperbaseFree\QOmega = [0, -gripperbaseFree\vgen[3], gripperbaseFree\vgen[2], -gripperbaseFree\vgen[1]; |
|
|
|
gripperbaseFree\vgen[3], 0, -gripperbaseFree\vgen[1], -gripperbaseFree\vgen[2]; |
|
|
|
-gripperbaseFree\vgen[2], gripperbaseFree\vgen[1], 0, -gripperbaseFree\vgen[3]; |
|
|
|
gripperbaseFree\vgen[1], gripperbaseFree\vgen[2], gripperbaseFree\vgen[3], 0]; |
|
|
|
gripperbaseFree\quat = int (gripperbaseFree\quatDot) + gripperbaseFree\quatInitial; |
|
|
|
gripperbaseFree\quatDot = 0.5 * (gripperbaseFree\QOmega * gripperbaseFree\quat); |
|
|
|
gripperbaseFree\vel = gripperbaseFree\vgen[4:6]; |
|
|
|
gripperbaseFree\v = skew (gripperbaseFree\vgen[1:3]) * gripperbaseFree\x + gripperbaseFree\vel; |
|
|
|
gripperbaseFree\x = int (gripperbaseFree\v) + gripperbaseFree\xInitial; |
|
|
|
gripperbaseFree_Rot = dll ('EulerAngles.dll', 'HMatrixFromQuaternion', gripperbaseFree\quat); |
|
|
|
gripperbaseFree\RelH[1:3, 1:3] = gripperbaseFree_Rot[1:3, 1:3]; |
|
|
|
gripperbaseFree\RelH[1:3, 4] = gripperbaseFree\x; |
|
|
|
gripperbaseFree\AbsH = multiplyH (gripperbaseFree\ConnectionPoint1\AbsH, gripperbaseFree\RelH); |
|
|
|
gripperbaseFree\ConnectionPoint2\AbsH = gripperbaseFree\AbsH; |
|
|
|
gripperbase\AbsH = multiplyH (gripperbaseFree\ConnectionPoint2\AbsH, gripperbase\RelH); |
|
|
|
gripperbase\mass_x_I = gripperbase\mass * gripperbase\I; |
|
|
|
FreeJoint1\ConnectionPoint2\AbsH = multiplyH (gripperbase\AbsH, FreeJoint1\ConnectionPoint2\RelH); |
|
|
|
H_gripperbottom\ConnectionPoint1\AbsH = multiplyH (gripperbase\AbsH, H_gripperbottom\ConnectionPoint1\RelH); |
|
|
|
gripperbottom\ConnectionPoint1\AbsH = multiplyH (gripperbase\AbsH, gripperbottom\ConnectionPoint1\RelH); |
|
|
|
AdjX2 = Adjoint (markerFree\ConnectionPoint1\AbsH); |
|
|
|
AdjX2_T = transpose (AdjX2); |
|
|
|
adjAdjX2_1 = adjoint (AdjX2[1:6, 1]); |
|
|
|
adjAdjX2_2 = adjoint (AdjX2[1:6, 2]); |
|
|
|
adjAdjX2_3 = adjoint (AdjX2[1:6, 3]); |
|
|
|
adjAdjX2_4 = adjoint (AdjX2[1:6, 4]); |
|
|
|
adjAdjX2_5 = adjoint (AdjX2[1:6, 5]); |
|
|
|
adjAdjX2_6 = adjoint (AdjX2[1:6, 6]); |
|
|
|
AdjX3 = Adjoint (grippertopFree\ConnectionPoint1\AbsH); |
|
|
|
AdjX3_T = transpose (AdjX3); |
|
|
|
adjAdjX3_1 = adjoint (AdjX3[1:6, 1]); |
|
|
|
adjAdjX3_2 = adjoint (AdjX3[1:6, 2]); |
|
|
|
adjAdjX3_3 = adjoint (AdjX3[1:6, 3]); |
|
|
|
adjAdjX3_4 = adjoint (AdjX3[1:6, 4]); |
|
|
|
adjAdjX3_5 = adjoint (AdjX3[1:6, 5]); |
|
|
|
adjAdjX3_6 = adjoint (AdjX3[1:6, 6]); |
|
|
|
AdjX4 = Adjoint (gripperbaseFree\ConnectionPoint1\AbsH); |
|
|
|
AdjX4_T = transpose (AdjX4); |
|
|
|
adjAdjX4_1 = adjoint (AdjX4[1:6, 1]); |
|
|
|
adjAdjX4_2 = adjoint (AdjX4[1:6, 2]); |
|
|
|
adjAdjX4_3 = adjoint (AdjX4[1:6, 3]); |
|
|
|
adjAdjX4_4 = adjoint (AdjX4[1:6, 4]); |
|
|
|
adjAdjX4_5 = adjoint (AdjX4[1:6, 5]); |
|
|
|
adjAdjX4_6 = adjoint (AdjX4[1:6, 6]); |
|
|
|
J2[1:6, 1:6] = AdjX2; |
|
|
|
J3[1:6, 7:12] = AdjX3; |
|
|
|
J4[1:6, 13:18] = AdjX4; |
|
|
|
T1_00 = J1 * v; |
|
|
|
T1_00T = transpose (T1_00); |
|
|
|
T2_00 = J2 * v; |
|
|
|
T2_00T = transpose (T2_00); |
|
|
|
T3_00 = J3 * v; |
|
|
|
T3_00T = transpose (T3_00); |
|
|
|
T4_00 = J4 * v; |
|
|
|
T4_00T = transpose (T4_00); |
|
|
|
AdjInv1 = Adjoint (inverseH (holder\AbsH)); |
|
|
|
M1 = transpose (AdjInv1) * holder\mass_x_I * AdjInv1; |
|
|
|
TM1 = T1_00T * M1; |
|
|
|
AdjInv2 = Adjoint (inverseH (marker\AbsH)); |
|
|
|
M2 = transpose (AdjInv2) * marker\mass_x_I * AdjInv2; |
|
|
|
TM2 = T2_00T * M2; |
|
|
|
AdjInv3 = Adjoint (inverseH (grippertop\AbsH)); |
|
|
|
M3 = transpose (AdjInv3) * grippertop\mass_x_I * AdjInv3; |
|
|
|
TM3 = T3_00T * M3; |
|
|
|
AdjInv4 = Adjoint (inverseH (gripperbase\AbsH)); |
|
|
|
M4 = transpose (AdjInv4) * gripperbase\mass_x_I * AdjInv4; |
|
|
|
TM4 = T4_00T * M4; |
|
|
|
M2_2 = AdjX2_T * (M2 * AdjX2); |
|
|
|
M3_3 = AdjX3_T * (M3 * AdjX3); |
|
|
|
M4_4 = AdjX4_T * (M4 * AdjX4); |
|
|
|
MassMatrix[1:6, 1:6] = M2_2; |
|
|
|
MassMatrix[7:12, 7:12] = M3_3; |
|
|
|
MassMatrix[13:18, 13:18] = M4_4; |
|
|
|
wrenchGrav2 = marker\mass * [gravity[3] * marker\AbsH[2, 4] - gravity[2] * marker\AbsH[3, 4], gravity[1] * marker\AbsH[3, 4] - gravity[3] * marker\AbsH[1, 4], gravity[2] * marker\AbsH[1, 4] - gravity[1] * marker\AbsH[2, 4], gravity[1], gravity[2], gravity[3]]; |
|
|
|
wrenchGrav3 = grippertop\mass * [gravity[3] * grippertop\AbsH[2, 4] - gravity[2] * grippertop\AbsH[3, 4], gravity[1] * grippertop\AbsH[3, 4] - gravity[3] * grippertop\AbsH[1, 4], gravity[2] * grippertop\AbsH[1, 4] - gravity[1] * grippertop\AbsH[2, 4], gravity[1], gravity[2], gravity[3]]; |
|
|
|
wrenchGrav4 = gripperbase\mass * [gravity[3] * gripperbase\AbsH[2, 4] - gravity[2] * gripperbase\AbsH[3, 4], gravity[1] * gripperbase\AbsH[3, 4] - gravity[3] * gripperbase\AbsH[1, 4], gravity[2] * gripperbase\AbsH[1, 4] - gravity[1] * gripperbase\AbsH[2, 4], gravity[1], gravity[2], gravity[3]]; |
|
|
|
H_marker = H_marker\ConnectionPoint1\AbsH; |
|
|
|
marker2.f = T2_00; |
|
|
|
H_grippertop = H_grippertop\ConnectionPoint1\AbsH; |
|
|
|
grippertop2.f = T3_00; |
|
|
|
H_gripperbottom = H_gripperbottom\ConnectionPoint1\AbsH; |
|
|
|
gripperbottom.f = T4_00; |
|
|
|
FreeJoint1\ConnectionPoint1\AbsHinverse = inverseH (FreeJoint1\ConnectionPoint1\AbsH); |
|
|
|
FreeJoint1\ConnectionPoint1\invAdjointH = Adjoint (FreeJoint1\ConnectionPoint1\AbsHinverse); |
|
|
|
FreeJoint1\ConnectionPoint2\AbsHinverse = inverseH (FreeJoint1\ConnectionPoint2\AbsH); |
|
|
|
FreeJoint1\ConnectionPoint2\invAdjointH = Adjoint (FreeJoint1\ConnectionPoint2\AbsHinverse); |
|
|
|
FreeJoint1\ConnectionPoint1_flow = FreeJoint1\ConnectionPoint1\invAdjointH * T3_00; |
|
|
|
FreeJoint1\ConnectionPoint2_flow = FreeJoint1\ConnectionPoint2\invAdjointH * T4_00; |
|
|
|
FreeJoint1_relH = multiplyH (inverseH (FreeJoint1\ConnectionPoint1\AbsH), FreeJoint1\ConnectionPoint2\AbsH); |
|
|
|
FreeJoint1_relT = Adjoint (FreeJoint1_relH) * FreeJoint1\ConnectionPoint2_flow - FreeJoint1\ConnectionPoint1_flow; |
|
|
|
[FreeJoint1_f1; |
|
|
|
FreeJoint1_f2; |
|
|
|
FreeJoint1_f3; |
|
|
|
FreeJoint1_f4; |
|
|
|
FreeJoint1_f5; |
|
|
|
FreeJoint1_f6] = FreeJoint1_relT; |
|
|
|
FreeJoint1_EulerXZY = dll ('EulerAngles.dll', 'EulXZYrFromHMatrix', FreeJoint1_relH); |
|
|
|
FreeJoint1_e1 = -constraintRotSpringK * FreeJoint1_EulerXZY[1] - constraintRotDamperD * FreeJoint1_f1; |
|
|
|
FreeJoint1_EulerYXZ = dll ('EulerAngles.dll', 'EulYXZrFromHMatrix', FreeJoint1_relH); |
|
|
|
FreeJoint1\SpringForce = -(FreeJoint1_EulerYXZ[1] * FreeJoint1\Spring); |
|
|
|
FreeJoint1\DampingForce = -(FreeJoint1_f2 * FreeJoint1\Damping); |
|
|
|
FreeJoint1_e2 = FreeJoint1\SpringForce + FreeJoint1\DampingForce; |
|
|
|
FreeJoint1_e3 = -constraintRotSpringK * FreeJoint1_EulerXZY[2] - constraintRotDamperD * FreeJoint1_f3; |
|
|
|
FreeJoint1_e4 = -constraintTransSpringK * FreeJoint1_relH[1, 4] - constraintTransDamperD * FreeJoint1_f4; |
|
|
|
FreeJoint1_e5 = -constraintTransSpringK * FreeJoint1_relH[2, 4] - constraintTransDamperD * FreeJoint1_f5; |
|
|
|
FreeJoint1_e6 = -constraintTransSpringK * FreeJoint1_relH[3, 4] - constraintTransDamperD * FreeJoint1_f6; |
|
|
|
FreeJoint1_relW = [FreeJoint1_e1, FreeJoint1_e2, FreeJoint1_e3, FreeJoint1_e4, FreeJoint1_e5, FreeJoint1_e6]; |
|
|
|
FreeJoint1\ConnectionPoint1_effort = -FreeJoint1_relW; |
|
|
|
FreeJoint1\ConnectionPoint2_effort = FreeJoint1_relW * Adjoint (FreeJoint1_relH); |
|
|
|
markerFree\skewP4to6 = skew (P[4:6]); |
|
|
|
markerFree\Bk[1:3, 1:3] = skew (P[1:3]); |
|
|
|
markerFree\Bk[4:6, 1:3] = markerFree\skewP4to6; |
|
|
|
markerFree\Bk[1:3, 4:6] = markerFree\skewP4to6; |
|
|
|
TMSum2 = TM2; |
|
|
|
PDotBodies[1:6] = -[TMSum2 * (adjAdjX2_1 * T2_00); |
|
|
|
TMSum2 * (adjAdjX2_2 * T2_00); |
|
|
|
TMSum2 * (adjAdjX2_3 * T2_00); |
|
|
|
TMSum2 * (adjAdjX2_4 * T2_00); |
|
|
|
TMSum2 * (adjAdjX2_5 * T2_00); |
|
|
|
TMSum2 * (adjAdjX2_6 * T2_00)] - markerFree\Bk * v[1:6]; |
|
|
|
grippertopFree\skewP4to6 = skew (P[10:12]); |
|
|
|
grippertopFree\Bk[1:3, 1:3] = skew (P[7:9]); |
|
|
|
grippertopFree\Bk[4:6, 1:3] = grippertopFree\skewP4to6; |
|
|
|
grippertopFree\Bk[1:3, 4:6] = grippertopFree\skewP4to6; |
|
|
|
TMSum3 = TM3; |
|
|
|
PDotBodies[7:12] = -[TMSum3 * (adjAdjX3_1 * T3_00); |
|
|
|
TMSum3 * (adjAdjX3_2 * T3_00); |
|
|
|
TMSum3 * (adjAdjX3_3 * T3_00); |
|
|
|
TMSum3 * (adjAdjX3_4 * T3_00); |
|
|
|
TMSum3 * (adjAdjX3_5 * T3_00); |
|
|
|
TMSum3 * (adjAdjX3_6 * T3_00)] - grippertopFree\Bk * v[7:12]; |
|
|
|
gripperbaseFree\skewP4to6 = skew (P[16:18]); |
|
|
|
gripperbaseFree\Bk[1:3, 1:3] = skew (P[13:15]); |
|
|
|
gripperbaseFree\Bk[4:6, 1:3] = gripperbaseFree\skewP4to6; |
|
|
|
gripperbaseFree\Bk[1:3, 4:6] = gripperbaseFree\skewP4to6; |
|
|
|
TMSum4 = TM4; |
|
|
|
PDotBodies[13:18] = -[TMSum4 * (adjAdjX4_1 * T4_00); |
|
|
|
TMSum4 * (adjAdjX4_2 * T4_00); |
|
|
|
TMSum4 * (adjAdjX4_3 * T4_00); |
|
|
|
TMSum4 * (adjAdjX4_4 * T4_00); |
|
|
|
TMSum4 * (adjAdjX4_5 * T4_00); |
|
|
|
TMSum4 * (adjAdjX4_6 * T4_00)] - gripperbaseFree\Bk * v[13:18]; |
|
|
|
PDot = PDotBodies + transpose (wrenchGrav2 * J2 + wrenchGrav3 * J3 + wrenchGrav4 * J4 + transpose (marker2.e) * J2 + transpose (grippertop2.e) * J3 + transpose (gripperbottom.e) * J4 + FreeJoint1\ConnectionPoint1_effort * FreeJoint1\ConnectionPoint1\invAdjointH * J3 + FreeJoint1\ConnectionPoint2_effort * FreeJoint1\ConnectionPoint2\invAdjointH * J4); |
|
|
|
P = int (PDot) + PDotInitial; |
|
|
|
v = linsolve (MassMatrix, P, 'cholesky'); |
|
|
|
markerFree\vgen = v[1:6]; |
|
|
|
grippertopFree\vgen = v[7:12]; |
|
|
|
gripperbaseFree\vgen = v[13:18]; |
|
|
|
implementation_end; |
|
|
|
end; |
|
|
|
connections |
|
|
|
end; |
|
|
|
implementation_end; |
|
|
|
]]> |
|
|
|
</Sidops> |
|
|
|
</Model> |
|
|
|
<Experiments> |
|
|
|
<DefaultExperiment><![CDATA[Experiment 1]]> |
|
|
|
</DefaultExperiment> |
|
|
|
<Experiment> |
|
|
|
<Name>Experiment 1</Name> |
|
|
|
<CreatedBy></CreatedBy> |
|
|
|
<Info></Info> |
|
|
|
<ExpData> |
|
|
|
<VersionNumber>4.8</VersionNumber> |
|
|
|
<ModelProperties> |
|
|
|
</ModelProperties> |
|
|
|
<Variables> |
|
|
|
<Parameters> |
|
|
|
</Parameters> |
|
|
|
</Variables> |
|
|
|
<PlotSpecs> |
|
|
|
<VarNames> |
|
|
|
<VarName>time</VarName> |
|
|
|
</VarNames> |
|
|
|
<Plots> |
|
|
|
<Plot> |
|
|
|
<PlotType>GraphPlot</PlotType> |
|
|
|
<BasePlot> |
|
|
|
<PlotId>1</PlotId> |
|
|
|
<UseWindowsBGColor>false</UseWindowsBGColor> |
|
|
|
<BGColor>16777215</BGColor> |
|
|
|
<PlotIsVisible>true</PlotIsVisible> |
|
|
|
</BasePlot> |
|
|
|
<Grid> |
|
|
|
<DrawGrid>true</DrawGrid> |
|
|
|
<GridColor>15780518</GridColor> |
|
|
|
<GridBorderLineColor>12624260</GridBorderLineColor> |
|
|
|
<GridZeroLineColor>0</GridZeroLineColor> |
|
|
|
<XTicks>10</XTicks> |
|
|
|
<YTicks>10</YTicks> |
|
|
|
<ZTicks>10</ZTicks> |
|
|
|
<Use3DLook>false</Use3DLook> |
|
|
|
</Grid> |
|
|
|
<PlotBGColor>16777215</PlotBGColor> |
|
|
|
<ShowPlotTitle>true</ShowPlotTitle> |
|
|
|
<TitlePosition>1</TitlePosition> |
|
|
|
<PlotTitle>endeffector</PlotTitle> |
|
|
|
<ShowXValues>true</ShowXValues> |
|
|
|
<Fonts> |
|
|
|
<TitleFont> |
|
|
|
<Name>Arial</Name> |
|
|
|
<Height>12</Height> |
|
|
|
<PitchFamily>34</PitchFamily> |
|
|
|
<Weight>400</Weight> |
|
|
|
<Italic>0</Italic> |
|
|
|
<UnderLine>0</UnderLine> |
|
|
|
<StrikeOut>0</StrikeOut> |
|
|
|
<Color>0</Color> |
|
|
|
</TitleFont> |
|
|
|
<LabelFont> |
|
|
|
<Name>Arial</Name> |
|
|
|
<Height>12</Height> |
|
|
|
<PitchFamily>34</PitchFamily> |
|
|
|
<Weight>400</Weight> |
|
|
|
<Italic>0</Italic> |
|
|
|
<UnderLine>0</UnderLine> |
|
|
|
<StrikeOut>0</StrikeOut> |
|
|
|
<Color>0</Color> |
|
|
|
</LabelFont> |
|
|
|
<ValuesFont> |
|
|
|
<Name>Arial</Name> |
|
|
|
<Height>10</Height> |
|
|
|
<PitchFamily>34</PitchFamily> |
|
|
|
<Weight>400</Weight> |
|
|
|
<Italic>0</Italic> |
|
|
|
<UnderLine>0</UnderLine> |
|
|
|
<StrikeOut>0</StrikeOut> |
|
|
|
<Color>0</Color> |
|
|
|
</ValuesFont> |
|
|
|
<LegendFont> |
|
|
|
<Name>Arial</Name> |
|
|
|
<Height>12</Height> |
|
|
|
<PitchFamily>34</PitchFamily> |
|
|
|
<Weight>400</Weight> |
|
|
|
<Italic>0</Italic> |
|
|
|
<UnderLine>0</UnderLine> |
|
|
|
<StrikeOut>0</StrikeOut> |
|
|
|
<Color>0</Color> |
|
|
|
</LegendFont> |
|
|
|
</Fonts> |
|
|
|
<SharedXAxis>true</SharedXAxis> |
|
|
|
<SharedYAxis>true</SharedYAxis> |
|
|
|
<SharedZAxis>false</SharedZAxis> |
|
|
|
<XAxes> |
|
|
|
<Axis> |
|
|
|
<Minimum>0.0</Minimum> |
|
|
|
<Maximum>10.0</Maximum> |
|
|
|
<Linear>true</Linear> |
|
|
|
<Scaling>3</Scaling> |
|
|
|
<Label>time</Label> |
|
|
|
</Axis> |
|
|
|
</XAxes> |
|
|
|
<YAxes> |
|
|
|
<Axis> |
|
|
|
<Minimum>0.0</Minimum> |
|
|
|
<Maximum>10.0</Maximum> |
|
|
|
<Linear>true</Linear> |
|
|
|
<Scaling>2</Scaling> |
|
|
|
<Label></Label> |
|
|
|
</Axis> |
|
|
|
</YAxes> |
|
|
|
<ZAxes> |
|
|
|
</ZAxes> |
|
|
|
<Curves> |
|
|
|
<Curve> |
|
|
|
<LineColor>3355111</LineColor> |
|
|
|
<LineStyle>1</LineStyle> |
|
|
|
<TickColor>3355111</TickColor> |
|
|
|
<TickStyle>0</TickStyle> |
|
|
|
<CurveVisible>true</CurveVisible> |
|
|
|
<PixelThresshold>1</PixelThresshold> |
|
|
|
<LineThickness>1</LineThickness> |
|
|
|
<LineOrder>1</LineOrder> |
|
|
|
<ShowYValues>true</ShowYValues> |
|
|
|
<XCurveData> |
|
|
|
<ShowUnit>true</ShowUnit> |
|
|
|
<VarName>time</VarName> |
|
|
|
</XCurveData> |
|
|
|
</Curve> |
|
|
|
</Curves> |
|
|
|
<Legenda> |
|
|
|
<ShowLegenda>true</ShowLegenda> |
|
|
|
<BorderPenColor>0</BorderPenColor> |
|
|
|
<BackgroundColor>16777215</BackgroundColor> |
|
|
|
</Legenda> |
|
|
|
</Plot> |
|
|
|
</Plots> |
|
|
|
<PlotPanels> |
|
|
|
<PlotPanel> |
|
|
|
<PlotPanelId>1</PlotPanelId> |
|
|
|
<PlotPanelVisible>true</PlotPanelVisible> |
|
|
|
<Name>Window 1</Name> |
|
|
|
<Tiling>0</Tiling> |
|
|
|
<PlotIds> |
|
|
|
<PlotId>1</PlotId> |
|
|
|
</PlotIds> |
|
|
|
<ToggleState>Base</ToggleState> |
|
|
|
</PlotPanel> |
|
|
|
</PlotPanels> |
|
|
|
</PlotSpecs> |
|
|
|
<RunSpecs> |
|
|
|
<SimulatorSettings> |
|
|
|
<StartTime>0.0</StartTime> |
|
|
|
<FinishTime>10.0</FinishTime> |
|
|
|
<AllowPassFinishTime>false</AllowPassFinishTime> |
|
|
|
<Warp>false</Warp> |
|
|
|
<FPGonio>false</FPGonio> |
|
|
|
<UseOutputAfterEach>false</UseOutputAfterEach> |
|
|
|
<OutputAfterEach>0.1</OutputAfterEach> |
|
|
|
<EventEpsilon>1.0e-6</EventEpsilon> |
|
|
|
<AlgebraicTolerance>1.0e-7</AlgebraicTolerance> |
|
|
|
<SteadyStateAnalysis>false</SteadyStateAnalysis> |
|
|
|
<UpdateHoldInstructions>true</UpdateHoldInstructions> |
|
|
|
</SimulatorSettings> |
|
|
|
<IntegrationMethods> |
|
|
|
<IntegrationMethod> |
|
|
|
<Name>Euler</Name> |
|
|
|
<StepSize>0.01</StepSize> |
|
|
|
<AutoStepSize>false</AutoStepSize> |
|
|
|
</IntegrationMethod> |
|
|
|
<IntegrationMethod> |
|
|
|
<Name>BackwardEuler</Name> |
|
|
|
<AbsoluteTolerance>1.0e-5</AbsoluteTolerance> |
|
|
|
<RelativeTolerance>1.0e-5</RelativeTolerance> |
|
|
|
<AlgebraicAbsoluteTolerance>1.0e-5</AlgebraicAbsoluteTolerance> |
|
|
|
<AlgebraicRelativeTolerance>1.0e-5</AlgebraicRelativeTolerance> |
|
|
|
<StepSize>0.01</StepSize> |
|
|
|
<Alpha>1.0</Alpha> |
|
|
|
</IntegrationMethod> |
|
|
|
<IntegrationMethod> |
|
|
|
<Name>AdamsBashforth</Name> |
|
|
|
<StepSize>0.01</StepSize> |
|
|
|
<AutoStepSize>false</AutoStepSize> |
|
|
|
</IntegrationMethod> |
|
|
|
<IntegrationMethod> |
|
|
|
<Name>RungeKutta2</Name> |
|
|
|
<StepSize>0.01</StepSize> |
|
|
|
<AutoStepSize>false</AutoStepSize> |
|
|
|
</IntegrationMethod> |
|
|
|
<IntegrationMethod> |
|
|
|
<Name>RungeKutta4</Name> |
|
|
|
<StepSize>0.01</StepSize> |
|
|
|
<AutoStepSize>false</AutoStepSize> |
|
|
|
</IntegrationMethod> |
|
|
|
<IntegrationMethod> |
|
|
|
<Name>RungeKutta8</Name> |
|
|
|
<UseInitialStepSize>false</UseInitialStepSize> |
|
|
|
<InitialStepSize>0.001</InitialStepSize> |
|
|
|
<UseMaximumStepSize>false</UseMaximumStepSize> |
|
|
|
<MaximumStepSize>1.0</MaximumStepSize> |
|
|
|
<AbsoluteTolerance>1.0e-6</AbsoluteTolerance> |
|
|
|
<RelativeTolerance>1.0e-6</RelativeTolerance> |
|
|
|
<SafetyFactor>0.9</SafetyFactor> |
|
|
|
<Factor1>0.33</Factor1> |
|
|
|
<Factor2>6.0</Factor2> |
|
|
|
<Beta>0.0</Beta> |
|
|
|
<UseMaxNrSteps>false</UseMaxNrSteps> |
|
|
|
<MaxNrSteps>100000</MaxNrSteps> |
|
|
|
<UseStiffDetection>false</UseStiffDetection> |
|
|
|
<MaxNrStiffnessSteps>1000</MaxNrStiffnessSteps> |
|
|
|
</IntegrationMethod> |
|
|
|
<IntegrationMethod> |
|
|
|
<Name>RungeKuttaFehlberg</Name> |
|
|
|
<UseInitialStepSize>false</UseInitialStepSize> |
|
|
|
<InitialStepSize>0.001</InitialStepSize> |
|
|
|
<UseMaximumStepSize>false</UseMaximumStepSize> |
|
|
|
<MaximumStepSize>1.0</MaximumStepSize> |
|
|
|
<AbsoluteTolerance>1.0e-6</AbsoluteTolerance> |
|
|
|
<RelativeTolerance>1.0e-6</RelativeTolerance> |
|
|
|
</IntegrationMethod> |
|
|
|
<IntegrationMethod> |
|
|
|
<Name>VodeAdams</Name> |
|
|
|
<UseInitialStepSize>false</UseInitialStepSize> |
|
|
|
<InitialStepSize>0.001</InitialStepSize> |
|
|
|
<UseMaximumStepSize>false</UseMaximumStepSize> |
|
|
|
<MaximumStepSize>1.0</MaximumStepSize> |
|
|
|
<AbsoluteTolerance>1.0e-6</AbsoluteTolerance> |
|
|
|
<RelativeTolerance>1.0e-6</RelativeTolerance> |
|
|
|
<VodeUseBDF>true</VodeUseBDF> |
|
|
|
<VodeUseNewton>true</VodeUseNewton> |
|
|
|
</IntegrationMethod> |
|
|
|
<IntegrationMethod> |
|
|
|
<Name>BDFMethod</Name> |
|
|
|
<AbsoluteTolerance>1.0e-5</AbsoluteTolerance> |
|
|
|
<RelativeTolerance>1.0e-5</RelativeTolerance> |
|
|
|
<AlgebraicAbsoluteTolerance>1.0e-5</AlgebraicAbsoluteTolerance> |
|
|
|
<AlgebraicRelativeTolerance>1.0e-5</AlgebraicRelativeTolerance> |
|
|
|
<UseInitialStepSize>false</UseInitialStepSize> |
|
|
|
<InitialStepSize>0.001</InitialStepSize> |
|
|
|
<UseMaximumStepSize>false</UseMaximumStepSize> |
|
|
|
<MaximumStepSize>1.0</MaximumStepSize> |
|
|
|
</IntegrationMethod> |
|
|
|
<IntegrationMethod> |
|
|
|
<Name>MeBDFiMethod</Name> |
|
|
|
<AbsoluteTolerance>1.0e-5</AbsoluteTolerance> |
|
|
|
<RelativeTolerance>1.0e-5</RelativeTolerance> |
|
|
|
<AlgebraicAbsoluteTolerance>1.0e-5</AlgebraicAbsoluteTolerance> |
|
|
|
<AlgebraicRelativeTolerance>1.0e-5</AlgebraicRelativeTolerance> |
|
|
|
<UseInitialStepSize>false</UseInitialStepSize> |
|
|
|
<InitialStepSize>0.001</InitialStepSize> |
|
|
|
<UseMaximumStepSize>false</UseMaximumStepSize> |
|
|
|
<MaximumStepSize>1.0</MaximumStepSize> |
|
|
|
</IntegrationMethod> |
|
|
|
<SelectedIntegrationMethod>8</SelectedIntegrationMethod> |
|
|
|
</IntegrationMethods> |
|
|
|
</RunSpecs> |
|
|
|
<MultipleRun> |
|
|
|
<NrSteps>10</NrSteps> |
|
|
|
<CopyFromStates>false</CopyFromStates> |
|
|
|
<JoinParameterVariation>true</JoinParameterVariation> |
|
|
|
<ClearAfterRun>true</ClearAfterRun> |
|
|
|
<RedrawAfterRun>false</RedrawAfterRun> |
|
|
|
<DrawDuringSimulation>true</DrawDuringSimulation> |
|
|
|
<ActionBeforeOptimization>0</ActionBeforeOptimization> |
|
|
|
<CompareValue>0.0</CompareValue> |
|
|
|
<UseCompareValue>true</UseCompareValue> |
|
|
|
<MultipleRunType>MultipleRun</MultipleRunType> |
|
|
|
<Minimize>true</Minimize> |
|
|
|
<OptimizationVariable></OptimizationVariable> |
|
|
|
<ResulVarUsage>UseEndValue</ResulVarUsage> |
|
|
|
<Tolerance>0.001</Tolerance> |
|
|
|
<OptimizationMethod>BroydonFletcherGoldfarbShanno</OptimizationMethod> |
|
|
|
<MultipleRunVariables> |
|
|
|
</MultipleRunVariables> |
|
|
|
</MultipleRun> |
|
|
|
<ExportData> |
|
|
|
<WriteAsText>true</WriteAsText> |
|
|
|
<ReadAsText>true</ReadAsText> |
|
|
|
<WriteHeader>true</WriteHeader> |
|
|
|
<ReadHeader>true</ReadHeader> |
|
|
|
<ReadFilename></ReadFilename> |
|
|
|
<WriteFilename></WriteFilename> |
|
|
|
<DoWrite>false</DoWrite> |
|
|
|
<ExportVariables> |
|
|
|
<ExportVariable> |
|
|
|
<VariableName>time</VariableName> |
|
|
|
</ExportVariable> |
|
|
|
</ExportVariables> |
|
|
|
<ImportVariables> |
|
|
|
</ImportVariables> |
|
|
|
</ExportData> |
|
|
|
<BreakPoints> |
|
|
|
</BreakPoints> |
|
|
|
</ExpData> |
|
|
|
</Experiment> |
|
|
|
</Experiments> |
|
|
|
</Document> |