|
|
|
|
within AIDAModelica;
|
|
|
|
|
|
|
|
|
|
model ComputeDronePosition "[SimuD5 KM] Compute drone position"
|
|
|
|
|
// CP: 65001
|
|
|
|
|
// SimulationX Version: 3.8.2.45319 x64
|
|
|
|
|
Modelica.Blocks.Interfaces.RealInput DronVelocity[3](quantity = "Mechanics.Translation.Velocity", displayUnit = "m/s") "'input Real' as connector" annotation(
|
|
|
|
|
Placement(transformation(extent = {{-125, -15}, {-85, 25}}), iconTransformation(extent = {{-95, -20}, {-55, 20}})));
|
|
|
|
|
Modelica.Blocks.Interfaces.RealOutput Position[3](quantity = "Mechanics.Translation.Displace", displayUnit = "m") "'output Real' as connector" annotation(
|
|
|
|
|
Placement(transformation(extent = {{50, -5}, {70, 15}}), iconTransformation(extent = {{61.7, -10}, {81.7, 10}})));
|
|
|
|
|
Modelica.Blocks.Continuous.Integrator integrator10(y_start = -0.5) annotation(
|
|
|
|
|
Placement(transformation(extent = {{-20, -35}, {0, -15}})));
|
|
|
|
|
Modelica.Blocks.Continuous.Integrator integrator11(y_start = 39) annotation(
|
|
|
|
|
Placement(transformation(extent = {{-20, -5}, {0, 15}})));
|
|
|
|
|
Modelica.Blocks.Continuous.Integrator integrator12 annotation(
|
|
|
|
|
Placement(transformation(extent = {{-20, 25}, {0, 45}})));
|
|
|
|
|
equation
|
|
|
|
|
connect(integrator12.u, DronVelocity[1]) annotation(
|
|
|
|
|
Line(points = {{-22, 35}, {-27, 35}, {-100, 35}, {-100, 5}, {-105, 5}}, color = {0, 0, 127}, thickness = 0.0625));
|
|
|
|
|
connect(integrator11.u, DronVelocity[2]) annotation(
|
|
|
|
|
Line(points = {{-22, 5}, {-27, 5}, {-100, 5}, {-105, 5}}, color = {0, 0, 127}, thickness = 0.0625));
|
|
|
|
|
connect(integrator10.u, DronVelocity[3]) annotation(
|
|
|
|
|
Line(points = {{-22, -25}, {-27, -25}, {-100, -25}, {-100, 5}, {-105, 5}}, color = {0, 0, 127}, thickness = 0.0625));
|
|
|
|
|
connect(integrator12.y, Position[1]) annotation(
|
|
|
|
|
Line(points = {{1, 35}, {6, 35}, {55, 35}, {55, 5}, {60, 5}}, color = {0, 0, 127}, thickness = 0.0625));
|
|
|
|
|
connect(integrator11.y, Position[2]) annotation(
|
|
|
|
|
Line(points = {{1, 5}, {6, 5}, {55, 5}, {60, 5}}, color = {0, 0, 127}, thickness = 0.0625));
|
|
|
|
|
connect(integrator10.y, Position[3]) annotation(
|
|
|
|
|
Line(points = {{1, -25}, {6, -25}, {55, -25}, {55, 5}, {60, 5}}, color = {0, 0, 127}, thickness = 0.0625));
|
|
|
|
|
annotation(
|
|
|
|
|
DronVelocity(flags = 2),
|
|
|
|
|
Position(flags = 2),
|
|
|
|
|
integrator10(u(flags = 2), y(flags = 2)),
|
|
|
|
|
integrator11(u(flags = 2), y(flags = 2)),
|
|
|
|
|
integrator12(u(flags = 2), y(flags = 2)),
|
|
|
|
|
Icon(coordinateSystem(extent = {{-75, -50}, {75, 50}}, initialScale = 0.1), graphics = {Rectangle(fillColor = {255, 255, 255}, fillPattern = FillPattern.Solid, extent = {{-76.7, 50}, {76.7, -50}}), Text(origin = {-5, 1}, extent = {{-11, 5}, {11, -5}}, textString = "%name")}),
|
|
|
|
|
experiment(StopTime = 1, StartTime = 0, Interval = 0.001));
|
|
|
|
|
end ComputeDronePosition;
|