| @@ -8,7 +8,7 @@ | |||||
| <IsMainModel>0</IsMainModel> | <IsMainModel>0</IsMainModel> | ||||
| <KeepParameterValues>False</KeepParameterValues> | <KeepParameterValues>False</KeepParameterValues> | ||||
| <LibraryPath>C:\users\wouter\My Documents\studie\ma\mahd\implementation\SCARA\03_motor\MR_dynamics2.emx</LibraryPath> | <LibraryPath>C:\users\wouter\My Documents\studie\ma\mahd\implementation\SCARA\03_motor\MR_dynamics2.emx</LibraryPath> | ||||
| <TimeStamp>2020-7-17 15:47:18</TimeStamp> | |||||
| <TimeStamp>2020-7-19 14:01:30</TimeStamp> | |||||
| </Description> | </Description> | ||||
| </Information>'; | </Information>'; | ||||
| type Mainmodel | type Mainmodel | ||||
| @@ -2165,6 +2165,324 @@ Integrate\init = InitialPos; | |||||
| uTbai\Rconstraint = Rconstraint; | uTbai\Rconstraint = Rconstraint; | ||||
| uTbai\Cconstraint = Cconstraint; | uTbai\Cconstraint = Cconstraint; | ||||
| parameterrelations_end; | |||||
| figures | |||||
| text 'b = next link (body) | |||||
| a = previous link (body) | |||||
| i = Frame fixed in previous body, fixed in joint | |||||
| j = Frame fixed in next body, fixed in joint | |||||
| ' 680 488 color 0; | |||||
| implementation_end; | |||||
| Joint2 896.1 686 | |||||
| description '<Information> | |||||
| <Description> | |||||
| <Version>4.8</Version> | |||||
| <IsMainModel>1</IsMainModel> | |||||
| <KeepParameterValues>False</KeepParameterValues> | |||||
| <AllowLibraryUpdate>True</AllowLibraryUpdate> | |||||
| <LibraryPath>Bond Graph\MR\joint-v2.emx</LibraryPath> | |||||
| <TimeStamp>2020-7-17 14:55:32</TimeStamp> | |||||
| </Description> | |||||
| </Information>'; | |||||
| type 'Submodel-rotz' | |||||
| ports | |||||
| power out p [6,1]; | |||||
| power in p1; | |||||
| power in p2 [6,1]; | |||||
| signal in Hin [4,4]; | |||||
| signal out Hout [4,4]; | |||||
| signal out q; | |||||
| end; | |||||
| icon bg bottom | |||||
| figures | |||||
| rectangle 864.2 648 928 724 color 0 fill 14745599; | |||||
| text 'Joint' 896 680 color 0; | |||||
| terminals | |||||
| p 864 664 fixed; | |||||
| p1 896 648 fixed; | |||||
| p2 928 664 fixed; | |||||
| Hin 864 712 fixed; | |||||
| Hout 928 712 fixed; | |||||
| end; | |||||
| implementation bg | |||||
| submodels | |||||
| AdHji 424 424 | |||||
| description '<Description> | |||||
| <Version>4.0</Version> | |||||
| <IsMainModel>1</IsMainModel> | |||||
| <KeepParameterValues>False</KeepParameterValues> | |||||
| <LibraryPath>Bond Graph\MTF.emx</LibraryPath> | |||||
| <TimeStamp>2007-9-25 12:3:3</TimeStamp> | |||||
| <AllowLibraryUpdate>True</AllowLibraryUpdate> | |||||
| </Description>'; | |||||
| type MTF | |||||
| ports | |||||
| power out p1 [6,1]; | |||||
| power in p2 [6,1]; | |||||
| signal in H [4,4]; | |||||
| restrictions | |||||
| causality constraint not_equal p1 p2; | |||||
| end; | |||||
| icon bg bottom | |||||
| figures | |||||
| text 'MTF' 424 424 color 0 18 bold; | |||||
| end; | |||||
| implementation eq | |||||
| equations | |||||
| p2.e = transpose(Adjoint(H)) * p1.e; | |||||
| p1.f = Adjoint(H) * p2.f;implementation_end; | |||||
| Integrate 320 176 | |||||
| description '<Description> | |||||
| <Version>4.0</Version> | |||||
| <IsMainModel>1</IsMainModel> | |||||
| <KeepParameterValues>False</KeepParameterValues> | |||||
| <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath> | |||||
| <TimeStamp>2007-9-26 12:3:23</TimeStamp> | |||||
| <AllowLibraryUpdate>True</AllowLibraryUpdate> | |||||
| </Description>'; | |||||
| type Integrate | |||||
| ports | |||||
| signal in input; | |||||
| signal out output [4,4]; | |||||
| signal out q; | |||||
| parameters | |||||
| real init = -2.9496; | |||||
| end; | |||||
| icon bg | |||||
| figures | |||||
| rectangle 304 160 336 192 color 0 fill 15132390; | |||||
| text 'ò' 320 173.3 color 16711680 'SymbolProp BT' 21 symbol; | |||||
| end; | |||||
| implementation eq | |||||
| parameters | |||||
| real global joint; | |||||
| variables | |||||
| real R[3,3]; | |||||
| real p[3]; | |||||
| real qa[6]; | |||||
| real temp [4,4]; | |||||
| initialequations | |||||
| qa = 0; | |||||
| equations | |||||
| q = -int(input,init); | |||||
| qa[joint] = q; | |||||
| R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',qa); | |||||
| output = homogeneous(R,qa[4:6]);implementation_end; | |||||
| MatrixMul 320 576 | |||||
| description '<Description> | |||||
| <Version>4.0</Version> | |||||
| <IsMainModel>1</IsMainModel> | |||||
| <KeepParameterValues>False</KeepParameterValues> | |||||
| <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath> | |||||
| <TimeStamp>2007-9-26 12:15:12</TimeStamp> | |||||
| <AllowLibraryUpdate>True</AllowLibraryUpdate> | |||||
| </Description>'; | |||||
| type Gain | |||||
| ports | |||||
| signal in input1 [4,4]; | |||||
| signal out output [4,4]; | |||||
| signal in input2 [4,4]; | |||||
| end; | |||||
| icon bg bottom | |||||
| figures | |||||
| rectangle 304.1 560 335.9 592 color 0 fill 15132390; | |||||
| text 'X' 320 576 color 16711680 16 bold; | |||||
| end; | |||||
| implementation eq | |||||
| equations | |||||
| output = input2*input1; implementation_end; | |||||
| plug p1 240 40; | |||||
| plug p2 496 424; | |||||
| plug Hin 112 576; | |||||
| plug Hout 504 576; | |||||
| plug q 448 176; | |||||
| plug p 112 424; | |||||
| OneJunction2 240 176 | |||||
| description '<Information> | |||||
| <Description> | |||||
| <Version>4.2</Version> | |||||
| <IsMainModel>1</IsMainModel> | |||||
| <KeepParameterValues>False</KeepParameterValues> | |||||
| <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath> | |||||
| <TimeStamp>2011-11-29 15:50:53</TimeStamp> | |||||
| </Description> | |||||
| </Information>'; | |||||
| knot FlowSensor | |||||
| ports | |||||
| mechanical knot in p1 [1]; | |||||
| power knot out p2 [1]; | |||||
| signal knot out flow [1]; | |||||
| restrictions | |||||
| causality constraint not_equal p1 p2; | |||||
| end; | |||||
| icon bg ellipse | |||||
| figures | |||||
| ellipse 233.1 168.8 246.9 183.1 color 0 fill 16777215; | |||||
| text 'f' 240 175.2 color 0; | |||||
| end; | |||||
| implementation eq | |||||
| equations | |||||
| p2.f = p1.f; | |||||
| p1.e = p2.e; | |||||
| flow = p1.f; | |||||
| implementation_end; | |||||
| Splitter2 320 312 | |||||
| description '<Description><Version>4.0</Version> | |||||
| <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath> | |||||
| <TimeStamp>2008-01-17 11:28:29</TimeStamp> | |||||
| <IsMainModel>1</IsMainModel> | |||||
| <KeepParameterValues>False</KeepParameterValues> | |||||
| </Description>'; | |||||
| knot Splitter | |||||
| ports | |||||
| signal knot duplicatable out output [4,4]; | |||||
| signal knot in input [4,4]; | |||||
| end; | |||||
| icon bg ellipse | |||||
| figures | |||||
| ellipse 316.8 308.8 323.2 315.2 color -1 fill 0; | |||||
| ellipse 315.7 307.7 324.3 316.3 color -1; | |||||
| terminals | |||||
| input 320 312 fixed; | |||||
| end; | |||||
| implementation eq | |||||
| equations | |||||
| collect (output) = input; | |||||
| implementation_end; | |||||
| Submodel1 240 312 | |||||
| description '<Description><Version>4.0</Version> | |||||
| <LibraryPath>Template\Submodel-Equation.emx</LibraryPath> | |||||
| <IsMainModel>1</IsMainModel> | |||||
| <KeepParameterValues>False</KeepParameterValues> | |||||
| <TimeStamp>2007-11-1 22:32:1</TimeStamp> | |||||
| <AllowLibraryUpdate>False</AllowLibraryUpdate> | |||||
| </Description>'; | |||||
| type 'Submodel-Equation' | |||||
| ports | |||||
| power in p1 [6,1]; | |||||
| signal out H [4,4]; | |||||
| power out p2 [6,1]; | |||||
| end; | |||||
| implementation eq | |||||
| variables | |||||
| real q[4]; //quaternions | |||||
| real W[3,4]; //Quaternion Rates Matrix | |||||
| real R[3,3]; //Rotation Matrix | |||||
| equations | |||||
| q = int(transpose(W) * p1.f[1:3] ./ 2); | |||||
| W = [-q[2], q[1], -q[4], q[3]; | |||||
| -q[3], q[4], q[1], -q[2]; | |||||
| -q[4], -q[3], q[2], q[1]]; | |||||
| R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]); | |||||
| 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]); | |||||
| 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];implementation_end; | |||||
| uTbai 240 248 | |||||
| description '<Description> | |||||
| <Version>4.0</Version> | |||||
| <IsMainModel>1</IsMainModel> | |||||
| <KeepParameterValues>False</KeepParameterValues> | |||||
| <LibraryPath>Bond Graph\TF.emx</LibraryPath> | |||||
| <TimeStamp>2007-9-25 12:4:2</TimeStamp> | |||||
| <AllowLibraryUpdate>True</AllowLibraryUpdate> | |||||
| </Description>'; | |||||
| type TF | |||||
| ports | |||||
| power in p1; | |||||
| power out p2 [6,1]; | |||||
| restrictions | |||||
| causality constraint not_equal p1 p2; | |||||
| causality fixed in p1; | |||||
| causality fixed out p2; | |||||
| parameters | |||||
| real Cconstraint = 1.0e-4; | |||||
| real Rconstraint = 1000.0; | |||||
| end; | |||||
| icon bg left | |||||
| figures | |||||
| text 'TF' 240 248 color 0 18 bold; | |||||
| end; | |||||
| implementation eq | |||||
| parameters | |||||
| real global joint; | |||||
| variables | |||||
| real i; | |||||
| real state[6]; | |||||
| equations | |||||
| /*p2.e[1] = (Rconstraint*-p2.f[1] + int(-p2.f[1])/Cconstraint); | |||||
| p2.e[2] = (Rconstraint*-p2.f[2] + int(-p2.f[2])/Cconstraint); | |||||
| p2.e[3] = p1.e; | |||||
| p2.e[4] = (Rconstraint*-p2.f[4] + int(-p2.f[4])/Cconstraint); | |||||
| p2.e[5] = (Rconstraint*-p2.f[5] + int(-p2.f[5])/Cconstraint); | |||||
| p2.e[6] = (Rconstraint*-p2.f[6] + int(-p2.f[6])/Cconstraint); | |||||
| p1.f = p2.f[3];*/ | |||||
| state = int(p2.f); | |||||
| for i = 1 to 6 do | |||||
| if i == joint then | |||||
| p1.f = p2.f[i]; | |||||
| p2.e[i] = p1.e; | |||||
| else | |||||
| p2.e[i] = (Rconstraint*-p2.f[i] + -state[i]/Cconstraint); | |||||
| end; | |||||
| end; | |||||
| implementation_end; | |||||
| Wbai 240 424 | |||||
| description '<Description> | |||||
| <Version>4.0</Version> | |||||
| <IsMainModel>1</IsMainModel> | |||||
| <KeepParameterValues>False</KeepParameterValues> | |||||
| <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath> | |||||
| <TimeStamp>2007-9-27 9:51:43</TimeStamp> | |||||
| <AllowLibraryUpdate>True</AllowLibraryUpdate> | |||||
| </Description>'; | |||||
| knot ZeroJunction | |||||
| ports | |||||
| power knot duplicatable none p [6,1]; | |||||
| signal knot out effort [6,1]; | |||||
| restrictions | |||||
| causality constraint one_in p; | |||||
| end; | |||||
| icon bg bottom | |||||
| figures | |||||
| text '0' 240 424 color 0 18 bold; | |||||
| end; | |||||
| implementation eq | |||||
| equations | |||||
| sum (direct (p.f)) = 0; | |||||
| equal (collect (p.e)); | |||||
| effort = first (p.e); | |||||
| implementation_end; | |||||
| end; | |||||
| connections | |||||
| Hin -> MatrixMul\input2; | |||||
| Integrate\output -> Splitter2\input; | |||||
| Integrate\q -> q; | |||||
| MatrixMul\output -> Hout; | |||||
| OneJunction2\flow -> Integrate\input; | |||||
| OneJunction2\p1 <= p1; | |||||
| OneJunction2\p2 => uTbai\p1; | |||||
| p <= Wbai\p; | |||||
| p2 => AdHji\p2; | |||||
| Splitter2\output -> AdHji\H 424 312; | |||||
| Splitter2\output -> MatrixMul\input1; | |||||
| Submodel1\p2 => Wbai\p; | |||||
| uTbai\p2 => Submodel1\p1; | |||||
| Wbai\p <= AdHji\p1; | |||||
| end; | |||||
| parameterrelations | |||||
| EndstopMin\Rendstop = Rendstop; | |||||
| EndstopMin\Cendstop = Cendstop; | |||||
| EndstopMin\InitialPos = InitialPos; | |||||
| EndstopMin\EndstopPos = MinEndstopPos; | |||||
| EndstopMax\Rendstop = Rendstop; | |||||
| EndstopMax\Cendstop = Cendstop; | |||||
| EndstopMax\InitialPos = InitialPos; | |||||
| EndstopMax\EndstopPos = MaxEndstopPos; | |||||
| Rjoint\Rjoint= Rjoint; | |||||
| Integrate\init = InitialPos; | |||||
| uTbai\Rconstraint = Rconstraint; | |||||
| uTbai\Cconstraint = Cconstraint; | |||||
| parameterrelations_end; | parameterrelations_end; | ||||
| figures | figures | ||||
| text 'b = next link (body) | text 'b = next link (body) | ||||
| @@ -4206,9 +4524,21 @@ implementation_end; | |||||
| <ModelProperty section="tools\graph editor" entry="debugMode" value="0"/> | <ModelProperty section="tools\graph editor" entry="debugMode" value="0"/> | ||||
| </ModelProperties> | </ModelProperties> | ||||
| <Variables> | <Variables> | ||||
| <Constants> | |||||
| </Constants> | |||||
| <Parameters> | <Parameters> | ||||
| <Variable> | |||||
| <Name>I</Name> | |||||
| <Rows>3</Rows> | |||||
| <Columns>1</Columns> | |||||
| <Value>0 0 0</Value> | |||||
| </Variable> | |||||
| <Variable> | |||||
| <Name>joint</Name> | |||||
| <Value>0</Value> | |||||
| </Variable> | |||||
| <Variable> | |||||
| <Name>m</Name> | |||||
| <Value>0</Value> | |||||
| </Variable> | |||||
| </Parameters> | </Parameters> | ||||
| <Initials> | <Initials> | ||||
| <Variable> | <Variable> | ||||
| @@ -0,0 +1,53 @@ | |||||
| #Motor Physics. | |||||
| This is a small iteration from the last level of detail. | |||||
| The following are some motor physics. | |||||
| So I researched some different types of motors. | |||||
| For this application AC-drives are not suitable, they have a fixed speed or are very expensive. | |||||
| We are then left with DC-motors, stepper and servo. | |||||
| There are more types but these three are the most common in use. | |||||
| ### DC-motor | |||||
| This is probably the most simple motor. | |||||
| Feeding a current trough the motor gives a torque at the mechanical axis. | |||||
| These motors rotate at a high velocity and often require a mechanical reduction. | |||||
| They are cheap though. | |||||
| The problem is in the control. | |||||
| A constant current is required to compensate for any gravitational pull on the load. | |||||
| Furthermore, there is no feedback on the system. Therefore, we need an angle sensor. | |||||
| Adding to the complexity. | |||||
| Another choice we have to make in the type of motor is the brushed or brushless. | |||||
| But both options still require some elaborate control. | |||||
| ### Stepper | |||||
| A steppermotor is a brushless DC motor that is split in a number of multiple equal steps. | |||||
| Where a brushless DC would have 6 steps. A stepper motor can have 60 steps. or 120. | |||||
| By applying voltage to the next step we can move the rotor a single step. | |||||
| They run best up to 1200 RPM. | |||||
| The torque they can deliver is dependent on the current speed. | |||||
| The stall torque can be around the 0.2 Nm. | |||||
| But that drops off at higher velocities. | |||||
| [Stepper motor on Wikipedia](https://en.wikipedia.org/wiki/Stepper_motor) | |||||
| ### Servo | |||||
| A servomotor is especially a motor with a build in controller. | |||||
| Often the motor itself is a simple DC-motor with permanent magnets. | |||||
| And then there is a angle sensor and a small feedback controller to control the position. | |||||
| The angle is communicated by PWM signal. And the servo will do the rest of the work. | |||||
| Although the servo is simpler to control, it is often more expensive to get a motor that is similar to the stepper. | |||||
| ## Decission. | |||||
| From our earlier model I concluded that a velocity of 25 rad/s and a torque of 0.01 Nm is required. | |||||
| This should be doable with a stepper motor. | |||||
| Furthermore, the fixed position is a very nice option. | |||||
| For now I will go with the Steppermotor. They are more affordable and above all have fairly decent datasheets. | |||||
| ## Current model state | |||||
| This model does not yet implement a steppermotor implementation. | |||||
| But it does implement simple DC motor. | |||||
| For the next step it is important to have some controller that is better suited. | |||||
| @@ -8,7 +8,7 @@ | |||||
| <IsMainModel>0</IsMainModel> | <IsMainModel>0</IsMainModel> | ||||
| <KeepParameterValues>False</KeepParameterValues> | <KeepParameterValues>False</KeepParameterValues> | ||||
| <LibraryPath>C:\users\wouter\My Documents\studie\ma\mahd\implementation\SCARA\03_motor\motor_physics.emx</LibraryPath> | <LibraryPath>C:\users\wouter\My Documents\studie\ma\mahd\implementation\SCARA\03_motor\motor_physics.emx</LibraryPath> | ||||
| <TimeStamp>2020-7-17 18:39:03</TimeStamp> | |||||
| <TimeStamp>2020-7-18 12:37:59</TimeStamp> | |||||
| <AllowLibraryUpdate>True</AllowLibraryUpdate> | <AllowLibraryUpdate>True</AllowLibraryUpdate> | ||||
| </Description> | </Description> | ||||
| <Attributes> | <Attributes> | ||||
| @@ -1617,7 +1617,7 @@ equations | |||||
| p1.e = p2.e; | p1.e = p2.e; | ||||
| flow = p1.f; | flow = p1.f; | ||||
| implementation_end; | implementation_end; | ||||
| uTbai 240 328 | |||||
| uTbai 240 312 | |||||
| description '<Description> | description '<Description> | ||||
| <Version>4.0</Version> | <Version>4.0</Version> | ||||
| <IsMainModel>1</IsMainModel> | <IsMainModel>1</IsMainModel> | ||||
| @@ -1640,7 +1640,7 @@ implementation_end; | |||||
| end; | end; | ||||
| icon bg left | icon bg left | ||||
| figures | figures | ||||
| text 'TF' 240 328 color 0 18 bold; | |||||
| text 'TF' 240 312 color 0 18 bold; | |||||
| end; | end; | ||||
| implementation eq | implementation eq | ||||
| parameters | parameters | ||||
| @@ -5019,6 +5019,18 @@ implementation_end; | |||||
| <Value>0</Value> | <Value>0</Value> | ||||
| </Variable> | </Variable> | ||||
| </Initials> | </Initials> | ||||
| <FavoriteVariables> | |||||
| <Variable> | |||||
| <Name>Joint1\JointType\uTbai\state</Name> | |||||
| <Rows>6</Rows> | |||||
| <Columns>1</Columns> | |||||
| <RowIndex>0</RowIndex> | |||||
| <ColumnIndex>0</ColumnIndex> | |||||
| </Variable> | |||||
| <Variable> | |||||
| <Name>Joint1\JointType\Integrate\q</Name> | |||||
| </Variable> | |||||
| </FavoriteVariables> | |||||
| </Variables> | </Variables> | ||||
| <PlotSpecs> | <PlotSpecs> | ||||
| <VarNames> | <VarNames> | ||||
| @@ -5045,10 +5057,6 @@ implementation_end; | |||||
| <VarName>PlusMinus3\output</VarName> | <VarName>PlusMinus3\output</VarName> | ||||
| <VarName>Integrate\output[2]</VarName> | <VarName>Integrate\output[2]</VarName> | ||||
| <VarName>Integrate\output[1]</VarName> | <VarName>Integrate\output[1]</VarName> | ||||
| <VarName>MSe1\effort</VarName> | |||||
| <VarName>MSe2\effort</VarName> | |||||
| <VarName>MSe2\flow</VarName> | |||||
| <VarName>MSe1\flow</VarName> | |||||
| <VarName>new_joint1\position[1]</VarName> | <VarName>new_joint1\position[1]</VarName> | ||||
| <VarName>new_joint1\position[2]</VarName> | <VarName>new_joint1\position[2]</VarName> | ||||
| <VarName>new_joint1\position[3]</VarName> | <VarName>new_joint1\position[3]</VarName> | ||||
| @@ -5071,6 +5079,10 @@ implementation_end; | |||||
| <VarName>PID3\error</VarName> | <VarName>PID3\error</VarName> | ||||
| <VarName>new_joint3\position[3]</VarName> | <VarName>new_joint3\position[3]</VarName> | ||||
| <VarName>new_joint3\position[2]</VarName> | <VarName>new_joint3\position[2]</VarName> | ||||
| <VarName>MSe1\effort</VarName> | |||||
| <VarName>MSe2\effort</VarName> | |||||
| <VarName>MSe2\flow</VarName> | |||||
| <VarName>MSe1\flow</VarName> | |||||
| </VarNames> | </VarNames> | ||||
| <Plots> | <Plots> | ||||
| <Plot> | <Plot> | ||||
| @@ -5144,7 +5156,7 @@ implementation_end; | |||||
| <XAxes> | <XAxes> | ||||
| <Axis> | <Axis> | ||||
| <Minimum>0.0</Minimum> | <Minimum>0.0</Minimum> | ||||
| <Maximum>2.0512133912317303</Maximum> | |||||
| <Maximum>0.10311339559032781</Maximum> | |||||
| <Linear>true</Linear> | <Linear>true</Linear> | ||||
| <Scaling>3</Scaling> | <Scaling>3</Scaling> | ||||
| <Label>time</Label> | <Label>time</Label> | ||||
| @@ -5341,7 +5353,7 @@ implementation_end; | |||||
| <XAxes> | <XAxes> | ||||
| <Axis> | <Axis> | ||||
| <Minimum>0.0</Minimum> | <Minimum>0.0</Minimum> | ||||
| <Maximum>2.0512133912317303</Maximum> | |||||
| <Maximum>0.10311339559032781</Maximum> | |||||
| <Linear>true</Linear> | <Linear>true</Linear> | ||||
| <Scaling>3</Scaling> | <Scaling>3</Scaling> | ||||
| <Label>time</Label> | <Label>time</Label> | ||||
| @@ -6033,13 +6045,13 @@ implementation_end; | |||||
| <Orientation> | <Orientation> | ||||
| <ZAxis> | <ZAxis> | ||||
| <X> | <X> | ||||
| <Value>-0.646203434499504</Value> | |||||
| <Value>-0.646203434499502</Value> | |||||
| </X> | </X> | ||||
| <Y> | <Y> | ||||
| <Value>-0.628938588548313</Value> | |||||
| <Value>-0.628938588548314</Value> | |||||
| </Y> | </Y> | ||||
| <Z> | <Z> | ||||
| <Value>-0.432270023337152</Value> | |||||
| <Value>-0.432270023337153</Value> | |||||
| </Z> | </Z> | ||||
| </ZAxis> | </ZAxis> | ||||
| <YAxis> | <YAxis> | ||||
| @@ -6047,7 +6059,7 @@ implementation_end; | |||||
| <Value>-0.309771185077498</Value> | <Value>-0.309771185077498</Value> | ||||
| </X> | </X> | ||||
| <Y> | <Y> | ||||
| <Value>-0.301494918649692</Value> | |||||
| <Value>-0.301494918649693</Value> | |||||
| </Y> | </Y> | ||||
| <Z> | <Z> | ||||
| <Value>0.901744213690389</Value> | <Value>0.901744213690389</Value> | ||||
| @@ -6377,18 +6389,18 @@ implementation_end; | |||||
| </X> | </X> | ||||
| <Y> | <Y> | ||||
| <VariableName>Submodel3\body_position[2]</VariableName> | <VariableName>Submodel3\body_position[2]</VariableName> | ||||
| <Value>-0.01915326984592884</Value> | |||||
| <Value>-0.009158353632383561</Value> | |||||
| </Y> | </Y> | ||||
| <Z> | <Z> | ||||
| <VariableName>Submodel3\body_position[3]</VariableName> | <VariableName>Submodel3\body_position[3]</VariableName> | ||||
| <Value>0.02623393923392464</Value> | |||||
| <Value>0.03118053280824738</Value> | |||||
| </Z> | </Z> | ||||
| </Position> | </Position> | ||||
| <Orientation> | <Orientation> | ||||
| <Angles> | <Angles> | ||||
| <X> | <X> | ||||
| <VariableName>Submodel3\body_angle[1]</VariableName> | <VariableName>Submodel3\body_angle[1]</VariableName> | ||||
| <Value>2.2010448489940284</Value> | |||||
| <Value>1.8564889888314844</Value> | |||||
| </X> | </X> | ||||
| <Y> | <Y> | ||||
| <VariableName>Submodel3\body_angle[2]</VariableName> | <VariableName>Submodel3\body_angle[2]</VariableName> | ||||
| @@ -6482,18 +6494,18 @@ implementation_end; | |||||
| </X> | </X> | ||||
| <Y> | <Y> | ||||
| <VariableName>Submodel4\body_position[2]</VariableName> | <VariableName>Submodel4\body_position[2]</VariableName> | ||||
| <Value>-0.013315183118204434</Value> | |||||
| <Value>0.0013903741642251554</Value> | |||||
| </Y> | </Y> | ||||
| <Z> | <Z> | ||||
| <VariableName>Submodel4\body_position[3]</VariableName> | <VariableName>Submodel4\body_position[3]</VariableName> | ||||
| <Value>0.05268450409359094</Value> | |||||
| <Value>0.07774345829579168</Value> | |||||
| </Z> | </Z> | ||||
| </Position> | </Position> | ||||
| <Orientation> | <Orientation> | ||||
| <Angles> | <Angles> | ||||
| <X> | <X> | ||||
| <VariableName>Submodel4\body_angle[1]</VariableName> | <VariableName>Submodel4\body_angle[1]</VariableName> | ||||
| <Value>0.008626014952555631</Value> | |||||
| <Value>0.66277054304191</Value> | |||||
| </X> | </X> | ||||
| <Y> | <Y> | ||||
| <VariableName>Submodel4\body_angle[2]</VariableName> | <VariableName>Submodel4\body_angle[2]</VariableName> | ||||
| @@ -6620,11 +6632,11 @@ implementation_end; | |||||
| </X> | </X> | ||||
| <Y> | <Y> | ||||
| <VariableName>new_joint1\position[2]</VariableName> | <VariableName>new_joint1\position[2]</VariableName> | ||||
| <Value>-0.01914237844052437</Value> | |||||
| <Value>-0.009202768540009312</Value> | |||||
| </Y> | </Y> | ||||
| <Z> | <Z> | ||||
| <VariableName>new_joint1\position[3]</VariableName> | <VariableName>new_joint1\position[3]</VariableName> | ||||
| <Value>0.026264412189115294</Value> | |||||
| <Value>0.031169842014341604</Value> | |||||
| </Z> | </Z> | ||||
| </Position> | </Position> | ||||
| <Orientation> | <Orientation> | ||||
| @@ -6635,11 +6647,11 @@ implementation_end; | |||||
| </X> | </X> | ||||
| <Y> | <Y> | ||||
| <VariableName>new_joint1\R[2,3]</VariableName> | <VariableName>new_joint1\R[2,3]</VariableName> | ||||
| <Value>-0.8081357596650859</Value> | |||||
| <Value>-0.9590720619797416</Value> | |||||
| </Y> | </Y> | ||||
| <Z> | <Z> | ||||
| <VariableName>new_joint1\R[3,3]</VariableName> | <VariableName>new_joint1\R[3,3]</VariableName> | ||||
| <Value>-0.588996259708442</Value> | |||||
| <Value>-0.2831621089233634</Value> | |||||
| </Z> | </Z> | ||||
| </ZAxis> | </ZAxis> | ||||
| <YAxis> | <YAxis> | ||||
| @@ -6649,11 +6661,11 @@ implementation_end; | |||||
| </X> | </X> | ||||
| <Y> | <Y> | ||||
| <VariableName>new_joint1\R[2,2]</VariableName> | <VariableName>new_joint1\R[2,2]</VariableName> | ||||
| <Value>-0.588996259708442</Value> | |||||
| <Value>-0.2831621089233634</Value> | |||||
| </Y> | </Y> | ||||
| <Z> | <Z> | ||||
| <VariableName>new_joint1\R[3,2]</VariableName> | <VariableName>new_joint1\R[3,2]</VariableName> | ||||
| <Value>0.8081357596650859</Value> | |||||
| <Value>0.9590720619797416</Value> | |||||
| </Z> | </Z> | ||||
| </YAxis> | </YAxis> | ||||
| <OrientationType>Matrix</OrientationType> | <OrientationType>Matrix</OrientationType> | ||||
| @@ -6739,11 +6751,11 @@ implementation_end; | |||||
| </X> | </X> | ||||
| <Y> | <Y> | ||||
| <VariableName>new_joint2\position[2]</VariableName> | <VariableName>new_joint2\position[2]</VariableName> | ||||
| <Value>-0.013304570144791548</Value> | |||||
| <Value>0.0027085042716763867</Value> | |||||
| </Y> | </Y> | ||||
| <Z> | <Z> | ||||
| <VariableName>new_joint2\position[3]</VariableName> | <VariableName>new_joint2\position[3]</VariableName> | ||||
| <Value>0.0515337009578849</Value> | |||||
| <Value>0.07572614202917434</Value> | |||||
| </Z> | </Z> | ||||
| </Position> | </Position> | ||||
| <Orientation> | <Orientation> | ||||
| @@ -6754,11 +6766,11 @@ implementation_end; | |||||
| </X> | </X> | ||||
| <Y> | <Y> | ||||
| <VariableName>new_joint2\R[2,3]</VariableName> | <VariableName>new_joint2\R[2,3]</VariableName> | ||||
| <Value>0.03980493681382746</Value> | |||||
| <Value>-0.5354583200196454</Value> | |||||
| </Y> | </Y> | ||||
| <Z> | <Z> | ||||
| <VariableName>new_joint2\R[3,3]</VariableName> | <VariableName>new_joint2\R[3,3]</VariableName> | ||||
| <Value>0.9992074694502875</Value> | |||||
| <Value>0.8445616540678004</Value> | |||||
| </Z> | </Z> | ||||
| </ZAxis> | </ZAxis> | ||||
| <YAxis> | <YAxis> | ||||
| @@ -6768,11 +6780,11 @@ implementation_end; | |||||
| </X> | </X> | ||||
| <Y> | <Y> | ||||
| <VariableName>new_joint2\R[2,2]</VariableName> | <VariableName>new_joint2\R[2,2]</VariableName> | ||||
| <Value>0.9992074694502875</Value> | |||||
| <Value>0.8445616540678004</Value> | |||||
| </Y> | </Y> | ||||
| <Z> | <Z> | ||||
| <VariableName>new_joint2\R[3,2]</VariableName> | <VariableName>new_joint2\R[3,2]</VariableName> | ||||
| <Value>-0.03980493681382746</Value> | |||||
| <Value>0.5354583200196454</Value> | |||||
| </Z> | </Z> | ||||
| </YAxis> | </YAxis> | ||||
| <OrientationType>Matrix</OrientationType> | <OrientationType>Matrix</OrientationType> | ||||
| @@ -6864,7 +6876,7 @@ implementation_end; | |||||
| <SharedZAxis>false</SharedZAxis> | <SharedZAxis>false</SharedZAxis> | ||||
| <XAxes> | <XAxes> | ||||
| <Axis> | <Axis> | ||||
| <Minimum>0.008778601272032657</Minimum> | |||||
| <Minimum>0.021097455593261694</Minimum> | |||||
| <Maximum>0.115</Maximum> | <Maximum>0.115</Maximum> | ||||
| <Linear>true</Linear> | <Linear>true</Linear> | ||||
| <Scaling>3</Scaling> | <Scaling>3</Scaling> | ||||
| @@ -7006,7 +7018,7 @@ implementation_end; | |||||
| <XAxes> | <XAxes> | ||||
| <Axis> | <Axis> | ||||
| <Minimum>0.0</Minimum> | <Minimum>0.0</Minimum> | ||||
| <Maximum>2.0512133912317303</Maximum> | |||||
| <Maximum>0.10311339559032781</Maximum> | |||||
| <Linear>true</Linear> | <Linear>true</Linear> | ||||
| <Scaling>3</Scaling> | <Scaling>3</Scaling> | ||||
| <Label>time</Label> | <Label>time</Label> | ||||
| @@ -7092,7 +7104,7 @@ implementation_end; | |||||
| </PlotPanel> | </PlotPanel> | ||||
| <PlotPanel> | <PlotPanel> | ||||
| <PlotPanelId>2</PlotPanelId> | <PlotPanelId>2</PlotPanelId> | ||||
| <PlotPanelVisible>true</PlotPanelVisible> | |||||
| <PlotPanelVisible>false</PlotPanelVisible> | |||||
| <Name>Window 2</Name> | <Name>Window 2</Name> | ||||
| <Tiling>0</Tiling> | <Tiling>0</Tiling> | ||||
| <PlotIds> | <PlotIds> | ||||
| @@ -7102,7 +7114,7 @@ implementation_end; | |||||
| </PlotPanel> | </PlotPanel> | ||||
| <PlotPanel> | <PlotPanel> | ||||
| <PlotPanelId>3</PlotPanelId> | <PlotPanelId>3</PlotPanelId> | ||||
| <PlotPanelVisible>true</PlotPanelVisible> | |||||
| <PlotPanelVisible>false</PlotPanelVisible> | |||||
| <Name>Window 3</Name> | <Name>Window 3</Name> | ||||
| <Tiling>0</Tiling> | <Tiling>0</Tiling> | ||||
| <PlotIds> | <PlotIds> | ||||
| @@ -7113,13 +7125,13 @@ implementation_end; | |||||
| </PlotPanels> | </PlotPanels> | ||||
| <WindowRectangles virtualDesktopWidth="5760" virtualDesktopHeight="1080"> | <WindowRectangles virtualDesktopWidth="5760" virtualDesktopHeight="1080"> | ||||
| <WindowRectangle monitor="2" left="1920" top="0" right="3840" bottom="1080" plotpanelid="1"> | <WindowRectangle monitor="2" left="1920" top="0" right="3840" bottom="1080" plotpanelid="1"> | ||||
| -0.00208333 0.00462963 1.00208 1.0037 | |||||
| 0.149479 0.0675926 0.908333 0.847222 | |||||
| </WindowRectangle> | </WindowRectangle> | ||||
| <WindowRectangle monitor="1" left="-1920" top="0" right="0" bottom="1080" plotpanelid="2"> | <WindowRectangle monitor="1" left="-1920" top="0" right="0" bottom="1080" plotpanelid="2"> | ||||
| 0.138021 0.169444 0.777604 0.862963 | 0.138021 0.169444 0.777604 0.862963 | ||||
| </WindowRectangle> | </WindowRectangle> | ||||
| <WindowRectangle monitor="1" left="-1920" top="0" right="0" bottom="1080" plotpanelid="3"> | <WindowRectangle monitor="1" left="-1920" top="0" right="0" bottom="1080" plotpanelid="3"> | ||||
| 0.295833 0.327778 0.692187 0.765741 | |||||
| 0.526042 0.287963 0.922396 0.725926 | |||||
| </WindowRectangle> | </WindowRectangle> | ||||
| </WindowRectangles> | </WindowRectangles> | ||||
| </PlotSpecs> | </PlotSpecs> | ||||