128 lines
4.2 KiB
Plaintext
128 lines
4.2 KiB
Plaintext
// CP: 65001
|
|
// SimulationX Version: 3.8.4.46141 x64
|
|
within ;
|
|
model Modelica_drone_system "Modelica_drone_system"
|
|
AIDAModelica.RunFlightPlan runFlightPlan1 annotation(Placement(transformation(
|
|
origin={-50,-44},
|
|
extent={{-10,-10},{10,10}})));
|
|
AIDAModelica.ControlPosition controlPosition1 annotation(Placement(transformation(
|
|
origin={44,-24},
|
|
extent={{-10,-10},{10,10}})));
|
|
AIDAModelica.AcquirePositioningSignal acquirePositioningSignal1 annotation(Placement(transformation(
|
|
origin={-36,8},
|
|
extent={{-10,-10},{10,10}})));
|
|
AIDAModelica.ComputePositionAndTime computePositionAndTime1 annotation(Placement(transformation(
|
|
origin={-4,4},
|
|
extent={{-10,-10},{10,10}})));
|
|
AIDAModelica.GeneratePositioningSignal generatePositioningSignal1 annotation(Placement(transformation(
|
|
origin={-70,8},
|
|
extent={{-10,-10},{10,10}})));
|
|
AIDAModelica.TrajectoryManagement trajectoryManagement1 annotation(Placement(transformation(
|
|
origin={-130,10},
|
|
extent={{-10,-10},{10,10}})));
|
|
AIDA.Drone_physical_model drone_physical_model1 annotation(Placement(transformation(extent={{105,10},{125,30}})));
|
|
ModelicaCompatibility.RI2O rI2O1(n=3) annotation(Placement(transformation(extent={{75,-30},{85,-20}})));
|
|
SignalBlocks.Connection connection1;
|
|
equation
|
|
connect(controlPosition1.Position_command,trajectoryManagement1.Position_Command) annotation(
|
|
Line(
|
|
points={{54,-24.33332824707031},{59,-24},{59,40},{-145,40},{-145,14.3},{-140,
|
|
14.33333587646484}},
|
|
color={0,0,127}),
|
|
AutoRoute=false);
|
|
connect(trajectoryManagement1.Drone_coordinates,generatePositioningSignal1.Drone_coordinates) annotation(Line(
|
|
points={{-120,9.699999999999999},{-115,9.699999999999999},{-85,9.699999999999999},{-85,7.3},{-80,7.3}},
|
|
color={0,0,127}));
|
|
connect(generatePositioningSignal1.Positioning_signal,acquirePositioningSignal1.Positioning_signal) annotation(Line(
|
|
points={{-60,7.7},{-55,7.7},{-51,7.7},{-51,7.3},{-46,7.3}},
|
|
color={0,0,127}));
|
|
connect(runFlightPlan1.Drone_Position_Consign,controlPosition1.Drone_position_consign) annotation(Line(
|
|
points={{-40,-44.3},{-35,-44.3},{29,-44.3},{29,-29.7},{34,-29.7}},
|
|
color={0,0,127}));
|
|
connect(computePositionAndTime1.Drone_position,controlPosition1.Drone_position) annotation(Line(
|
|
points={{6,8.699999999999999},{11,8.699999999999999},{29,8.699999999999999},{29,-19.7},{34,-19.7}},
|
|
color={0,0,127}));
|
|
connect(acquirePositioningSignal1.Measured_positioning_signal,computePositionAndTime1.Measured_positioning_signal) annotation(Line(
|
|
points={{-26,7.7},{-21,7.7},{-19,7.7},{-19,8.300000000000001},{-14,8.300000000000001}},
|
|
color={0,0,127}));
|
|
connect(controlPosition1.Position_command[:],rI2O1.u[:]) annotation(Line(
|
|
points={{54,-24},{59,-24},{68,-24},{68,-25},{73,-25}},
|
|
color={0,0,127},
|
|
thickness=0.0625));
|
|
connect(connection1,rI2O1.y);
|
|
connect(connection1,drone_physical_model1.Position);
|
|
annotation(
|
|
__iti_controlPosition1(
|
|
Position_command(flags=2),
|
|
Drone_position_consign(flags=2),
|
|
Drone_position(flags=2),
|
|
PID(
|
|
u_s(flags=2),
|
|
u_m(flags=2),
|
|
y(flags=2),
|
|
controlError(flags=2),
|
|
addP(
|
|
u1(flags=2),
|
|
u2(flags=2),
|
|
y(flags=2)),
|
|
addD(
|
|
u1(flags=2),
|
|
u2(flags=2),
|
|
y(flags=2)),
|
|
P(
|
|
u(flags=2),
|
|
y(flags=2)),
|
|
I(
|
|
u(flags=2),
|
|
y(flags=2)),
|
|
D(
|
|
u(flags=2),
|
|
y(flags=2),
|
|
x(flags=2)),
|
|
gainPID(
|
|
u(flags=2),
|
|
y(flags=2)),
|
|
addPID(
|
|
u1(flags=2),
|
|
u2(flags=2),
|
|
u3(flags=2),
|
|
y(flags=2)),
|
|
addI(
|
|
u1(flags=2),
|
|
u2(flags=2),
|
|
u3(flags=2),
|
|
y(flags=2)),
|
|
addSat(
|
|
u1(flags=2),
|
|
u2(flags=2),
|
|
y(flags=2)),
|
|
gainTrack(
|
|
u(flags=2),
|
|
y(flags=2)),
|
|
limiter(
|
|
u(flags=2),
|
|
y(flags=2)),
|
|
Dzero(y(flags=2)),
|
|
Izero(y(flags=2)))),
|
|
__iti_connection1(viewinfo[0](
|
|
line[0](
|
|
dirSrc=1,
|
|
dirDst=0,
|
|
points(
|
|
x={704,719,750,750,765},
|
|
y={405,405,405,255,255}),
|
|
src=false,
|
|
insBefore=0,
|
|
pinSrc=rI2O1.y,
|
|
pinDst=drone_physical_model1.Position,
|
|
pinSrcValid=true,
|
|
pinDstValid=true,
|
|
typename="Line"),
|
|
typename="ConnectionInfo")),
|
|
experiment(
|
|
StopTime=60,
|
|
StartTime=0,
|
|
Interval=0.12,
|
|
__iti_MaxInterval="0.001"));
|
|
end Modelica_drone_system;
|