63 lines
2.8 KiB
Plaintext
63 lines
2.8 KiB
Plaintext
|
|
// CP: 65001
|
||
|
|
// SimulationX Version: 3.8.2.45319 x64
|
||
|
|
//within AIDAModelica;
|
||
|
|
model TrajectoryManagement "TrajectoryManagement.ism"
|
||
|
|
Modelica.Blocks.Interfaces.RealOutput Drone_coordinates[3] "'output Real' as connector" annotation(Placement(
|
||
|
|
transformation(extent={{55,0},{75,20}}),
|
||
|
|
iconTransformation(extent={{90,-10},{110,10}})));
|
||
|
|
Modelica.Blocks.Interfaces.RealInput Position_Command[3] "'input Real' as connector" annotation(Placement(
|
||
|
|
transformation(extent={{-150,-10},{-110,30}}),
|
||
|
|
iconTransformation(extent={{-120,30},{-80,70}})));
|
||
|
|
parameter Real y0[*](
|
||
|
|
quantity="Basics.Real",
|
||
|
|
displayUnit="-")=0 "Initial Value (integral1)";
|
||
|
|
Modelica.Blocks.Continuous.LimIntegrator limIntegrator1(
|
||
|
|
outMax=1000,
|
||
|
|
y_start=y_start1) "Integrator with limited value of the output" annotation(Placement(transformation(extent={{-45,0},{-25,20}})));
|
||
|
|
Modelica.Blocks.Continuous.LimIntegrator limIntegrator2(
|
||
|
|
outMax=1000,
|
||
|
|
y_start=y_start2) "Integrator with limited value of the output" annotation(Placement(transformation(extent={{-45,-35},{-25,-15}})));
|
||
|
|
Modelica.Blocks.Continuous.LimIntegrator limIntegrator3(
|
||
|
|
outMax=1000,
|
||
|
|
y_start=y_start3) annotation(Placement(transformation(extent={{-45,-65},{-25,-45}})));
|
||
|
|
parameter Real y_start1(displayUnit="-")=1 "Initial or guess value of output (must be in the limits outMin .. outMax) (limIntegrator1)";
|
||
|
|
parameter Real y_start2(displayUnit="-")=58 "Initial or guess value of output (must be in the limits outMin .. outMax) (limIntegrator2)";
|
||
|
|
parameter Real y_start3(displayUnit="-")=0 "Initial or guess value of output (must be in the limits outMin .. outMax) (limIntegrator3)";
|
||
|
|
equation
|
||
|
|
connect(Position_Command[1],limIntegrator1.u) annotation(Line(
|
||
|
|
points={{-130,10},{-125,10},{-52,10},{-47,10}},
|
||
|
|
color={0,0,127},
|
||
|
|
thickness=0.0625));
|
||
|
|
connect(Position_Command[2],limIntegrator2.u) annotation(Line(
|
||
|
|
points={{-130,10},{-125,10},{-52,10},{-52,-25},{-47,-25}},
|
||
|
|
color={0,0,127},
|
||
|
|
thickness=0.0625));
|
||
|
|
connect(Position_Command[3],limIntegrator3.u) annotation(Line(
|
||
|
|
points={{-130,10},{-125,10},{-52,10},{-52,-55},{-47,-55}},
|
||
|
|
color={0,0,127},
|
||
|
|
thickness=0.0625));
|
||
|
|
connect(limIntegrator1.y,Drone_coordinates[1]) annotation(Line(
|
||
|
|
points={{-24,10},{-19,10},{60,10},{65,10}},
|
||
|
|
color={0,0,127},
|
||
|
|
thickness=0.0625));
|
||
|
|
connect(limIntegrator2.y,Drone_coordinates[2]) annotation(Line(
|
||
|
|
points={{-24,-25},{-19,-25},{60,-25},{60,10},{65,10}},
|
||
|
|
color={0,0,127},
|
||
|
|
thickness=0.0625));
|
||
|
|
connect(limIntegrator3.y,Drone_coordinates[3]) annotation(Line(
|
||
|
|
points={{-24,-55},{-19,-55},{60,-55},{60,10},{65,10}},
|
||
|
|
color={0,0,127},
|
||
|
|
thickness=0.0625));
|
||
|
|
annotation(
|
||
|
|
Icon(graphics={
|
||
|
|
Rectangle(
|
||
|
|
fillColor={255,255,255},
|
||
|
|
fillPattern=FillPattern.Solid,
|
||
|
|
extent={{-100,100},{100,-103.3}})}),
|
||
|
|
experiment(
|
||
|
|
StopTime=1,
|
||
|
|
StartTime=0,
|
||
|
|
Interval=0.002,
|
||
|
|
MaxInterval="0.001"));
|
||
|
|
end TrajectoryManagement;
|