Why am i getting this error when i start a simulink quadcopter simulation?

4 views (last 30 days)
I am working with simulink quadcopter project (asbQuadcopter) and I am trying to implement a control with deep reinforcement learning.
When i validate the environment, i have this problem:
Warning: Could not evaluate MaskDisplay commands of block 'asbQuadcopter/Visualization/Extract Flight
Instruments/V': Undefined function 'ports' for input arguments of type 'double'.
> In aeroblkconversion2 (line 33)
In aeroicon (line 148)
In slResolve
In Simulink.SimulationData/SignalObserverInfo/updateSettingsFromPort
In Simulink.SimulationData.ModelLoggingInfo.getLoggedSignalsFromMdl
In Simulink.SimulationData.ModelLoggingInfo.createFromModel
In MultiSim.internal.getLoggingSpecificationForModels
In MultiSim.internal.resetLoggingSpec
In MultiSim.internal/SimulationRunnerSerial/setup
In Simulink/SimulationManager/setup
In Simulink/SimulationManagerEngine/setup
In rl.env/SimulinkEnvWithAgent/setupForSimImpl (line 499)
In rl.env/AbstractEnv/setupForSim (line 265)
In rl.env/AbstractEnv/simWithPolicy (line 72)
In rl.env/SimulinkEnvWithAgent/validateEnvironment (line 129)

Accepted Answer

Unmanned Aerial and Space Systems
There is a undefined function in your one of the functions, if you share it here, it can be controlled.
  2 Comments
Tommaso Savino
Tommaso Savino on 5 May 2022
Hi, thanks for the reply.
After several tests, I think I understand the problem. I was using this incorrectly in my function:
in = in.setVariable('init.euler', [0 0 0]);
in = in.setVariable('init.angRates', [0 0 0]);
Instead, I used this:
blkPt = 'nonlinearAirframe/Nonlinear/6DOF (Quaternion)';
in = in.setBlockParameter(blkPt,'eul_0', '0.01 .* rand(1,3)');

Sign in to comment.

More Answers (0)

Categories

Find more on Get Started with Aerospace Blockset in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!