| @@ -8,7 +8,7 @@ | |||
| <IsMainModel>0</IsMainModel> | |||
| <KeepParameterValues>False</KeepParameterValues> | |||
| <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> | |||
| </Information>'; | |||
| type Mainmodel | |||
| @@ -2165,6 +2165,324 @@ Integrate\init = InitialPos; | |||
| uTbai\Rconstraint = Rconstraint; | |||
| 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; | |||
| figures | |||
| text 'b = next link (body) | |||
| @@ -4206,9 +4524,21 @@ implementation_end; | |||
| <ModelProperty section="tools\graph editor" entry="debugMode" value="0"/> | |||
| </ModelProperties> | |||
| <Variables> | |||
| <Constants> | |||
| </Constants> | |||
| <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> | |||
| <Initials> | |||
| <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> | |||
| <KeepParameterValues>False</KeepParameterValues> | |||
| <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> | |||
| </Description> | |||
| <Attributes> | |||
| @@ -1617,7 +1617,7 @@ equations | |||
| p1.e = p2.e; | |||
| flow = p1.f; | |||
| implementation_end; | |||
| uTbai 240 328 | |||
| uTbai 240 312 | |||
| description '<Description> | |||
| <Version>4.0</Version> | |||
| <IsMainModel>1</IsMainModel> | |||
| @@ -1640,7 +1640,7 @@ implementation_end; | |||
| end; | |||
| icon bg left | |||
| figures | |||
| text 'TF' 240 328 color 0 18 bold; | |||
| text 'TF' 240 312 color 0 18 bold; | |||
| end; | |||
| implementation eq | |||
| parameters | |||
| @@ -5019,6 +5019,18 @@ implementation_end; | |||
| <Value>0</Value> | |||
| </Variable> | |||
| </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> | |||
| <PlotSpecs> | |||
| <VarNames> | |||
| @@ -5045,10 +5057,6 @@ implementation_end; | |||
| <VarName>PlusMinus3\output</VarName> | |||
| <VarName>Integrate\output[2]</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[2]</VarName> | |||
| <VarName>new_joint1\position[3]</VarName> | |||
| @@ -5071,6 +5079,10 @@ implementation_end; | |||
| <VarName>PID3\error</VarName> | |||
| <VarName>new_joint3\position[3]</VarName> | |||
| <VarName>new_joint3\position[2]</VarName> | |||
| <VarName>MSe1\effort</VarName> | |||
| <VarName>MSe2\effort</VarName> | |||
| <VarName>MSe2\flow</VarName> | |||
| <VarName>MSe1\flow</VarName> | |||
| </VarNames> | |||
| <Plots> | |||
| <Plot> | |||
| @@ -5144,7 +5156,7 @@ implementation_end; | |||
| <XAxes> | |||
| <Axis> | |||
| <Minimum>0.0</Minimum> | |||
| <Maximum>2.0512133912317303</Maximum> | |||
| <Maximum>0.10311339559032781</Maximum> | |||
| <Linear>true</Linear> | |||
| <Scaling>3</Scaling> | |||
| <Label>time</Label> | |||
| @@ -5341,7 +5353,7 @@ implementation_end; | |||
| <XAxes> | |||
| <Axis> | |||
| <Minimum>0.0</Minimum> | |||
| <Maximum>2.0512133912317303</Maximum> | |||
| <Maximum>0.10311339559032781</Maximum> | |||
| <Linear>true</Linear> | |||
| <Scaling>3</Scaling> | |||
| <Label>time</Label> | |||
| @@ -6033,13 +6045,13 @@ implementation_end; | |||
| <Orientation> | |||
| <ZAxis> | |||
| <X> | |||
| <Value>-0.646203434499504</Value> | |||
| <Value>-0.646203434499502</Value> | |||
| </X> | |||
| <Y> | |||
| <Value>-0.628938588548313</Value> | |||
| <Value>-0.628938588548314</Value> | |||
| </Y> | |||
| <Z> | |||
| <Value>-0.432270023337152</Value> | |||
| <Value>-0.432270023337153</Value> | |||
| </Z> | |||
| </ZAxis> | |||
| <YAxis> | |||
| @@ -6047,7 +6059,7 @@ implementation_end; | |||
| <Value>-0.309771185077498</Value> | |||
| </X> | |||
| <Y> | |||
| <Value>-0.301494918649692</Value> | |||
| <Value>-0.301494918649693</Value> | |||
| </Y> | |||
| <Z> | |||
| <Value>0.901744213690389</Value> | |||
| @@ -6377,18 +6389,18 @@ implementation_end; | |||
| </X> | |||
| <Y> | |||
| <VariableName>Submodel3\body_position[2]</VariableName> | |||
| <Value>-0.01915326984592884</Value> | |||
| <Value>-0.009158353632383561</Value> | |||
| </Y> | |||
| <Z> | |||
| <VariableName>Submodel3\body_position[3]</VariableName> | |||
| <Value>0.02623393923392464</Value> | |||
| <Value>0.03118053280824738</Value> | |||
| </Z> | |||
| </Position> | |||
| <Orientation> | |||
| <Angles> | |||
| <X> | |||
| <VariableName>Submodel3\body_angle[1]</VariableName> | |||
| <Value>2.2010448489940284</Value> | |||
| <Value>1.8564889888314844</Value> | |||
| </X> | |||
| <Y> | |||
| <VariableName>Submodel3\body_angle[2]</VariableName> | |||
| @@ -6482,18 +6494,18 @@ implementation_end; | |||
| </X> | |||
| <Y> | |||
| <VariableName>Submodel4\body_position[2]</VariableName> | |||
| <Value>-0.013315183118204434</Value> | |||
| <Value>0.0013903741642251554</Value> | |||
| </Y> | |||
| <Z> | |||
| <VariableName>Submodel4\body_position[3]</VariableName> | |||
| <Value>0.05268450409359094</Value> | |||
| <Value>0.07774345829579168</Value> | |||
| </Z> | |||
| </Position> | |||
| <Orientation> | |||
| <Angles> | |||
| <X> | |||
| <VariableName>Submodel4\body_angle[1]</VariableName> | |||
| <Value>0.008626014952555631</Value> | |||
| <Value>0.66277054304191</Value> | |||
| </X> | |||
| <Y> | |||
| <VariableName>Submodel4\body_angle[2]</VariableName> | |||
| @@ -6620,11 +6632,11 @@ implementation_end; | |||
| </X> | |||
| <Y> | |||
| <VariableName>new_joint1\position[2]</VariableName> | |||
| <Value>-0.01914237844052437</Value> | |||
| <Value>-0.009202768540009312</Value> | |||
| </Y> | |||
| <Z> | |||
| <VariableName>new_joint1\position[3]</VariableName> | |||
| <Value>0.026264412189115294</Value> | |||
| <Value>0.031169842014341604</Value> | |||
| </Z> | |||
| </Position> | |||
| <Orientation> | |||
| @@ -6635,11 +6647,11 @@ implementation_end; | |||
| </X> | |||
| <Y> | |||
| <VariableName>new_joint1\R[2,3]</VariableName> | |||
| <Value>-0.8081357596650859</Value> | |||
| <Value>-0.9590720619797416</Value> | |||
| </Y> | |||
| <Z> | |||
| <VariableName>new_joint1\R[3,3]</VariableName> | |||
| <Value>-0.588996259708442</Value> | |||
| <Value>-0.2831621089233634</Value> | |||
| </Z> | |||
| </ZAxis> | |||
| <YAxis> | |||
| @@ -6649,11 +6661,11 @@ implementation_end; | |||
| </X> | |||
| <Y> | |||
| <VariableName>new_joint1\R[2,2]</VariableName> | |||
| <Value>-0.588996259708442</Value> | |||
| <Value>-0.2831621089233634</Value> | |||
| </Y> | |||
| <Z> | |||
| <VariableName>new_joint1\R[3,2]</VariableName> | |||
| <Value>0.8081357596650859</Value> | |||
| <Value>0.9590720619797416</Value> | |||
| </Z> | |||
| </YAxis> | |||
| <OrientationType>Matrix</OrientationType> | |||
| @@ -6739,11 +6751,11 @@ implementation_end; | |||
| </X> | |||
| <Y> | |||
| <VariableName>new_joint2\position[2]</VariableName> | |||
| <Value>-0.013304570144791548</Value> | |||
| <Value>0.0027085042716763867</Value> | |||
| </Y> | |||
| <Z> | |||
| <VariableName>new_joint2\position[3]</VariableName> | |||
| <Value>0.0515337009578849</Value> | |||
| <Value>0.07572614202917434</Value> | |||
| </Z> | |||
| </Position> | |||
| <Orientation> | |||
| @@ -6754,11 +6766,11 @@ implementation_end; | |||
| </X> | |||
| <Y> | |||
| <VariableName>new_joint2\R[2,3]</VariableName> | |||
| <Value>0.03980493681382746</Value> | |||
| <Value>-0.5354583200196454</Value> | |||
| </Y> | |||
| <Z> | |||
| <VariableName>new_joint2\R[3,3]</VariableName> | |||
| <Value>0.9992074694502875</Value> | |||
| <Value>0.8445616540678004</Value> | |||
| </Z> | |||
| </ZAxis> | |||
| <YAxis> | |||
| @@ -6768,11 +6780,11 @@ implementation_end; | |||
| </X> | |||
| <Y> | |||
| <VariableName>new_joint2\R[2,2]</VariableName> | |||
| <Value>0.9992074694502875</Value> | |||
| <Value>0.8445616540678004</Value> | |||
| </Y> | |||
| <Z> | |||
| <VariableName>new_joint2\R[3,2]</VariableName> | |||
| <Value>-0.03980493681382746</Value> | |||
| <Value>0.5354583200196454</Value> | |||
| </Z> | |||
| </YAxis> | |||
| <OrientationType>Matrix</OrientationType> | |||
| @@ -6864,7 +6876,7 @@ implementation_end; | |||
| <SharedZAxis>false</SharedZAxis> | |||
| <XAxes> | |||
| <Axis> | |||
| <Minimum>0.008778601272032657</Minimum> | |||
| <Minimum>0.021097455593261694</Minimum> | |||
| <Maximum>0.115</Maximum> | |||
| <Linear>true</Linear> | |||
| <Scaling>3</Scaling> | |||
| @@ -7006,7 +7018,7 @@ implementation_end; | |||
| <XAxes> | |||
| <Axis> | |||
| <Minimum>0.0</Minimum> | |||
| <Maximum>2.0512133912317303</Maximum> | |||
| <Maximum>0.10311339559032781</Maximum> | |||
| <Linear>true</Linear> | |||
| <Scaling>3</Scaling> | |||
| <Label>time</Label> | |||
| @@ -7092,7 +7104,7 @@ implementation_end; | |||
| </PlotPanel> | |||
| <PlotPanel> | |||
| <PlotPanelId>2</PlotPanelId> | |||
| <PlotPanelVisible>true</PlotPanelVisible> | |||
| <PlotPanelVisible>false</PlotPanelVisible> | |||
| <Name>Window 2</Name> | |||
| <Tiling>0</Tiling> | |||
| <PlotIds> | |||
| @@ -7102,7 +7114,7 @@ implementation_end; | |||
| </PlotPanel> | |||
| <PlotPanel> | |||
| <PlotPanelId>3</PlotPanelId> | |||
| <PlotPanelVisible>true</PlotPanelVisible> | |||
| <PlotPanelVisible>false</PlotPanelVisible> | |||
| <Name>Window 3</Name> | |||
| <Tiling>0</Tiling> | |||
| <PlotIds> | |||
| @@ -7113,13 +7125,13 @@ implementation_end; | |||
| </PlotPanels> | |||
| <WindowRectangles virtualDesktopWidth="5760" virtualDesktopHeight="1080"> | |||
| <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 monitor="1" left="-1920" top="0" right="0" bottom="1080" plotpanelid="2"> | |||
| 0.138021 0.169444 0.777604 0.862963 | |||
| </WindowRectangle> | |||
| <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> | |||
| </WindowRectangles> | |||
| </PlotSpecs> | |||