|
|
|
|
within AIDAModelica;
|
|
|
|
|
|
|
|
|
|
model ComputeDroneAngularsVelocities "[SimuD4 DM] Compute drone angulars velocities"
|
|
|
|
|
// CP: 65001
|
|
|
|
|
// SimulationX Version: 3.8.2.45319
|
|
|
|
|
Modelica.Blocks.Interfaces.RealInput Moments[3](quantity = "Mechanics.Rotation.Torque", displayUnit = "Nm") "'input Real' as connector" annotation(
|
|
|
|
|
Placement(transformation(extent = {{-120, 20}, {-80, 60}}), iconTransformation(extent = {{-95, -20}, {-55, 20}})));
|
|
|
|
|
Modelica.Blocks.Interfaces.RealOutput DroneAngularVelocities[3](quantity = "Mechanics.Translation.Velocity", displayUnit = "m/s") "'output Real' as connector" annotation(
|
|
|
|
|
Placement(transformation(extent = {{90, 30}, {110, 50}}), iconTransformation(extent = {{61.7, -10}, {81.7, 10}})));
|
|
|
|
|
ComputationAngularAccelerationModel computationAngularAccelerationModel1 annotation(
|
|
|
|
|
Placement(transformation(extent = {{-40, 35}, {-25, 45}})));
|
|
|
|
|
Modelica.Blocks.Continuous.Integrator integrator1 annotation(
|
|
|
|
|
Placement(transformation(extent = {{40, 60}, {60, 80}})));
|
|
|
|
|
Modelica.Blocks.Continuous.Integrator integrator2 annotation(
|
|
|
|
|
Placement(transformation(extent = {{40, 30}, {60, 50}})));
|
|
|
|
|
Modelica.Blocks.Continuous.Integrator integrator3 annotation(
|
|
|
|
|
Placement(transformation(extent = {{40, 0}, {60, 20}})));
|
|
|
|
|
equation
|
|
|
|
|
connect(computationAngularAccelerationModel1.Moments[:], Moments[:]) annotation(
|
|
|
|
|
Line(points = {{-40, 40}, {-45, 40}, {-95, 40}, {-100, 40}}, color = {0, 0, 127}, thickness = 0.0625));
|
|
|
|
|
connect(integrator1.u, computationAngularAccelerationModel1.DroneAngularAcceleration[1]) annotation(
|
|
|
|
|
Line(points = {{38, 70}, {33, 70}, {-20.3, 70}, {-20.3, 40}, {-25.3, 40}}, color = {0, 0, 127}, thickness = 0.0625));
|
|
|
|
|
connect(integrator2.u, computationAngularAccelerationModel1.DroneAngularAcceleration[2]) annotation(
|
|
|
|
|
Line(points = {{38, 40}, {33, 40}, {-20.3, 40}, {-25.3, 40}}, color = {0, 0, 127}, thickness = 0.0625));
|
|
|
|
|
connect(integrator3.u, computationAngularAccelerationModel1.DroneAngularAcceleration[3]) annotation(
|
|
|
|
|
Line(points = {{38, 10}, {33, 10}, {-20.3, 10}, {-20.3, 40.3}, {-25.3, 40.3}}, color = {0, 0, 127}, thickness = 0.0625));
|
|
|
|
|
connect(integrator1.y, DroneAngularVelocities[1]) annotation(
|
|
|
|
|
Line(points = {{61, 70}, {66, 70}, {95, 70}, {95, 40}, {100, 40}}, color = {0, 0, 127}, thickness = 0.0625));
|
|
|
|
|
connect(integrator2.y, DroneAngularVelocities[2]) annotation(
|
|
|
|
|
Line(points = {{61, 40}, {66, 40}, {95, 40}, {100, 40}}, color = {0, 0, 127}, thickness = 0.0625));
|
|
|
|
|
connect(integrator3.y, DroneAngularVelocities[3]) annotation(
|
|
|
|
|
Line(points = {{61, 10}, {66, 10}, {95, 10}, {95, 40}, {100, 40}}, color = {0, 0, 127}, thickness = 0.0625));
|
|
|
|
|
annotation(
|
|
|
|
|
Moments(flags = 2),
|
|
|
|
|
DroneAngularVelocities(flags = 2),
|
|
|
|
|
integrator1(u(flags = 2), y(flags = 2)),
|
|
|
|
|
integrator2(u(flags = 2), y(flags = 2)),
|
|
|
|
|
integrator3(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 = {-13, 4}, extent = {{-13, 4}, {13, -4}}, textString = "%name")}),
|
|
|
|
|
experiment(StopTime = 1, StartTime = 0, Interval = 0.001));
|
|
|
|
|
end ComputeDroneAngularsVelocities;
|