# MODELS

MODELNAME: vexarmcortex_arcaderobot
PATH: examples/armcortexvexmicrocontroller/main/vexarmcortex_arcaderobot.slx
BLOCKTYPE: Arcade-2 Motors Module;Constant;DC Motor;Display;Gain;Gamepad Joystick;Slider Gain
BLOCKTYPE_FREQUENCY: 1;2;2;2;1;2;2
CHECKSUM: 2FF58A2B2C5B295D87ECE1D6B0B3CBFD
PRODUCT_BASECODE: RT
ANNOTATION:
Copyright 2014-2018 The MathWorks, Inc. Arcade 2 Robot Configuration This is an Arcade-2 robot model where both the axes i.e. horizontal and vertical on a single analog stick on the gamepad/controller are used to control the robot motion. The ArcadeModule block from the VEX library is used to achieve the arcade behavior in the robot. 

BLOCK:
ArcadeModule;Gain;Horizontal JoystickInput;HorizontalAnalogStick;HorizontalJoystick VariableGain;LeftMotor;LeftSpeed;Reference;RightMotor;RightSpeed;Vertical JoystickInput;VerticalAnalogStick;VerticalJoystick VariableGain

PRODUCT:
Embedded Coder;MATLAB;Simulink;Simulink Coder Support Package for ARM Cortex-based VEX Microcontroller


MODELNAME: vexarmcortex_button2motor
PATH: examples/armcortexvexmicrocontroller/main/vexarmcortex_button2motor.slx
BLOCK: Gain;JoystickDigital;Latch;Reference;ServoAngle;SetServo;Toggle
BLOCKTYPE: Constant;Display;Gain;Gamepad Button;Latch;Servo Motor
BLOCKTYPE_FREQUENCY: 1;1;1;1;1;1
CHECKSUM: 7A02E6C846CFBBDC1A03163669301CF8
PRODUCT_BASECODE: RT
ANNOTATION:
Control Servomotor using Digital Buttons This is a model where a digital button 5 Up is used to control the angle or position of the servomotor i.e. 0 or 60 degrees. The initial angle is 0 degree. The Latch block has been added to affect the servo angle only at the rising edge transition ie. press of the button. It remains at that angle/position when the button is released and change when pressed again. Removing the Latch block from this model would result in 0 or 60 degrees for release and press of the button respectively.  Copyright 2014-2018 The MathWorks, Inc.

PRODUCT:
Embedded Coder;MATLAB;Simulink;Simulink Coder Support Package for ARM Cortex-based VEX Microcontroller


MODELNAME: vexarmcortex_gyro_lcd
PATH: examples/armcortexvexmicrocontroller/main/vexarmcortex_gyro_lcd.slx
BLOCKTYPE_FREQUENCY: 2;2;1;1;2;8;1;1;1;1;1;1;2;1;3;4
CHECKSUM: A857909D010AFB29B998F084C9E9ABB6
PRODUCT_BASECODE: RT
ANNOTATION:
 Turn robot based on selected angle using LCD Module and Gyroscope  Copyright 2016-2017 The MathWorks, Inc.

BLOCK:
 Demux ; SFunction ; Terminator ;Angle;Angle Chosen;Center;Center LCD Button;Chart;Control;Detect Decrease;Enable;Enabled Subsystem to display angle options;Enabled Subsystem to display selected angle & gyro value;Gyro Value;Gyroscope;LCD Backlight;LCD Screen;Left;Left LCD Button;Left Motor;Logical Operator;Motor Speed;Product;Reference;Relational Operator;Right;Right LCD Button;Right Motor;SubSystem;Unit Delay;Value to turn LCD backlight On/Off

BLOCKTYPE:
Constant;DC Motor;Demux;Detect Decrease;EnablePort;Inport;Logic;Outport;Product;RelationalOperator;S-Function;Terminator;UnitDelay;vex.Gyroscope;vex.LCDButton;vex.LCDScreen

PRODUCT:
Embedded Coder;MATLAB;Simulink;Simulink Coder Support Package for ARM Cortex-based VEX Microcontroller;Stateflow


MODELNAME: vexarmcortex_gyrocalibrate
PATH: examples/armcortexvexmicrocontroller/main/vexarmcortex_gyrocalibrate.slx
ANNOTATION: Gyroscope Sensor &amp; LCD Screen Calibration of gyroscope Copyright 2016 The MathWorks, Inc.
BLOCKTYPE: Compare To Constant;Constant;DC Motor;Product;vex.Gyroscope;vex.LCDScreen
BLOCKTYPE_FREQUENCY: 1;2;2;1;1;1
CHECKSUM: 8EDC94CC9EBFB4EB7700B5DEA163914F
PRODUCT_BASECODE: RT
BLOCK:
Check if gyroscope reading is less than ;Gyroscope;LCD Screen;Left Motor;Motor Speed;Product;Reference;Right Motor;Value to turn LCD backlight On/off


MODELNAME: vexarmcortex_iem_navigate
PATH: examples/armcortexvexmicrocontroller/main/vexarmcortex_iem_navigate.slx
BLOCKTYPE_FREQUENCY: 2;6;2;1;2;7;6;1;5;1;1;1;1;2
CHECKSUM: 04CB176D70A5A0A0E7DD50FA623AC540
PRODUCT_BASECODE: RT
ANNOTATION:
Distance to cover for one complete turn Ticks for 1 cm  Square Path Navigating Robot using Integrated Encoder Module  Copyright 2016 The MathWorks, Inc.

BLOCK:
 1 complete turn (Degree); Demux ; SFunction ; Terminator ;Abs;Add;Calculate ticks for straight line & turn;Controller;Desired turn (Degree);Discrete PID Controller;Distance to cover (cm);Divide;Gain;Left Encoder;Left Encoder Input;Left Motor;LeftEnc;LeftMtr;PID Value;PIDVal;Product;Reference;Reset;Right Encoder;Right Encoder Input;Right Motor;RightEnc;RightMtr;Speed Control Logic;SubSystem;Ticks for straight line ;Ticks for turn;Ticks/rotation;TicksLine;TicksTurn;Unit Delay;Wheel - Wheel Distance (cm);Wheel Radius (cm)

BLOCKTYPE:
Abs;Constant;DC Motor;Demux;Gain;Inport;Outport;PID 1dof;Product;S-Function;Sum;Terminator;UnitDelay;vex.IntegratedEncoder


MODELNAME: vexarmcortex_linetracker_externalmode
PATH: examples/armcortexvexmicrocontroller/main/vexarmcortex_linetracker_externalmode.slx
BLOCK: Center Line Tracker;Display;Left Line Tracker;Reference;Right Line Tracker
BLOCKTYPE: Analog Input;Display
BLOCKTYPE_FREQUENCY: 3;3
CHECKSUM: 9F3B8AD77B15E6B7CB5074972CE4275D
PRODUCT_BASECODE: RT
ANNOTATION:
 Line Tracker Read infrared light intensity reflected from a surface  Copyright 2016 The MathWorks, Inc.


MODELNAME: vexarmcortex_pot_externalmode
PATH: examples/armcortexvexmicrocontroller/main/vexarmcortex_pot_externalmode.slx
BLOCK: Analog Input;Display;Reference
BLOCKTYPE: Analog Input;Display
BLOCKTYPE_FREQUENCY: 1;1
CHECKSUM: 6EF1938DCA7437A890427DDADDDD08DC
PRODUCT_BASECODE: RT
ANNOTATION:
 Potentiometer Measure angular position in terms of electrical voltage  Copyright 2016-2017 The MathWorks, Inc.


MODELNAME: vexarmcortex_pot_linetrack
PATH: examples/armcortexvexmicrocontroller/main/vexarmcortex_pot_linetrack.slx
BLOCKTYPE_FREQUENCY: 4;6;4;1;2;3;4;2;6;2;6;1;1;1;1
CHECKSUM: ED64BAE9C580E1ED86A2617771EAF59D
PRODUCT_BASECODE: RT
ANNOTATION:
 Enabled Subsystem for Claw Control  Enabled Subsystem for Arm Control  Line Follower with Arm and Claw Position Control  Copyright 2016 -2021 The MathWorks, Inc.

BLOCK:
 Demux ; SFunction ; Terminator ;Add;Arm Motor;Arm Motor Speed;Arm motor speed;Center Line Tracker;Center Line tracker weight;Center sensor > threshold;Chart;Claw Motor;Claw Motor Speed;Claw motor speed;Enable;Enabled Subsystem for Arm Control;Enabled Subsystem for Claw Control;Encoder;Encoder tick count when claw releases the object;Integrated Encoder Module;Left Line Tracker;Left Line tracker weight;Left Motor;Left sensor > threshold ;LeftMotor;LineStatus;Logical Operator;Potentiometer;Potentiometer value when arm is horizontal;Potentiometer value when arm is vertical;Product;Reference;Relational Operator;Right Line Tracker;Right Line tracker weight;Right Motor;Right sensor > threshold;RightMotor;StartRoboticArm;SubSystem;Threshold

BLOCKTYPE:
Analog Input;Constant;DC Motor;Demux;EnablePort;Gain;Inport;Logic;Outport;Product;RelationalOperator;S-Function;Sum;Terminator;vex.IntegratedEncoder

PRODUCT:
Embedded Coder;MATLAB;Simulink;Simulink Coder Support Package for ARM Cortex-based VEX Microcontroller;Stateflow


MODELNAME: vexarmcortex_shaftencoder_navigate
PATH: examples/armcortexvexmicrocontroller/main/vexarmcortex_shaftencoder_navigate.slx
BLOCKTYPE_FREQUENCY: 2;6;2;1;2;7;6;1;5;1;1;1;1;2
CHECKSUM: 07DA674A61274FCEF1FD90541AEB2484
PRODUCT_BASECODE: RT
ANNOTATION:
Distance to cover for one complete turn Ticks for 1 cm  Square Path Navigating Robot using Optical Shaft Encoder  Copyright 2016 The MathWorks, Inc.

BLOCK:
 1 complete turn (Degree); Demux ; SFunction ; Terminator ;Abs;Add;Calculate ticks for straight line & turn;Controller;Desired turn (Degree);Discrete PID Controller;Distance to cover (cm);Divide;Gain;Left Encoder;Left Encoder Input;Left Motor;LeftEnc;LeftMtr;PID Value;PIDVal;Product;Reference;Reset;Right Encoder;Right Encoder Input;Right Motor;RightEnc;RightMtr;Speed Control Logic;SubSystem;Ticks for straight line ;Ticks for turn;Ticks/rotation;TicksLine;TicksTurn;Unit Delay;Wheel - Wheel Distance (cm);Wheel Radius (cm)

BLOCKTYPE:
Abs;Constant;DC Motor;Demux;Gain;Inport;Outport;PID 1dof;Product;S-Function;Sum;Terminator;UnitDelay;vex.Encoder


MODELNAME: vexarmcortex_tankrobot_halfSpeed_MLfcn
PATH: examples/armcortexvexmicrocontroller/main/vexarmcortex_tankrobot_halfSpeed_MLfcn.slx
BLOCKTYPE_FREQUENCY: 3;2;1;3;1;1;1;2;1;1;2;1;2;1
CHECKSUM: F3BDD7BA17AB84BCA58438673EF2AD18
PRODUCT_BASECODE: RT
ANNOTATION:
Tank 2 Robot Configuration  IF 5 UP pressed THEN full speed ELSE half speed  Copyright 2014-2018 The MathWorks, Inc

BLOCK:
 Demux ; SFunction ; Terminator ;Button5Up;Constant;Embedded MATLAB Function;Field Simulator;Gear Factor;Invert;JoystickAnalog;JoystickDigital;LeftMotor;LeftSpeed;Product;Reference;RightMotor;RigthSpeed;SubSystem;Variable Input;u;y

BLOCKTYPE:
Constant;DC Motor;Demux;Display;Field Simulator ;Gain;Gamepad Button;Gamepad Joystick;Inport;Outport;Product;S-Function;Slider Gain;Terminator


MODELNAME: vexarmcortex_tankrobot_withGear
PATH: examples/armcortexvexmicrocontroller/main/vexarmcortex_tankrobot_withGear.slx
BLOCKTYPE: Constant;DC Motor;Gain;Gamepad Button;Gamepad Joystick;Product;Scope;Slider Gain
BLOCKTYPE_FREQUENCY: 4;2;2;2;2;2;3;2
CHECKSUM: 18F3ED4EEED2B2BC14D159C604FA22C4
PRODUCT_BASECODE: RT
ANNOTATION:
Tank 2 Robot Configuration with Gear Shift (Stateflow) This is an Tank-2 robot configuration model where both analog sticks on the gamepad/controller are used to control the robot motion. This model also contains a Gear_Shift block implemented using Stateflow to control the motor speed range using digital buttons. Here, press and release of 5UP or 5DOWN increases or decreases gear value respectively. The gear value range is 1 to 4.  Copyright 2014-2018 The MathWorks, Inc.

BLOCK:
Button5DOWN;Button5UP;Gain;Gear;GearTransmission;Gear_Down;Gear_Up;LeftAnalogStick;LeftJoystickInput;LeftJoystickVariableGain;LeftMotor;LeftSpeed;Product;Reference;RightAnalogStick;RightJoystickInput;RightJoystickVariableGain;RightMotor;RightSpeed


MODELNAME: vexarmcortex_ultrasonicsensor
PATH: examples/armcortexvexmicrocontroller/main/vexarmcortex_ultrasonicsensor.slx
ANNOTATION: Obstacle Detection using Ultrasonic Sensor Copyright 2016-2017 The MathWorks, Inc.
BLOCKTYPE_FREQUENCY: 1;2;1;1;2;1;1;1;1;3;1
CHECKSUM: 314D0BCA66DAC8AC5EEBD12AD3AC6551
PRODUCT_BASECODE: RT
BLOCK:
 Demux ; SFunction ; Terminator ;Add;Chart;Constant;DelayedSample;DelayedSample_One;DelayedSample_Two;Divide;Left Motor;LeftMotor;Reference;Right Motor;RightMotor;SubSystem;Ultrasonic Sensor;ultrasonic_dist

BLOCKTYPE:
Constant;DC Motor;Demux;Inport;Outport;Product;S-Function;Sum;Terminator;UnitDelay;vex.UltrasonicSensor

PRODUCT:
Embedded Coder;MATLAB;Simulink;Simulink Coder Support Package for ARM Cortex-based VEX Microcontroller;Stateflow


MODELNAME: freedomboard_i2c
PATH: examples/freedomboard/main/freedomboard_i2c.slx
BLOCKTYPE_FREQUENCY: 3;6;3;5;13;2;6;3;1;3;15;1;3;12;1;3;3;1
CHECKSUM: 1F9C3C8E94422B282CA5DA08194C571E
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Coder Support Package for NXP FRDM-KL25Z Board
PRODUCT_BASECODE: RT
ANNOTATION:
Set to Active Mode Read 3-axis acceleration data with 14-bit resolution Configure MMA8451Q for Active Mode Copyright 2016-2022 The MathWorks, Inc. Initialize and Read acceleration from I^2C based MMA8451Q sensor onboard FRDM-KL25Z Hardware

BLOCK:
Abs;Action Port;Constant;Display;Enable;Execution_loop;Gain;I2C Controller Write;If;If Action Subsystem;In;Logical Operator;Merge;One_time_initialization;Out;RGB LED;Reference;Saturation;Shift Arithmetic;SubSystem;Subsystem;Sum;Unit Delay;X-Axis;Y-Axis;Z-Axis;x-accel2brightness;y-accel2brightness;z-accel2brightness

BLOCKTYPE:
Abs;ActionPort;ArithShift;Constant;Display;EnablePort;Gain;I2C Master Read;I2C Master Write;If;Inport;Logic;Merge;Outport;RGB LED;Saturate;Sum;UnitDelay


MODELNAME: freedomboard_pil_block
PATH: examples/freedomboard/main/freedomboard_pil_block.slx
DESCRIPTION: Software-in-the-Loop Code Verification
ANNOTATION: Place PIL block here Copyright 2015 The MathWorks, Inc. PIL Block
BLOCKTYPE: Constant;DataTypeConversion;Gain;Inport;Integrator;ManualSwitch;Outport;Scope;Sum;UnitDelay
BLOCKTYPE_FREQUENCY: 1;2;4;2;1;1;4;2;5;3
CHECKSUM: AEE47C3885567659B695F54303C0979A
PRODUCT: Embedded Coder;MATLAB;Simulink
PRODUCT_BASECODE: RT
BLOCK:
Constant;Controller;Gain;In;Integrator;Manual Switch;Numerical Difference;Out;Plant;Scope;SubSystem;Sum;Unit Delay;double2single;single2double


MODELNAME: freedomboard_top_model_pil
PATH: examples/freedomboard/main/freedomboard_top_model_pil.slx
DESCRIPTION: Example model reference component.
ANNOTATION: Copyright 2015 The MathWorks, Inc. Top Model PIL
BLOCKTYPE: Constant;EnablePort;Inport;Logic;Outport;RelationalOperator;Sum;Switch;UnitDelay
BLOCKTYPE_FREQUENCY: 3;2;8;3;4;1;2;3;2
CHECKSUM: F66CF00E5869955223A6399B83AA7051
PRODUCT: Embedded Coder;MATLAB;Simulink
PRODUCT_BASECODE: RT
BLOCK:
Add;C;CounterTypeA;CounterTypeB;Enable;Logical Operator;Previous Output;SubSystem;Switch;count;count_a;count_b;count_enable;counter_mode;reset;ticks;ticks_to_count;upper GE input


MODELNAME: freedomk64f_I2C_tempSensor
PATH: examples/freescalefrdmk64fboard/main/freedomk64f_I2C_tempSensor.slx
BLOCKTYPE_FREQUENCY: 5;3;2;1;1;1;1;1;3;2
CHECKSUM: 7CB048262E755BE29E2AD8DEC8CBD6E3
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Coder Support Package for NXP FRDM-K64F Board
PRODUCT_BASECODE: RT
ANNOTATION:
Read temperature Activate the sensor Set the sensor to Magnetometer only mode Set the mode of M_CTRL_REG1 register Read the M_CTRL_REG1 Register value Set the sensor in Active Mode Read the CTRL_REG1 register Read temperature with 8-bit resolution Configure and activate FXOS8700CQ sensor Initialize and Read temperature from I^2C sensor using FRDM-K64F Hardware Copyright 2016-2022 The MathWorks, Inc.

BLOCK:
Constant;Digital Write;Display;Enable;Execution_loop;Gain;I2C Controller Read;I2C Controller Write;I2C Master Read;Logical Operator;One_time_initialization;Reference;SubSystem;Switch;Unit Delay

BLOCKTYPE:
Constant;Display;EnablePort;Gain;Logic;Switch;UnitDelay;freedomk64f.DigitalWrite;freedomk64f.I2CMasterRead;freedomk64f.I2CMasterWrite


MODELNAME: freedomk64f_UDP_host
PATH: examples/freescalefrdmk64fboard/main/freedomk64f_UDP_host.slx
DESCRIPTION: Control and Logic Design with Simulink(R) and Stateflow(R)
BLOCKTYPE_FREQUENCY: 1;1;9;10;5;1;20;1;1;5;2;1;19;4;4;1;1;3;1;2;1;1;1;1;1
CHECKSUM: 3B5DBAC26D00C119374DB41A1ED0FD9A
PRODUCT: Embedded Coder;MATLAB;MATLAB Coder;Simulink;Simulink Coder
PRODUCT_BASECODE: RT
ANNOTATION:
Intake Manifold Vacuum Throttle Flow vs. Valve Angle and Pressure Air-Fuel Intake Dynamics Use these switches to simulate any combination of sensor failures Use this switch to force the engine to overspeed Choose Start from the Simulation menu to run the model. Verifying the Fixed-Point Fuel Control System via UDP Communication   ( Host Model )  Copyright 2016 The MathWorks, Inc.

BLOCK:
 ;Atmospheric Pressure, Pa (bar);Atmospheric Pressure, Pa (bar) ;Byte Pack;Clock;Constant;Data Type Conversion;EGO Sensor;EGO range: 0 to ;EGO sensor;Engine Speed, N;Fcn;High Speed (rad./Sec.);In;Intake Manifold;Limit to Positive;Look-Up Table;MAP;MAP (bar);MAP range: 0 to ;MAP sensor;Manifold Pressure, Pm (bar);Mass Airflow Rate;Metered Fuel;MinMax;Mixing & Combustion;Mux;N (rad/sec);Nominal Speed;Out;Product;Pumping;RT/Vm;Rate Transition;Reference;Scope;Sonic Flow ;Speed range: 0 to ;SubSystem;Sum;Terminator;Throttle;Throttle & Manifold;Throttle Ang.;Throttle Angle, theta (deg);Throttle Flow, mdot (g/s);Throttle range: 0 to ;UDP Receive;UDP Send;air flow;air/fuel mixture ratio;air/fuel ratio;direction;double to fixed point;engine gas dynamics;engine speed;f(theta);fixed point to double;fuel;fuel rate;g(pratio);mdot Input (g/s);mdot to Cylinder (g/s);o2_out;out_;p0 = 0.589 bar;speed sensor;system lag;threshold = 0.;throttle angle;throttle command;throttle sensor

BLOCKTYPE:
Byte pack;Clock;Constant;DataTypeConversion;Fcn;Gain;Inport;Integrator;Lookup;ManualSwitch;MinMax;Mux;Outport;Product;RateTransition;Repeating table;Saturate;Scope;Signum;Sum;Switch;Terminator;Transfer Function with Initial Outputs;UDP Receive;UDP Send


MODELNAME: freedomk64f_UDP_target
PATH: examples/freescalefrdmk64fboard/main/freedomk64f_UDP_target.slx
BLOCKTYPE_FREQUENCY: 2;5;1;14;5;2;2;1;1;31;1;2;5;2;1;21;4;5;1;1;2;1;4;6;3;1;1;2;1;1
CHECKSUM: A677913E1A94DEA85F514A231967FE46
PRODUCT_BASECODE: RT
ANNOTATION:
Feedforward Control Feedback Control Intake Airflow Estimation and Closed-Loop Correction Loop Compensation and Filtering Fuel Rate Calculation MAP Estimation  Copyright 2016 The MathWorks, Inc.  ( Target Model ) Verifying the Fixed-Point Fuel Control System via UDP Communication 

BLOCK:
 ; Demux ; SFunction ; Terminator ;Airflow calculation;Bus Selector;BusCreator;Byte Unpack;Constant;Corrected;Data Type Conversion;Demux;EGO;Ego;Enable;F/A Norm;F/A Rich;Failures;Filter Direct Form I;Filter First Order;Fixed point LOW Mode;Fixed point RICH;Fixed point throttle transient correction;Fuel Calculation;Gain_transient;In;Input;Integrator;Logic;Logical Operator;MAP;MAP Estimate;Multiport Switch;Mux;O2 fail (warmup);Out;Output;Oxygen Sensor Switching Threshold;Pressure Estimate (2-D);Product;Pumping Constant;Ramp Rate (Ki);Reference;Relational Operator;Selector;Sensor correction and Fault Redundancy;Sensors;Shutdown;Shutoff Mode;Signal Specification;Speed Estimate;Speed Table (2-D);SubSystem;Sum;Switch;Switchable Compensation;Terminator;Thrott Estimation Table (2-D);Throttle Estimate;UDP Receive;UDP Send;Unit Delay;control logic;disablemode;engine speed;est. air flow;feedback correction;feedforward fuel rate;fuel rate;fuel_mode;fuelsys;hold integrator;limit output;map;mode;o2_fail;press;press_fail;sens_in;speed;speed_fail;switch;throt;throt_fail;throttle;we

BLOCKTYPE:
BusCreator;BusSelector;Byte Unpack;Constant;DataTypeConversion;Demux;EnablePort;First Order Transfer Fcn;Gain;Inport;Lead or Lag Compensator;Logic;Lookup2D;MultiPortSwitch;Mux;Outport;Product;RelationalOperator;S-Function;Saturate;Selector;SignalSpecification;Sum;Switch;Terminator;Transfer Fcn Direct Form I;UnitDelay;enabled discrete-time transfer function;freedomk64f.UDPReceive;freedomk64f.UDPSend

PRODUCT:
Embedded Coder;MATLAB;MATLAB Coder;Simulink;Simulink Coder;Simulink Coder Support Package for NXP FRDM-K64F Board;Stateflow


MODELNAME: parrot_cannon_getting_started
PATH: examples/parrot/main/parrot_cannon_getting_started.slx
BLOCKTYPE_FREQUENCY: 9;1;4;4;1;6;2;15;1;17;1
CHECKSUM: C641DFB8EF3A9B093C0B243CAAEBE818
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Support Package for Parrot Minidrones
PRODUCT_BASECODE: SL
ANNOTATION:
The Motors outport is fed with the speed values of the 4 motors. Model an error condition and feed the value to Flag outport block. Value 0 indicates that all the flight conditions are good and the drone can continue its flight. A non-zero value indicates an error condition, and stops the drone flight. The SensorsBus contains data from sensors like accelerometer, gyroscope, ultrasonic, pressure, and optical flow data. Model your control logic inside this subsystem using the Sensor values and output the Motor values DO NOT MODIFY these output ports and signal properties. Always ensure the Motors outport is fed with a 1 x 4 single vector. Always ensure the Flag outport is fed with a 1 x 1 uint8 value. DO NOT MODIFY these input ports and signal properties.  Copyright 2019-2022 The MathWorks, Inc. Parrot Cannon Getting Started

BLOCK:
<HALSensors>;<VisionSensors>;AC cmd;Bus Selector;Cannon;Constant;Display;Flag;Flight Control System;Manual Switch;Motors;OF_data;Pulse Generator;Reference;Saturation;Sensors;SubSystem;Subsystem;Terminator;Vector Concatenate;altitude_sonar;ddx;ddy;ddz;p;prs;q;r;vbat_V;vbat_percentage

BLOCKTYPE:
BusSelector;Concatenate;Constant;DiscretePulseGenerator;Display;Inport;ManualSwitch;Outport;Saturate;Terminator;parrot.Cannon


MODELNAME: parrot_cannon_keyboard_control
PATH: examples/parrot/main/parrot_cannon_keyboard_control.slx
BLOCKTYPE_FREQUENCY: 9;1;1;2;4;6;1;1;15;1;18;1
CHECKSUM: 24013156D0EEB7D15EDD33192EE09010
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Support Package for Parrot Minidrones
PRODUCT_BASECODE: SL
ANNOTATION:
The Motors outport is fed with the speed values of the 4 motors. Model an error condition and feed the value to Flag outport block. Value 0 indicates that all the flight conditions are good and the drone can continue its flight. A non-zero value indicates an error condition, and stops the drone flight. The SensorsBus contains data from sensors like accelerometer, gyroscope, ultrasonic, pressure, and optical flow data. Model your control logic inside this subsystem using the Sensor values and output the Motor values DO NOT MODIFY these output ports and signal properties. Always ensure the Motors outport is fed with a 1 x 4 single vector. Always ensure the Flag outport is fed with a 1 x 1 uint8 value. DO NOT MODIFY these input ports and signal properties.  Copyright 2019-2022 The MathWorks, Inc. Parrot Cannon control using Keyboard Read block  The model reads the keyboard presses on the PC and controls the Cannon module

BLOCK:
<HALSensors>;<VisionSensors>;AC cmd;Bus Selector;Cannon;Compare with f;Constant;Flag;Flight Control System;Keyboard Read;Manual Switch;Motors;OF_data;Pulse Generator;Reference;Saturation;Sensors;SubSystem;Subsystem;Terminator;Vector Concatenate;altitude_sonar;ddx;ddy;ddz;p;prs;q;r;vbat_V;vbat_percentage

BLOCKTYPE:
BusSelector;Compare To Constant;Concatenate;Constant;DiscretePulseGenerator;Inport;Keyboard Read;ManualSwitch;Outport;Saturate;Terminator;parrot.Cannon


MODELNAME: parrot_communication
PATH: examples/parrot/main/parrot_communication.slx
BLOCKTYPE_FREQUENCY: 9;1;3;1;7;1;15;1;17;1;1;1
CHECKSUM: 59C4C482A4E84EA6F5E866F94373D02F
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Support Package for Parrot Minidrones
PRODUCT_BASECODE: SL
ANNOTATION:
The sensor value is transfered every one second using UDP send block The Motors outport is fed with the speed values of the 4 motors. The SensorsBus contains data from sensors like accelerometer, gyroscope, ultrasonic, pressure, and optical flow data. Model an error condition and feed the value to Flag outport block. Value 0 indicates that all the flight conditions are good and the drone can continue its flight. A non-zero value indicates an error condition, and stops the drone flight. Model your control logic inside this subsystem using the Sensor values and output the Motor values DO NOT MODIFY these output ports and signal properties. Always ensure the Motors outport is fed with a 1 X 4 single vector. Always ensure the Flag outport is fed with a 1 X 1 uint8 value. DO NOT MODIFY these input ports and signal properties.   This model spins the motors 1 and 3 based on the value received from the host via TCP and transmits the value of Z axis of the accelerometer to the host using UDP connection.  Copyright 2017-2022 The MathWorks, Inc. Parrot TCP/UDP Communication

BLOCK:
<HALSensors>;<VisionSensors>;AC cmd;Bus Selector;Constant;Flag;Flight_Control_System;In;Manual Switch;MotorInput;Motors;OF_data;Pulse Generator;Reference;Saturation;Sensors;SubSystem;Subsystem;Terminator;Trigger;UDP Send;Vector Concatenate;altitude_sonar;ddx;ddy;ddz;p;prs;q;r;vbat_V;vbat_percentage

BLOCKTYPE:
BusSelector;Concatenate;Constant;DiscretePulseGenerator;Inport;ManualSwitch;Outport;Saturate;Terminator;TriggerPort;UDP Send;parrot.TCPReceive


MODELNAME: parrot_communication_host
PATH: examples/parrot/main/parrot_communication_host.slx
BLOCK: Knob;Reference;Scope;Speed ;TCP/IP Speed;To Workspace;UDP receive
BLOCKTYPE: Constant;KnobBlock;Scope;ToWorkspace;instrument.system.TCPIPSend;instrument.system.UDPReceive
BLOCKTYPE_FREQUENCY: 1;1;1;1;1;1
CHECKSUM: BFF5A724DCAF9223636238B22310E5C8
PRODUCT: Embedded Coder;Instrument Control Toolbox;MATLAB;Simulink
PRODUCT_BASECODE: SL
ANNOTATION:
 Control Dashboard Control the speed of the motors using the knob. Copyright 2017-2020 The MathWorks, Inc.  Host Model Configured to Send TCP/IP data and receive UDP data from Parrot Minidrone 


MODELNAME: parrot_external_mode
PATH: examples/parrot/main/parrot_external_mode.slx
BLOCKTYPE_FREQUENCY: 9;34;1;1;1;6;1;29;6;28;1;1;1;1;14
CHECKSUM: 5E1FFD331265904345F51320DEBD14BF
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Support Package for Parrot Minidrones;Stateflow
PRODUCT_BASECODE: SL
ANNOTATION:
Change the Motor Speed while running this model in External Mode. The Motors outport is fed with the speed values of the 4 motors. Model an error condition and feed the value to Flag outport block. Value 0 indicates that all the flight conditions are good and the drone can continue its flight. A non-zero value indicates an error condition, and stops the drone flight. The SensorsBus contains data from sensors like accelerometer, gyroscope, ultrasonic, pressure, and optical flow data. Model your control logic inside this subsystem using the Sensor values and output the Motor values DO NOT MODIFY these output ports and signal properties. Always ensure the Motors outport is fed with a 1 x 4 single vector. Always ensure the Flag outport is fed with a 1 x 1 uint8 value. DO NOT MODIFY these input ports and signal properties.  Copyright 2017-2022 The MathWorks, Inc. Parameter Tuning on Parrot Minidrone

BLOCK:
 Demux ; SFunction ; Terminator ;<HALSensors>;<VisionSensors>;AC cmd;Accel2Motor;All 4 Motor Spin;Backward;Bus Selector;Compare To Constant;Constant;Display;Flag;Flight_Control_System;Forward;Left;Logical Operator;Motor;MotorSpeed;Motors;OF_data;Out;Reference;Right;Saturation;Scope;Sensors;Slider;SubSystem;Subsystem;Terminator;Truth Table;Vector Concatenate;altitude_sonar;backward;ddx;ddy;ddz;flat;forward;left;motor;p;prs;q;r;right;vbat_V;vbat_percentage

BLOCKTYPE:
BusSelector;Compare To Constant;Concatenate;Constant;Demux;Display;Gain;Inport;Logic;Outport;S-Function;Saturate;Scope;SliderBlock;Terminator


MODELNAME: parrot_gettingstarted
PATH: examples/parrot/main/parrot_gettingstarted.slx
BLOCKTYPE_FREQUENCY: 9;1;2;2;6;1;15;1;17
CHECKSUM: 2B315EB271993D81670C6A4BEA1F3551
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Support Package for Parrot Minidrones
PRODUCT_BASECODE: SL
ANNOTATION:
The Motors outport is fed with the speed values of the 4 motors. Model an error condition and feed the value to Flag outport block. Value 0 indicates that all the flight conditions are good and the drone can continue its flight. A non-zero value indicates an error condition, and stops the drone flight. The SensorsBus contains data from sensors like accelerometer, gyroscope, ultrasonic, pressure, and optical flow data. Model your control logic inside this subsystem using the Sensor values and output the Motor values DO NOT MODIFY these output ports and signal properties. Always ensure the Motors outport is fed with a 1 X 4 single vector. Always ensure the Flag outport is fed with a 1 X 1 uint8 value. DO NOT MODIFY these input ports and signal properties.   This model spins the motors 1 and 3 for 2s, then spins motors 2 and 4 for 2s and so on. Copyright 2017-2022 The MathWorks, Inc. Parrot Getting Started

BLOCK:
<HALSensors>;<VisionSensors>;AC cmd;Bus Selector;Constant;Flag;Flight_Control_System;Manual Switch;Motors;OF_data;Pulse Generator;Saturation;Sensors;SubSystem;Subsystem;Terminator;Vector Concatenate;altitude_sonar;ddx;ddy;ddz;p;prs;q;r;vbat_V;vbat_percentage

BLOCKTYPE:
BusSelector;Concatenate;Constant;DiscretePulseGenerator;Inport;ManualSwitch;Outport;Saturate;Terminator


MODELNAME: parrot_grabber_getting_started
PATH: examples/parrot/main/parrot_grabber_getting_started.slx
BLOCKTYPE_FREQUENCY: 9;1;4;4;1;6;2;15;1;17;1
CHECKSUM: C014B37ADB37B3FCEB97F3C779F9262C
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Support Package for Parrot Minidrones
PRODUCT_BASECODE: SL
ANNOTATION:
The Motors outport is fed with the speed values of the 4 motors. Model an error condition and feed the value to Flag outport block. Value 0 indicates that all the flight conditions are good and the drone can continue its flight. A non-zero value indicates an error condition, and stops the drone flight. The SensorsBus contains data from sensors like accelerometer, gyroscope, ultrasonic, pressure and optical flow data. Model your control logic inside this subsystem using the Sensor values and output the Motor values DO NOT MODIFY these output ports and signal properties. Always ensure the Motors outport is fed with a 1 x 4 single vector. Always ensure the Flag outport is fed with a 1 x 1 uint8 value. DO NOT MODIFY these input ports and signal properties.  Copyright 2019-2022 The MathWorks, Inc. Parrot Grabber Getting Started

BLOCK:
<HALSensors>;<VisionSensors>;AC cmd;Bus Selector;Constant;Display;Flag;Flight Control System;Grabber;Manual Switch;Motors;OF_data;Pulse Generator;Reference;Saturation;Sensors;SubSystem;Subsystem;Terminator;Vector Concatenate;altitude_sonar;ddx;ddy;ddz;p;prs;q;r;vbat_V;vbat_percentage

BLOCKTYPE:
BusSelector;Concatenate;Constant;DiscretePulseGenerator;Display;Inport;ManualSwitch;Outport;Saturate;Terminator;parrot.Grabber


MODELNAME: parrot_grabber_keyboard_control
PATH: examples/parrot/main/parrot_grabber_keyboard_control.slx
BLOCKTYPE_FREQUENCY: 9;2;1;2;1;4;7;1;2;1;16;1;1;1;18;1
CHECKSUM: 5E3C7498C109F6FEC86AD193E513AA5E
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Support Package for Parrot Minidrones
PRODUCT_BASECODE: SL
ANNOTATION:
The Grabber closes if an a is pressed  The Grabber opens if an d is pressed  The Motors outport is fed with the speed values of the 4 motors. Model an error condition and feed the value to Flag outport block. Value 0 indicates that all the flight conditions are good and the drone can continue its flight. A non-zero value indicates an error condition, and stops the drone flight. The SensorsBus contains data from sensors like accelerometer, gyroscope, ultrasonic, pressure, and optical flow data. Model your control logic inside this subsystem using the Sensor values and output the Motor values DO NOT MODIFY these output ports and signal properties. Always ensure the Motors outport is fed with a 1 x 4 single vector. Always ensure the Flag outport is fed with a 1 x 1 uint8 value. DO NOT MODIFY these input ports and signal properties.  Copyright 2019-2022 The MathWorks, Inc. Parrot Grabber control using Keyboard Read block  The model reads the keyboard presses on the PC and controls the Grabber module

BLOCK:
<HALSensors>;<VisionSensors>;AC cmd;Bus Selector;Compare with a;Compare with d;Constant;Delay;Determine control action;Flag;Flight Control System;Grabber;Keyboard Read;Keyboard in ;Manual Switch;Motors;NOT;OF_data;OR;Product;Pulse Generator;Reference;Saturation;Sensors;SubSystem;Subsystem;Switch;Terminator;To Grabber;Vector Concatenate;altitude_sonar;ddx;ddy;ddz;p;prs;q;r;vbat_V;vbat_percentage

BLOCKTYPE:
BusSelector;Compare To Constant;Concatenate;Constant;Delay;DiscretePulseGenerator;Inport;Keyboard Read;Logic;ManualSwitch;Outport;Product;Saturate;Switch;Terminator;parrot.Grabber


MODELNAME: parrot_keyboard_control
PATH: examples/parrot/main/parrot_keyboard_control.slx
BLOCKTYPE_FREQUENCY: 9;2;1;3;1;1;6;1;1;15;1;1;1;17
CHECKSUM: 333483228E447B0283789383057D0091
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Support Package for Parrot Minidrones
PRODUCT_BASECODE: SL
ANNOTATION:
The Motors outport is fed with the speed values of the 4 motors. Model an error condition and feed the value to Flag outport block. Value 0 indicates that all the flight conditions are good and the drone can continue its flight. A non-zero value indicates an error condition, and stops the drone flight. The SensorsBus contains data from sensors like accelerometer, gyroscope, ultrasonic, pressure, and optical flow data. Model your control logic inside this subsystem using the Sensor values and output the Motor values DO NOT MODIFY these output ports and signal properties. Always ensure the Motors outport is fed with a 1 x 4 single vector. Always ensure the Flag outport is fed with a 1 x 1 uint8 value. DO NOT MODIFY these input ports and signal properties.  Copyright 2018-2022 The MathWorks, Inc. Keyboard control with the Parrot Minidrones

BLOCK:
<HALSensors>;<VisionSensors>;AC cmd;Add;Bus Selector;Compare with a;Compare with s;Constant;Delay;Flag;Flight Control System;Gain;Keyboard Read ;Manual Switch;Motors;OF_data;Reference;Saturation;Sensors;SubSystem;Subsystem;Switch;Terminator;Vector Concatenate;altitude_sonar;ddx;ddy;ddz;p;prs;q;r;vbat_V;vbat_percentage

BLOCKTYPE:
BusSelector;Compare To Constant;Concatenate;Constant;Delay;Gain;Inport;Keyboard Read;ManualSwitch;Outport;Saturate;Sum;Switch;Terminator


MODELNAME: parrot_vision
PATH: examples/parrot/main/parrot_vision.slx
BLOCKTYPE_FREQUENCY: 9;1;1;8;9;1;16;2;1;1;1;2;1;17;1
CHECKSUM: 584CA42829B708B5CC2DD2AB36FBB2F0
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Support Package for Parrot Minidrones
PRODUCT_BASECODE: SL
ANNOTATION:
The Motors outport is fed with the speed values of the 4 motors. Model an error condition and feed the value to Flag outport block. Value 0 indicates that all the flight conditions are good and the drone can continue its flight. A non-zero value indicates an error condition, and stops the drone flight. The SensorsBus contains data from sensors like accelerometer, gyroscope, ultrasonic, pressure, and optical flow data. Model your control logic inside this subsystem using the Sensor values and Vision-based Data, and output the Motor values. This block is running at 5ms. DO NOT change the sample time of the block. DO NOT MODIFY these output ports and signal properties. Always ensure the Motors outport is fed with a 1 x 4 single vector. Always ensure the Flag outport is fed with a 1 x 1 uint8 value. DO NOT MODIFY these input ports and signal properties.  Copyright 2018-2022 The MathWorks, Inc. Getting started with vision on Parrot Minidrones DO NOT MODIFY the input port and signal properties.  Model your image processing algorithm inside this subsystem by using the image from the camera and additional logic to process the data. This subsystem is running at 200ms. DO NOT change the sample time of the subsystem.

BLOCK:
 Vision-based Data;<HALSensors>;<VisionSensors>;AC cmd;Add;Bus Selector;Compare To Constant ;Constant;Divide;Flag;Flight Control System;GreaterThan ;Image Data;Image Processing System;Manual Switch;Motor run;Motor stop;Motors;OF_data;PARROT Image Conversion ;Rate Transition;Reference;Saturation;Sensors;SubSystem;Subsystem;Sum of Elements ;Switch;Terminator;Threshold;Vector Concatenate;altitude_sonar;ddx;ddy;ddz;p;prs;q;r;vbat_V;vbat_percentage

BLOCKTYPE:
BusSelector;Compare To Constant;Concatenate;Constant;Inport;ManualSwitch;Outport;Product;RateTransition;RelationalOperator;Saturate;Sum;Switch;Terminator;parrot.ImageProcess


MODELNAME: parrot_vision_ext_mode
PATH: examples/parrot/main/parrot_vision_ext_mode.slx
BLOCKTYPE_FREQUENCY: 9;1;1;8;9;1;16;2;1;1;1;2;1;17;1;1
CHECKSUM: 8F565F9C77CBEF7D31776726C90E87C6
PRODUCT_BASECODE: SL
ANNOTATION:
The Motors outport is fed with the speed values of the 4 motors. Model an error condition and feed the value to Flag outport block. Value 0 indicates that all the flight conditions are good and the drone can continue its flight. A non-zero value indicates an error condition, and stops the drone flight. The SensorsBus contains data from sensors like accelerometer, gyroscope, ultrasonic, pressure, and optical flow data. Model your control logic inside this subsystem using the Sensor values and Vision-based Data, and output the Motor values. This block is running at 5ms. DO NOT change the sample time of the block. DO NOT MODIFY these output ports and signal properties. Always ensure the Motors outport is fed with a 1 x 4 single vector. Always ensure the Flag outport is fed with a 1 x 1 uint8 value. DO NOT MODIFY these input ports and signal properties.  Copyright 2018-2022 The MathWorks, Inc. Parameter Tuning with Vision on Parrot Minidrones DO NOT MODIFY the input port and signal properties.  Model your image processing algorithm inside this subsystem by using the image from the camera and additional logic to process the data. This subsystem is running at 200ms. DO NOT change the sample time of the subsystem.

BLOCK:
 Vision-based Data;<HALSensors>;<VisionSensors>;AC cmd;Add;Bus Selector;Compare To Constant ;Constant;Divide;Flag;Flight Control System;GreaterThan ;Image Data;Image Processing System;Manual Switch;Motor run;Motor stop;Motors;OF_data;PARROT Image Conversion ;Rate Transition;Reference;Saturation;Sensors;SubSystem;Subsystem;Sum of Elements ;Switch;Terminator;Threshold;Vector Concatenate;Video Viewer;altitude_sonar;ddx;ddy;ddz;p;prs;q;r;vbat_V;vbat_percentage

BLOCKTYPE:
BusSelector;Compare To Constant;Concatenate;Constant;Inport;ManualSwitch;Outport;Product;RateTransition;RelationalOperator;Saturate;Sum;Switch;Terminator;VideoViewer;parrot.ImageProcess

PRODUCT:
Computer Vision Toolbox;Embedded Coder;MATLAB;Simulink;Simulink Support Package for Parrot Minidrones


MODELNAME: flightControlSystem
PATH: examples/parrot/projects/src/ParrotMinidroneKeyboardControl/controller/flightControlSystem.slx
CHECKSUM: 80CA1056210E888BD08ED6432359DAA9
PRODUCT_BASECODE: SL
ANNOTATION:
PID Controller for Altitude  ALTITUDE CONTROLLER Inner loop PID controls angular velocity Outer Proportional loop controls the pitch and roll angle  ATTITUDE CONTROL Position controller requires good estimate of Yaw orientation to work properly. Incase position control is not needed, the outer loop can be removed and velocity setpoint can be given directly  Inner loop controls linear velocity error Outer loop controls the position error Yaw angle is not constrained between -180 to 180 degrees Yaw estimation is done solely using the gyroscope and it may drift with time. When the land_drone flag is not set, pass a 0 to the flag to indicate no error  If the land_flag is set, wait till the drone reaches a height of -0.3m and then shut down the drone using a 255 flag  If the land_flag is set, then disable Optical Flow check Vision-based Data from the Image Processing System Estimated Values from the State Estimator This subsystem contains the logic to land the drone. The drone starts landing if the land_drone flag is set by clicking on the Land button on the Parrot_FlightInterface. The drone also starts landing, if the time_remaining is less than 5s. Gyroscopes bias is susceptible to factors like temperature and Gyro bias stability and it can vary during the flight. It is therefore estimated using this Kalman filter making use of Accelerometer data Linear Kalman filter is used for the Pitch and Roll estimation. The states are the corresponding Euler angle and Angular rate bias respectively Linear Kalman filter is used for the Pitch and Roll estimation. The states are the corresponding Euler angle and Angular rate bias respectively Gyroscopes bias is susceptible to factors like temperature and Gyro bias stability and it can vary during the flight. It is therefore estimated using the Kalman filter making use of accelerometer data Yaw angle is not constrained between -180 to 180 degrees Currently yaw angle is obtained solely by integrating the gyroscope output. This yaw estimate can drift with time.  ACCELEROMETER CHECK  This estimator algorithm is developed for linearized kinematic model (model is linearized about hovering condition)This estimator may not work for large angle / aggressive maneuvers.   Gyroscopes bias is affected by temperature.This wont be a problem for Pitch and Roll angle estimation as the actual gyroscope bias in the Pitch and Roll axis are estimated during the flight. However the yaw orientation is obtained by integrating the gyroscope output and it may drift with time. Even the preflight calibration which is done cannot compensate for this problem as the gyro bis varies during the flight.    IMU Optical flow readings are affected by both linear and angular velocity of the drone. We need to subtract the effect of angular velocity before using the flow data prevents use of optical flow with large angles, angular rates or accelerations enables OF for very low angular rates checks if angular dynamics and altitude allow for reasonable use of optical flow measurement, also checks against current estimate checks new measurement vs current estimate requires minimum altitude  Optical flow raw readings are converted to velocity in m/s based on the estimated altitude Switching from orientationControl to Position control reset the current world position estimate (happens when using no markers) Derived frrom the work by Sertac Karaman and Fabian Riether Use 1 for X, Y, Z and Yaw control Use 0 for Pitch, Roll and Yaw control Position or Orientation Control Use this subsystem to change the path of the Minidrone using the Vision-based Data as an additional input. Derived from the work by Sertac Karaman and Fabian Riether  Note: The PARROT Image Conversion block takes the raw Y1UY2V data provided by the drones downward-facing camera, and converts the color space to the desired RGB or YUV output.   Note: Develop the image processing algorithm and use the Vision-based Data outport to send the processed data to the Flight Control System. The output data can be of any type and size (Try to avoid large data transfers).  Copyright 2018-2022 The MathWorks, Inc. Flight Control System

BLOCK:
 ; Demux ; Disable OF check; SFunction ; Terminator ;0.5 meters;50 continuous OF errors ;AC cmd;AND;Abs;Abs ;Absestdiff;AccelerationHandling;Accelerometer;Action Port;Actuators;Add;Alt_error;Alt_prs;Altitude Controller;Altitude Estimator;Altitude error check;Angle control loop;Angular velocity compensation for optical flow;Angular velocity control loop;Angular velocity w/o bias;Assuming that the preflight calibration was done at level orientation;Attitude Controller;Attitude Estimator;Bus Assignment;Bus Creator;Bus Selector;Check error condition;Check if the drone is 0.3m above ground;Compare To Constant;Compare to a;Compare to b;Compare to d;Compare to g;Compare to h;Compare to s;Compare to v;Compare to w;Compare with Stop time;Constant;Control Mode Update;ControlMixer;Controller;Counter Free-Running;Crash Prediction Flags;D_yaw;D_z;Data Type Conversion;DataHandling;Deactivate Acceleration If OF is not used due to low altitude;Delay;Delay One Step;Demux;Diff;Difference between sonar and pressure;Disable temperature compensation;Discrete-Time Integrator;DiscreteDerivative;Divide;Enable_Alt_Check;Enable_OF_Check;EstimatedVal;EstimatorVelocity;EstimatorXYPosition;FIR_IMUaccel;Flag;Flight Control System;Gain;Geofencing error;GreaterThan;GreaterThan ;Gyro Temperature;Gyroscope;HAL_acc_SI;HAL_gyro_SI;HAL_pressure_SI;HAL_ultrasound_SI;HAL_vbat_SI;IIR_IMUgyro_r;IIRgyroz;I_pr;I_yaw;If;Image Data;Image Processing System;In;In Bus Element;Kalman Filter;KalmanFilter_altitude;KalmanFilter_dxdy;Keyboard Control Logic;Keyboard In;Keyboard Read;LPF 8Hz Cutoff Filter to avoid oscillations induced by position controller;LPF Fcutoff = 40Hz;Land;Land Flag;Landed;Landing Enable;Landing Logic;Landing look-ahead distance;Logical Operator;Manual Switch;Math Function;Merge;MotorDirections;Multiport Switch;Mux;NOT;No optical flow ;No_error;Normal condition and landing;OF_Error;OF_status;OR;Optical flow error check;Out;Out Bus Element;OutlierHandling;PARROT Image Conversion;P_yaw;P_z;Path Planning;Pitch correction;Pitch_Kalman;PosZ;Position Controller;Position controller;Position error transformation (Earth to Body frame);Product;Rate Transition;Reference;ReferenceValueServerCmds;Roll and Pitch;Roll_Kalman;Rotation Angles to Direction Cosine Matrix;Saturation;SaturationSonar;SaturationThrust;Select Accel;Select dxy;Select pqr;SelectPlanarddxy;SelectdXY;Selector;Selectpitchroll;SensorPreprocessing;Sensors;SimplyIntegrateVelocity;Sqrt;State Estimator;States;SubSystem;Subtract;Sum;Sum of Elements;Switch;Switch_refAtt;TakeoffOrControl_Switch;Temperature Compensation;Terminator;ThrustToMotorCommand;Time remaining;To Workspace;TorqueTotalThrustToThrustPerMotor;Trigger;Triggered Subsystem;Trigonometric Function;Ultrasound improper;UpdatedReferenceCmds;Variant Source;Velocity controller;Vision-based Data;Wait 3 Seconds;X;XY Position Estimator;XYZ;XY_estimout;Y;Yaw;Yaw Controller;Yaw_integrator;Z;Z_estimin;Z_estimout;acceleration_world;altPrs_datin;altSonar_datin;altSonar_datout;altitude_cmd;angular velocity;angular velocity compensation;angular velocity correction;axyz;check for min altitude;controlModePosVSOrient_flagin;controlModePosVsOrient;currentEstimateVeryOffFromPressure;currentStateVeryOffsonarflt;do not use acc if optical flow never available (Note OF@60Hz but ZOH to 200!);dorient_estimaout;dxyOF_datin;dxy_estimin;dxy_estimout;dz_estimin;dz_estimout;enableKFmeasupdate_flagout;enable_flag;enable_update;estimator/Optical flow error;findingoutliers;gainaccinput;gravity;gyro_x_bias;gyro_y_bias;gyro_z_bias;imu_abs;inverseIMU_gain;invertzaxisGain;land_flag;maxdw;maxp;maxq;maxw;minHeightforOF;motorCmds;motors_cmdout;motors_refout;newupdateneeded;nicemeasurementor newupdateneeded;norm(accelerometer);opticalFlowErrorCorrect;opticalFlow_datin;optical_flow;optical_flow_dx_dy;orient_estimaout;orient_estimin;outlierBelowFloor;outlierJump;pitch;pitch_rate;pitch_roll_cmd;posXY;pressureFilter_IIR;prod;prsDelta_datin;prsDelta_datout;prsToAltGain;r;refAttitude;roll;roll_rate;sensorCalibration_datin;sensorIMU;sensorIMU_datin;sensorIMU_datout;sensor_data_in;sensordata_datin;sensordata_group;single;sonarFilter_IIR;states_estim;takeoff_flag;takeoff_gain;tau_pitch;tau_roll;tau_yaw;thrustsToMotorCommands;thrusts_refin;thrusts_refout;totalThrust;uncompensated_gyro_z_rate;w;xy velocity w/o angular velocity compensation;xy_err_body;xy_err_earth;yaw;yaw_rate;yaw_ref;z_estimate;zero correction

BLOCKTYPE:
Abs;ActionPort;Ang2DCM;Bias;BusAssignment;BusCreator;BusSelector;Compare To Constant;Constant;Counter Free-Running;DataTypeConversion;Delay;Demux;Discrete Derivative;DiscreteFilter;DiscreteFir;DiscreteIntegrator;DiscreteTransferFcn;Gain;If;Inport;InportShadow;Keyboard Read;Logic;ManualSwitch;Math;Merge;MultiPortSwitch;Mux;Outport;PID 1dof;Product;RateTransition;RelationalOperator;S-Function;Saturate;Selector;Sqrt;Sum;Switch;Terminator;ToWorkspace;TriggerPort;Trigonometry;VariantSource;ctrlKalmanFilter;parrot.ImageProcess

BLOCKTYPE_FREQUENCY:
21;5;3;1;2;1;32;42;25;4;19;8;19;1;4;1;4;3;29;1;110;8;1;17;2;3;1;1;18;86;4;10;1;2;1;4;25;1;33;7;16;1;2;2;1;4;1

PRODUCT:
Embedded Coder;MATLAB;Simulink;Simulink Support Package for Parrot Minidrones;System Identification Toolbox;Vehicle Dynamics Blockset


MODELNAME: linearAirframe
PATH: examples/parrot/projects/src/ParrotMinidroneKeyboardControl/linearAirframe/linearAirframe.slx
ANNOTATION: Copyright 2013-2019 The MathWorks, Inc. Linear Airframe Model
BLOCKTYPE: Bias;BusCreator;BusSelector;Concatenate;DataTypeConversion;Inport;Mux;Outport;Selector;StateSpace
BLOCKTYPE_FREQUENCY: 16;1;1;1;1;13;1;3;12;1
CHECKSUM: A24896FA403B72DD5B87AC88B772B6CE
PRODUCT: MATLAB;Simulink
PRODUCT_BASECODE: SL
BLOCK:
Accel_b;Accel_b Trim;Actuator Trim;Actuators;Air Temp Trim;Bus Creator;Bus Selector;Bus setup;DCM_be;DCM_be Trim;Data Type Conversion;Density Trim;Environment;Euler;Euler Trim;Gravity NED Trim;LLA;LLA Trim;Linear;Linear Model;Magnetic Field Trim;Mux;Omega Trim;Omega_b;Pressure Trim;Selector;Speed of Sound Trim;States;SubSystem;V_b;V_ned;V_ned Trim;Vb Trim;Vector Concatenate;X_ned;X_ned Trim;dOmega_b;dOmega_b Trim


MODELNAME: trimNonlinearAirframe
BLOCKTYPE: BusCreator;BusSelector;Inport;ModelReference;Outport
BLOCKTYPE_FREQUENCY: 2;1;9;2;10
CHECKSUM: BC70264CFFCDD0360B98B002C3241329
PRODUCT: MATLAB;Simulink
PRODUCT_BASECODE: SL
EXTERNALFILE_REFERENCE: linearAirframe.slx___Model_Block___nonlinearAirframe.slx___Model_Block___
PATH:
examples/parrot/projects/src/ParrotMinidroneKeyboardControl/linearAirframe/trimNonlinearAirframe.slx

ANNOTATION:
VSS_VEHICLE = 0 will select linear airframe VSS_VEHICLE = 1 will select nonlinear airframe  Trim Nonlinear Model Copyright 2013-2019 The MathWorks, Inc.

BLOCK:
Accel_body;Actuators;Air Temp;Airframe;Bus Creator;Bus Selector;DCM_be;Environment;Euler;Gravity ned;LLA;Linear Airframe;Magnetic Field;Nonlinear Airframe;Omega_body;States;SubSystem;V_body;V_ned;X_ned;air density;dOmega_body;pressure;speed sound


MODELNAME: ParrotMinidroneKeyboardControl
CHECKSUM: 197893BB48F806738B0DB06178136DD0
PRODUCT: Aerospace Blockset;Computer Vision Toolbox;Embedded Coder;MATLAB;Simulink;Simulink 3D Animation
PRODUCT_BASECODE: SL
PATH:
examples/parrot/projects/src/ParrotMinidroneKeyboardControl/mainModels/ParrotMinidroneKeyboardControl.slx

ANNOTATION:
VSS_COMMAND = 0 will select Signal Builder VSS_COMMAND =1 will select Joystick + Signal Builder VSS_COMMAND = 2 will select pre-saved data from .mat file VSS_COMMAND = 3 will select pre-saved data from a spreadsheet VSS_ENVIRONMENT = 0 will select constant environment variables VSS_ENVIRONMENT = 1 will select environment variables depending on position VSS_VEHICLE = 0 will select linear airframe VSS_VEHICLE = 1 will select nonlnear airframe This is a crude simulation of optical flow (vx,vy,vz) as fed into the c-function rsedu_optical_flow() on the Rolling Spider by internal, inaccessible code of Parrots firmware. This is assumed to be far from what optical flow (vx,vy,vz) actually is! This is a crude simulation of optical flow (vx,vy,vz) as fed into the c-function rsedu_optical_flow() on the Rolling Spider by internal, inaccessible code of Parrots firmware. This is assumed to be far from what optical flow (vx,vy,vz) actually is! VSS_SENSORS = 0 will select feedthrough sensors VSS_SENSORS = 1 will select dynamics sensors with noise Flight Visualization Simulation Model Flight Control System - Code Generation Flight Commands Quadcopter Flight Simulation Model - Mambo Copyright 2018-2022 The MathWorks, Inc.

BLOCK:
; ; RGBImage ;1/;AC Cmd;Actuators;Add;Airspeed Indicator;Altimeter;Altitude [ft];Altitude [m];Artificial Horizon;Assumes takeoff was level;Axes to VR Axes;Axes to VR Axes Camera Chase;Axes to VR Axes Camera Iso;Axis Angle;Axis Angle Vector;Bias;Blue;Bus Creator;Bus Selector;CG location;Camera;Camera bias Chase;Camera bias Iso;Climb Rate Indicator;Clock;Color Space Conversion;Command;Compare To Constant;Compare To Zero;Constant;Current_time;Data;Data Type Conversion;Dead Zone;Deg from North;Demux;Display;Divide;Environment;Environment (Constant);Environment (Variable);Environment Model;Euler Angles;Euler [deg];Euler to VR;Extract Flight Instruments;Flag has been triggered;Flags;Flight Control System;Floor contact;From File;From Spreadsheet;Gain;Green;HAL_acc_SI;HAL_acc_SI_creator;HAL_acquisition_creator;HAL_acquisition_t;HAL_echo_t;HAL_echo_t_creator;HAL_fifo_acce_SI_TempCorr;HAL_fifo_fsync;HAL_fifo_gyro_SI_TempCorr;HAL_fifo_gyro_SI_t_creator;HAL_gyro_SI;HAL_gyro_SI_creator;HAL_list_echo;HAL_list_echo_t_creator;HAL_magn_mG;HAL_magn_mG_t_creator;HAL_pressure_SI;HAL_pressure_SI_creator;HAL_ultrasound_SI;HAL_ultrasound_SI_creator;HAL_vbat_SI;HAL_vbat_SI_creator;Heading Indicator;IMU_Pressure;Image Data;Integrator;Joystick;Linear Airframe;Live Time Ticks;Logical Operator;Math Function;Matrix Concatenate;Memory;Multicopter Model;Mux;Nonlinear Airframe;On-Board Camera;Pilot Joystick;Position Blade;Position Blade ;Position Reference;Position/Attitude Reference;Product;Quaternion Multiplication (Pitch & Yaw);Quaternion Multiplication (Roll);Quaternion Normalization;RGB to Y1UY2V;RGBImage;RGBImage ;Rate Transition;Red;Reference;Reshape;Rotate;Saturation;Select dx,dy;Select dz;Selector;Sensor System;Sensors;Sensors (Dynamics);Sensors (Feedthrough);Sensors Model;Signal Builder;Simulink 3D;Simulink 3D Visualization;Spreadsheet Data;Sqrt;States;Stop Simulation;SubSystem;Subsystem;Subtract;Sum;Sum of Elements;Switch;SwitchPlanarOpticalFlow;Terminator;Three-axis Inertial Measurement Unit;Thruster ;Trigonometric Function;V;VR Sink;Vd [ft/min];Vd [m/s];Vector Concatenate;VelocityToOpticalFlow_Gain;Visualization Gain;Vr Pitch Axes;Vr Roll Axes;Vr Yaw Axes;Xe;Xe VR;Y1UY2VImage;_DUMMY_FLAG_usePosVIS;_DUMMY_batteryStatus;_DUMMY_posVIS;altToprs_gain;altitude;begin_echo_index;camera_data;convert;e;e0_norm;image_data;number_HAL_read_call;number_of_echoes;opticalFlow_data;opticalFlow_datout;padding;pressure;rad-->deg;raw_altitude;sensordata_data;sensordata_datout;sensors;states;states_datin;temperature;temperature_lsb;u;v;x;y;z

BLOCKTYPE:
AirspeedIndicatorBlock;AltimeterBlock;Angle Conversion;ArtificialHorizonBlock;Assertion;Bias;BusCreator;BusSelector;Checks_SMin;ClimbIndicatorBlock;Clock;Color Space Conversion;Compare To Constant;Compare To Zero;Concatenate;Constant;Counter Free-Running;DataTypeConversion;DeadZone;Demux;Display;FromFile;FromSpreadsheet;Gain;HeadingIndicatorBlock;Inport;InportShadow;Integrator;Length Conversion;Logic;Math;Memory;ModelReference;Mux;Outport;PilotJoystick;Product;Quaternion Multiplication;RPMIndicatorBlock;RateTransition;Reshape;Rotate;S-Function;Saturate;Selector;SignalEditor;Sqrt;Sum;Switch;Terminator;Three-axis Inertial Measurement Unit;Trigonometry;Velocity Conversion;Virtual Reality Sink

BLOCKTYPE_FREQUENCY:
1;1;1;1;1;11;38;12;1;1;5;2;4;7;14;127;4;25;3;21;9;1;1;24;1;55;4;2;1;4;1;2;3;29;69;1;12;2;4;25;8;2;2;5;32;2;1;5;1;1;1;8;2;3

EXTERNALFILE_REFERENCE:
flightControlSystem.slx___Model_Block___linearAirframe.slx___Model_Block___nonlinearAirframe.slx___Model_Block___


MODELNAME: nonlinearAirframe
PATH: examples/parrot/projects/src/ParrotMinidroneKeyboardControl/nonlinearAirframe/nonlinearAirframe.slx
ANNOTATION: Copyright 2013-2019 The MathWorks, Inc. Nonlinear Airframe Model
BLOCKTYPE_FREQUENCY: 1;1;1;1;7;1;1;1;6;38;2;15;3;1;1;1;1;3;1
CHECKSUM: 4E3462985AA8C469BA5D00E5717C1C52
PRODUCT: Aerospace Blockset;MATLAB;Simulink
PRODUCT_BASECODE: SL
BLOCK:
6DOF (Quaternion);AC model;Accel_b;Actuators;Add;Aerodynamic Forces;Applied Force Calculation;Bus Creator;Bus Selector;Bus setup;D;DCM_be;DCMbe;Density;Drag;Drag Calc;Drag Calculation;Dynamic Pressure;Environment;Euler;External Forces;F_cg;Flat Earth to LLA;For Each;For Each Subsystem;Forces;Gain;Gravity Force Calculation;LLA;M_cg;Moments;Motor Commands;Motor Forces;Motor Forces and Torques;Motor Torques;Motordirections;MotorsToW;Mux;Nonlinear;Omega;Omega_b;Position on Earth;Product;Reference;Rotor Dynamics;Saturation;Sign;Signal Specification;Signed Sqrt;States;SubSystem;Sum of Elements;Terminator;V_b;V_ned;Vb;Vector Concatenate;X_ned;Xe;dOmega_b;diameter;drag;dragCoeff;gravity;gravity force;href;motorsToW2_Gain;motors_datin;omegas_datout;pqr;rho;vel;w;w_b

BLOCKTYPE:
6DOF EoM (Body Axis);BusCreator;BusSelector;Concatenate;Constant;Dynamic Pressure;Flat Earth to LLA;ForEach;Gain;Inport;Mux;Outport;Product;Saturate;SignalSpecification;Signum;Sqrt;Sum;Terminator


MODELNAME: flightControlSystem
PATH: examples/parrot/projects/src/ParrotMinidroneOrbitFollower/controller/flightControlSystem.slx
CHECKSUM: 5DD5D33879A085D96F65D656B15F87A8
PRODUCT_BASECODE: SL
ANNOTATION:
PID Controller for Altitude  ALTITUDE CONTROLLER Inner loop PID controls angular velocity Outer Proportional loop controls the pitch and roll angle  ATTITUDE CONTROL Position controller requires good estimate of Yaw orientation to work properly. Incase position control is not needed, the outer loop can be removed and velocity setpoint can be given directly  Inner loop controls linear velocity error Outer loop controls the position error Yaw angle is not constrained between -180 to 180 degrees Yaw estimation is done solely using the gyroscope and it may drift with time. When the land_drone flag is not set, pass a 0 to the flag to indicate no error  If the land_flag is set, wait till the drone reaches a height of -0.3m and then shut down the drone using a 255 flag  If the land_flag is set, then disable Optical Flow check Vision-based Data from the Image Processing System Estimated Values from the State Estimator This subsystem contains the logic to land the drone. The drone starts landing if the land_drone flag is set by clicking on the Land button on the Parrot_FlightInterface. The drone also starts landing, if the time_remaining is less than 5s. Gyroscopes bias is susceptible to factors like temperature and Gyro bias stability and it can vary during the flight. It is therefore estimated using this Kalman filter making use of Accelerometer data Linear Kalman filter is used for the Pitch and Roll estimation. The states are the corresponding Euler angle and Angular rate bias respectively Linear Kalman filter is used for the Pitch and Roll estimation. The states are the corresponding Euler angle and Angular rate bias respectively Gyroscopes bias is susceptible to factors like temperature and Gyro bias stability and it can vary during the flight. It is therefore estimated using the Kalman filter making use of accelerometer data Yaw angle is not constrained between -180 to 180 degrees Currently yaw angle is obtained solely by integrating the gyroscope output. This yaw estimate can drift with time.  ACCELEROMETER CHECK  This estimator algorithm is developed for linearized kinematic model (model is linearized about hovering condition)This estimator may not work for large angle / aggressive maneuvers.   Gyroscopes bias is affected by temperature.This wont be a problem for Pitch and Roll angle estimation as the actual gyroscope bias in the Pitch and Roll axis are estimated during the flight. However the yaw orientation is obtained by integrating the gyroscope output and it may drift with time. Even the preflight calibration which is done cannot compensate for this problem as the gyro bis varies during the flight.    IMU Optical flow readings are affected by both linear and angular velocity of the drone. We need to subtract the effect of angular velocity before using the flow data prevents use of optical flow with large angles, angular rates or accelerations enables OF for very low angular rates checks if angular dynamics and altitude allow for reasonable use of optical flow measurement, also checks against current estimate checks new measurement vs current estimate requires minimum altitude  Optical flow raw readings are converted to velocity in m/s based on the estimated altitude Switching from orientationControl to Position control reset the current world position estimate (happens when using no markers) Derived frrom the work by Sertac Karaman and Fabian Riether Use 1 for X, Y, Z and Yaw control Use 0 for Pitch, Roll and Yaw control Position or Orientation Control Use this subsystem to change the path of the Minidrone using the Vision-based Data as an additional input. Derived from the work by Sertac Karaman and Fabian Riether  Note: The PARROT Image Conversion block takes the raw Y1UY2V data provided by the drones downward-facing camera, and converts the color space to the desired RGB or YUV output.   Note: Develop the image processing algorithm and use the Vision-based Data outport to send the processed data to the Flight Control System. The output data can be of any type and size (Try to avoid large data transfers).  Copyright 2018-2022 The MathWorks, Inc. Flight Control System

BLOCK:
 ; Demux ; Disable OF check; SFunction ; Terminator ;0.5 meters;50 continuous OF errors ;<X>;<Y>;<Z>;<yaw>;AC cmd;AND;Abs;Abs ;Absestdiff;AccelerationHandling;Accelerometer;Action Port;Actuators;Add;Alt_error;Alt_prs;Altitude Controller;Altitude Estimator;Altitude error check;Angle control loop;Angular velocity compensation for optical flow;Angular velocity control loop;Angular velocity w/o bias;Assuming that the preflight calibration was done at level orientation;Attitude Controller;Attitude Estimator;Bus Assignment;Bus Creator;Bus Selector;Check error condition;Check if the drone is 0.3m above ground;Clockwise Orbit;Compare To Constant;Compare with Stop time;Complete four circles ;Constant;Control Mode Update;ControlMixer;Controller;Counter Free-Running;Crash Prediction Flags;D_yaw;D_z;Data Type Conversion;DataHandling;Deactivate Acceleration If OF is not used due to low altitude;Delay;Delay One Step;Demux;Diff;Difference between sonar and pressure;Disable temperature compensation;Discrete-Time Integrator;DiscreteDerivative;Divide;Enable_Alt_Check;Enable_OF_Check;EstimatedVal;EstimatorVelocity;EstimatorXYPosition;FIR_IMUaccel;Flag;Flight Control System;Gain;Geofencing error;GreaterThan;GreaterThan ;Gyro Temperature;Gyroscope;HAL_acc_SI;HAL_gyro_SI;HAL_pressure_SI;HAL_ultrasound_SI;HAL_vbat_SI;IIR_IMUgyro_r;IIRgyroz;I_pr;I_yaw;If;Image Data;Image Processing System;In;In Bus Element;Initial X;Initial Y;Initial Z;Kalman Filter;KalmanFilter_altitude;KalmanFilter_dxdy;LPF 8Hz Cutoff Filter to avoid oscillations induced by position controller;LPF Fcutoff = 40Hz;Land;Land Flag;Land_orbit_follower;Landed;Landing Enable;Landing Logic;Landing look-ahead distance;Latch the status;Logical Operator;Lookahead Distance;Manual Switch;Math Function;Merge;MotorDirections;Multiport Switch;Mux;NOT;No optical flow ;No_error;Normal condition and landing;OF_Error;OF_status;OR;Optical flow error check;Orbit Follower;Orbit Radius;Out;Out Bus Element;OutlierHandling;PARROT Image Conversion;P_yaw;P_z;Path Planning;Pitch correction;Pitch_Kalman;PosZ;Position Controller;Position controller;Position error transformation (Earth to Body frame);Product;Rate Transition;Reference;ReferenceValueServerCmds;Required Center;Roll_Kalman;Rotation Angles to Direction Cosine Matrix;Saturation;SaturationSonar;SaturationThrust;Select Accel;Select dxy;Select pqr;SelectPlanarddxy;SelectdXY;Selector;Selectpitchroll;SensorPreprocessing;Sensors;SimplyIntegrateVelocity;Sqrt;State Estimator;States;SubSystem;Subtract;Sum;Sum of Elements;Switch;Switch_refAtt;TakeoffOrControl_Switch;Temperature Compensation;Terminator;ThrustToMotorCommand;Time remaining;To Workspace;TorqueTotalThrustToThrustPerMotor;Trigger;Triggered Subsystem;Trigonometric Function;UAV Orbit Follower;Ultrasound improper;UpdatedReferenceCmds;Variant Source;Velocity controller;Vision-based Data;Wait 3 Seconds;X;XY Position Estimator;XY velocity w/o angular velocity correction;XYZ;XY_estimout;Y;Yaw Controller;Yaw_integrator;Z_estimin;Z_estimout;acceleration_world;altPrs_datin;altSonar_datin;altSonar_datout;altitude_cmd;angular velocity;angular velocity compensation;angular velocity correction;axyz;check for min altitude;controlModePosVSOrient_flagin;controlModePosVsOrient;currentEstimateVeryOffFromPressure;currentStateVeryOffsonarflt;do not use acc if optical flow never available (Note OF@60Hz but ZOH to 200!);dorient_estimaout;dxyOF_datin;dxy_estimin;dxy_estimout;dz_estimin;dz_estimout;enableKFmeasupdate_flagout;enable_flag;enable_update;estimator/Optical flow error;findingoutliers;gainaccinput;gravity;gyro_x_bias;gyro_y_bias;gyro_z_bias;imu_abs;inverseIMU_gain;invertzaxisGain;land_flag;maxdw;maxp;maxq;maxw;minHeightforOF;motorCmds;motors_cmdout;motors_refout;newupdateneeded;nicemeasurementor newupdateneeded;norm(accelerometer);opticalFlowErrorCorrect;opticalFlow_datin;optical_flow;optical_flow_dx_dy;orient_estimaout;orient_estimin;outlierBelowFloor;outlierJump;pitch;pitch_rate;pitch_roll_cmd;posXY;pressureFilter_IIR;prod;prsDelta_datin;prsDelta_datout;prsToAltGain;r;refAttitude;roll;roll_rate;sensorCalibration_datin;sensorIMU;sensorIMU_datin;sensorIMU_datout;sensor_data_in;sensordata_datin;sensordata_group;single;sonarFilter_IIR;states_estim;takeoff_flag;takeoff_gain;tau_pitch;tau_roll;tau_yaw;thrustsToMotorCommands;thrusts_refin;thrusts_refout;totalThrust;uncompensated_gyro_z_rate;w;xy_err_body;xy_err_earth;yaw;yaw_rate;yaw_ref;z_estimate;zero correction

BLOCKTYPE:
Abs;ActionPort;Ang2DCM;Bias;BusAssignment;BusCreator;BusSelector;Compare To Constant;Constant;Counter Free-Running;DataTypeConversion;Delay;Demux;Discrete Derivative;DiscreteFilter;DiscreteFir;DiscreteIntegrator;DiscreteTransferFcn;Gain;If;Inport;InportShadow;Logic;ManualSwitch;Math;Merge;MultiPortSwitch;Mux;Outport;PID 1dof;Product;RateTransition;RelationalOperator;S-Function;Saturate;Selector;Sqrt;Sum;Switch;Terminator;ToWorkspace;TriggerPort;Trigonometry;VariantSource;ctrlKalmanFilter;parrot.ImageProcess;uav.sluav.internal.system.OrbitFollower

BLOCKTYPE_FREQUENCY:
21;5;3;1;2;1;32;35;30;5;19;4;19;1;4;1;4;3;21;1;115;8;17;2;3;1;1;18;85;4;10;1;2;1;4;25;1;28;8;16;1;3;2;1;4;1;1

PRODUCT:
Embedded Coder;MATLAB;Simulink;Simulink Support Package for Parrot Minidrones;System Identification Toolbox;UAV Toolbox;Vehicle Dynamics Blockset


MODELNAME: parrotMinidroneOrbitFollower
CHECKSUM: 831C303D02CB4BB3A2DE8695BE783F42
PRODUCT: Aerospace Blockset;Computer Vision Toolbox;Embedded Coder;MATLAB;Simulink;Simulink 3D Animation
PRODUCT_BASECODE: SL
PATH:
examples/parrot/projects/src/ParrotMinidroneOrbitFollower/mainModels/parrotMinidroneOrbitFollower.slx

ANNOTATION:
VSS_COMMAND = 0 will select Signal Builder VSS_COMMAND =1 will select Joystick + Signal Builder VSS_COMMAND = 2 will select pre-saved data from .mat file VSS_COMMAND = 3 will select pre-saved data from a spreadsheet VSS_ENVIRONMENT = 0 will select constant environment variables VSS_ENVIRONMENT = 1 will select environment variables depending on position VSS_VEHICLE = 0 will select linear airframe VSS_VEHICLE = 1 will select nonlnear airframe This is a crude simulation of optical flow (vx,vy,vz) as fed into the c-function rsedu_optical_flow() on the Rolling Spider by internal, inaccessible code of Parrots firmware. This is assumed to be far from what optical flow (vx,vy,vz) actually is! This is a crude simulation of optical flow (vx,vy,vz) as fed into the c-function rsedu_optical_flow() on the Rolling Spider by internal, inaccessible code of Parrots firmware. This is assumed to be far from what optical flow (vx,vy,vz) actually is! VSS_SENSORS = 0 will select feedthrough sensors VSS_SENSORS = 1 will select dynamics sensors with noise Flight Visualization Simulation Model Flight Control System - Code Generation Flight Commands Quadcopter Flight Simulation Model - Mambo Copyright 2018-2022 The MathWorks, Inc.

BLOCK:
; ; RGBImage ;1/;AC Cmd;Actuators;Add;Airspeed Indicator;Altimeter;Altitude [ft];Altitude [m];Artificial Horizon;Assumes takeoff was level;Axes to VR Axes;Axes to VR Axes Camera Chase;Axes to VR Axes Camera Iso;Axis Angle;Axis Angle Vector;Bias;Blue;Bus Creator;Bus Selector;CG location;Camera;Camera bias Chase;Camera bias Iso;Climb Rate Indicator;Clock;Color Space Conversion;Command;Compare To Constant;Compare To Zero;Constant;Current_time;Data;Data Type Conversion;Dead Zone;Deg from North;Demux;Display;Divide;Environment;Environment (Constant);Environment (Variable);Environment Model;Euler Angles;Euler [deg];Euler to VR;Extract Flight Instruments;Flag has been triggered;Flags;Flight Control System;Floor contact;From File;From Spreadsheet;Gain;Green;HAL_acc_SI;HAL_acc_SI_creator;HAL_acquisition_creator;HAL_acquisition_t;HAL_echo_t;HAL_echo_t_creator;HAL_fifo_acce_SI_TempCorr;HAL_fifo_fsync;HAL_fifo_gyro_SI_TempCorr;HAL_fifo_gyro_SI_t_creator;HAL_gyro_SI;HAL_gyro_SI_creator;HAL_list_echo;HAL_list_echo_t_creator;HAL_magn_mG;HAL_magn_mG_t_creator;HAL_pressure_SI;HAL_pressure_SI_creator;HAL_ultrasound_SI;HAL_ultrasound_SI_creator;HAL_vbat_SI;HAL_vbat_SI_creator;Heading Indicator;IMU_Pressure;Image Data;Integrator;Joystick;Linear Airframe;Live Time Ticks;Logical Operator;Math Function;Matrix Concatenate;Memory;Multicopter Model;Mux;Nonlinear Airframe;On-Board Camera;Pilot Joystick;Position Blade;Position Blade ;Position Reference;Position/Attitude Reference;Product;Quaternion Multiplication (Pitch & Yaw);Quaternion Multiplication (Roll);Quaternion Normalization;RGB to Y1UY2V;RGBImage;RGBImage ;Rate Transition;Red;Reference;Reshape;Rotate;Saturation;Select dx,dy;Select dz;Selector;Sensor System;Sensors;Sensors (Dynamics);Sensors (Feedthrough);Sensors Model;Signal Builder;Simulink 3D;Simulink 3D Visualization;Spreadsheet Data;Sqrt;States;Stop Simulation;SubSystem;Subsystem;Subtract;Sum;Sum of Elements;Switch;SwitchPlanarOpticalFlow;Terminator;Three-axis Inertial Measurement Unit;Thruster ;Trigonometric Function;V;VR Sink;Vd [ft/min];Vd [m/s];Vector Concatenate;VelocityToOpticalFlow_Gain;Visualization Gain;Vr Pitch Axes;Vr Roll Axes;Vr Yaw Axes;Xe;Xe VR;Y1UY2VImage;_DUMMY_FLAG_usePosVIS;_DUMMY_batteryStatus;_DUMMY_posVIS;altToprs_gain;altitude;begin_echo_index;camera_data;convert;e;e0_norm;image_data;number_HAL_read_call;number_of_echoes;opticalFlow_data;opticalFlow_datout;padding;pressure;rad-->deg;raw_altitude;sensordata_data;sensordata_datout;sensors;states;states_datin;temperature;temperature_lsb;u;v;x;y;z

BLOCKTYPE:
AirspeedIndicatorBlock;AltimeterBlock;Angle Conversion;ArtificialHorizonBlock;Assertion;Bias;BusCreator;BusSelector;Checks_SMin;ClimbIndicatorBlock;Clock;Color Space Conversion;Compare To Constant;Compare To Zero;Concatenate;Constant;Counter Free-Running;DataTypeConversion;DeadZone;Demux;Display;FromFile;FromSpreadsheet;Gain;HeadingIndicatorBlock;Inport;InportShadow;Integrator;Length Conversion;Logic;Math;Memory;ModelReference;Mux;Outport;PilotJoystick;Product;Quaternion Multiplication;RPMIndicatorBlock;RateTransition;Reshape;Rotate;S-Function;Saturate;Selector;SignalEditor;Sqrt;Sum;Switch;Terminator;Three-axis Inertial Measurement Unit;Trigonometry;Velocity Conversion;Virtual Reality Sink

BLOCKTYPE_FREQUENCY:
1;1;1;1;1;11;38;12;1;1;5;2;4;7;14;127;4;25;3;21;9;1;1;24;1;55;4;2;1;4;1;2;3;29;69;1;12;2;4;25;8;2;2;5;32;2;1;5;1;1;1;8;2;3

EXTERNALFILE_REFERENCE:
flightControlSystem.slx___Model_Block___linearAirframe.slx___Model_Block___nonlinearAirframe.slx___Model_Block___


MODELNAME: flightControlSystem
PATH: examples/parrot/projects/src/parrotMinidroneCompetition/controller/flightControlSystem.slx
CHECKSUM: 1E0612EB925C0121609F7451DC3045D1
PRODUCT_BASECODE: SL
ANNOTATION:
PID Controller for Altitude  ALTITUDE CONTROLLER Inner loop PID controls angular velocity Outer Proportional loop controls the pitch and roll angle  ATTITUDE CONTROL Position controller requires good estimate of Yaw orientation to work properly. Incase position control is not needed, the outer loop can be removed and velocity setpoint can be given directly  Inner loop controls linear velocity error Outer loop controls the position error Yaw angle is not constrained between -180 to 180 degrees Yaw estimation is done solely using the gyroscope and it may drift with time. Increment y in the steps of 0.0005 Latch the value to 1 when Vision-based Data changes to 1 Estimated values from the State Estimator Gyroscopes bias is susceptible to factors like temperature and Gyro bias stability and it can vary during the flight. It is therefore estimated using this Kalman filter making use of Accelerometer data Linear Kalman filter is used for the Pitch and Roll estimation. The states are the corresponding Euler angle and Angular rate bias respectively Linear Kalman filter is used for the Pitch and Roll estimation. The states are the corresponding Euler angle and Angular rate bias respectively Gyroscopes bias is susceptible to factors like temperature and Gyro bias stability and it can vary during the flight. It is therefore estimated using the Kalman filter making use of accelerometer data Yaw angle is not constrained between -180 to 180 degrees Currently yaw angle is obtained solely by integrating the gyroscope output. This yaw estimate can drift with time.  ACCELEROMETER CHECK  This estimator algorithm is developed for linearized kinematic model (model is linearized about hovering condition)This estimator may not work for large angle / aggressive maneuvers.   Gyroscopes bias is affected by temperature.This wont be a problem for Pitch and Roll angle estimation as the actual gyroscope bias in the Pitch and Roll axis are estimated during the flight. However the yaw orientation is obtained by integrating the gyroscope output and it may drift with time. Even the preflight calibration which is done cannot compensate for this problem as the gyro bis varies during the flight.    IMU Optical flow readings are affected by both linear and angular velocity of the drone. We need to subtract the effect of angular velocity before using the flow data prevents use of optical flow with large angles, angular rates or accelerations enables OF for very low angular rates checks if angular dynamics and altitude allow for reasonable use of optical flow measurement, also checks against current estimate checks new measurement vs current estimate requires minimum altitude  Optical flow raw readings are converted to velocity in m/s based on the estimated altitude Switching from orientationControl to Position control reset the current world position estimate (happens when using no markers) Derived frrom the work by Sertac Karaman and Fabian Riether Position or Orientation Control Use this subsystem to change the path of the Minidrone depending on the input Vision-based Data Derived from the work by Sertac Karaman and Fabian Riether Find the dominance of blue in the image Find the B-(R/2)-(G/2) image  Obtain the RGB image from camera Copyright 2018-2022 The MathWorks, Inc. Flight Control System

BLOCK:
 ; Demux ; SFunction ; Terminator ;0.5 meters;50 continuous OF errors ;AC cmd;Abs;Abs ;Absestdiff;AccelerationHandling;Accelerometer;Action Port;Actuators;Add;Alt_prs;Altitude Controller;Altitude Estimator;Angle control loop;Angular velocity;Angular velocity compensation for optical flow;Angular velocity control loop;Angular velocity w/o bias;Assuming that the preflight calibration was done at level orientation;Attitude Controller;Attitude Estimator;Bus Assignment;Bus Creator;Bus Selector;Check error condition;Compare To Constant;Constant;Control Mode Update;Control System;ControlMixer;Controller;Counter Free-Running;Crash Predictor Flags;D_yaw;D_z;Data Type Conversion;DataHandling;Deactivate Acceleration If OF is not used due to low altitude;Delay;Delay One Step;Demux;Difference between sonar and pressure;Disable temperature compensation;Discrete-Time Integrator;DiscreteDerivative;Divide;EstimatedVal;EstimatorVelocity;EstimatorXYPosition;FIR_IMUaccel;Flag;Gain;Geofencing error;GreaterThan;GreaterThan ;Gyro Temperature;Gyroscope;HAL_acc_SI;HAL_gyro_SI;HAL_pressure_SI;HAL_ultrasound_SI;HAL_vbat_SI;IIR_IMUgyro_r;IIRgyroz;I_pr;I_yaw;If;Image Data;Image Processing System;In;In Bus Element;Kalman Filter;KalmanFilter_altitude;KalmanFilter_dxdy;LPF 8Hz Cutoff Filter to avoid oscillations induced by position controller;LPF Fcutoff = 40Hz;LatchValue;Logical Operator;Manual Switch;Math Function;Merge;MotorDirections;Mux;NOT;No optical flow ;Normal condition;Out;Out Bus Element;OutlierHandling;PARROT Image Conversion;P_yaw;P_z;Path Planning;Pitch correction;Pitch_Kalman;PosZ;Position Controller;Position controller;Position error transformation (Earth to Body frame);Product;RGB Image;Rate Transition;Reference;ReferenceValueServerCmds;Roll_Kalman;Rotation Angles to Direction Cosine Matrix;Saturation;SaturationSonar;SaturationThrust;Select Accel;Select dxy;Select pqr;SelectPlanarddxy;SelectdXY;Selector;Selectpitchroll;SensorPreprocessing;Sensors;SimplyIntegrateVelocity;Sqrt;State Estimator;SubSystem;Subtract;Sum;Sum of Elements;Sum of white pixels;Switch;Switch_refAtt;TakeoffOrControl_Switch;Temperature Compensation;Terminator;Threshold for each pixel;Threshold for total white pixels;ThrustToMotorCommand;To Workspace;TorqueTotalThrustToThrustPerMotor;Trigger;Triggered Subsystem;Trigonometric Function;Ultrasound improper;UpdatedReferenceCmds;Variant Source;Velocity controller;Vision-based Data;Wait 3 Seconds;XY Position Estimator;XY_estimout;Yaw Controller;Yaw_integrator;Z_estimin;Z_estimout;acceleration_world;altPrs_datin;altSonar_datin;altSonar_datout;altitude_cmd;angular velocity;angular velocity compensation;angular velocity correction;axyz;check for min altitude;controlModePosVSOrient_flagin;controlModePosVsOrient;currentEstimateVeryOffFromPressure;currentStateVeryOffsonarflt;do not use acc if optical flow never available (Note OF@60Hz but ZOH to 200!);dorient_estimaout;dxyOF_datin;dxy_estimin;dxy_estimout;dz_estimin;dz_estimout;enableKFmeasupdate_flagout;enable_flag;enable_update;estimator/Optical flow error;findingoutliers;gainaccinput;gravity;gyro_x_bias;gyro_y_bias;gyro_z_bias;imu_abs;inverseIMU_gain;invertzaxisGain;maxdw;maxp;maxq;maxw;minHeightforOF;motorCmds;motors_cmdout;motors_refout;newupdateneeded;nicemeasurementor newupdateneeded;norm(accelerometer);opticalFlowErrorCorrect;opticalFlow_datin;optical_flow;optical_flow_dx_dy;orient_estimaout;orient_estimin;outlierBelowFloor;outlierJump;pitch;pitch_rate;pitch_roll_cmd;posXY;pressureFilter_IIR;prod;prsDelta_datin;prsDelta_datout;prsToAltGain;r;refAttitude;roll;roll_rate;sensorCalibration_datin;sensorIMU;sensorIMU_datin;sensorIMU_datout;sensor_data_in;sensordata_datin;sensordata_group;single;sonarFilter_IIR;states_estim;takeoff_flag;takeoff_gain;tau_pitch;tau_roll;tau_yaw;thrustsToMotorCommands;thrusts_refin;thrusts_refout;totalThrust;uncompensated_gyro_z_rate;w;xValue;xy velocity w/o angular velocity compensation;xy_err_body;xy_err_earth;yaw;yaw_rate;yaw_ref;zValue;z_estimate;zero correction

BLOCKTYPE:
Abs;ActionPort;Ang2DCM;Bias;BusAssignment;BusCreator;BusSelector;Compare To Constant;Constant;Counter Free-Running;DataTypeConversion;Delay;Demux;Discrete Derivative;DiscreteFilter;DiscreteFir;DiscreteIntegrator;DiscreteTransferFcn;Gain;If;Inport;InportShadow;Logic;ManualSwitch;Math;Merge;Mux;Outport;PID 1dof;Product;RateTransition;RelationalOperator;S-Function;Saturate;Selector;Sqrt;Sum;Switch;Terminator;ToWorkspace;TriggerPort;Trigonometry;VariantSource;VideoViewer;ctrlKalmanFilter;parrot.ImageProcess

BLOCKTYPE_FREQUENCY:
21;5;3;1;2;1;27;34;23;4;19;6;19;1;4;1;4;3;22;1;96;5;15;2;3;1;16;74;4;12;1;2;1;4;25;1;30;6;11;1;1;2;1;1;4;1

PRODUCT:
Computer Vision Toolbox;Embedded Coder;MATLAB;Simulink;Simulink Support Package for Parrot Minidrones;System Identification Toolbox;Vehicle Dynamics Blockset


MODELNAME: trimNonlinearAirframe
PATH: examples/parrot/projects/src/parrotMinidroneCompetition/linearAirframe/trimNonlinearAirframe.slx
BLOCKTYPE: BusCreator;BusSelector;Inport;ModelReference;Outport
BLOCKTYPE_FREQUENCY: 2;1;9;2;10
CHECKSUM: C8F3827299E453AE48E7C706EC08FC5C
PRODUCT: MATLAB;Simulink
PRODUCT_BASECODE: SL
EXTERNALFILE_REFERENCE: linearAirframe.slx___Model_Block___nonlinearAirframe.slx___Model_Block___
ANNOTATION:
VSS_VEHICLE = 0 will select linear airframe VSS_VEHICLE = 1 will select nonlinear airframe  Trim Nonlinear Model Copyright 2013-2018 The MathWorks, Inc.

BLOCK:
Accel_body;Actuators;Air Temp;Airframe;Bus Creator;Bus Selector;DCM_be;Environment;Euler;Gravity ned;LLA;Linear Airframe;Magnetic Field;Nonlinear Airframe;Omega_body;States;SubSystem;V_body;V_ned;X_ned;air density;dOmega_body;pressure;speed sound


MODELNAME: parrotMinidroneCompetition
PATH: examples/parrot/projects/src/parrotMinidroneCompetition/mainModels/parrotMinidroneCompetition.slx
CHECKSUM: 801B22EC0E9985AC61D64590DC905DBE
PRODUCT: Aerospace Blockset;Computer Vision Toolbox;Embedded Coder;MATLAB;Simulink;Simulink 3D Animation
PRODUCT_BASECODE: SL
ANNOTATION:
VSS_COMMAND = 0 will select Signal Builder VSS_COMMAND =1 will select Joystick + Signal Builder VSS_COMMAND = 2 will select pre-saved data from .mat file VSS_COMMAND = 3 will select pre-saved data from a spreadsheet VSS_ENVIRONMENT = 0 will select constant environment variables VSS_ENVIRONMENT = 1 will select environment variables depending on position VSS_VEHICLE = 0 will select linear airframe VSS_VEHICLE = 1 will select nonlnear airframe This is a crude simulation of optical flow (vx,vy,vz) as fed into the c-function rsedu_optical_flow() on the Rolling Spider by internal, inaccessible code of Parrots firmware. This is assumed to be far from what optical flow (vx,vy,vz) actually is! This is a crude simulation of optical flow (vx,vy,vz) as fed into the c-function rsedu_optical_flow() on the Rolling Spider by internal, inaccessible code of Parrots firmware. This is assumed to be far from what optical flow (vx,vy,vz) actually is! VSS_SENSORS = 0 will select feedthrough sensors VSS_SENSORS = 1 will select dynamics sensors with noise Flight Visualization Simulation Model Flight Control System - Code Generation Flight Commands Quadcopter Flight Simulation Model - Mambo Copyright 2018-2022 The MathWorks, Inc.

BLOCK:
; RGBImage ;1/;AC Cmd;Actuators;Add;Altitude [ft];Altitude [m];Assumes takeoff was level;Axes to VR Axes;Axes to VR Axes Camera Chase;Axes to VR Axes Camera Iso;Axis Angle;Axis Angle Vector;Bias;Blue;Boundary Collision Detection ;Bus Creator;Bus Selector;CG location;Camera;Camera bias Chase;Camera bias Iso;Clock;Color Space Conversion;Command;Compare To Constant;Compare To Zero;Constant;Data;Data Type Conversion;Dead Zone;Deg from North;Demux;Display;Divide;Environment;Environment (Constant);Environment (Variable);Environment Model;Euler Angles;Euler [deg];Euler to VR;Extract Flight Instruments;Flag has been triggered;Flags;Flight Control System;Floor contact;From File;From Spreadsheet;Gain;Green;HAL_acc_SI;HAL_acc_SI_creator;HAL_acquisition_creator;HAL_acquisition_t;HAL_echo_t;HAL_echo_t_creator;HAL_fifo_acce_SI_TempCorr;HAL_fifo_fsync;HAL_fifo_gyro_SI_TempCorr;HAL_fifo_gyro_SI_t_creator;HAL_gyro_SI;HAL_gyro_SI_creator;HAL_list_echo;HAL_list_echo_t_creator;HAL_magn_mG;HAL_magn_mG_t_creator;HAL_pressure_SI;HAL_pressure_SI_creator;HAL_ultrasound_SI;HAL_ultrasound_SI_creator;HAL_vbat_SI;HAL_vbat_SI_creator;IMU_Pressure;Image Data;Integrator;Joystick;Linear Airframe;Live Time Ticks;Logical Operator;Math Function;Matrix Concatenate;Memory;Multicopter Model;Mux;Nonlinear Airframe;On-Board Camera;Pilot Joystick;Position Blade;Position Blade ;Position Reference;Position/Attitude Reference;Product;Quaternion Multiplication (Pitch & Yaw);Quaternion Multiplication (Roll);Quaternion Normalization;RGB to Y1UY2V;RGBImage;RGBImage ;Rate Transition;Red;Reference;Reshape;Rotate;Saturation;Select dx,dy;Select dz;Selector;Sensor System;Sensors;Sensors (Dynamics);Sensors (Feedthrough);Sensors Model;Signal Builder;Simulink 3D;Simulink 3D Visualization;Spreadsheet Data;Sqrt;States;Stop Simulation;SubSystem;Subsystem;Sum;Sum of Elements;Switch;SwitchPlanarOpticalFlow;Terminator;Three-axis Inertial Measurement Unit;Trigonometric Function;V;VR Sink;Vd [ft/min];Vd [m/s];Vector Concatenate;VelocityToOpticalFlow_Gain;Visualization Gain;Vr Pitch Axes;Vr Roll Axes;Vr Yaw Axes;Xe;Xe VR;Y1UY2VImage;_DUMMY_FLAG_usePosVIS;_DUMMY_batteryStatus;_DUMMY_posVIS;altToprs_gain;altitude;begin_echo_index;camera_data;convert;e;e0_norm;image_data;number_HAL_read_call;number_of_echoes;opticalFlow_data;opticalFlow_datout;padding;pressure;rad-->deg;raw_altitude;sensordata_data;sensordata_datout;sensors;states;states_datin;temperature;temperature_lsb;u;v;x;y;z

BLOCKTYPE:
Angle Conversion;Assertion;Bias;BusCreator;BusSelector;Checks_SMin;Clock;Color Space Conversion;Compare To Constant;Compare To Zero;Concatenate;Constant;Counter Free-Running;DataTypeConversion;DeadZone;Demux;Display;FromFile;FromSpreadsheet;Gain;Inport;InportShadow;Integrator;Length Conversion;Logic;Math;Memory;ModelReference;Mux;Outport;PilotJoystick;Product;Quaternion Multiplication;RateTransition;Reshape;Rotate;S-Function;Saturate;Selector;SignalEditor;Sqrt;Sum;Switch;Terminator;Three-axis Inertial Measurement Unit;Trigonometry;Velocity Conversion;Virtual Reality Sink;Virtual Reality Source

BLOCKTYPE_FREQUENCY:
1;2;11;38;12;1;4;2;4;7;14;125;4;25;3;21;9;1;1;24;55;4;2;1;5;1;2;3;29;69;1;12;2;25;8;2;2;5;32;2;1;4;1;1;1;8;2;3;1

EXTERNALFILE_REFERENCE:
flightControlSystem.slx___Model_Block___linearAirframe.slx___Model_Block___nonlinearAirframe.slx___Model_Block___


MODELNAME: flightControlSystem
PATH: examples/parrot/projects/src/parrotMinidroneWaypointFollower/controller/flightControlSystem.slx
CHECKSUM: 104FD9C2526F7C6F6986E3F09A45EDA6
PRODUCT_BASECODE: SL
ANNOTATION:
PID Controller for Altitude  ALTITUDE CONTROLLER Inner loop PID controls angular velocity Outer Proportional loop controls the pitch and roll angle  ATTITUDE CONTROL Position controller requires good estimate of Yaw orientation to work properly. Incase position control is not needed, the outer loop can be removed and velocity setpoint can be given directly  Inner loop controls linear velocity error Outer loop controls the position error Yaw angle is not constrained between -180 to 180 degrees Yaw estimation is done solely using the gyroscope and it may drift with time. When the land_drone flag is not set, pass a 0 to the flag to indicate no error  If the land_flag is set, wait till the drone reaches a height of -0.3m and then shut down the drone using a 255 flag  If the land_flag is set, then disable Optical Flow check Vision-based Data from the Image Processing System Estimated Values from the State Estimator This subsystem contains the logic to land the drone. The drone starts landing if the land_drone flag is set by clicking on the Land button on the Parrot_FlightInterface. The drone also starts landing if the time_remaining is less than 5s. Gyroscopes bias is susceptible to factors like temperature and Gyro bias stability and it can vary during the flight. It is therefore estimated using this Kalman filter making use of Accelerometer data Linear Kalman filter is used for the Pitch and Roll estimation. The states are the corresponding Euler angle and Angular rate bias respectively Linear Kalman filter is used for the Pitch and Roll estimation. The states are the corresponding Euler angle and Angular rate bias respectively Gyroscopes bias is susceptible to factors like temperature and Gyro bias stability and it can vary during the flight. It is therefore estimated using the Kalman filter making use of accelerometer data Yaw angle is not constrained between -180 to 180 degrees Currently yaw angle is obtained solely by integrating the gyroscope output. This yaw estimate can drift with time.  ACCELEROMETER CHECK  This estimator algorithm is developed for linearized kinematic model (model is linearized about hovering condition)This estimator may not work for large angle / aggressive maneuvers.   Gyroscopes bias is affected by temperature.This wont be a problem for Pitch and Roll angle estimation as the actual gyroscope bias in the Pitch and Roll axis are estimated during the flight. However the yaw orientation is obtained by integrating the gyroscope output and it may drift with time. Even the preflight calibration which is done cannot compensate for this problem completely as the gyro bias varies during the flight.    IMU Optical flow readings are affected by both linear and angular velocity of the drone. We need to subtract the effect of angular velocity before using the flow data prevents use of optical flow with large angles, angular rates or accelerations enables OF for very low angular rates checks if angular dynamics and altitude allow for reasonable use of optical flow measurement, also checks against current estimate checks new measurement vs current estimate requires minimum altitude  Optical flow raw readings are converted to velocity in m/s based on the estimated altitude Switching from orientationControl to Position control reset the current world position estimate (happens when using no markers) Derived frrom the work by Sertac Karaman and Fabian Riether Use 1 for X, Y, Z and Yaw control Use 0 for Pitch, Roll and Yaw control Position or Orientation Control Use this subsystem to change the path of the Minidrone using the Vision-based Data as an additional input. Derived from the work by Sertac Karaman and Fabian Riether  Note: The PARROT Image Conversion block takes the raw Y1UY2V data provided by the drones downward-facing camera, and converts the color space to the desired RGB or YUV output.   Note: Develop the image processing algorithm and use the Vision-based Data outport to send the processed data to the Flight Control System. The output data can be of any type and size (Try to avoid large data transfers).  Copyright 2019-2022 The MathWorks, Inc. Flight Control System

BLOCK:
 ; Demux ; Disable OF check; SFunction ; Terminator ;0.5 meters;50 continuous OF errors ;AC cmd;AND;Abs;Abs ;Absestdiff;AccelerationHandling;Accelerometer;Action Port;Actuators;Add;Alt_error;Alt_prs;Altitude Controller;Altitude Estimator;Altitude error check;Angle control loop;Angular velocity compensation for optical flow;Angular velocity control loop;Angular velocity w/o bias;Assuming that the preflight calibration was done at level orientation;Attitude Controller;Attitude Estimator;Bus Assignment;Bus Creator;Bus Selector;Check error condition;Check if the drone is 0.3m above ground;Compare To Constant;Compare with Stop time;Complete;Constant;Control Mode Update;ControlMixer;Controller;Counter Free-Running;Crash Prediction Flags;D_yaw;D_z;Data Type Conversion;DataHandling;Deactivate Acceleration If OF is not used due to low altitude;Delay;Delay One Step;Demux;Diff;Difference between sonar and pressure;Disable temperature compensation;Discrete-Time Integrator;DiscreteDerivative;Divide;Enable;Enable_Alt_Check;Enable_OF_Check;EstimatedVal;EstimatorVelocity;EstimatorXYPosition;FIR_IMUaccel;Flag;Flight Control System;Gain;Geofencing error;GreaterThan;GreaterThan ;Gyro Temperature;Gyroscope;HAL_acc_SI;HAL_gyro_SI;HAL_pressure_SI;HAL_ultrasound_SI;HAL_vbat_SI;IIR_IMUgyro_r;IIRgyroz;I_pr;I_yaw;If;Image Data;Image Processing System;In;In Bus Element;Kalman Filter;KalmanFilter_altitude;KalmanFilter_dxdy;LPF 8Hz Cutoff Filter to avoid oscillations induced by position controller;LPF Fcutoff = 40Hz;Land;Land Flag;Landed;Landing Enable;Landing Logic;Landing Look-ahead distance;Latch the status;Logical Operator;Look ahead distance;Manual Switch;Math Function;Merge;MotorDirections;Multiport Switch;Mux;NOT;No optical flow ;No_error;Normal condition and landing;OF_Error;OF_status;OR;Optical flow error check;Out;Out Bus Element;OutlierHandling;PARROT Image Conversion;P_yaw;P_z;Path Planning;Pitch correction;Pitch_Kalman;PosZ;Position Controller;Position controller;Position error transformation (Earth to Body frame);Postition;Product;Rate Transition;Reference;ReferenceValueServerCmds;Roll_Kalman;Rotation Angles to Direction Cosine Matrix;Saturation;SaturationSonar;SaturationThrust;Select Accel;Select dxy;Select pqr;SelectPlanarddxy;SelectdXY;Selector;Selectpitchroll;SensorPreprocessing;Sensors;SimplyIntegrateVelocity;Sqrt;Startup Waypoints;State Estimator;States;SubSystem;Subtract;Sum;Sum of Elements;Switch;Switch_refAtt;TakeoffOrControl_Switch;Temperature Compensation;Terminator;ThrustToMotorCommand;Time remaining;To Workspace;To controller;TorqueTotalThrustToThrustPerMotor;Trigger;Triggered Subsystem;Trigonometric Function;UAV Waypoint Follower;Ultrasound improper;UpdatedReferenceCmds;Variant Source;Velocity controller;Vision-based Data;Wait 3 Seconds;Wait 5 seconds;Waypoint follower;Waypoints;X;XY Position Estimator;XY velocity w/o angular velocity compensation;XYZ;XY_estimout;Y;Yaw Controller;Yaw_integrator;Z_estimin;Z_estimout;acceleration_world;altPrs_datin;altSonar_datin;altSonar_datout;altitude_cmd;angular velocity;angular velocity compensation;angular velocity correction;axyz;check for min altitude;controlModePosVSOrient_flagin;controlModePosVsOrient;currentEstimateVeryOffFromPressure;currentStateVeryOffsonarflt;do not use acc if optical flow never available (Note OF@60Hz but ZOH to 200!);dorient_estimaout;dxyOF_datin;dxy_estimin;dxy_estimout;dz_estimin;dz_estimout;enableKFmeasupdate_flagout;enable_flag;enable_update;estimator/Optical flow error;findingoutliers;gainaccinput;gravity;gyro_x_bias;gyro_y_bias;gyro_z_bias;imu_abs;inverseIMU_gain;invertzaxisGain;land_flag;maxdw;maxp;maxq;maxw;minHeightforOF;motorCmds;motors_cmdout;motors_refout;newupdateneeded;nicemeasurementor newupdateneeded;norm(accelerometer);opticalFlowErrorCorrect;opticalFlow_datin;optical_flow;optical_flow_dx_dy;orient_estimaout;orient_estimin;outlierBelowFloor;outlierJump;pitch;pitch_rate;pitch_roll_cmd;posXY;pressureFilter_IIR;prod;prsDelta_datin;prsDelta_datout;prsToAltGain;r;refAttitude;roll;roll_rate;sensorCalibration_datin;sensorIMU;sensorIMU_datin;sensorIMU_datout;sensor_data_in;sensordata_datin;sensordata_group;single;sonarFilter_IIR;states_estim;takeoff_flag;takeoff_gain;tau_pitch;tau_roll;tau_yaw;thrustsToMotorCommands;thrusts_refin;thrusts_refout;totalThrust;uncompensated_gyro_z_rate;w;xy_err_body;xy_err_earth;yaw;yaw_rate;yaw_ref;z_estimate;zero correction

BLOCKTYPE:
Abs;ActionPort;Ang2DCM;Bias;BusAssignment;BusCreator;BusSelector;Compare To Constant;Constant;Counter Free-Running;DataTypeConversion;Delay;Demux;Discrete Derivative;DiscreteFilter;DiscreteFir;DiscreteIntegrator;DiscreteTransferFcn;EnablePort;Gain;If;Inport;InportShadow;Logic;ManualSwitch;Math;Merge;MultiPortSwitch;Mux;Outport;PID 1dof;Product;RateTransition;RelationalOperator;S-Function;Saturate;Selector;Sqrt;Sum;Switch;Terminator;ToWorkspace;TriggerPort;Trigonometry;VariantSource;ctrlKalmanFilter;parrot.ImageProcess;uav.sluav.internal.system.WaypointFollower

BLOCKTYPE_FREQUENCY:
21;5;3;1;2;1;32;35;26;5;21;4;19;1;4;1;4;3;1;21;1;112;8;17;2;3;1;1;17;85;4;10;1;2;1;4;25;1;28;8;15;1;3;2;1;4;1;1

PRODUCT:
Embedded Coder;MATLAB;Simulink;Simulink Support Package for Parrot Minidrones;System Identification Toolbox;UAV Toolbox;Vehicle Dynamics Blockset


MODELNAME: trimNonlinearAirframe
BLOCKTYPE: BusCreator;BusSelector;Inport;ModelReference;Outport
BLOCKTYPE_FREQUENCY: 2;1;9;2;10
CHECKSUM: E472B0970260B0E4C511C1B998421F68
PRODUCT: MATLAB;Simulink
PRODUCT_BASECODE: SL
EXTERNALFILE_REFERENCE: linearAirframe.slx___Model_Block___nonlinearAirframe.slx___Model_Block___
PATH:
examples/parrot/projects/src/parrotMinidroneWaypointFollower/linearAirframe/trimNonlinearAirframe.slx

ANNOTATION:
VSS_VEHICLE = 0 will select linear airframe VSS_VEHICLE = 1 will select nonlinear airframe  Trim Nonlinear Model Copyright 2013-2019 The MathWorks, Inc.


MODELNAME: parrotMinidroneWaypointFollower
CHECKSUM: 1C8464431165405E4A517C6433C8BB21
PRODUCT: Aerospace Blockset;Computer Vision Toolbox;Embedded Coder;MATLAB;Simulink;Simulink 3D Animation
PRODUCT_BASECODE: SL
PATH:
examples/parrot/projects/src/parrotMinidroneWaypointFollower/mainModels/parrotMinidroneWaypointFollower.slx

BLOCK:
; ; RGBImage ;1/;AC Cmd;Actuators;Add;Airspeed Indicator;Altimeter;Altitude [ft];Altitude [m];Artificial Horizon;Assumes takeoff was level;Axes to VR Axes;Axes to VR Axes Camera Chase;Axes to VR Axes Camera Iso;Axis Angle;Axis Angle Vector;Bias;Blue;Bus Creator;Bus Selector;CG location;Camera;Camera bias Chase;Camera bias Iso;Climb Rate Indicator;Clock;Color Space Conversion;Command;Compare To Constant;Compare To Zero;Constant;Current_time;Data;Data Type Conversion;Dead Zone;Deg from North;Demux;Display;Divide;Environment;Environment (Constant);Environment (Variable);Environment Model;Euler Angles;Euler [deg];Euler to VR;Extract Flight Instruments;Flag has been triggered;Flags;Flight Control System;Floor contact;From File;From Spreadsheet;Gain;Green;HAL_acc_SI;HAL_acc_SI_creator;HAL_acquisition_creator;HAL_acquisition_t;HAL_echo_t;HAL_echo_t_creator;HAL_fifo_acce_SI_TempCorr;HAL_fifo_fsync;HAL_fifo_gyro_SI_TempCorr;HAL_fifo_gyro_SI_t_creator;HAL_gyro_SI;HAL_gyro_SI_creator;HAL_list_echo;HAL_list_echo_t_creator;HAL_magn_mG;HAL_magn_mG_t_creator;HAL_pressure_SI;HAL_pressure_SI_creator;HAL_ultrasound_SI;HAL_ultrasound_SI_creator;HAL_vbat_SI;HAL_vbat_SI_creator;Heading Indicator;IMU_Pressure;Image Data;Integrator;Joystick;Linear Airframe;Live Time Ticks;Logical Operator;Math Function;Matrix Concatenate;Memory;Multicopter Model;Mux;Nonlinear Airframe;On-Board Camera;Pilot Joystick;Position Blade;Position Blade ;Position Reference;Position/Attitude Reference;Product;Quaternion Multiplication (Pitch & Yaw);Quaternion Multiplication (Roll);Quaternion Normalization;RGB to Y1UY2V;RGBImage;RGBImage ;Rate Transition;Red;Reference;Reshape;Rotate;Saturation;Select dx,dy;Select dz;Selector;Sensor System;Sensors;Sensors (Dynamics);Sensors (Feedthrough);Sensors Model;Signal Builder;Simulink 3D;Simulink 3D Visualization;Spreadsheet Data;Sqrt;States;Stop Simulation;SubSystem;Subsystem;Subtract;Sum;Sum of Elements;Switch;SwitchPlanarOpticalFlow;Terminator;Three-axis Inertial Measurement Unit;Thruster ;Trigonometric Function;V;VR Sink;Vd [ft/min];Vd [m/s];Vector Concatenate;VelocityToOpticalFlow_Gain;Visualization Gain;Vr Pitch Axes;Vr Roll Axes;Vr Yaw Axes;Xe;Xe VR;Y1UY2VImage;_DUMMY_FLAG_usePosVIS;_DUMMY_batteryStatus;_DUMMY_posVIS;altToprs_gain;altitude;begin_echo_index;camera_data;convert;e;e0_norm;image_data;number_HAL_read_call;number_of_echoes;opticalFlow_data;opticalFlow_datout;padding;pressure;rad-->deg;raw_altitude;sensordata_data;sensordata_datout;sensors;states;states_datin;temperature;temperature_lsb;u;v;x;y;z

BLOCKTYPE:
AirspeedIndicatorBlock;AltimeterBlock;Angle Conversion;ArtificialHorizonBlock;Assertion;Bias;BusCreator;BusSelector;Checks_SMin;ClimbIndicatorBlock;Clock;Color Space Conversion;Compare To Constant;Compare To Zero;Concatenate;Constant;Counter Free-Running;DataTypeConversion;DeadZone;Demux;Display;FromFile;FromSpreadsheet;Gain;HeadingIndicatorBlock;Inport;InportShadow;Integrator;Length Conversion;Logic;Math;Memory;ModelReference;Mux;Outport;PilotJoystick;Product;Quaternion Multiplication;RPMIndicatorBlock;RateTransition;Reshape;Rotate;S-Function;Saturate;Selector;SignalEditor;Sqrt;Sum;Switch;Terminator;Three-axis Inertial Measurement Unit;Trigonometry;Velocity Conversion;Virtual Reality Sink

BLOCKTYPE_FREQUENCY:
1;1;1;1;1;11;38;12;1;1;5;2;4;7;14;127;4;25;3;21;9;1;1;24;1;55;4;2;1;4;1;2;3;29;69;1;12;2;4;25;8;2;2;5;32;2;1;5;1;1;1;8;2;3


MODELNAME: nonlinearAirframe
ANNOTATION: Copyright 2013-2019 The MathWorks, Inc. Nonlinear Airframe Model
BLOCKTYPE_FREQUENCY: 1;1;1;1;7;1;1;1;6;38;2;15;3;1;1;1;1;3;1
CHECKSUM: 40B7FBF5A7E7CB8B4F47444C8B2276A6
PRODUCT: Aerospace Blockset;MATLAB;Simulink
PRODUCT_BASECODE: SL
PATH:
examples/parrot/projects/src/parrotMinidroneWaypointFollower/nonlinearAirframe/nonlinearAirframe.slx


MODELNAME: CruiseControl_RP
PATH: examples/polyspace_code_prover/main/CruiseControl_RP.slx
BLOCKTYPE: Demux;Inport;Outport;S-Function;Terminator
BLOCKTYPE_FREQUENCY: 1;12;4;1;1
CHECKSUM: 2DD55856A56EC3E260D3B4DDE4E1A405
PRODUCT: Embedded Coder;MATLAB;Simulink;Stateflow
BLOCK:
 Demux ; SFunction ; Terminator ;AccelResSw;Brake;Break;CC_Mode;CoastSetSw;Compute target speed;RES/+;SET/-;Speed;Speed_Act;Speed_Set;SubSystem;engaged;tspeed


MODELNAME: WhereAreTheErrors
PATH: examples/polyspace_code_prover/main/WhereAreTheErrors.slx
ANNOTATION: x Copyright 2010-2024 The MathWorks, Inc.
BLOCKTYPE_FREQUENCY: 5;4;1;2;6;2;5;2;1;4;1;1
CHECKSUM: 6CE9BE66721BC3E5DD73920B59A8E86B
PRODUCT: Embedded Coder;MATLAB;Simulink;Stateflow
BLOCK:
 Demux ; SFunction ; Terminator ;10* x / (x-y);Boolean;Compare To Constant;Constant;Divide;Double and with range;Gain;In;Logical Operator;Out;Reference;SubSystem;Sum;Switch;While less than ;k;x;y

BLOCKTYPE:
Compare To Constant;Constant;Demux;Gain;Inport;Logic;Outport;Product;S-Function;Sum;Switch;Terminator


MODELNAME: mSlccBusDemo
PATH: examples/polyspace_code_prover/main/mSlccBusDemo.slx
ANNOTATION: Copyright 2018 The MathWorks, Inc.
BLOCKTYPE: BusCreator;BusSelector;CCaller;Constant;Delay;Display;Inport;Outport
BLOCKTYPE_FREQUENCY: 3;1;1;2;1;3;1;3
CHECKSUM: B2A8D882EF5C97B3B2E9EAE65CB14C8E
PRODUCT: Embedded Coder;MATLAB;Simulink
BLOCK:
Bus Selector;C Function Caller;COUNTERBUSCreator;Delay;Display;In;LIMITBUSCreator;Out;SIGNALBUSCreator;lower_ saturation_ limit;upper_saturation_limit


MODELNAME: polyspace_controller_demo
PATH: examples/polyspace_code_prover/main/polyspace_controller_demo.slx
ANNOTATION: x
BLOCKTYPE_FREQUENCY: 1;5;5;1;2;4;24;2;1;18;4;2;10;2;2;2
CHECKSUM: 41C4E58D335FAD19E8B1F1C0849A4068
PRODUCT: Embedded Coder;MATLAB;Simulink;Stateflow
BLOCK:
 Demux ; SFunction ; Terminator ;10* x / (x-y);Battery info;Boolean;Cast;Command strategy;Compare To Constant;Constant;Cumulated angle;Divide;Double and with range;Fault Management;FaultTable;Full precision;Gain;In;LUT ramp;Logical Operator;Max Pressure;Merge;Out;PressureThd;Proportional;Reduced precision;Reference;Relay;Req Pressure;Req rate;Rotation;SubSystem;Sum;Switch;Unit Delay;While less than ;angle cmd;fault;fbk_pos;index;k;limit_ratio;pos cmd;strategy;synch_and_asynch_monitoring;x;y

BLOCKTYPE:
CFunction;Compare To Constant;Constant;DataTypeConversion;Demux;Gain;Inport;Logic;Lookup2D;Outport;Product;S-Function;Sum;Switch;Terminator;UnitDelay


MODELNAME: psdemo_model_link_sl_cscript
PATH: examples/polyspace_code_prover/main/psdemo_model_link_sl_cscript.slx
BLOCKTYPE_FREQUENCY: 1;4;1;5;1;2;23;1;3;1;18;2;2;1;2;1;6;1;1;6
CHECKSUM: 704DD2CB750816511946607600A3F987
PRODUCT: Embedded Coder;MATLAB;Polyspace Bug Finder Server;Simulink;Stateflow
EXTERNALFILE_REFERENCE: WhereAreTheErrors.slx___Model_Block___
ANNOTATION:
Description This model demonstrates Polyspace Code Verification for Model-Based Design generated code. Instructions To start the Polyspace verification: 1. Right-click the subsystem controller. 2. From the context-menu, select C/C++ Code > Build This Subsystem. The Build code for Subsystem dialog box opens. Click Build. 3. Right-click the subsystem controller. From the context-menu, select Polyspace > Verify Code Generated for > Selected Subsystem. The verification starts.   Controller Subsystem z The scope 1: -500 2000 2: -2000 4000 3: 0 500 4: 0 10 Copyright 2010-2024 The MathWorks, Inc.

BLOCK:
 Demux ; SFunction ; Terminator ;Battery info;Battery level;Cast;Command strategy;Constant;Cumulated angle;Engine rotation;Fault Management;FaultTable;Full precision;Gain;In;LUT ramp;Max Pressure;Merge;Out;PressureThd;Proportional;Reduced precision;Reference;Relay;Req Pressure;Req rate;Rotation;Scope;SubSystem;Subsystem;Sum;Switch;Unit Delay;User requested Pressure;User requested Rate;angle cmd;controller;fault;fbk_pos;index;limit_ratio;plant;pos cmd;relative threshold;requested pressure;simulated position;strategy;synch_and_asynch_monitoring

BLOCKTYPE:
CFunction;Constant;Counter Free-Running;DataTypeConversion;Demux;Gain;Inport;Lookup2D;ManualSwitch;ModelReference;Outport;Product;RandomNumber;S-Function;Scope;Sin;Sum;Switch;Terminator;UnitDelay


MODELNAME: CoolingFanWithFaults
PATH: examples/predmaint/data/Data_Generator/CoolingFanWithFaults.slx
BLOCKTYPE_FREQUENCY: 1;5;2;1;1;1;1;2;2;9;2;9;1;2;1;1;1;2;2;2;5;16;1;1;4;1;1;3;2;1;5;1;5;1;1;3;3;1;3;1;1
CHECKSUM: 02D863D437C6419D77D5ECC245010370
PRODUCT_BASECODE: PM
ANNOTATION:
Thermistor-Controlled Fan  1. Plot temperature and other conditions in system (see code) 2. Explore simulation results using sscexplore 3. Learn more about this example Copyright 2023 The MathWorks, Inc.

BLOCK:
A;Additional Heat Transfer Due To Fan;Aero Drag;Aerodynamic Drag;Air Temperature;Anomaly;Anomaly Flags;B;C;Case Temperature;Case Thermal Mass;Conduction Thermistor;Constant;Controlled PWM Voltage;Controlled Voltage Source;Convection Degradation;Convection Fan Forced;Convection Fan Power Degradation;Cyclic variation;DC Motor;DC Source Voltage;Display;Drag Coefficient;E;ERef;Environment;External Anomalies;External Temp;Fan Inertia;From;Gain;Goto;H-Bridge;Heat Flow;Heat Flow Source;Heat transfer coefficient;MRRef;Max;Meas ;Motion Sensor;Motor Speed;Motor Voltage;Mux;Nominal;Out;PS Add;PS Product;PS Random Number;PS Subtract;Q;R;Ramp;Reference;Resistor;Sensing Speed;Simulink-PS Converter;Solver Configuration;Square law;SubSystem;Subsystem;Sum;Temperature Sensor;Temperature Sensor Case;Temperature Sensor Env;Temperature Source;ThRef;Thermistor;Varying convection transfer;Voltage Sensor;mSignals;pwm;trq;w

BLOCKTYPE:
Conductive Heat Transfer;Constant;Controlled Heat Flow Rate Source;Controlled PWM Voltage;Controlled Temperature Source;Controlled Voltage Source;DC Motor;Display;Electrical Reference;From;Gain;Goto;H-Bridge;Ideal Rotational Motion Sensor;Ideal Torque Source;Inertia;Inport;Mechanical Rotational Reference;MinMax;Mux;Outport;PMIOPort;PS Add;PS Constant;PS Product;PS Random Number;PS Subtract;PS-Simulink Converter;Ramp;Resistor;Scope;SimscapeComponentBlock;Simulink-PS Converter;Sin;Solver Configuration;Sum;Temperature Sensor;Thermal Mass;Thermal Reference;Thermistor;Voltage Sensor

PRODUCT:
Predictive Maintenance Toolbox Documentation;Simscape;Simscape;Simscape;Simscape Electrical;Simulink


MODELNAME: px4demo_ADC
PATH: examples/px4/main/px4demo_ADC.slx
BLOCK: Demux;Display;PX4 Analog Input;Reference;Selector
BLOCKTYPE: Demux;Display;PX4 Analog Input;Selector
BLOCKTYPE_FREQUENCY: 1;2;1;1
CHECKSUM: 965FCE8F470A3ACA42A17A929D0B7C8F
PRODUCT: Embedded Coder;MATLAB;Simulink;UAV Toolbox Support Package for PX4 Autopilots
PRODUCT_BASECODE: UV
ANNOTATION:
Copyright 2018-2023 The MathWorks, Inc. PX4 Analog Input Read Analog Input voltage for the Pixhawk 4 channels The 3.3 V channels on Pixhawk 4 correspond to the channel ID 4 and 14 


MODELNAME: px4demo_AttitudeControllerJoystick
PATH: examples/px4/main/px4demo_AttitudeControllerJoystick.slx
BLOCKTYPE_FREQUENCY: 1;2;4;2;3;2;2;7;3;10;1;1;3;3;1;3;1;1;1;1;4;1
CHECKSUM: F1F4E974D59150F9CC2BD874F27DBDA1
PRODUCT_BASECODE: UV
ANNOTATION:
Roll Controller Pitch Controller Yaw-rate Controller Command to Actuators Read Joystick Data   Attitude Controller with Joystick Input for X type Quadrotor Vehicle using UAV Toolbox Support Package for PX4 Autopilots Attitude Controller  Read Vehicle Attitude Copyright 2019-2021 The MathWorks, Inc.

BLOCK:
Add;Arm;Attitude controller;Bus Assignment;Bus Selector;Constant;Data Type Conversion;Deadband;Degrees to Radians;Demux;Display;Gain;Mixer matrix;Mux;NOT;PID_pitch;PID_roll;PID_yaw_rate;PX4 PWM Output;PX4 uORB Read;PX4 uORB Write;Product;Quaternions to Rotation Angles;Reference;Reset;Selector;SubSystem;Terminator;To Actuator;des_pitch;des_roll;des_yaw_rate;pitch_angle;roll_angle;tau_Pitch;tau_Roll;tau_Thrust;tau_Yaw;tau_yaw;yaw_rate

BLOCKTYPE:
BusAssignment;BusSelector;Constant;DataTypeConversion;DeadZone;DegreesToRadians;Demux;Display;Gain;Inport;Logic;Mux;Outport;PID 1dof;PX4 PWM Output;PX4 uORB Read;PX4 uORB Write;Product;Quat2Ang;Selector;Sum;Terminator

PRODUCT:
Embedded Coder;MATLAB;Simulink;UAV Toolbox Support Package for PX4 Autopilots;Vehicle Dynamics Blockset


MODELNAME: px4demo_CAN
PATH: examples/px4/main/px4demo_CAN.slx
BLOCKTYPE_FREQUENCY: 1;1;1;1;6;1;2;2
CHECKSUM: 297B0C51218CACC6C744119D5E81DABD
PRODUCT: Embedded Coder;MATLAB;MATLAB Coder;Simulink;UAV Toolbox Support Package for PX4 Autopilots
PRODUCT_BASECODE: UV
ANNOTATION:
Receiver Side Transmitter Side  PX4 CAN Transmit and Receive example CAN Test Mode: Loopback Copyright 2022-2023 The MathWorks, Inc.

BLOCK:
Byte Pack;Byte Unpack;CAN Pack;Constant;Display;PX4 CAN Receive;PX4 CAN Transmit;Reference;Sine Wave

BLOCKTYPE:
Byte Unpack;Byte pack;CAN Pack;Constant;Display;Sin;px4.internal.block.PX4CANReceive;px4.internal.block.PX4CANTransmit


MODELNAME: px4demo_CAN_Pixhawk
PATH: examples/px4/main/px4demo_CAN_Pixhawk.slx
ANNOTATION: Copyright 2022-2023 The MathWorks, Inc. CAN Communication with Raspberry Pi using PX4 CAN Blocks
BLOCKTYPE_FREQUENCY: 1;1;2;1;2;4;1;1;1;1
CHECKSUM: C37F89C3F1109E36B8A1B32F342FD468
PRODUCT: Embedded Coder;MATLAB;MATLAB Coder;Simulink;UAV Toolbox Support Package for PX4 Autopilots
PRODUCT_BASECODE: UV
BLOCK:
Band-Limited White Noise;Byte Pack;Byte Unpack;Data Type Conversion;Display;Matrix Concatenate;PX4 CAN Receive;PX4 CAN Transmit;Reference;Selector;Sine Wave

BLOCKTYPE:
Band-Limited White Noise.;Byte Unpack;Byte pack;Concatenate;DataTypeConversion;Display;Selector;Sin;px4.internal.block.PX4CANReceive;px4.internal.block.PX4CANTransmit


MODELNAME: px4demo_CAN_Raspi
PATH: examples/px4/main/px4demo_CAN_Raspi.slx
BLOCK: Byte Pack;Byte Unpack;CAN Receive;CAN Transmit;Display;Gain;Reference;Selector
BLOCKTYPE_FREQUENCY: 2;1;2;1;2;1;1
CHECKSUM: A4D9496DAB793EA0A806AEACBD0DE4DC
PRODUCT: Embedded Coder;MATLAB;MATLAB Coder;Simulink;Simulink Support Package for Raspberry Pi Hardware
PRODUCT_BASECODE: UV
ANNOTATION:
Copyright 2022 The MathWorks, Inc.  CAN Communication with PX4 Autopilot using Raspberry Pi CAN Blocks

BLOCKTYPE:
Byte Unpack;Byte pack;Display;Gain;Selector;codertarget.raspi.internal.CANReceive;codertarget.raspi.internal.CANTransmit


MODELNAME: px4demo_I2C_MPU9250
PATH: examples/px4/main/px4demo_I2C_MPU9250.slx
BLOCKTYPE: Constant;DataTypeConversion;Demux;Display;EventListener;MATLABSystem;Product;SignalConversion
BLOCKTYPE_FREQUENCY: 4;1;1;4;1;4;1;3
CHECKSUM: E9CE685169A3F95ED5D63446F23AD25A
PRODUCT: Embedded Coder;MATLAB;Simulink;UAV Toolbox Support Package for PX4 Autopilots
PRODUCT_BASECODE: UV
ANNOTATION:
Copyright 2020-2023 The MathWorks, Inc. Read Accelerometer values from MPU9250 connected to PX4 Autopilot 

BLOCK:
 ;Accelerometer X data;Accelerometer Y data;Accelerometer Z data;Accelerometer register configuration;Constant;Data Type Conversion;Demux;Display;Event Listener;I2C Master Write;MPU9250 accel register;MPU9250 initialization;Power register configuration;Product;Sensor device configuration;Signal Conversion;SubSystem


MODELNAME: px4demo_PWM
PATH: examples/px4/main/px4demo_PWM.slx
ANNOTATION: Copyright 2018-2023 The MathWorks, Inc. PX4 PWM Display the current PWM values
BLOCKTYPE: BusSelector;Constant;Display;PX4 PWM Output;PX4 uORB Read;Selector;SignalConversion;Terminator
BLOCKTYPE_FREQUENCY: 1;5;1;2;1;1;1;1
CHECKSUM: E71D5A1F787F79DE03E7A4CEEF64E55E
PRODUCT: Embedded Coder;MATLAB;Simulink;UAV Toolbox Support Package for PX4 Autopilots
PRODUCT_BASECODE: UV
BLOCK:
ARM PWM;AUX PWM Ch 1,2,3,4 value;Bus Selector;Display;MAIN PWM Ch 1,2 value;PX4 PWM Output;PX4 uORB Read;Reference;Selector;Signal Conversion;Terminator;failsafe


MODELNAME: px4demo_PositionAndRateController
PATH: examples/px4/main/px4demo_PositionAndRateController.slx
BLOCKTYPE_FREQUENCY: 1;1;2;8;1;5;1;7;3;4;3;2;22;1;2;3;8;9;1;3;1;2;1;1;1;3;2;16;10;2;1;1
CHECKSUM: F7410FF8FD86F9440A0E075D1B15590F
PRODUCT_BASECODE: UV
ANNOTATION:
Attitude Controller Velocity Controller Position Controller Pitch Controller Rate Controller  Position Controller Yaw Controller Input Sliders Command to Actuators Tuning Sliders Attitude Controller Desired Position, Altitude and Yaw Position, Velocity and Altitude Controller Read Vehicle Attitude Read Vehicle Position Auxilary system  Altitude and Position Tracking via Rate Controllers for X type Quadrotor Vehicle using UAV Toolbox Support Package for PX4 Autopilots  Copyright 2019-2022 The MathWorks, Inc.  Desired XY Position, Altitude and Yaw can be changed by these sliders

BLOCK:
 Demux ; SFunction ; Terminator ;Abs;Add;Arm;Attitude controller;Bus Assignment;Bus Selector;Calculate minimum Turn;Constant;Data Store Memory;Data Store Read;Data Store Write;Data Type Conversion;Degrees to Radians;Demux;Display;Gain;Manual Switch;MatrixMultiply;Mixer matrix;Mux;NOT;PID_Altitude;PID_pitch;PID_roll;PID_vx;PID_vy;PID_vz;PID_x;PID_y;PID_yaw;PX4 PWM Output;PX4 uORB Read;PX4 uORB Write;Position & Altitude controller;Product;Quaternions to Rotation Angles;R;Reference;Reset;Rotation mat ;Scope;Signal Conversion;Sine Wave;Slider;SubSystem;Subtract;Switch;To Actuator;Toggle Switch;Tune Pitch PID;Tune Vx PID;Tune XY PID;Tune Yaw PID;adjusted error;desX;desY;des_alt;des_pitch;des_roll;des_x;des_y;des_yaw;error;pitch_angle;roll_angle ;tau_Pitch;tau_Roll;tau_Thrust;tau_Yaw;tau_yaw;theta;vx;vy;vz;x;y;yaw_angle;z

BLOCKTYPE:
Abs;BusAssignment;BusSelector;Constant;DataStoreMemory;DataStoreRead;DataStoreWrite;DataTypeConversion;DegreesToRadians;Demux;Display;Gain;Inport;Logic;ManualSwitch;Mux;Outport;PID 1dof;PX4 PWM Output;PX4 uORB Read;PX4 uORB Write;Product;Quat2Ang;S-Function;Scope;SignalConversion;Sin;SliderBlock;Sum;Switch;Terminator;ToggleSwitchBlock

PRODUCT:
Embedded Coder;MATLAB;Simulink;UAV Toolbox Support Package for PX4 Autopilots;Vehicle Dynamics Blockset


MODELNAME: px4demo_PositionController_quadrotor
PATH: examples/px4/main/px4demo_PositionController_quadrotor.slx
BLOCKTYPE_FREQUENCY: 1;1;2;8;1;7;1;4;3;4;3;3;19;1;2;3;9;6;1;3;1;2;1;3;1;3;2;11;7;2;1;1
CHECKSUM: D00207C9899E8130DBB56879B3CC4FFD
PRODUCT_BASECODE: UV
ANNOTATION:
Attitude Controller Position Controller Pitch Controller  Position Controller Yaw Controller Read Vehicle Attitude  Desired XY Position, Altitude and Yaw can be changed by these sliders Position & Altitude Controller  Altitude and Position Tracking Controller for X type Quadrotor Vehicle using UAV Toolbox Support Package for PX4 Autopilots Copyright 2019-2022 The MathWorks, Inc. Input Sliders Tuning Sliders Command to Actuators Auxilary system Attitude Controller Desired Position, Altitude and Yaw Read Vehicle Position

BLOCK:
 Demux ; SFunction ; Terminator ;Abs;Add;Arm;Attitude controller;Bus Assignment;Bus Selector;Calculate minimum Turn;Constant;Data Store Memory;Data Store Read;Data Store Write;Data Type Conversion;Degrees to Radians;Demux;Display;Gain;Manual Switch;MatrixMultiply;Mixer matrix;Mux;NOT;PID_Altitude;PID_pitch;PID_roll;PID_x;PID_y;PID_yaw;PX4 PWM Output;PX4 uORB Read;PX4 uORB Write;Position & Altitude controller;Product;Quaternions to Rotation Angles;R;Rate Limiter;Reference;Reset;Rotation mat ;Signal Conversion;Sine Wave;Slider;SubSystem;Subtract;Switch;To Actuator;Toggle Switch;Tune Pitch PID;Tune X PID;Tune Yaw PID;adjusted error;desX;desY;des_alt;des_pitch;des_roll;des_x;des_y;des_yaw;error;pitch_angle;roll_angle;tau_Pitch;tau_Roll;tau_Thrust;tau_Yaw;tau_yaw;theta;x;y;yaw;yaw_angle;z

BLOCKTYPE:
Abs;BusAssignment;BusSelector;Constant;DataStoreMemory;DataStoreRead;DataStoreWrite;DataTypeConversion;DegreesToRadians;Demux;Display;Gain;Inport;Logic;ManualSwitch;Mux;Outport;PID 1dof;PX4 PWM Output;PX4 uORB Read;PX4 uORB Write;Product;Quat2Ang;RateLimiter;S-Function;SignalConversion;Sin;SliderBlock;Sum;Switch;Terminator;ToggleSwitchBlock

PRODUCT:
Embedded Coder;MATLAB;Simulink;UAV Toolbox Support Package for PX4 Autopilots;Vehicle Dynamics Blockset


MODELNAME: px4demo_QGCWaypointFollower_hitl
PATH: examples/px4/main/px4demo_QGCWaypointFollower_hitl.slx
BLOCKTYPE_FREQUENCY: 1;4;4;1;3;12;4;6;9;6;10;1;67;1;3;2;1;9;40;10;1;1;4;2;1;1;2;5;9;3;1;1;11;14;9;9;1;3;1
CHECKSUM: 7BCDCC84596C928DD01D990AF34EC77E
PRODUCT_BASECODE: UV
ANNOTATION:
This ensures that the landing process is smooth by continously decrementing the altitude, instead of a sudden fall. This logic takes care of the case when Land waypoint altitude is not 0  Read Waypoints from the Mission uploaded from GroundControl station and follow it  This model is setup for HITL Mode. Follow the instructions mentioned at this documentation to set the QGC in HITL mode. Copyright 2021-2023 The MathWorks, Inc.

BLOCK:
Abs;Action Port;Add;Altitude Signal conditioning;Ang Rate;Ang rate;Armed;Attitude controller;Bus Selector;Calculate Transformation Matrix;Calculate minimum Turn;Compare To Constant;Constant;Controller;Current Position;Current Velocity;Current WP;Current Waypoints;Data Type Conversion;Delay;Demux;Desired Position;Desired Yaw;Desired_Pose;Enable;Enabled Subsystem;Ensure Smooth descend during Land;Ensure smooth ascend during Takeoff;Estimated Position & Yaw;Estimated Velocity;Estimated xyz;Estimated xyzYaw;Estimator Output;Gain;GreaterThan;Guidance Subsystem;IDLE;If;In;IsNaN;Land;LookAhead Point;Maintain Current Yaw during IDLE;Maintain Current Yaw during Land;Maintain Current Yaw during TakeOff;Matrix Concatenate;MatrixMultiply;Merge;Mixer & Send to Actuator;Mixer matrix;Mux;Navigation;Next WP;Next Waypoints;OR;Out;Output signal conditioning;PID Controller;PID_Altitude;PID_vz;PX4 PWM Output;PX4 uORB Read;Position;Position & Altitude controller;Position & Rate Controller;Previous WP;Previous Waypoints;Product;Quaternion;Quaternion ;Quaternion Norm;Quaternion Validity Check;Quaternions to Rotation Angles;R;Rate;Rate Limiter;Rate of descent;Read Position Setpoint from Mission set in QGC;Reference;Relational Operator;Reshape;Saturation;Saturation Dynamic;Scope;Selector;SinCos;SubSystem;Subtract;Sum;Switch;Take-off;Terminator;Transpose;UAV Waypoint Follower;Unary Minus;Valid quat;Velocity;Waypoint;Waypoint Type;des_alt;des_pitch;des_roll;des_x;des_y;des_yaw;tau_Pitch;tau_Roll;tau_Roll ;tau_Thrust;tau_Yaw;tau_yaw;theta;vehicle_attitude;vehicle_local_pos;vx;vy;vz;x;x_y_z_yaw;xyzYaw;y;yaw_In;yaw_Out;yaw_angle;ypr;z;z_In

BLOCKTYPE:
Abs;ActionPort;BusSelector;Compare To Constant;Concatenate;Constant;DataTypeConversion;Delay;Demux;EnablePort;Gain;If;Inport;InportShadow;Logic;Math;Merge;Mux;Outport;PID 1dof;PX4 PWM Output;PX4 Read Position Setpoint;PX4 uORB Read;Product;Quat2Ang;Quaternion Norm;RateLimiter;RelationalOperator;Reshape;Saturate;Saturation Dynamic;Scope;Selector;Sum;Switch;Terminator;Trigonometry;UnaryMinus;uav.sluav.internal.system.WaypointFollower

PRODUCT:
Embedded Coder;MATLAB;Simulink;UAV Toolbox;UAV Toolbox Support Package for PX4 Autopilots;Vehicle Dynamics Blockset


MODELNAME: px4demo_Read_Parameter
PATH: examples/px4/main/px4demo_Read_Parameter.slx
BLOCKTYPE: Display;Mux;PX4 Gyroscope;PX4 Read Parameter;Product;Scope;Sum;Terminator
BLOCKTYPE_FREQUENCY: 6;3;1;6;3;1;3;7
CHECKSUM: 959F35AF0D3DBBD36E3DB2A89F7F7C6A
PRODUCT: Embedded Coder;MATLAB;Simulink;UAV Toolbox Support Package for PX4 Autopilots
PRODUCT_BASECODE: UV
ANNOTATION:
 PX4 Read Parameter - Calculate Offset-Scaled Gyro Readings  Copyright 2019-2023 The MathWorks, Inc.

BLOCK:
Add;Display;Divide;Gyroscope;Mux;Offset-Scaled Gyro Readings;Raw Gyro Readings;Read Parameter;Reference;Scaled Gyro Readings;Scope;Terminator


MODELNAME: px4demo_attitudeSystem
PATH: examples/px4/main/px4demo_attitudeSystem.slx
ANNOTATION: Copyright 2018-2023 The MathWorks, Inc. PX4 Attitude Control System
BLOCKTYPE_FREQUENCY: 2;2;1;1;3;1;1;1;1;1;5
CHECKSUM: 56E3D268E2F55251096A63205A702DAE
PRODUCT: Embedded Coder;MATLAB;Simulink;UAV Toolbox Support Package for PX4 Autopilots
PRODUCT_BASECODE: UV
EXTERNALFILE_REFERENCE: px4demo_attitude_control.slx___Model_Block___
BLOCK:
 Demux ; SFunction ; Terminator ;Constant;Demux;Gyroscope;Model;PX4 PWM Output;Radio Control Transmitter;Reference;SubSystem;Terminator;Vehicle Attitude;phi;psi;q;quat2eul;theta

BLOCKTYPE:
Constant;Demux;Inport;ModelReference;Outport;PX4 Gyroscope;PX4 PWM Output;PX4 Radio Control Transmitter;PX4 Vehicle Attitude;S-Function;Terminator


MODELNAME: px4demo_attitudeSystemMultirate
PATH: examples/px4/main/px4demo_attitudeSystemMultirate.slx
ANNOTATION: Copyright 2018-2022 The MathWorks, Inc.
BLOCKTYPE_FREQUENCY: 1;2;4;6;4;4;26;5;15;5;1;1;1;1;1;5;5;4
CHECKSUM: CE6B6BA5BB8B5B14973D89330679C473
PRODUCT: Embedded Coder;MATLAB;Simulink;UAV Toolbox Support Package for PX4 Autopilots
PRODUCT_BASECODE: UV
BLOCK:
 Demux ; SFunction ; Terminator ;1 / rad_max;1 / rads_max;1 / rads_max_yaw;ARMINGControl;Attitude Control;AttitudeControl;Compare To Constant;Constant;Data Type Conversion;Demux;Fcn;Gain;Gyroscope;In;InputConditioning;M;Mux;Out;Output_Limits;PX4 PWM Output;Pitch;Radio Control Transmitter;Reference;Roll;Roll_Pitch;Saturation;SubSystem;Sum;Terminator;Thrust;Vehicle Attitude;Yaw;p;phi;pitch;pitch_attitude;pitch_rate;pwm_out;q;r;roll;roll_attitude;roll_pitch;roll_rate;theta;thrust;yaw;yaw_rate

BLOCKTYPE:
Compare To Constant;Constant;DataTypeConversion;Demux;Fcn;Gain;Inport;Mux;Outport;PID 1dof;PX4 Gyroscope;PX4 PWM Output;PX4 Radio Control Transmitter;PX4 Vehicle Attitude;S-Function;Saturate;Sum;Terminator


MODELNAME: px4demo_attitude_control
PATH: examples/px4/main/px4demo_attitude_control.slx
ANNOTATION: Copyright 2018-2023 The MathWorks, Inc. PX4 Attitude Control
BLOCKTYPE_FREQUENCY: 1;4;5;4;4;26;5;15;5;1;5;5;1
CHECKSUM: 8CD09DB6B7A23E0A1C1E81ABCBCC44B1
PRODUCT: Embedded Coder;MATLAB;Simulink
PRODUCT_BASECODE: UV
BLOCK:
 Demux ; SFunction ; Terminator ;1 / rad_max;1 / rads_max;1 / rads_max_yaw;ARM Control;ARMINGControl;AttitudeControl;Compare To Constant;Data Type Conversion;Demux;Fcn;Gain;In;InputConditioning;M;Mux;Out;Output_Limits;PWM;Pitch;Reference;Roll;Roll_Pitch;Saturation;SubSystem;Sum;Thrust;Yaw;p;phi;pitch;pitch_attitude;pitch_rate;pwm_out;q;r;roll;roll_attitude;roll_pitch;roll_rate;theta;thrust;yaw;yaw_rate

BLOCKTYPE:
Compare To Constant;DataTypeConversion;Demux;Fcn;Gain;Inport;Mux;Outport;PID 1dof;S-Function;Saturate;Sum;Terminator


MODELNAME: px4demo_attitude_plant
PATH: examples/px4/main/px4demo_attitude_plant.slx
ANNOTATION: Copyright 2018-2023 The MathWorks, Inc.
BLOCKTYPE_FREQUENCY: 1;21;11;5;5;8;10;2;14;1;4;1;8;8;12;2;8;5;4;1;3;10;1;8;1
CHECKSUM: D3B1137C4CF2DC8A525B8FD94EF255B6
PRODUCT: Aerospace Blockset;MATLAB;Simulink
PRODUCT_BASECODE: UV
EXTERNALFILE_REFERENCE: px4demo_attitude_control___Model_Block___
BLOCK:
6DoF (Quaternion);ARM Control;Cd;ControlSubsystem;DCM;Data Type Conversion;Demux;Divide;Forces;Gain;Ground;ISA Atmosphere Model;Invensense MPU-;Math Function;Matrix Multiply;Mux;PWM;PWM_CMD;Pitch;Rate Transition;Reference;Roll;Roll_Cmd;Roll_Pitch_scope;Saturation;Scope;Selector;Sensor;Sign;Step;SubSystem;Sum;Sum of Elements;Switch;Terminator;Thrust;Vb;Vr;Yaw;ac_diameter_m;cgx;cgy;cgz;constant;dynamic_model;gx;gy;gz;mass_kg;mixer_hex;moments;normalize;normalized_signals;p;pqr_scope;prop_diameter_m;pwm;q;r;rho;subsytem;voltage

BLOCKTYPE:
6DoF EoM (Body Axis);Constant;DataTypeConversion;Delay;Demux;Fcn;Gain;Ground;Inport;International Standard Atmosphere Model;Math;ModelReference;Mux;Outport;Product;RateTransition;Saturate;Scope;Selector;Signum;Step;Sum;Switch;Terminator;Three-axis Inertial Measurement Unit


MODELNAME: px4demo_log
PATH: examples/px4/main/px4demo_log.slx
BLOCKTYPE: Compare To Constant;Constant;Counter Free-Running;Gain;Sin;Switch;ToWorkspace
BLOCKTYPE_FREQUENCY: 1;3;1;1;1;1;4
CHECKSUM: FC3582B26BFD5A8B19A8498260424A2D
PRODUCT: Embedded Coder;MATLAB;Simulink
PRODUCT_BASECODE: UV
ANNOTATION:
SD Card Logging Simulation Sources and Inputs Data Display and Outputs Algorithm Copyright 2020-2022 The MathWorks, Inc.

BLOCK:
Compare To Constant;Constant;Counter Free-Running;Gain;OFF;ON;Reference;Sine Wave;Switch;To Workspace


MODELNAME: px4demo_profiling
PATH: examples/px4/main/px4demo_profiling.slx
ANNOTATION: Profiling with XCP External Mode Copyright 2021-2023 The MathWorks, Inc.
BLOCKTYPE_FREQUENCY: 2;1;1;1;1;1;8;1;1;1;1
CHECKSUM: E884213636A90A757A2D66818076B4C7
PRODUCT: Embedded Coder;MATLAB;Simulink;UAV Toolbox Support Package for PX4 Autopilots
PRODUCT_BASECODE: UV
BLOCK:
Accelerometer;Constant;Counter Free-Running;Data Type Conversion;For Iterator;For Iterator Subsystem;Gain;In;Out;Product;Reference;Sine Wave;SubSystem;Sum

BLOCKTYPE:
Constant;Counter Free-Running;DataTypeConversion;ForIterator;Gain;Inport;Outport;PX4 Accelerometer;Product;Sin;Sum


MODELNAME: px4demo_serial
PATH: examples/px4/main/px4demo_serial.slx
BLOCKTYPE_FREQUENCY: 1;1;1;2;1;1;2;1;1;1;1;1;2;1;2;2
CHECKSUM: DFB994E71370D5971D69004E68C9A458
PRODUCT: Embedded Coder;MATLAB;Simulink;UAV Toolbox Support Package for PX4 Autopilots
PRODUCT_BASECODE: UV
ANNOTATION:
Read the Serial data from Host machine and send Accelerometer data back to Host   PX4 Serial Transmit and Receive Copyright 2019-2023 The MathWorks, Inc.  This model works along with a MATLAB Script that is to be executed on the Host machine after deploying this model onto the Pixhawk board. The MATLAB Script requests the board to send the accelerometer data back to the host. 

BLOCK:
 Demux ; SFunction ; Terminator ;Accelerometer;Data Type Conversion;Enable;Function-Call Generator;Function-Call Split;Header;In;MATLAB Function;Mux;NOT;Reference;Send Accel Data - Subsystem;Send Accelerometer Data;Send Header Subsystem;Serial Receive;Serial Transmit;SubSystem;Subsystem;Terminator;data;en;function

BLOCKTYPE:
Constant;DataTypeConversion;Demux;EnablePort;Function-Call Generator;FunctionCallSplit;Inport;Logic;Mux;Outport;PX4 Accelerometer;PX4 Serial Receive;PX4 Serial Transmit;S-Function;Terminator;TriggerPort


MODELNAME: px4demo_uORBRead
PATH: examples/px4/main/px4demo_uORBRead.slx
BLOCK: Bus Selector;Display;PX4 uORB Read;Reference
BLOCKTYPE: BusSelector;Display;PX4 uORB Read
BLOCKTYPE_FREQUENCY: 3;16;3
CHECKSUM: 9C6DA28E90BA7296B1D87B4D4B6CB251
PRODUCT: Embedded Coder;MATLAB;Simulink;UAV Toolbox Support Package for PX4 Autopilots
PRODUCT_BASECODE: UV
ANNOTATION:
Copyright 2018-2023 The MathWorks, Inc. PX4 uORB Read Read sensor_accel (Accelerometer) uORB data  Read sensor_gyro (Gyroscope) uORB data  Read sensor_baro (pressure) uORB data 


MODELNAME: px4demo_uORBReadWrite
PATH: examples/px4/main/px4demo_uORBReadWrite.slx
BLOCKTYPE: BusAssignment;BusSelector;Constant;Display;PX4 uORB Message;PX4 uORB Read;PX4 uORB Write
BLOCKTYPE_FREQUENCY: 1;1;4;5;1;1;1
CHECKSUM: FE5F85F19232BE81B1D2AB3C25F197C7
PRODUCT: Embedded Coder;MATLAB;Simulink;UAV Toolbox Support Package for PX4 Autopilots
PRODUCT_BASECODE: UV
ANNOTATION:
Copyright 2018-2023 The MathWorks, Inc. PX4 uORB Read and Write Write uORB data  Read back uORB data 

BLOCK:
Bus Assignment;Bus Selector;Constant;Display;PX4 uORB Message;PX4 uORB Read;PX4 uORB Write;Reference


MODELNAME: px4demo_uORB_actuator
PATH: examples/px4/main/px4demo_uORB_actuator.slx
BLOCKTYPE: BusAssignment;Constant;DataTypeConversion;Mux;PX4 uORB Message;PX4 uORB Write
BLOCKTYPE_FREQUENCY: 1;5;1;1;1;1
CHECKSUM: FE37B8D90D27C6DC5E5B3D7FB95C8F92
PRODUCT: Embedded Coder;MATLAB;Simulink;UAV Toolbox Support Package for PX4 Autopilots
PRODUCT_BASECODE: UV
ANNOTATION:
 Note: 1. This model would spin all the motors at 20% throttle. Disconnect propellers before deploying the model. 2. After deploying this model, arm the autopilot either using QGC or RC inputs. 3. DShot ESCs do not work when the actuator_controls_0 update rate is too low. Hence the model is set to run at 100Hz.  PX4 - Actuator Control using uORB Copyright 2022 The MathWorks, Inc.

BLOCK:
Bus Assignment;Constant;Data Type Conversion;Mux;PX4 uORB Message;PX4 uORB Write;Reference;pitch torque (-1, 1);roll torque (-1,1);thrust (0, 1);yaw torque (-1, 1)


MODELNAME: px4demo_ulog
PATH: examples/px4/main/px4demo_ulog.slx
BLOCKTYPE: Compare To Constant;Constant;Counter Free-Running;Gain;PX4 ULog;Sin;Switch
BLOCKTYPE_FREQUENCY: 1;6;4;1;1;1;1
CHECKSUM: 013ACC9E4EFD2A7D6E740AC4FB9332FE
PRODUCT: Embedded Coder;MATLAB;Simulink;UAV Toolbox Support Package for PX4 Autopilots
PRODUCT_BASECODE: UV
ANNOTATION:
Simulation sources and Inputs  Algorithm Logging  Logging Simulink signals in ULog format Copyright 2023 The MathWorks, Inc.

BLOCK:
Compare To Constant;Constant;Counter Free-Running;Multiply;OFF;ON;PX4 ULog;Reference;Sine Wave;Switch


MODELNAME: FlightController
PATH: examples/px4/projects/src/Px4DemoHostTargetWithSimulinkPlant/models/FlightController.slx
ANNOTATION: Attitude Controller Velocity Controller Position Controller Copyright 2020-2021 The MathWorks, Inc.
BLOCKTYPE_FREQUENCY: 3;3;4;3;6;2;26;2;18;9;2;1;1;1;1;3;9;1
CHECKSUM: 7AB76B492DE9E5EB95DA6A5E11731DFD
PRODUCT: Embedded Coder;MATLAB;Simulink;Vehicle Dynamics Blockset
PRODUCT_BASECODE: UV
BLOCK:
 Demux ; SFunction ; Terminator ;Actuators;Add;Arming;Attitude controller;Bus Selector;Commands;Constant;Controller;Current_Att;Current_Attitude;Current_Pos;Current_Vel;Data Type Conversion;Degrees to Radians;Demux;Des_command;Gain;Inputs;MatrixMultiply;Mixer matrix;Mux;Omega;Omega to PX4 PWM;PID_Altitude;PID_pitch;PID_roll;PID_vx;PID_vy;PID_vz;PID_x;PID_y;PID_yaw;Position & Altitude controller;Product;Px4 PWM;Quaternions to Rotation Angles;R;Reference;Reshape;Rotation mat ;Saturation;Selector;Signal Conditioning;SubSystem;Subtract;Sum;To Actuator;XYZ;XYZ from Vehicle Local Position;Y,P,R;Y,P,R from Vehicle Attitude;des_command;des_pitch;des_roll;dx,dy,dz;dx,dy,dz from vehile_local_position;tau_Pitch;tau_Roll;tau_Thrust;tau_Yaw;tau_yaw;theta;uORB_vehicle_local_position;uorb_vehicle_attitude;uorb_vehicle_local_position

BLOCKTYPE:
BusSelector;Constant;DataTypeConversion;DegreesToRadians;Demux;Gain;Inport;Mux;Outport;PID 1dof;Product;Quat2Ang;Reshape;S-Function;Saturate;Selector;Sum;Terminator


MODELNAME: Quad_Plant_dynamics
PATH: examples/px4/projects/src/Px4DemoHostTargetWithSimulinkPlant/models/Quad_Plant_dynamics.slx
BLOCKTYPE_FREQUENCY: 1;2;1;3;1;13;12;3;10;18;15;45;1;3;2;3;31;7;1;6;2;2;4;3;1;7;8;1;4;1;1;2;1
CHECKSUM: F3313E15920B262BBC7A8D37559AEBF5
PRODUCT: MATLAB;Navigation Toolbox;Simulink;UAV Toolbox;Vehicle Dynamics Blockset
PRODUCT_BASECODE: UV
EXTERNALFILE_REFERENCE: Create_LLA_from_States___SubsystemReference_Block___
ANNOTATION:
 Refer this link for understanding the different fields of HIL_GPS message https://github.com/mavlink/mavlink/blob/master/message_definitions/v1.0/common.xml#L5677  Refer this link for understanding the different fields of HIL_STATE_QUATERNION message https://github.com/mavlink/mavlink/blob/master/message_definitions/v1.0/common.xml#L5711  Pennestrì, E., Rossi, V., Salvini, P. et al. Review and comparison of dry friction force models. Nonlinear Dyn 83, 1785–1801 (2016). https://doi.org/10.1007/s11071-015-2485-3  Contact force: Body is assumed as a point mass on a spring mass damper. Soft Coulomb friction model is used to simulate friction. Note: Contact forces are sensed by accelerometer model. A hard contact model would generate high switching forces that can affect the estimators performance on ground. Hence soft contact models are used.  Based on jmavsim quadcopter model  Refer this link for understanding the different fields of HIL_SENSOR message https://github.com/mavlink/mavlink/blob/master/message_definitions/v1.0/common.xml#L5608 Copyright 2020-2022 The MathWorks, Inc.

BLOCK:
 Demux ; SFunction ; Terminator ;6DOF Rigid body dynamics ;Acc;Add;Aerodynamic drag;Bias;Bus Assignment;Bus Creator;Bus Selector;Constant;Coordinate Transformation Conversion;Counter Free-Running;Create States Bus;DCM_be;DCM_eb;DCMbe;Damper Kp;Data Type Conversion;Demux;F_d;F_g;F_rotors;F_xyz;Fb_contact;Fn;Force and Moment Calculation;Friction;Friction Force;Gain;Gravity;Ground Model;Gyro;HIL GPS;HIL GPS Creation subsystem;HIL Quaternion;HIL Quaternion Creation Subsystem;HIL Sensor;Hil Sensor Creation subsystem;IMU;IMU Subsystem;INS;INS/GPS Subsystem;If unknown, set to: ;In;Inport;Inputs;Inputs [0-1];MATLAB Function;MAVLink Blank Message;M_rotors;M_xyz;Mag;Matrix Multiply;Multiply;Mux;Normal;Normal Force;Number of satellites visible. If unknown, set to ;Out;Product;Quadcopter model;Rate Transition;Reference;Reshape;Rotation Angles to Quaternions;Rotor Model;Saturation;Selector;Sensors Subsystem;Set this flag to indicate all flags are updated;Soft Coulomb Friction;Spring Kp;States;SubSystem;Subsystem Reference;Switch;Tanh;Terminator;Thrust model;Torque model;Transfer Fcn;Transpose;UAV Animation;Unary Minus;V;Vb;Ve;Vel;Velocity;Visualization Subsystem;Vz;Xe;Z;acc_lnav;airVel;calcDragVector;dragCoeff;dragVec;friction coefficient;gain;m/s to cm/s;m/s^2 to mG;netF;netM;pqr;relative air velocity (body frame);rotorDir;rotorPositions;tauEachRotor;thrustEachRotor;vd;wb;wind (body frame);ypr

BLOCKTYPE:
6DOF EoM (Body Axis);Ang2Quat;Bias;BusAssignment;BusCreator;BusSelector;Constant;Counter Free-Running;DataTypeConversion;Demux;Gain;Inport;InportShadow;MAVLink Blank Message;Math;Mux;Outport;Product;RateTransition;Reshape;S-Function;Saturate;Selector;Sum;Switch;Terminator;TransferFcn;Trigonometry;UnaryMinus;fusion.internal.simulink.insSensor;fusion.simulink.imuSensor;robotics.slcore.internal.block.CoordinateTransformationConversion;uav.sluav.internal.system.UAVAnimation


MODELNAME: Quad_Plant_top
PATH: examples/px4/projects/src/Px4DemoHostTargetWithSimulinkPlant/models/Quad_Plant_top.slx
ANNOTATION: Copyright 2020-2022 The MathWorks, Inc.
BLOCKTYPE_FREQUENCY: 1;1;2;3;1;1;1;5;1;1;4;1;1;1;4
CHECKSUM: D52F791584A7477E85FF9502BC8392C6
PRODUCT: MATLAB;Simulink;UAV Toolbox
PRODUCT_BASECODE: UV
EXTERNALFILE_REFERENCE: Quad_Plant_dynamics.slx___Model_Block___
BLOCK:
Bus Assignment;Bus Selector;Constant;Controls;Data Type Conversion;Display;Enable;Enabled Subsystem;MATLAB System;MAVLink Blank Message;MAVLink Deserializer;MAVLink Serializer;Model;Reference;Selector;Send Heartbeat;SubSystem;Terminator;byteStreamInput

BLOCKTYPE:
BusAssignment;BusSelector;Constant;DataTypeConversion;Display;EnablePort;Inport;MATLABSystem;MAVLink Blank Message;MAVLink Deserializer;MAVLink Serializer;ModelReference;Outport;Selector;Terminator


MODELNAME: QuadcopterSimulation
PATH: examples/px4/projects/src/Px4DemoHostTargetWithSimulinkPlant/models/QuadcopterSimulation.slx
BLOCKTYPE_FREQUENCY: 3;5;15;6;3;14;1;1;1;2;2;12;2;5;1;3;2;1;1;2;3;1
CHECKSUM: D1BF97421A14F243831E34D6C9061263
PRODUCT: Aerospace Blockset;MATLAB;Simulink;UAV Toolbox;UAV Toolbox Support Package for PX4 Autopilots
PRODUCT_BASECODE: UV
EXTERNALFILE_REFERENCE: FlightController.slx___Model_Block___Quad_Plant_dynamics.slx___Model_Block___
ANNOTATION:
Desired Position, Altitude and Yaw This subsystem imitates the MAVLink HIL_ACTUATOR_CONTROLS Read block. The MAVLink HIL_ACTUATOR_CONTROLS Read block outputs the actuator values in the range of 0-1.  Commanded Altitude (m)  Circular Guidance Copyright 2020 The MathWorks, Inc.

BLOCK:
<controls>;Bus Assignment;Bus Selector;Commands;Constant;Controller ;Controller Model;Data Type Conversion;Demux;Divide;HIL Actuator;HIL GPS;HIL Quaternion;HIL Sensor;HIL_Quaternion;HIL_Sensor;Inputs;LLA to Flat Earth;MAVLINK Read;MAVLink + Simulator module + Estimator Subsystem;MAVLink Blank Message;Model;Mux;PX4 PWM;PX4 uORB Message;Plant and Visualization;Rate Transition;Reference;Selector;Simulator module - Create HIL Actuator Bus Subsystem;Slider;SubSystem;Subtract;Switch;Terminator;Toggle Switch;Vehicle Attitude;Vehicle Local Position;XYZ;XYZ from HIL_Quaternion;X_SwitchOn_Sine Wave;des_alt;des_x;des_y;des_yaw;uORB_vehicle_attitude;uORB_vehicle_local_position;x*;y*

BLOCKTYPE:
BusAssignment;BusSelector;Constant;DataTypeConversion;Demux;Inport;InportShadow;LLA to Flat Earth;MAVLink Blank Message;ModelReference;Mux;Outport;PX4 uORB Message;Product;RateTransition;Selector;Sin;SliderBlock;Sum;Switch;Terminator;ToggleSwitchBlock


MODELNAME: px4Demo_FlightController_top
BLOCKTYPE_FREQUENCY: 5;1;2;1;1;1;1;1;2;1;2;1;2;1
CHECKSUM: ECB8624F35327C2DCCC977F3916F3FC8
PRODUCT: Embedded Coder;MATLAB;Simulink;UAV Toolbox Support Package for PX4 Autopilots
PRODUCT_BASECODE: UV
EXTERNALFILE_REFERENCE: FlightController.slx___Model_Block___
PATH:
examples/px4/projects/src/Px4DemoHostTargetWithSimulinkPlant/models/px4Demo_FlightController_top.slx

ANNOTATION:
Desired Position, Altitude and Yaw  Commanded Altitude (m)  Circular Guidance Copyright 2020-2021 The MathWorks, Inc.

BLOCK:
Commands;Demux;Display;Model;Mux;NOT;PX4 PWM Output;PX4 uORB Read;Rate Transition;Reference;Slider;SubSystem;Switch;Toggle Switch;X_SwitchOn_Sine Wave;des_alt;des_x;des_y;des_yaw;x*;y*

BLOCKTYPE:
Constant;Demux;Display;Logic;ModelReference;Mux;Outport;PX4 PWM Output;PX4 uORB Read;RateTransition;Sin;SliderBlock;Switch;ToggleSwitchBlock


MODELNAME: UAV_Dynamics
PATH: examples/px4/projects/src/px4demo_HITLSimulinkFixedWingPlant/SimulinkPlant/UAV_Dynamics.slx
BLOCKTYPE_FREQUENCY: 1;8;18;60;21;2;1;19;9;20;9;13;1;189;2;5;1;7;15;127;45;2;1;7;9;8;14;68;2;4;14;3;23;2;3;5;1;1;1
CHECKSUM: 87BA527FF3083B5EFA57F290FE21D84E
PRODUCT_BASECODE: UV
ANNOTATION:
Simple Actuator Model  MAIN1: aileron MAIN2: elevator MAIN3: rudder MAIN4: throttle Avoid singularity at low speeds  Pennestrì, E., Rossi, V., Salvini, P. et al. Review and comparison of dry friction force models. Nonlinear Dyn 83, 1785–1801 (2016). https://doi.org/10.1007/s11071-015-2485-3 Body is assumed to be a rigid point mass on ground for contact force calculations. Normal force is modelled as a spring mass damper. Friction is modelled using Soft Coulomb model.  M. Lizarraga. Design, Implementation and Flight Verification of a Versatile and Rapidly Reconfigurable UAV GNC Research Platform. PhD Dissertation, UC, Santa Cruz, Santa Cruz, CA, USA, 2009   Note: DCM_be converts a vector written in earth frame to body frame Abe is acceleration of body written in body frame, but measured relative to earth. To get acceleration of body written in earth frame (NED fixed on takeoff location), we need to convert the frame. IMU blocks angular velocity and acceleration inputs are written in earth frame (NED)  Note: we need specific force (accelerometer output) in A-G form, but block gives G-A. Copyright 2022 The MathWorks, Inc. This subsystem has been inserted by Simulink to adapt the output of the source blocks to the interface required by the harnessed component. Modifying the contents of this subsystem may result in compilation and simulation failure. This subsystem has been inserted by Simulink to adapt the output of the harnessed component to the interface required by the sink blocks. Modifying the contents of this subsystem may result in compilation and simulation failure. Copyright 2022 The MathWorks, Inc. This subsystem has been inserted by Simulink to adapt the output of the source blocks to the interface required by the harnessed component. Modifying the contents of this subsystem may result in compilation and simulation failure. This subsystem has been inserted by Simulink to adapt the output of the harnessed component to the interface required by the sink blocks. Modifying the contents of this subsystem may result in compilation and simulation failure. Copyright 2022 The MathWorks, Inc. This subsystem has been inserted by Simulink to adapt the output of the source blocks to the interface required by the harnessed component. Modifying the contents of this subsystem may result in compilation and simulation failure. This subsystem has been inserted by Simulink to adapt the output of the harnessed component to the interface required by the sink blocks. Modifying the contents of this subsystem may result in compilation and simulation failure. Copyright 2022 The MathWorks, Inc. This subsystem has been inserted by Simulink to adapt the output of the source blocks to the interface required by the harnessed component. Modifying the contents of this subsystem may result in compilation and simulation failure. This subsystem has been inserted by Simulink to adapt the output of the harnessed component to the interface required by the sink blocks. Modifying the contents of this subsystem may result in compilation and simulation failure. Copyright 2022 The MathWorks, Inc.

BLOCK:
; Baro Simulation; Demux ; Ground ; SFunction ; Terminator ;6DOF Rigid body dynamics ;Acc;Actuator Model;Add;AeroCoeffs;Aerodynamic Forces and Moments;Air Data;AirData;Airdata;Airpseed;Airspeed;Apolar;Apolar (A2);Bus Creator;Bus Selector;BusCreator_;BusSelector_;CD;CL;CLDe;CLa;CLa_dot;CLq;CY;CYDr;CYb;Cl;ClDa;ClDr;Clb;Clp;Clr;Cm;CmDe;CmDf;Cma;Cmq;Cn;CnDa;CnDr;Cnb;Cnp;Cnr;Compute Air Data;Compute Body Frame Forces and Moments;Compute Rho;Constant;Coordinate Transformation Conversion;Course;Crash Detector;Crash_flag;Create States Bus for sensors;Ctrl Surfaces;CtrlCmds;CtrlSurfaces;DCM_be;DCMbe;Damper;De;Demux;Df;Diff Pressure;Divide;Dot Product;Dr;Dynamic Pressure;Dynamics model;Engine Model;Extract Altitude;F;FM_w;F_b;F_w;F_xyz;Fb_aero;Fb_contact;Fb_g;Fb_motor;Fn;Force and Moment Calculation;Forces;Friction;Friction Force;From;Fx_a(Drag);Fy_a(Side);Fz_a(Lift);GNSS/GPS Simulation;GPS;GPS Position;Gain;Get Forces and Moments;Get To;Get Z;Get p;Get q;Get r;GndSpeed;Goto;Gravity;Ground Model;Gyro;IMU;IMU Simulation;ISA Atmosphere Model;In;In Bus Element;Incidence, Sideslip, & Airspeed;Inport_;Input Conversion Subsystem;Inputs;LLA;Lapse Rate Model;Lateral;Lateral Channel;Lift due to pitch rate;Linear Second Order Actuators;Linear Second-Order Actuator;Longitudinal;Longitudinal Channel;MATLAB Function;M_b;M_w;M_xyz;Mag;Mass Conversion;Math Function;Matrix Multiply;MaxRPM;Mb_aero;Mb_contact;Min RPM;Min Th K;Moments;Motor Model;Mux;Mx_a;My_a;Mz_a;Normal;Normal Force;Out;Outport_;Output Conversion Subsystem;PWM Inputs;Pitch Rate Fac;Pressure;Product;Prop Diameter (in);RB2W;RL2B * Vw;RW2B;Random Number;Rate Transition;Reference;Reshape;Reshape 9x1->3x;Rho;Roll Rate Fac;Rotate FM to body frame;Rotate Forces;Rotate Moments;Rotate Vw;Rw2b;Saturation;Selector;SigSpec_;Signal Specification;Soft Coulomb Friction;Spring Kp;Sqrt;Square;States;States_airspeed;States_ddx;States_ddy;States_ddz;States_p;States_pitch;States_q;States_r;States_roll;States_yaw;Stop Simulation;SubSystem;Subsystem;Sum;Switch;Tanh;Terminator;Test Assessment;Test Sequence;Th K;Thrust Available (lbs);Thrust_b;To;To Constant;Transfer Fcn;Transpose;Unary Minus;V;Vair;Vb;Ve;Velocity;Vw;Vz;Wind frame F& M;Wind_e;Xe;Y-down;Yaw Rate Fac;Z;acc;acc_lnav_e;acceleration_gnd;airData;airspeed;alpha;alpha_beta;alpha_dot;aoa beta;beta;chord;course_measured;crashFlag;ctrlSurfaces;dA;dE;dF;dR;dt;elarm;friction coefficient;gndspeed_measured;gyro;harness_in_;harness_out_;kg2N;lla;mag;norm;p;p,q,r;pitch rate factor;pqr;pqr_b;pqr_e;pqr_gnd;pressure;q;r;rho;roll factors;roll rate fact;rpy;sincos;span;stop;test_case;testcase;u;uavData.cntrl.aileronGain;uavData.cntrl.elevatorGain;uavData.cntrl.rudderGain;uavData.cntrl.throttleGain;vd;vxyz;vxyz_measured;xyz;xyz_measured;yaw factors;yaw rate fact;ypr

BLOCKTYPE:
6DOF EoM (Body Axis);BusCreator;BusSelector;Constant;Demux;DotProduct;Dynamic Pressure;Fcn;From;Gain;Goto;Ground;Incidence,Sideslip,&Airspeed;Inport;International Standard Atmosphere Model;LinearSecondOrderActuator;Mass Conversion;Math;Mux;Outport;Product;RandomNumber;RateTransition;Reshape;S-Function;Saturate;Selector;SignalSpecification;Sqrt;Stop;Sum;Switch;Terminator;TransferFcn;Trigonometry;UnaryMinus;fusion.internal.simulink.gpsSensor;fusion.simulink.imuSensor;robotics.slcore.internal.block.CoordinateTransformationConversion

PRODUCT:
Aerospace Blockset;Aerospace Toolbox;Audio Toolbox;MATLAB;Navigation Toolbox;Simulink;Simulink Test;UAV Toolbox;UAV Toolbox


MODELNAME: UAV_Dynamics_Autopilot_Communication
ANNOTATION: Copyright 2022 The MathWorks, Inc.
BLOCKTYPE_FREQUENCY: 2;1;5;1;2;2;1;1;1;1;1
CHECKSUM: B881C61B90E04D633FAA0A033F0BA3E3
PRODUCT: MATLAB;Simulink;UAV Toolbox Support Package for PX4 Autopilots
PRODUCT_BASECODE: UV
EXTERNALFILE_REFERENCE: UAV_Dynamics_DataSerialization.slx___Model_Block___
PATH:
examples/px4/projects/src/px4demo_HITLSimulinkFixedWingPlant/SimulinkPlant/UAV_Dynamics_Autopilot_Communication.slx

BLOCK:
Constant;Data Length;Data Type Conversion;From_Autopilot;In;Input Signal Conditioning;MAVLink Bridge Source;Mux;Output Signal Conditioning;Reference;Reshape;Selector;Signal;SubSystem;Switch;To Autopilot;To_Autopilot;UAV Dynamics with MAVLink Serialization

BLOCKTYPE:
Constant;DataTypeConversion;Inport;ModelReference;Mux;Outport;Reshape;Selector;Switch;px4.internal.block.MAVLinkSink;px4.internal.block.MAVLinkSource


MODELNAME: UAV_Dynamics_DataSerialization
BLOCKTYPE_FREQUENCY: 3;1;2;8;11;5;13;20;3;1;3;1;9;4;1;4
CHECKSUM: 205D846BA8E03794AEE09CD8ED24C8BC
PRODUCT: MATLAB;Simulink;UAV Toolbox
PRODUCT_BASECODE: UV
EXTERNALFILE_REFERENCE: UAV_Dynamics.slx___Model_Block___
PATH:
examples/px4/projects/src/px4demo_HITLSimulinkFixedWingPlant/SimulinkPlant/UAV_Dynamics_DataSerialization.slx

ANNOTATION:
 Refer this link for understanding the different fields of HIL_GPS message https://github.com/mavlink/mavlink/blob/master/message_definitions/v1.0/common.xml#L5677  Refer this link for understanding the different fields of HIL_SENSOR message https://github.com/mavlink/mavlink/blob/master/message_definitions/v1.0/common.xml#L5608 Copyright 2022 The MathWorks, Inc.

BLOCK:
Acc;Actuator;Altitude in mm;Bus Assignment;Bus Selector;Clock;Constant;Course;Data Type Conversion;Demux;Diff Pressure;Gain;GndSpeed;Gyro;HEARTBEAT_bytes;HIL ACTUATOR_bytes;HIL Sensor;HIL_ACTUATOR_CONTROLS;HIL_GPS;HIL_GPS Subsystem;HIL_GPS_bytes;HIL_SENSOR;HIL_SENSOR Creation subsystem;HIL_SENSOR_bytes;LLA;MAVLink Blank Message;MAVLink Deserializer;MAVLink Serializer;Mag;Multiply;Number of satellites visible. If unknown, set to ;Out;Pressure;Rate Transition;Reference;Selector;Send Heartbeat;Set this flag to indicate all flags are updated;SubSystem;Temperature;Terminator;UAV Dynamics ;Velocity;eph;epv;lat/lon in degE

BLOCKTYPE:
BusAssignment;BusSelector;Clock;Constant;DataTypeConversion;Demux;Gain;Inport;MAVLink Blank Message;MAVLink Deserializer;MAVLink Serializer;ModelReference;Outport;RateTransition;Selector;Terminator


MODELNAME: FixedWingGNC
PATH: examples/px4/projects/src/px4demo_HITLSimulinkFixedWingPlant/controller/FixedWingGNC.slx
CHECKSUM: A585291229340A360BD3696155304AFA
PRODUCT_BASECODE: UV
ANNOTATION:
Airspeed and altitude are controlled independently by ignoring their coupled dynamics.  Small angle assumption. x axis body rate = rate of roll Inspired by PX4s fixed wing controller https://docs.px4.io/master/en/flight_stack/controller_diagrams.html Rudder control during takeoff ground-run. Not implemented currently. S. Park, J. Deyst, and J. P. How, A New Nonlinear Guidance Logic for Trajectory Tracking, Proceedings of the AIAA Guidance, Navigation and Control Conference, Aug 2004. AIAA-2004-4900. Attitude Controller Airspeed-Altitude Controller Lateral Guidance This subsystem selects a lookahead point on the path and provides a desired course. Desired course is later converted to desired lateral acceleration (and roll setpoint) This subsystem selects a lookahead point on the path and provides a desired course. Desired course is later converted to desired lateral acceleration (and roll setpoint) Inspired by PX4s fixed wing controller https://docs.px4.io/master/en/flight_stack/controller_diagrams.html Copyright 2022 The MathWorks, Inc.  Legend: SP Setpoint *_gnd Represented in local NED frame fixed on ground *_body Represented in body frame AAC Airspeed, Altitude, Course YPR Yaw, Pitch, Roll AERT Normalized Aileron(-1,1), Elevator(-1,1), Rudder(-1,1), Throttle(0,1)

BLOCK:
 Demux ; Merge ; SFunction ; Terminator ;AAC SP;AER;AER from Path Manager;AERT;Abs;Action Port;Actuator Armed;Aileron;Airspeed;Airspeed SP;Airspeed-Altitude Controller;Alt SP;Altitude SP;Altitude controller;Ang Rate;Attitude Controller;Bias;Bus Assignment;Bus Creator;Bus Element Out;Bus Selector;Bus to Vector;Calc circle;Chart;Climb Rate SP;Compare To Constant;Constant;Control Mode;Course;Course SP;Data Type Conversion;Delay;Demux;Enable;Enabled Subsystem;Estimator Output;FF;Fixed Wing Controller;Function Caller;Gain;Guidance Logic;IC;In;In Bus Element;L;L1 Distance;LAP;Lateral Guidance;Lookahead Distance;MATLAB Function;Merge;Mux;NOT;Navigation Status;Out;Out Bus Element;PID;PID Controller;PX4 PWM Output;PX4 uORB Message;PX4 uORB Read;PX4 uORB Write;Path Manager;Pitch PID;Pitch Roll controller;Pitch SP;Pitch, Throttle SP from Path Manager;Pose;Position Controller Landing Status;Position Controller Status;Quaternions to Rotation Angles;Rate Controller (pitch axis);Rate Controller (roll axis);Rate Limiter;Rate Transition;Read Home Position;Read Position Setpoint;Reference;Relational Operator;Reshape;Roll PID;Roll SP;Roll SP from Path Manager;Rudder;Rudder Heading Controller;STATE_MACHINE.LAND.FINAL_ORBIT;STATE_MACHINE.ORBIT;STATE_MACHINE.WAYPOINT;Saturation;Select From Waypoint;Select To Waypoint;Selector;Send to Actuator;Signal Copy;State;States;Status;SubSystem;Subsystem;Sum;TAS;TAS_valid;Takeoff IC;Terminator;Throttle;Transpose;Turn Coordinator;UAV Orbit Follower;UAV Path Manager;Unary Minus;Validate;Waypoint Follower;Waypoints from QGC;Waypoints hardcoded in Simulink;YPR;YPR SP;YPR SP ;Yaw SP;aacSP;aert;airSpeed;airspeedIndex;alt;center;controlMode;course;courseSP;cross track error;crossTrackError;dir;dist2WP;elevator;error;fromWP;getPulseWidth;gndSpeed;gndspeed;groundSpeed;home;home_position;isArmed;isModeDone;lacc;loiterCenter;lookahead;mode;navBearing;navStatus;normalized control surfaces to pulse width;p;p SP;pitchSP;pose;q;q SP;r;rSP;radius;rollSP;setpoint_triplet;state;status;tBearing;toWP;triplet;turnDir;u;v;vehicle_attitude;vehicle_local_pos;vxyz;waypoints;wps;xyz;xyzWPs;y;ypr;yprSP

BLOCKTYPE:
Abs;ActionPort;ArgIn;ArgOut;Bias;BusAssignment;BusCreator;BusSelector;BusToVector;Compare To Constant;Constant;DataTypeConversion;Delay;Demux;EnablePort;FunctionCaller;Gain;InitialCondition;Inport;InportShadow;Logic;Math;Merge;Mux;Outport;PID 1dof;PX4 PWM Output;PX4 uORB Message;PX4 uORB Read;PX4 uORB Write;Path Manager;Quat2Ang;RateLimiter;RateTransition;RelationalOperator;Reshape;S-Function;Saturate;Selector;SignalConversion;Sum;Terminator;TriggerPort;UnaryMinus;uav.sluav.internal.system.OrbitFollower;uav.sluav.internal.system.WaypointFollower

BLOCKTYPE_FREQUENCY:
1;5;1;1;2;2;7;21;7;4;31;20;1;18;10;3;3;4;133;1;4;5;11;6;94;8;1;2;8;2;1;1;4;2;1;2;14;3;14;1;9;45;1;4;3;2

PRODUCT:
Embedded Coder;MATLAB;Simulink;Stateflow;UAV Toolbox;UAV Toolbox Support Package for PX4 Autopilots;Vehicle Dynamics Blockset


MODELNAME: ManualControl
PATH: examples/px4/projects/src/px4demo_HITLSimulinkFixedWingPlant/controller/ManualControl.slx
BLOCKTYPE_FREQUENCY: 4;1;1;4;8;4;1;4;1;1;1;1;1
CHECKSUM: 603945AB54ABEC2A3CF54A7756687EFD
PRODUCT: Embedded Coder;MATLAB;Simulink;UAV Toolbox Support Package for PX4 Autopilots
PRODUCT_BASECODE: UV
ANNOTATION:
 Fixed Wing Manual Control using RC Transmitter/Joystick Note: RC Channel to roll, pitch, yaw, throttle axis mapping might be different. Use QGC->Vehicle Setup->Radio->Channel Monitor to identify the correct mapping. RC channel mapping: 1 - Right stick (horizontal) - Roll control 2 - Right stick (vertical) - Pitch control 4 - Left stick (horizontal) - Yaw control 3 - Left stick (vertical) - Throttle  Copyright 2022-2023 The MathWorks, Inc.

BLOCK:
Bias;Bus Assignment;Constant;Data Type Conversion;Gain;In;Mux;Out;PX4 uORB Message;PX4 uORB Write;Pitch axis (-1...1);Radio Control Transmitter;Reference;Roll axis (-1...1);SubSystem;Terminator;Throttle (0...1);Unary Minus;Yaw axis (-1...1)

BLOCKTYPE:
Bias;BusAssignment;Constant;DataTypeConversion;Gain;Inport;Mux;Outport;PX4 Radio Control Transmitter;PX4 uORB Message;PX4 uORB Write;Terminator;UnaryMinus


MODELNAME: UAV_Dynamics
PATH: examples/px4/projects/src/px4demo_HITLSimulinkPlant/SimulinkPlant/UAV_Dynamics.slx
BLOCKTYPE_FREQUENCY: 1;1;5;1;7;8;2;15;42;1;1;2;4;38;9;1;1;5;1;6;8;2;6;2;7;8;2;5;1;1;1
CHECKSUM: 239F80968129C3255C606E6701551F3E
PRODUCT: Aerospace Blockset;Audio Toolbox;MATLAB;Navigation Toolbox;Simulink;UAV Toolbox;UAV Toolbox
PRODUCT_BASECODE: UV
ANNOTATION:
 Note: we need specific force (accelerometer output) in A-G form, but block gives G-A.  Pennestrì, E., Rossi, V., Salvini, P. et al. Review and comparison of dry friction force models. Nonlinear Dyn 83, 1785–1801 (2016). https://doi.org/10.1007/s11071-015-2485-3  Pennestrì, E., Rossi, V., Salvini, P. et al. Review and comparison of dry friction force models. Nonlinear Dyn 83, 1785–1801 (2016). https://doi.org/10.1007/s11071-015-2485-3  Contact force: Body is assumed as a point mass on a spring mass damper. Soft Coulomb friction model is used to simulate friction. Contact moment: Spring mass damper implemented over roll and pitch angles. Roll, Pitch angles are assumed to be small. Soft Coulomb friction is implemented on yaw axis. Note: Contact forces are sensed by accelerometer model. A hard contact model would generate high switching forces that can affect the estimators performance on ground. Hence soft contact models are used.   Note: DCM_be converts a vector written in earth frame to body frame Abe is acceleration of body written in body frame, but measured relative to earth. To get acceleration of body written in earth frame (NED fixed on takeoff location), we need to convert the frame. IMU blocks angular velocity and acceleration inputs are written in earth frame (NED) Based on jmavsim quadcopter model  Baro Simulation Copyright 2021-2022 The MathWorks, Inc.

BLOCK:
 ; Demux ; SFunction ; Terminator ;6DOF Rigid body dynamics ;Acc;Add;Aerodynamic drag;Bus Creator;Bus Selector;Compare To Constant;Constant;Coordinate Transformation Conversion;Course;Crash Detector;Crash_flag;Create States Bus;DCM_be;DCMbe;Damper Kp;Demux;Dot Product;Extract Altitude;F;F_d;F_g;F_rotors;F_xyz;Fb_contact;Fn;Force and Moment Calculation;Friction;Friction Force;GNSS/GPS Simulation;GPS;GPS Position;Gain;GndSpeed;Gravity;Ground Model;Ground Moment Model;Gyro;IMU;IMU Simulation;In;Inputs [0-1];LLA;Lapse Rate Model;MATLAB Function;M_rotors;M_xyz;Mag;Matrix Multiply;Mb;Mb_contact;Mux;Normal;Normal Force;Normal force;Out;PWM Inputs;Pressure;Product;Quadcopter Model;Random Number;Rate Transition;Reference;Reshape;Rotor Model;Saturation;Selector;Soft Coulomb Friction;Spring Kp;Sqrt;Square Root;States;SubSystem;Sum;Switch;Tanh;Terminator;Thrust model;Torque model;Transfer Fcn;Transpose;Unary Minus;V;Vb;Ve;Velocity;Vz;Xe;Z;acc_lnav;crashFlag;friction coefficient;gain;netF;netM;norm;pqr;relative air velocity (body frame);rotorDir;rotorPositions;rpy;tauEachRotor;thrustEachRotor;vd;wb;wind (body frame);ypr

BLOCKTYPE:
6DOF EoM (Body Axis);BusCreator;BusSelector;Compare To Constant;Constant;Demux;DotProduct;Gain;Inport;InportShadow;International Standard Atmosphere Model;Math;Mux;Outport;Product;RandomNumber;RateTransition;Reshape;S-Function;Saturate;Selector;Sqrt;Sum;Switch;Terminator;TransferFcn;Trigonometry;UnaryMinus;fusion.internal.simulink.gpsSensor;fusion.simulink.imuSensor;robotics.slcore.internal.block.CoordinateTransformationConversion


MODELNAME: UAV_Dynamics_Autopilot_Communication
ANNOTATION: Copyright 2021-2022 The MathWorks, Inc.
BLOCKTYPE_FREQUENCY: 2;1;5;1;2;2;1;1;1;1;1
CHECKSUM: 05A726ADFCD496D0F78CDF95FC2E5F66
PRODUCT: MATLAB;Simulink;UAV Toolbox Support Package for PX4 Autopilots
PRODUCT_BASECODE: UV
EXTERNALFILE_REFERENCE: UAV_Dynamics_DataSerialization.slx___Model_Block___
PATH:
examples/px4/projects/src/px4demo_HITLSimulinkPlant/SimulinkPlant/UAV_Dynamics_Autopilot_Communication.slx

BLOCK:
Constant;Data Length;Data Type Conversion;From_Autopilot;In;Input Signal Conditioning;MAVLink Bridge Sink;MAVLink Bridge Source;Mux;Output Signal Conditioning;Reference;Reshape;Selector;Signal;SubSystem;Switch;To_Autopilot;UAV Dynamics with MAVLink Serialization

BLOCKTYPE:
Constant;DataTypeConversion;Inport;ModelReference;Mux;Outport;Reshape;Selector;Switch;px4.internal.block.MAVLinkSink;px4.internal.block.MAVLinkSource


MODELNAME: UAV_Dynamics_DataSerialization
BLOCKTYPE_FREQUENCY: 3;1;2;8;10;5;12;18;3;1;3;1;9;4;1;1;4
CHECKSUM: C0810D8A32DA710DBF2514D49D8AFF55
PRODUCT: MATLAB;Simulink;UAV Toolbox
PRODUCT_BASECODE: UV
EXTERNALFILE_REFERENCE: UAV_Dynamics.slx___Model_Block___
PATH:
examples/px4/projects/src/px4demo_HITLSimulinkPlant/SimulinkPlant/UAV_Dynamics_DataSerialization.slx

ANNOTATION:
 Refer this link for understanding the different fields of HIL_GPS message https://github.com/mavlink/mavlink/blob/master/message_definitions/v1.0/common.xml#L5677  Refer this link for understanding the different fields of HIL_SENSOR message https://github.com/mavlink/mavlink/blob/master/message_definitions/v1.0/common.xml#L5608 Copyright 2021-2022 The MathWorks, Inc.

BLOCK:
Acc;Actuator;Altitude in mm;Bus Assignment;Bus Selector;Clock;Constant;Course;Data Type Conversion;Demux;Gain;GndSpeed;Gyro;HEARTBEAT_bytes;HIL ACTUATOR_bytes;HIL Sensor;HIL_ACTUATOR_CONTROLS;HIL_GPS;HIL_GPS Subsystem;HIL_GPS_bytes;HIL_SENSOR;HIL_SENSOR Creation subsystem;HIL_SENSOR_bytes;LLA;MAVLink Blank Message;MAVLink Deserializer;MAVLink Serializer;Mag;Multiply;Number of satellites visible. If unknown, set to ;Out;Pressure;Rate Transition;Reference;Saturation;Selector;Send Heartbeat;Set this flag to indicate all flags are updated;SubSystem;Temperature;Terminator;UAV Dynamics ;Velocity;eph;epv;lat/lon in degE

BLOCKTYPE:
BusAssignment;BusSelector;Clock;Constant;DataTypeConversion;Demux;Gain;Inport;MAVLink Blank Message;MAVLink Deserializer;MAVLink Serializer;ModelReference;Outport;RateTransition;Saturate;Selector;Terminator


MODELNAME: Quadcopter_ControllerWithNavigation
CHECKSUM: 2543068CAAF00BF16F74F4FEBA1C4F0A
PRODUCT_BASECODE: UV
PATH:
examples/px4/projects/src/px4demo_HITLSimulinkPlant/controller/Quadcopter_ControllerWithNavigation.slx

ANNOTATION:
 Desired XY Position, Altitude and Yaw can be changed by these sliders This ensures that the landing process is smooth by continously decrementing the altitude, instead of a sudden fall. This logic takes care of the case when Land waypoint altitude is not 0 This ensures that the landing process is smooth by continously decrementing the altitude, instead of a sudden fall. This logic takes care of the case when Land waypoint altitude is not 0 Copyright 2021-2022 The MathWorks, Inc.

BLOCK:
Abs;Action Port;Actuator;Add;Altitude Signal conditioning;Ang Rate;Ang rate;Armed;Attitude controller;Bias;Bus Assignment;Bus Selector;Calculate Transformation Matrix;Calculate minimum Turn;Cast;Compare To Constant;Constant;Controller;Current Position;Current Velocity;Current WP;Current WP Yaw;Current Waypoints;Custom Mixer and PWM Output Block;Data Type Conversion;Define WP Yaw Values ;Degrees to Radians;Delay;Demux;Desired Position;Desired Yaw;Desired_Pose;Enable;Enabled Subsystem;Ensure Smooth descend during Land;Ensure smooth ascend during Takeoff;Estimated Pos;Estimated Position & Yaw;Estimated Velocity;Estimated xyz;Estimated xyzYaw;Estimator Output;Gain;GreaterThan;Guidance Subsystem;IDLE;If;In;Inport;IsNaN;Land;LookAhead Point;Lookahead Point;Maintain Current Yaw during IDLE;Maintain Current Yaw during Land;Maintain Current Yaw during TakeOff;Manual Switch;Manual Waypoints;Manual Waypoints from Simulink Dashboard;Matrix Concatenate;MatrixMultiply;Merge;Mixer matrix;Mux;NAN check;NaN Check;Navigation;Next WP;Next WP Yaw;Next Waypoints;OR;Out;Output signal conditioning;PID Controller;PID_Altitude;PID_vz;PX4 Mixer and actuator_controls_0 topic;PX4 PWM Output;PX4 uORB Message;PX4 uORB Read;PX4 uORB Write;Path Correction from Onboard Computer;Planned_current_pos;Pose;Position;Position & Altitude controller;Position & Rate Controller;Previous WP;Previous WP Yaw;Previous Waypoints;Product;Quadcopter Navigation Algorithm;Quaternion;Quaternion ;Quaternion Norm;Quaternion Validity Check;Quaternions to Rotation Angles;R;Rate;Rate Limiter;Rate of descent;Read Position Setpoint from Mission set in QGC;Read waypoint from QGroundControl Mission;Reference;Relational Operator;Reshape;Saturation;Saturation Dynamic;Selector;SinCos;Sine Wave;Slider;SubSystem;Subsystem;Subtract;Sum;Switch;Take-off;Terminator;Trajectory Waypoint;Transpose;UAV Waypoint Follower;Unary Minus;Valid quat;Velocity;Waypoint;Waypoint Follower;Waypoint Type;Waypoints;curr_xyzYaw;current;desX;desY;des_alt;des_landing_pos;des_pitch;des_roll;des_x;des_y;des_yaw;next;planned_curr_pos;planned_curr_yaw;planned_current_yaw;position setpoint;previous;previous safe value;tau_Pitch;tau_Roll;tau_Roll ;tau_Thrust;tau_Yaw;tau_yaw;theta;vehicle_attitude;vehicle_local_pos;vx;vy;vz;x;x_y_z_yaw;xyzYaw;y;yaw_In;yaw_Out;yaw_angle;ypr;z;z_In

BLOCKTYPE:
Abs;ActionPort;Bias;BusAssignment;BusSelector;Compare To Constant;Concatenate;Constant;DataTypeConversion;DegreesToRadians;Delay;Demux;EnablePort;Gain;If;Inport;InportShadow;Logic;ManualSwitch;Math;Merge;Mux;Outport;PID 1dof;PX4 PWM Output;PX4 Read Position Setpoint;PX4 uORB Message;PX4 uORB Read;PX4 uORB Write;Product;Quat2Ang;Quaternion Norm;RateLimiter;RelationalOperator;Reshape;Saturate;Saturation Dynamic;Selector;Sin;SliderBlock;Sum;Switch;Terminator;Trigonometry;UnaryMinus;uav.sluav.internal.system.WaypointFollower

BLOCKTYPE_FREQUENCY:
1;8;1;1;9;2;9;33;10;1;18;11;10;17;2;151;1;6;2;3;2;17;82;10;1;2;1;5;1;2;1;1;2;26;16;3;2;22;2;4;17;32;21;1;1;3

PRODUCT:
Embedded Coder;MATLAB;Simulink;UAV Toolbox;UAV Toolbox Support Package for PX4 Autopilots;Vehicle Dynamics Blockset


MODELNAME: Onboard_Autopilot_Communication
BLOCKTYPE_FREQUENCY: 2;3;2;6;8;2;1;14;2;3;2;1;1;16;8;6;1;1;1;1;1;1
CHECKSUM: 64BD3B4962FD777E5F0C15F94B898362
PRODUCT_BASECODE: UV
PATH:
examples/px4/projects/src/px4demo_HITLSimulinkPlant/onboard_algorithm/Onboard_Autopilot_Communication.slx

ANNOTATION:
 Jetson Configuration: Disable mavlink-router or any other utility that uses the serial port on Jetson before using the Serial Read block PX4 Parameter Configuration: MAV_0_MODE = onboard MAV_0_CONFIG = TELEM1 SER_TEL1_BAUD = 230400 8N1 Select the variant by setting onboardMAVLinkSource in data/InitOnboardAlgorithmVars.m Disable mavlink-router or any other utility that uses the serial port on Jetson before using the Serial Write block Select the variant by setting onboardMAVLinkSource in data/InitOnboardAlgorithmVars.m Path planning: Add your Onboard Algorithm here. The current algorithm loops back the input data Recieve Video stream from Unreal Engine UAV Scenario Simulation  Onboard computer and PX4 HITL Communication via MAVLink Bridge in UAV Dynamics Deployable on NVIDIA Jetson Copyright 2021-2023 The MathWorks, Inc.

BLOCK:
Action Port;Altitude;Bus Assignment;Bus Selector;Constant;Data;Data Stream Length;Data Stream from PX;Data Stream to PX;Data Type Conversion;Decode MAVLink Data from PX;Depth Stream;Encode MAVLink Data to PX;Handle_new_message;Handle_old_message;If;Inport;Local Position ;Local position;MAVLink Blank Message;MAVLink Deserializer;MAVLink Receive: From PX;MAVLink Send: To PX;MAVLink Serializer;Matrix Concatenate;Merge;Number of valid points;Onboard algorithm;Out;Reference;Selector;Send Heartbeat;Serial Read: From PX;Serial Receive;Serial Send;Serial Write: To PX;Signal Conditioning;Size;SubSystem;Terminator;Trajectory;Trajectory waypoints;Transpose;UDP Receive;UDP Receive: From PX;UDP Send;UDP Send : To PX;Updated Waypoint;Updated waypoint;Video Viewer;isNew

BLOCKTYPE:
ActionPort;BusAssignment;BusSelector;Concatenate;Constant;DataTypeConversion;If;Inport;MAVLink Blank Message;MAVLink Deserializer;MAVLink Serializer;Math;Merge;Outport;Selector;Terminator;UDP Receive;UDP Send;VideoViewer;nvidiacoder.common.GstVisionDataReceive;sharedNvidiaBlocks.SCIRead;sharedNvidiaBlocks.SCIWrite

PRODUCT:
Computer Vision Toolbox;Embedded Coder;MATLAB;MATLAB Coder Support Package for NVIDIA Jetson and NVIDIA DRIVE Platforms;Simulink;UAV Toolbox


MODELNAME: Unreal_3DVisualization
PATH: examples/px4/projects/src/px4demo_HITLSimulinkPlant/visualization/Unreal_3DVisualization.slx
BLOCKTYPE_FREQUENCY: 2;2;1;2;4;2;2;2;2;2;1;1;1;1;3;1;1;1
CHECKSUM: B7F0F678377455377DC8D479708031A2
PRODUCT: Computer Vision Toolbox;Instrument Control Toolbox;MATLAB;Simulink;UAV Toolbox
PRODUCT_BASECODE: UV
ANNOTATION:
Camera Model 3D Simulation Environment  Copyright 2021-2022 The MathWorks, Inc.  PX4 HITL Flight visualization

BLOCK:
Bus Selector;Data Type Conversion;Demux;Front Facing Camera;Gain;MAVLink Deserializer;Matrix Concatenate;Mux;Rate Transition;Reference;Rotation;Saturate to 90m;Simulation 3D Scene Configuration;Simulation 3D UAV Vehicle;Stream Depth Data to Jetson;Stream Unreal Camera Simulation to NVIDIA Jetson;Stream data to Onboard Computer;SubSystem;Terminator;Translation;UDP Receive;Video Viewer;ned2nwu;positionXYZ;rotationZYX

BLOCKTYPE:
BusSelector;Concatenate;DataTypeConversion;Demux;Gain;Inport;MAVLink Deserializer;Mux;Outport;RateTransition;Saturate;Simulation 3D Camera;Simulation 3D Scene Configuration;Simulation 3D UAV Vehicle;Terminator;VideoViewer;instrument.system.UDPReceive;uav.sluav.internal.system.VideoSend


MODELNAME: Quadcopter_ControllerWithNavigation
CHECKSUM: E0F81A4077450E3705CAD08CF98EEE56
PRODUCT_BASECODE: UV
PATH:
examples/px4/projects/src/px4demo_HITLSimulinkPlantSpeedgoat/controller/Quadcopter_ControllerWithNavigation.slx

ANNOTATION:
 Desired XY Position, Altitude and Yaw can be changed by these sliders This ensures that the landing process is smooth by continously decrementing the altitude, instead of a sudden fall. This logic takes care of the case when Land waypoint altitude is not 0 This ensures that the landing process is smooth by continously decrementing the altitude, instead of a sudden fall. This logic takes care of the case when Land waypoint altitude is not 0 Copyright 2021-2023 The MathWorks, Inc.

BLOCK:
Abs;Action Port;Actuator;Add;Altitude Signal conditioning;Ang Rate;Ang rate;Armed;Attitude controller;Bias;Bus Assignment;Bus Selector;Calculate Transformation Matrix;Calculate minimum Turn;Cast;Compare To Constant;Constant;Controller;Current Position;Current Velocity;Current WP;Current WP Yaw;Current Waypoints;Custom Mixer and PWM Output Block;Data Type Conversion;Define WP Yaw Values ;Degrees to Radians;Delay;Demux;Desired Position;Desired Yaw;Desired_Pose;Enable;Enabled Subsystem;Ensure Smooth descend during Land;Ensure smooth ascend during Takeoff;Estimated Position & Yaw;Estimated Velocity;Estimated xyz;Estimated xyzYaw;Estimator Output;Gain;GreaterThan;Guidance Subsystem;IDLE;If;In;IsNaN;Land;LookAhead Point;Lookahead Point;Maintain Current Yaw during IDLE;Maintain Current Yaw during Land;Maintain Current Yaw during TakeOff;Manual Switch;Manual Waypoints;Manual Waypoints from Simulink Dashboard;Matrix Concatenate;MatrixMultiply;Merge;Mixer matrix;Mux;NaN Check;Navigation;Next WP;Next WP Yaw;Next Waypoints;OR;Out;Output signal conditioning;PID Controller;PID_Altitude;PID_vz;PX4 Mixer and actuator_controls_0 topic;PX4 PWM Output;PX4 uORB Message;PX4 uORB Read;PX4 uORB Write;Path Correction from Onboard Computer;Planned_current_pos;Position;Position & Altitude controller;Position & Rate Controller;Previous WP;Previous WP Yaw;Previous Waypoints;Product;Quadcopter Navigation Algorithm;Quaternion;Quaternion ;Quaternion Norm;Quaternion Validity Check;Quaternions to Rotation Angles;R;Rate;Rate Limiter;Rate of descent;Read Position Setpoint from Mission set in QGC;Read waypoint from QGroundControl Mission;Reference;Relational Operator;Reshape;Saturation;Saturation Dynamic;Selector;SinCos;Sine Wave;Slider;SubSystem;Subsystem;Subtract;Sum;Switch;Take-off;Terminator;Trajectory Waypoint;Transpose;UAV Waypoint Follower;Unary Minus;Valid quat;Velocity;Waypoint;Waypoint Follower;Waypoint Type;curr_xyzYaw;desX;desY;des_alt;des_landing_pos;des_pitch;des_roll;des_x;des_y;des_yaw;planned_current_yaw;position setpoint;previous safe value;tau_Pitch;tau_Roll;tau_Roll ;tau_Thrust;tau_Yaw;tau_yaw;theta;vehicle_attitude;vehicle_local_pos;vx;vy;vz;x;x_y_z_yaw;xyzYaw;y;yaw_In;yaw_Out;yaw_angle;ypr;z;z_In

BLOCKTYPE:
Abs;ActionPort;Bias;BusAssignment;BusSelector;Compare To Constant;Concatenate;Constant;DataTypeConversion;DegreesToRadians;Delay;Demux;EnablePort;Gain;If;Inport;InportShadow;Logic;ManualSwitch;Math;Merge;Mux;Outport;PID 1dof;PX4 PWM Output;PX4 Read Position Setpoint;PX4 uORB Message;PX4 uORB Read;PX4 uORB Write;Product;Quat2Ang;Quaternion Norm;RateLimiter;RelationalOperator;Reshape;Saturate;Saturation Dynamic;Selector;Sin;SliderBlock;Sum;Switch;Terminator;Trigonometry;UnaryMinus;uav.sluav.internal.system.WaypointFollower

BLOCKTYPE_FREQUENCY:
1;8;1;1;9;1;3;27;10;1;18;11;10;17;2;126;1;4;2;2;2;18;75;10;1;2;1;5;1;2;1;1;2;20;13;3;2;22;2;4;17;26;19;1;1;2

PRODUCT:
Embedded Coder;MATLAB;Simulink;UAV Toolbox;UAV Toolbox Support Package for PX4 Autopilots;Vehicle Dynamics Blockset


MODELNAME: Onboard_ObstacleAvoidance
BLOCKTYPE_FREQUENCY: 2;3;6;2;8;11;3;3;12;1;1;1;24;3;1;3;2;3;1;1;15;1;2;3;15;1;7;1;1;1;1
CHECKSUM: A8EA5B21ECAD1743DD1E294D834ECC9A
PRODUCT_BASECODE: UV
PATH:
examples/px4/projects/src/px4demo_HITLSimulinkPlantSpeedgoat/onboardComputer/Onboard_ObstacleAvoidance.slx

ANNOTATION:
 During Take off / Landing the waypoints are mirrored back to the PX4 HITL Pose = [X, Y, Z, Chi] Chi is the current course and it is not used when the waypoints are provided! Point Cloud MAVLink encoding  Obstacle Avoidance on NVIDIA Jetson Copyright 2023 The MathWorks, Inc. Obstacle Avoidance MAVLInk decoding

BLOCK:
 Demux ; SFunction ; Terminator ;Action Port;Altitude;Bus Assignment;Bus Selector;Bus to Vector;Chart;Compute Position Setpoint;Constant;Convert to Point Cloud;Corrected Position;Course (unit vec.);Current Position;Data Type Conversion;Depth Stream;DesiredYaw;Display;Enable;Estimated Position;Gain;If;In;Local Position;Local position;MAVLink Blank Message;MAVLink Deserializer;MAVLink Serializer;Matrix Concatenate;Merge;Mux;Number of valid points;Obstacle Avoidance;ObstacleAvoidance;Orientation;Out;Point Cloud;Position Setpoint;Product;Quaternion;Rate Limiter;Reference;Selector;Send Heartbeat;Send Waypoint;Serial Read;Serial Write;Status;SubSystem;Sum;Take off / Landing - Loopback ;Target Position;Targeted Position;Terminator;Trajectory Waypoints;Transpose;Updated Waypoint;WPs;Waypoint Follower;Waypoints;Waypoints- Obstacle Avoidance;cloud;corrected setpoint distance;currentXY;depth;status;targetXY;u;y

BLOCKTYPE:
ActionPort;BusAssignment;BusSelector;BusToVector;Concatenate;Constant;DataTypeConversion;Demux;Display;EnablePort;Gain;If;Inport;InportShadow;MAVLink Blank Message;MAVLink Deserializer;MAVLink Serializer;Math;Merge;Mux;Outport;Product;RateLimiter;S-Function;Selector;Sum;Terminator;nvidiacoder.common.GstVisionDataReceive;sharedNvidiaBlocks.SCIRead;sharedNvidiaBlocks.SCIWrite;uav.sluav.internal.system.ObstacleAvoidance

PRODUCT:
Embedded Coder;MATLAB;MATLAB Coder Support Package for NVIDIA Jetson and NVIDIA DRIVE Platforms;Simulink;Stateflow;UAV Toolbox


MODELNAME: UAV_Dynamics
PATH: examples/px4/projects/src/px4demo_HITLSimulinkPlantSpeedgoat/plant/UAV_Dynamics.slx
BLOCKTYPE_FREQUENCY: 1;4;7;1;1;14;4;2;1;1;15;47;1;1;1;8;5;31;11;1;2;1;6;1;6;8;1;2;7;2;9;8;2;5;1;1;2
CHECKSUM: 461DD1A4C417643B08F60F229DEB1B40
PRODUCT: Aerospace Blockset;MATLAB;Navigation Toolbox;Simulink;UAV Toolbox;UAV Toolbox
PRODUCT_BASECODE: UV
ANNOTATION:
Magnetic field at 4m below a transmission line carrying 2500 A Ayad A.N.E.I., Krika W., Boudjella H., Benhamida F., Horch A. (2019). Simulation of the electromagnetic field in the vicinity of the overhead power transmission line, European Journal of Electrical Engineering, Vol. 21, No. 1, pp. 49-53. https://doi.org/10.18280/ejee.210108  Note: we need specific force (accelerometer output) in A-G form, but block gives G-A.  Pennestrì, E., Rossi, V., Salvini, P. et al. Review and comparison of dry friction force models. Nonlinear Dyn 83, 1785–1801 (2016). https://doi.org/10.1007/s11071-015-2485-3  Pennestrì, E., Rossi, V., Salvini, P. et al. Review and comparison of dry friction force models. Nonlinear Dyn 83, 1785–1801 (2016). https://doi.org/10.1007/s11071-015-2485-3  Contact force: Body is assumed as a point mass on a spring mass damper. Soft Coulomb friction model is used to simulate friction. Contact moment: Spring mass damper implemented over roll and pitch angles. Roll, Pitch angles are assumed to be small. Soft Coulomb friction is implemented on yaw axis. Note: Contact forces are sensed by accelerometer model. A hard contact model would generate high switching forces that can affect the estimators performance on ground. Hence soft contact models are used.  Based on jmavsim quadcopter model  Note: DCM_be converts a vector written in earth frame to body frame Abe is acceleration of body written in body frame, but measured relative to earth. To get acceleration of body written in earth frame (NED fixed on takeoff location), we need to convert the frame. IMU blocks angular velocity and acceleration inputs are written in earth frame (NED) Copyright 2021-2023 The MathWorks, Inc.

BLOCK:
 Demux ; SFunction ; Terminator ;6DOF Rigid body dynamics ;Add;Aerodynamic drag;Baro;Baro Simulation ;Bus Assignment;Bus Selector;Bus to Vector;Compare To Constant;Constant;Coordinate Transformation Conversion;Crash Detector;Crash_flag;Create States Bus;DCM_be;DCMbe;Damper Kp;Demux;Dot Product;Down (uT);East (uT);Enable;Euler (ZYX);Extract Altitude;F;F_d;F_g;F_rotors;F_xyz;Failure Injection;Fb_contact;Flat Earth to LLA;Fn;Force and Moment Calculation;Friction;Friction Force;GNSS;GNSS/GPS Simulation;GPS;GPS Position;Gain;Gravity;Ground Model;Ground Moment Model;Ground Truth;IMU;IMU Simulation;In;Inputs [0-1];Lapse Rate Model;MATLAB Function;M_rotors;M_xyz;Mag Failure;Magnetic Interference;Magnetic Interference (sensor frame);Matrix Multiply;Mb;Mb_contact;Mux;NOT;Normal;Normal Force;Normal force;North (uT);Out;PWM Inputs;Pressure;Product;Quadcopter Dynamics;Random Number;Rate Transition;Reference;Reset;Reshape;Rotor Model;Saturation;Selector;Soft Coulomb Friction;Spring Kp;Sqrt;Square Root;States;SubSystem;Sum;Switch;Tanh;Terminator;Thrust model;Torque model;Transfer Fcn;Transpose;Unary Minus;V;Vb;Ve;Vz;Xe;Z;acc_lnav;crashFlag;friction coefficient;gain;netF;netM;norm;pqr;relative air velocity (body frame);rotorDir;rotorPositions;rpy;tauEachRotor;thrustEachRotor;vd;wb;wind (body frame);ypr

BLOCKTYPE:
6DOF EoM (Body Axis);BusAssignment;BusSelector;BusToVector;Compare To Constant;Constant;Demux;DotProduct;EnablePort;Flat Earth to LLA;Gain;Inport;InportShadow;International Standard Atmosphere Model;Logic;Math;Mux;Outport;Product;RandomNumber;RateTransition;ResetPort;Reshape;S-Function;Saturate;Selector;Sin;Sqrt;Sum;Switch;Terminator;TransferFcn;Trigonometry;UnaryMinus;fusion.internal.simulink.gpsSensor;fusion.simulink.imuSensor;robotics.slcore.internal.block.CoordinateTransformationConversion


MODELNAME: UAV_Dynamics_DataSerialization
BLOCKTYPE_FREQUENCY: 3;6;1;16;17;1;8;2;2;12;1;31;1;3;1;3;1;3;19;4;1;1;4;1;1;1;2;3
CHECKSUM: DF3D0852C390BD27846D6D037C45C399
PRODUCT: MATLAB;Simulink;UAV Toolbox
PRODUCT_BASECODE: UV
EXTERNALFILE_REFERENCE: UAV_Dynamics.slx___Model_Block___
PATH:
examples/px4/projects/src/px4demo_HITLSimulinkPlantSpeedgoat/plant/UAV_Dynamics_DataSerialization.slx

ANNOTATION:
If unknown, set to 255  Refer this link for understanding the different fields of HIL_GPS message https://github.com/mavlink/mavlink/blob/master/message_definitions/v1.0/common.xml#L5677  Refer this link for understanding the different fields of HIL_SENSOR message https://github.com/mavlink/mavlink/blob/master/message_definitions/v1.0/common.xml#L5608 Copyright 2021-2023 The MathWorks, Inc.

BLOCK:
 Demux ; SFunction ; Terminator ;Actuator;Altitude in mm;Baro;Bus Assignment;Bus Selector;Compose String;Constant;Data;Data (From Autopilot);Data (To Autopilot) ;Data (To Photorealistic Simulator);Data Type Conversion;Delay;Demux;Display;End Byte;Failure;Failure Injection;From;GNSS;GPS Failure;Gain;Goto;Ground Truth;HEARTBEAT;HEARTBEAT_bytes;HIL Sensor;HIL_ACTUATOR_CONTROLS;HIL_GPS;HIL_GPS Subsystem;HIL_GPS_bytes;HIL_SENSOR;HIL_SENSOR Creation subsystem;HIL_SENSOR_bytes;IMU;In;Length (From Autopilot);Length (To Autopilot);MAVLink Blank Message;MAVLink Deserializer;MAVLink Serializer;Multiply;Mux;No GPS lock;Number of satellites visible;Out;Packet Counter;Rate Transition;Reference;Reorder and Concatenate;Reset;Saturation;Selector;Set this flag to indicate all flags are updated;Start Byte;States;String Length;String to ASCII;SubSystem;Subsystem;Sum;Switch;Temperature;Terminator;Time (ns);Truncate Zeros;UAV Dynamics ;data;eph;epv;lat/lon in degE;len;torder;u

BLOCKTYPE:
BusAssignment;BusSelector;ComposeString;Constant;DataTypeConversion;Delay;Demux;Display;From;Gain;Goto;Inport;InportShadow;MAVLink Blank Message;MAVLink Deserializer;MAVLink Serializer;ModelReference;Mux;Outport;RateTransition;S-Function;Saturate;Selector;StringLength;StringToASCII;Sum;Switch;Terminator


MODELNAME: UAV_Dynamics_Speedgoat
PATH: examples/px4/projects/src/px4demo_HITLSimulinkPlantSpeedgoat/plant/UAV_Dynamics_Speedgoat.slx
BLOCKTYPE_FREQUENCY: 1;5;1;1;1;4;1;1;1;1;1;1
CHECKSUM: D743AF8056C0625581B56868FEF2658A
PRODUCT: MATLAB;Simulink;Simulink Real-Time
PRODUCT_BASECODE: UV
EXTERNALFILE_REFERENCE: UAV_Dynamics_DataSerialization.slx___Model_Block___
ANNOTATION:
 IO397 Serial Configuration: Bitrate vector: [921600] Parity: No parity Data length vector (bits): [8] Stop length vector (bits): [1]   Configuration: IO3xx I/O Module: IO397-50k Configuration File (Bitstream): speedgoat_IO397_50k_Comms.mat Pull Resistor: pull-up 3.3V  Serial Port Configuration IO397 Setup  Deployable to Speedgoat  Quadcopter Plant Model for PX4 Hardware-in-the-Loop Simulation  Disconnect power to PX4 Autopilot Click on Reset button in this model Connect PX4 Autopilot Failure Injection Reset Simulation Copyright 2023 The MathWorks, Inc.

BLOCK:
Actuator Commands from Autopilot;Bus Assignment;Constant;Failure;Failure Injection;IEEE 1588 Read Parameter;Model;Pose (Ground Truth) to Photorealistic Simulator;Push Button;Reference;Reset;Sensor Readings to Autopilot;Serial Setup;Setup;Speedgoat Setup;SubSystem

BLOCKTYPE:
BusAssignment;Constant;IEEE_1588_read_param;ModelReference;Outport;PushButtonBlock;Serial Write;Setup;serial_fpga_2;serialread_fpga_2;serialwrite_fpga_2;setup_fpga_3


MODELNAME: Unreal_3DVisualization
BLOCKTYPE_FREQUENCY: 1;2;1;2;2;3;1;1;2;11;1;1;4;10;1;1;2;1;1;1;1;1;1;2;4;1;2;4;1
CHECKSUM: F07C9FC110060A1CD46C3063B070938C
PRODUCT: Computer Vision Toolbox;MATLAB;Simulink;UAV Toolbox
PRODUCT_BASECODE: UV
PATH:
examples/px4/projects/src/px4demo_HITLSimulinkPlantSpeedgoat/visualization/Unreal_3DVisualization.slx

ANNOTATION:
This profiling subsystem expects a position/orientation message every X seconds. In case, the message is missed during some time steps, Percentage Received would decrease. Assumption - Speedgoat model is already running while starting this model.  PX4 HITL Flight visualization Copyright 2023 The MathWorks, Inc.

BLOCK:
 Demux ; SFunction ; Terminator ;ASCII to String;Check Packet;Compare To Constant;Constant;Convert to Point Cloud;Counter;Data Type Conversion;Debugging;Decoder;Delay;Demux;Depth (m - double);Depth (mm - uint16);Divide;Enable;Front Facing Camera;Gain;In;Logical Operator;Mux;Out;Percentage Received;Point Cloud Viewer;Profiling;Rate Transition;Read Serial Port;Reference;Rotation;Saturate;Scan String;Simulation 3D Scene Configuration;Simulation 3D UAV Vehicle;Status;Stream Depth Data to Jetson;Stream Unreal Camera Simulation to NVIDIA Jetson;SubSystem;Sum;Terminator;To Video Display;To Workspace;Translation;Unary Minus;cloud;depth;m2mm;ned2nwu;positionXYZ;rotationZYX;u

BLOCKTYPE:
ASCIIToString;Compare To Constant;Constant;DataTypeConversion;Delay;Demux;Display;EnablePort;Gain;Inport;Logic;MATLABSystem;Mux;Outport;PointCloudViewer;Product;RateTransition;S-Function;Saturate;ScanString;Simulation 3D Camera;Simulation 3D Scene Configuration;Simulation 3D UAV Vehicle;Sum;Terminator;To Video Display;ToWorkspace;UnaryMinus;uav.sluav.internal.system.VideoSend


MODELNAME: Onboard_ObstacleAvoidance
BLOCKTYPE_FREQUENCY: 4;4;6;13;13;2;1;1;2;18;2;3;2;1;2;11;2;1;15;1;6;1;1;1;1;1
CHECKSUM: 862CB0028A4E22627143A9E10ED3E6B5
PRODUCT_BASECODE: UV
PATH:
examples/px4/projects/src/px4demo_HITLWithOnboardComputer/onboard_algorithm/Onboard_ObstacleAvoidance.slx

ANNOTATION:
 During Take off / Landing the waypoints are mirrored back to the PX4 HITL MAVLink encoding Obstacle Avoidance MAVLInk decoding Copyright 2022 The MathWorks, Inc.  Obstacle Avoidance on NVIDIA Jetson

BLOCK:
 Demux ; SFunction ; Terminator ;Action Port;Altitude;Bus Assignment;Bus Selector;Constant;Convert to Point Cloud;Data Type Conversion;Depth Stream;DesiredDirection;DesiredYaw;Estimated Position;Gain;Handle_new_message;Handle_old_message;If;In;Inport;Local position;MAVLink Blank Message;MAVLink Deserializer;MAVLink Serializer;Matrix Concatenate;Merge;Number of valid points;Obstacle Avoidance;ObstacleAvoidance;Orientation;Out;Point Cloud;Quaternion;Reference;Reshape;Selector;Send Heartbeat;Send Waypoint;Status;SubSystem;Sum;Take off / Landing - Loopback ;Target Position;Terminator;Trajectory waypoints;Transpose;UDP Receive: From PX4 HITL;UDP Send: To PX4 HITL;Updated Waypoint;Updated waypoint;Video Viewer;Waypoints;Waypoints- Obstacle Avoidance;cloud;depth;isNew

BLOCKTYPE:
ActionPort;BusAssignment;BusSelector;Concatenate;Constant;DataTypeConversion;Demux;Gain;If;Inport;MAVLink Blank Message;MAVLink Deserializer;MAVLink Serializer;Math;Merge;Outport;Reshape;S-Function;Selector;Sum;Terminator;UDP Receive;UDP Send;VideoViewer;nvidiacoder.common.GstVisionDataReceive;uav.sluav.internal.system.ObstacleAvoidance

PRODUCT:
Computer Vision Toolbox;Embedded Coder;MATLAB;MATLAB Coder Support Package for NVIDIA Jetson and NVIDIA DRIVE Platforms;Simulink;UAV Toolbox


MODELNAME: manipdemo_DetectAndPick_Joint
PATH: examples/robotmanipulator/main/manipdemo_DetectAndPick_Joint.slx
BLOCKTYPE_FREQUENCY: 7;2;1;2;6;2;1;11;6;4;12;2;2;1;2;1;1;1;2
CHECKSUM: AEF5364A824EBEAB901FBB7E402AF2FB
PRODUCT: Embedded Coder;MATLAB;ROS Toolbox;Robotics System Toolbox Documentation;Simulink;Stateflow
PRODUCT_BASECODE: RO
EXTERNALFILE_REFERENCE: getGraspPose___SubsystemReference_Block___sendToJointConfiguration___SubsystemReference_Block___
ANNOTATION:
Copyright 2020-2022 The MathWorks, Inc. Copyright 2020-2022 The MathWorks, Inc. Copyright 2021-2022 The MathWorks, Inc.  Detect and Pick Object using Kinova Gen3 Robot Arm with Joint Angle Control

BLOCK:
 Demux ; Merge ; SFunction ; Terminator ;Action Port;Blank Message;Bus Assignment;Chart;Clock;Close_Gripper;CommandGripper;Compare To Constant;Constant;Data Type Conversion;Effort;Get_Grasp_Pose;GripperCmd;IsPoseAcquired;IsReached;Memory;Move_Robot_Position;Move_Robot_ScanPosition;Publish;Reference;Scope;Stop Simulation;Stop_Simulation;SubSystem;Subsystem Reference;Transport Delay;Trigger;clock_in;config;config1_in;config2_in

BLOCKTYPE:
ActionPort;BusAssignment;Clock;Compare To Constant;Constant;DataTypeConversion;Demux;Inport;Memory;Merge;Outport;ROS Blank Message;ROS Publish;S-Function;Scope;Stop;Terminator;TransportDelay;TriggerPort


MODELNAME: manipdemo_DetectAndPick_Traj
PATH: examples/robotmanipulator/main/manipdemo_DetectAndPick_Traj.slx
BLOCKTYPE_FREQUENCY: 3;6;2;3;1;8;8;3;9;1;35;9;4;3;24;5;1;4;3;1;9;2;3;1;3;13;1;5
CHECKSUM: F2404BDD2166935C792D7CA143AA5D1D
PRODUCT: Embedded Coder;MATLAB;ROS Toolbox;Robotics System Toolbox Documentation;Simulink;Stateflow
PRODUCT_BASECODE: RO
EXTERNALFILE_REFERENCE: getGraspPose___SubsystemReference_Block___
ANNOTATION:
Copyright 2020-2022 The MathWorks, Inc. Copyright 2020-2022 The MathWorks, Inc. Copyright 2020-2022 The MathWorks, Inc.  Detect and Pick Object using Kinova Gen3 Robot Arm with Precomputed Trajectory Copyright 2021-2022 The MathWorks, Inc.

BLOCK:
 Demux ; Merge ; SFunction ; Terminator ;Abs;Action Port;Add;Blank Message;Bus Assignment;Bus Selector;Call Service;Chart;Clock;Close_Gripper;Compare To Constant;Constant;CurrentJointConfig;Data Type Conversion;DesiredJointConfig;Display;Effort;Get_Grasp_Pose;GripperCmd;IsPoseAcquired;IsReached;MATLAB Function;Max of Elements;Memory;Move_Robot_Position;Move_Robot_ScanPosition;OpenGripper;Out;Package Trajectory Message;Package and Send Trajectory;Publish;Radians to Degrees;Reference;Scope;Selector;SendToJointConfiguration;Stop Simulation;Stop_Simulation;SubSystem;Subscribe;Subsystem;Subsystem Reference;Terminator;Transport Delay;Trigger;WaitForRobot;Waypoint Times;clock_in;config;config1_in;config2_in;config_in;jointWaypoints;msg;msg ;q;u;waypointTimes;y

BLOCKTYPE:
Abs;ActionPort;BusAssignment;BusSelector;Clock;Compare To Constant;Constant;DataTypeConversion;Demux;Display;Inport;Memory;Merge;MinMax;Outport;ROS Blank Message;ROS Call Service;ROS Publish;ROS Subscribe;RadiansToDegrees;S-Function;Scope;Selector;Stop;Sum;Terminator;TransportDelay;TriggerPort


MODELNAME: manipdemo_connecttogen3
PATH: examples/robotmanipulator/main/manipdemo_connecttogen3.slx
BLOCK: Bus Selector;Display;Logical Operator;MATLAB System;Memory;Scope;Stop Simulation;Terminator
BLOCKTYPE: BusSelector;Display;Logic;MATLABSystem;Memory;Scope;Stop;Terminator
BLOCKTYPE_FREQUENCY: 1;4;1;2;1;1;1;5
CHECKSUM: CB38E724E792EEACBB642A16FC7889F8
PRODUCT: Embedded Coder;MATLAB;Simulink
PRODUCT_BASECODE: RO
ANNOTATION:
 This example shows how to control Kinova® Gen3 robot using KINOVA® KORTEX™ MATLAB API. Before running the example, enter parameters of the robot such as IP address, username and password to parameters of the system object KORTEX Main. When you press Run under the section SIMULATION, the robot will move to preprogrammed set points. For the animation of the expected movement of the robot, refer to this. It is always advised to keep the Emergency Stop button of the robot accessible.   Control Kinova® Gen3 Robotic Manipulator Using Kinova® Kortex™ MATLAB API Copyright 2020 The MathWorks, Inc.  Waypoint Feeder system object consists of a set of waypoints that the robot will follow. Refer to the setupImpl method of the system object to modify the waypoints.


MODELNAME: manipdemo_getAnglesROS
PATH: examples/robotmanipulator/main/manipdemo_getAnglesROS.slx
BLOCK: Bus Selector;Display;Gripper Position;Joint Angles;Radians to Degrees;Reference;Selector;Subscribe
BLOCKTYPE: BusSelector;Display;ROS Subscribe;RadiansToDegrees;Selector
BLOCKTYPE_FREQUENCY: 1;3;1;1;2
CHECKSUM: BEA2D518DA270A8F293A003FEE736196
PRODUCT: MATLAB;ROS Toolbox;Simulink
PRODUCT_BASECODE: RO
ANNOTATION:
 Read Current Joint Angles from Kinova Gen3 Robot Arm  Copyright 2020 The MathWorks, Inc.  This example uses the joint_states standard ROS message to read the current state of the robot. Refer to the example documentation for more information on configuring the model. 


MODELNAME: manipdemo_ikgen3
PATH: examples/robotmanipulator/main/manipdemo_ikgen3.slx
BLOCKTYPE_FREQUENCY: 1;11;1;1;2;1;1;2;2;1;1;1;1;2;2;1;1;3;1;2;1;2;1;1;1
CHECKSUM: AFC9DE591DA0F541301C5C874F1456E6
PRODUCT: MATLAB;Robotics System Toolbox;Simulink;Simulink 3D Animation
PRODUCT_BASECODE: RO
DESCRIPTION:
Rigid Body Tree Visualization The sl3dex_rigidbodytree example demonstrates the functionality of the Simulink(R) 3D Animation(TM) VR RigidBodyTree block. The VR RigidBodyTree block inserts visual representation of a Robotics System Toolbox(TM) RigidBodyTree object in the virtual world and displays it in the virtual reality viewer. During simulation, the rigid body tree is subsequently animated according to the configuration defined in the Config input. In this example, the manipulator configuration is provided by the Robotics System Toolbox Inverse Kinematics block. You can use the sliders to change the robot end-effector position and orientation about one axis. After inserting the robot, the virtual world can be saved using the viewer Save As... menu option. If you leave the Always use robot definition from the RigidBodyTree object checkbox unchecked, in subsequent simulations the VR RigidBodyTree block doesnt insert the robot from the RigidBodyTree object in the workspace, but instead uses the robot instance previously saved in the virtual world file. This allows further changes to the robot visual appearance and functionality in the 3D World Editor (any changes that preserve the robot structure and link names are allowed - adjusting link colors, changing individual link shapes, adding collision sensors, etc.). The VR RigidBodyTree block functionality assumes that the 3D graphics properties are defined in the RigidBodyTree object. This example requires Robotics System Toolbox. 

ANNOTATION:
 Control Cartesian position of Kinova® Gen3 Robot End-Effector using Inverse Kinematics block and Kinova® Kortex™ MATLAB API  Move the sliders to adjust the desired end-effector position and visualize the simulated robot using Simulink 3D Animation™. Move toggle switch to on position to command actual robot.  Desired End-Effector Poistion (meters)  This example shows how to control the cartesian position of Kinova® Gen3 robot end-effector using KINOVA® KORTEX™ MATLAB API. Before running the example, enter parameters of the robot such as IP address, username, and password to parameters of the system object KORTEX Main. Copyright 2020 The MathWorks, Inc.

BLOCK:
 Demux ; SFunction ; Terminator ;Bus Creator;Command Actual Robot;Constant;Coordinate Transformation Conversion;Degrees to Radians;Display;From;Goto;Ground;Inverse Kinematics;Joint Command;MATLAB Function;MATLAB System;MATLAB to VR Coordinates;Move Robot;Mux;NOT;Pose Setpoint;Radians to Degrees;Reach Joint;Reference;Robot Visualization;Setpoint Control;Setpoint_X;Setpoint_Y;Setpoint_Z;Slider;Stop;SubSystem;Switch;Terminator;Unit Delay;VR Sink;u;y

BLOCKTYPE:
BusCreator;Constant;DegreesToRadians;Demux;Display;From;Goto;Ground;Inport;Inverse Kinematics;Logic;MATLAB to VR Coordinates;MATLABSystem;Mux;Outport;RadiansToDegrees;S-Function;SliderBlock;Switch;Terminator;ToggleSwitchBlock;UnitDelay;VR RigidBodyTree;Virtual Reality Sink;robotics.slcore.internal.block.CoordinateTransformationConversion


MODELNAME: manipdemo_relayJointAnglesROS
PATH: examples/robotmanipulator/main/manipdemo_relayJointAnglesROS.slx
BLOCKTYPE_FREQUENCY: 1;1;1;1;1;1;1;1;1;1
CHECKSUM: 9EEAC20695256CA8750BE73026FB2944
PRODUCT: Embedded Coder;MATLAB;ROS Toolbox;Simulink
PRODUCT_BASECODE: RO
ANNOTATION:
Copyright 2021-2022 The MathWorks, Inc.  Read Current Joint Angles of Kinova Gen3 and publish the first angle to ROS network

BLOCK:
Bus Assignment;Bus Selector;Create Blank Message;Data Type Conversion;Display;Enable;In;Read Joint Angles;Reference;Relay First Joint Angle;Selector;SubSystem;Subsystem

BLOCKTYPE:
BusAssignment;BusSelector;DataTypeConversion;Display;EnablePort;Inport;ROS Blank Message;ROS Publish;ROS Subscribe;Selector


MODELNAME: manipdemo_sendTrajectoryROS
PATH: examples/robotmanipulator/main/manipdemo_sendTrajectoryROS.slx
BLOCKTYPE_FREQUENCY: 1;1;14;3;2;1;1;1;16;1;2;1;3;1;2;2;1;1;1;2;5;1;4;2;2
CHECKSUM: 7E25E6FB42F65EC5C5A55E2B64342142
PRODUCT: Embedded Coder;MATLAB;ROS Toolbox;Robotics System Toolbox;Simulink
PRODUCT_BASECODE: RO
ANNOTATION:
 Cartesian Pose Setpoint [X Y Z thetaX thetaY thetaZ] (m m m deg deg deg)  Send Precomputed Trajectory to Kinova Gen3 Robot Arm Copyright 2020-2022 The MathWorks, Inc.  This example uses the follow_joint_Trajectory action, which commands the robot to follow a precomputed trajectory. The trajectory starts from the home position, so ensure that the robot is at the home position before sending the trajectory to the robot. 

BLOCK:
 Demux ; SFunction ; Terminator ;Add;Assignment;Blank Message;Bus Selector;Call Service;Constant;Coordinate Transformation Conversion;Data Type Conversion;Display;For Iterator;Get Transform;IK Weights;Inverse Kinematics;MATLAB Function;Max Angular Speed (deg/s);Max Linear Speed (m/s);Mux;Package Trajectory Message;Package and Send Trajectory;Probe;Publish;Push Button;Reference;Selector;Send Desired Pose;Send Robot to Home;SubSystem;Subscribe;Terminator;Transpose;Trigger;Waypoint Inverse Kinematics;Waypoint Offsets;Waypoint Times;X;Y;Z;Zeros;initGuess;jointAngs;jointWaypoints;jointWps;msg;msg ;pose;taskWps;thetaX;thetaY;thetaZ;trVec;vMax;wMax;waypointTimes;wpTimes

BLOCKTYPE:
Assignment;BusSelector;Constant;DataTypeConversion;Demux;Display;ForIterator;Get Transform;Inport;Inverse Kinematics;Math;Mux;Outport;Probe;PushButtonBlock;ROS Blank Message;ROS Call Service;ROS Publish;ROS Subscribe;S-Function;Selector;Sum;Terminator;TriggerPort;robotics.slcore.internal.block.CoordinateTransformationConversion


MODELNAME: manipdemo_setCartesianROS
PATH: examples/robotmanipulator/main/manipdemo_setCartesianROS.slx
BLOCKTYPE_FREQUENCY: 1;8;3;1;1;7;1;7;1;1;1;1;1;1;1;3;1
CHECKSUM: 573CBB54B8587E063037F2A77FC5D392
PRODUCT: Embedded Coder;MATLAB;ROS Toolbox;Simulink
PRODUCT_BASECODE: RO
ANNOTATION:
Send Desired Pose Read Current Pose Copyright 2020-2022 The MathWorks, Inc.  This example uses the kortex_driver/PlayCartesianTrajectory service, which commands the robot to move from its current Cartesian pose to a single target pose.   Send Kinova Gen3 Robot Arm to Desired Cartesian Pose   Cartesian Pose Setpoint [X Y Z thetaX thetaY thetaZ] (m m m deg deg deg)  Current Cartesian Pose [X Y Z thetaX thetaY thetaZ] (m m m deg deg deg)

BLOCK:
 Demux ; SFunction ; Terminator ;Blank Message;Bus Selector;Call Service;Data Type Conversion;Detect Change;Display;Ground;MATLAB Function;Max Angular Speed (deg/s);Max Linear Speed (m/s);Move Robot;Mux;Read Current Pose;Reference;Send Desired Pose;SubSystem;Terminator;Trigger;X;Y;Z;msg;msg ;pose;thetaX;thetaY;thetaZ;vMax;wMax

BLOCKTYPE:
BusSelector;Constant;DataTypeConversion;Demux;Detect Change;Display;Ground;Inport;ManualSwitch;Mux;Outport;ROS Blank Message;ROS Call Service;ROS Subscribe;S-Function;Terminator;TriggerPort


MODELNAME: manipdemo_setJointAnglesROS
PATH: examples/robotmanipulator/main/manipdemo_setJointAnglesROS.slx
BLOCKTYPE_FREQUENCY: 1;2;2;1;1;1;1;5;1;1;1;1;1;1;1;3;1
CHECKSUM: F54BDE51BB16316CE660D11716E80D2A
PRODUCT: Embedded Coder;MATLAB;ROS Toolbox;Simulink
PRODUCT_BASECODE: RO
ANNOTATION:
Copyright 2020-2022 The MathWorks, Inc. Copyright 2020-2022 The MathWorks, Inc. Control Individual Joint Angle of Kinova Gen3 Robot  This example uses the kortex_driver/PlayJointTrajectory service, which commands the robot to move from its current joint configuration to a single target configuration. 

BLOCK:
 Demux ; SFunction ; Terminator ;Add;Blank Message;Bus Selector;Call Service;Data Type Conversion;Detect Change;Display;Joint Angle Offsets (deg);MATLAB Function;Max Speed (deg/s);Reference;Selector;Send Joint Trajectory;SubSystem;Subscribe;Terminator;Trigger;msg;msg ;q;rad2deg;vMax

BLOCKTYPE:
BusSelector;Constant;DataTypeConversion;Demux;Detect Change;Display;Gain;Inport;Outport;ROS Blank Message;ROS Call Service;ROS Subscribe;S-Function;Selector;Sum;Terminator;TriggerPort


MODELNAME: AnalyseIMUData
PATH: examples/shared_arduino_fusion_nav/main/AnalyseIMUData.slx
BLOCKTYPE_FREQUENCY: 1;3;3;1;1;1;1;1;1;3;3
CHECKSUM: A73784FE44FFF1465E2984B414193710
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Support Package for Arduino Hardware
PRODUCT_BASECODE: TF;NV;SL
ANNOTATION:
Read acceleration (m/s^2) & angular rate (rad/s)  Read magnetic field (uT) Sensor Blocks Copyright 2022 The MathWorks, Inc.  Analyse IMU Data

BLOCK:
Acceleration;Angular rate;Constant;Demux;Display acceleration;Display angular rate;Display magnetic field ;Event Listener;LSM6DSL Sensor;Magnetic field;Magnetometer;Magnetometer initialization;Reference;Sensitivity;SubSystem;To Workspace;Transpose

BLOCKTYPE:
Constant;Demux;Display;EventListener;Gain;I2C Read;I2C Write;LSM6DSL 6DOF IMU Sensor;Math;Scope;ToWorkspace


MODELNAME: EstimateOrientationUsingAHRSandIMU
PATH: examples/shared_arduino_fusion_nav/main/EstimateOrientationUsingAHRSandIMU.slx
BLOCKTYPE_FREQUENCY: 1;1;1;1;1;1;1;2;1;1;1
CHECKSUM: C3FC43AB40C91BA52F01513A6D582825
PRODUCT: Embedded Coder;MATLAB;Navigation Toolbox;Simulink;Simulink Support Package for Arduino Hardware
PRODUCT_BASECODE: TF;NV;SL
ANNOTATION:
Visualization  Fusion filter for orientaion estimation Pre Processing Read acceleration (m/s^2) & angular rate (rad/s)  Read magnetic field (uT) Sensor Blocks Copyright 2022 The MathWorks, Inc.  Estimate Orientation using AHRS filter and IMU sensor

BLOCK:
AHRS;Constant;Event Listener;HelperPosePlot;LSM6DSL Sensor;Magnetometer ;Magnetometer initialization;Orientation;PreProcessor;Reference;Sensitivity;SubSystem;Terminator;Transpose

BLOCKTYPE:
Constant;Display;EventListener;Gain;I2C Read;I2C Write;LSM6DSL 6DOF IMU Sensor;MATLABSystem;Math;Terminator;fusion.simulink.ahrsfilter


MODELNAME: circuit_CTLE
PATH: examples/shared_hdlv_serdes_mixed/data/circuit_CTLE/circuit_CTLE.slx
BLOCKTYPE: Constant;Demux;Inport;MATLABSystem;ManualSwitch;Outport;S-Function;SignalConversion;Step;Terminator
BLOCKTYPE_FREQUENCY: 1;1;5;3;1;1;1;1;1;2
CHECKSUM: C33D71032C71BDBC9BBFE49AE770B219
PRODUCT: Embedded Coder;HDL Verifier;SerDes Toolbox;SerDes Toolbox Documentation;Simulink
PRODUCT_BASECODE: ES;AM;SX
BLOCK:
 Demux ; SFunction ; Terminator ;CTLE_core;Constant;MATLAB System;PRBS Gen.;Signal Conversion;Step;SubSystem;Terminator;boost;cfg_sel;in;input_switch;logger;out


MODELNAME: spec_CTLE
PATH: examples/shared_hdlv_serdes_mixed/data/spec_CTLE/spec_CTLE.slx
BLOCKTYPE: Constant;Demux;Inport;MATLABSystem;ManualSwitch;Outport;S-Function;SignalConversion;Step;Terminator
BLOCKTYPE_FREQUENCY: 1;1;5;3;1;1;1;1;1;2
CHECKSUM: 93BC27912536FDEEF2665A0C7A43D922
PRODUCT: HDL Verifier;SerDes Toolbox;SerDes Toolbox Documentation;Simulink
PRODUCT_BASECODE: ES;AM;SX
BLOCK:
 Demux ; SFunction ; Terminator ;AC Resp.;CTLE_core;Constant;DC Resp. ;PRBS Gen.;Signal Conversion;Step;SubSystem;Terminator;boost;cfg_sel;in;input_switch;logger;out


MODELNAME: FidelityPathFollowing
PATH: examples/shared_uav_aeroblks/data/fidelityExample/models/FidelityPathFollowing.slx
CHECKSUM: E6E89E6E73BF55D6E520231228F5D214
PRODUCT: Aerospace Blockset;Simulink;UAV Toolbox;UAV Toolbox Documentation
PRODUCT_BASECODE: AE;UV
EXTERNALFILE_REFERENCE: HighPlantModel.slx___Model_Block___Outer_Loop_Autopilot.slx___Model_Block___
ANNOTATION:
Longitudinal PID Gains Lateral PID Gains Signal Routing Signal Routing Low level controller Ab-Rudder deflection Low level controller Roll-aileron deflection Signal Routing If any of the coordinates have changed, set output to 1  Lizarraga, Mariano I. Autonomous landing system for a UAV. Masters Thesis. Monterey California. Naval Postgraduate School, 2004.  Curry, Renwick, Mariano Lizarraga, and Gabriel Elkaim. &quot;The design of rapidly reconfigurable filters for attitude and position determination.&quot; AIAA Infotech@ Aerospace 2010. 2010. 3509. Antialias LPF Scale From Raw to Units Feedback and Sample Pitch=alpha+gamma_a Convert from the ASB State to the UAV Robotics State. Gravity and Density ASSUME MKS units! Steady wind vector components (m/s). (WindNorth is not from the North, as in meteorology, but the component in the Northerly direction.) Gravity and Density ASSUME MKS units! Steady wind vector components (m/s). (WindNorth is not from the North, as in meteorology, but the component in the Northerly direction.) Copyright 2021 The MathWorks, Inc. Waypoint Following Controller  Use the sliders to adjust tunable control parameters to test waypoint following behavior.  Tune Waypoint Follower for Fixed-Wing UAV Fixed Wing Dynamic Model Visualization

BLOCK:
; Demux ; SFunction ; Terminator ;1D Discrete Filter;3D Discrete Filter;3DVector;8192*(2pi)^-;8192*.;8192*0.;8192*4096^-;AP Config Parameters;A_sens;Ab_g*8192*0.;Add;Advanced;Aileron Limit;Air Density from Height;AirSpeed;Airspeed;Altitude;Angle Conversion;Atan;Autopilot;AutopilotState;AutopilotStates;Az;Bank Limit Command;Baro Alt;Baro Altimeter;BaroAlt;Base Height;Bus Creator;Bus Selector;Bus to Vector;COG;COG_out;Calculate Forces;Cmds;Commands;CompRateOnly;Compare To Constant;Compute Airspeed;Compute Feed Forward;Constant;CtrlSrfcCmds;CtrlSrfcTrim;CtrlSurfaces;CtrlTrim;Data Type Conversion;Delay;Demux;Deriv ;Detect Change;Discrete-Time Integrator;Divide;Drag;Elevator Limit;Enable;Env;Environment;FF;FLapCmd;Feedback;Fixed Wing UAV Guidance Model;Fixed-Wing UAV Point Mass;FixedWingModel;FlightPath;FlightPathAngle;From;G;GPS;GPS Update;Gain;Get To;Get Vn Ve;Goto;Gravity;GuidanceState;Heading;Heading to Bank Angle;HeadingAngle;HeadingControllerGain;High Fidelty;IC;In;In Bus Element;InitialLongtitudeLatitude;Inner Loop Autopilot;Integer Delay;LLA to Flat Earth;Latch Control Surfaces Trim from any mode;Latch Trim Conditions;Lift;Lift And Drag;Limit Bank to +- 45 deg;LoPass;Logical Operator;Lookahead Distance;LowFidelity;LowLevelCtrlCmds;MATLAB Function;Mass Conversion;Math Function;MaxRPM;Mid Fidelty;MidLevelCtrlCmds;Min RPM;Min Th K;Model;Multiply;Mux;Neg Feedback;New GPS;NewGPS;Out;Out Bus Element;Outer Loop Autopilot;PHeadingAngle;PID Pitch To Elevator;PID Turn Rate Controller;PID Yaw Damper;Pitch Controller;Pitch To Alpha;PlantModel;Position Filter;Position&Velocity Filter;Product;Prop Diameter (in);RL2B;RLT2B;Rate Limiter;Rate Transition;RateAid for GPS;Rate_hat;Reference;Rename chi;Rename gamma;Rename mu;Roll and Yaw Controller;Roll dynamics;Roll rate Do not use;RollAngle;Rudder Limit;SOG;SOG_out;Saturation;Scope;Select Down;Select East;Select Height;Select North;Selector;Sensor Module;SensorConditioning;SensorData;Signal Conversion;Signal Specification;Simple ;Slider;Slider Gain;Sqrt;Square;Square Root;State;StateConversion;Static (Pa);SteadyEnvironment;SubSystem;Subsystem;Sum;TargetHeading;TargetMu;Terminator;Th K;Thrust;Thrust Available (lbs);Thrust model;To;To Constant;To Workspace;Transfer Fcn;Trigger;Trigonometric Function;Trim;UAV Plant Dynamics;UAV Waypoint Follower;UAVState;Unit Delay;Update?;V;VN Ve Filter;Va;Ve;Ve_fil;Ve_hat;Veast;Vector Concatenate;Vector Length;Vehicle Dynamics;Vn;Vn_fil;Vnorth;Waypoints;Weight;Wind;WindDown;WindEast;WindNorth;WindVector;X Complementary Filter;XNED;Xe;Xe_Z_hat;Xe_hat;Xe_z_ic;Y Complementary Filter;Z Comp Filter;ZPK 1D Discrete Filter;ZPK 3D Filter;[-20 20];[-60 60];[80k - 120k];a;acc_bias;alpha;apConfigBus;apConfigParams;apStatus;apStatusCreation;asbState;asbState to uavState;chi;chi_a;compute qbar;cos(u);ctrlSrfcTrim;ctrlSurfaces;dA;dE;dEFFGain;dR;dt;g;gam;gam_a;gamma_a;get Height;h;initPos;kg2N;latLon;manualMode;mu;norm;qbar;reset;rho;sin(u);u;uavEnvironment;uavState;y;ydot

BLOCKTYPE:
Angle Conversion;BusCreator;BusSelector;BusToVector;Compare To Constant;Concatenate;Constant;DataTypeConversion;Delay;Demux;Detect Change;DiscreteIntegrator;EnablePort;Fcn;From;Gain;Goto;Guidance Model;InitialCondition;Inport;LLA to Flat Earth;Logic;Mass Conversion;Math;ModelReference;Mux;Outport;PID;Product;RateLimiter;RateTransition;S-Function;Saturate;Scope;Selector;SignalConversion;SignalSpecification;Slider Gain;SliderBlock;Sqrt;Sum;Terminator;ToWorkspace;TransferFcn;TriggerPort;Trigonometry;UAVPointMass;UnitDelay;uav.sluav.internal.system.WaypointFollower

BLOCKTYPE_FREQUENCY:
1;10;19;2;3;2;69;20;4;5;1;4;3;2;13;23;9;1;13;149;1;2;1;10;4;11;102;3;17;2;6;2;13;4;20;2;3;17;3;4;21;6;2;2;2;6;2;2;1


MODELNAME: FidelityStepResponse
PATH: examples/shared_uav_aeroblks/data/fidelityExample/models/FidelityStepResponse.slx
CHECKSUM: 03FD30435F509D72099433198F1067A0
PRODUCT: Aerospace Blockset;Simulink;UAV Toolbox;UAV Toolbox Documentation
PRODUCT_BASECODE: AE;UV
EXTERNALFILE_REFERENCE: HighPlantModel.slx___Model_Block___Outer_Loop_Autopilot.slx___Model_Block___
ANNOTATION:
Longitudinal PID Gains Lateral PID Gains Signal Routing Signal Routing Low level controller Ab-Rudder deflection Low level controller Roll-aileron deflection Signal Routing If any of the coordinates have changed, set output to 1  Lizarraga, Mariano I. Autonomous landing system for a UAV. Masters Thesis. Monterey California. Naval Postgraduate School, 2004.  Curry, Renwick, Mariano Lizarraga, and Gabriel Elkaim. &quot;The design of rapidly reconfigurable filters for attitude and position determination.&quot; AIAA Infotech@ Aerospace 2010. 2010. 3509. Antialias LPF Scale From Raw to Units Feedback and Sample Pitch=alpha+gamma_a Convert from the ASB State to the UAV Robotics State. Gravity and Density ASSUME MKS units! Steady wind vector components (m/s). (WindNorth is not from the North, as in meteorology, but the component in the Northerly direction.)  1) Add Subsystem or Model blocks as valid variant choices. 2) You cannot connect blocks at this level. At simulation, connectivity is automatically determined, based on the active variant and port name matching. Copyright 2021 The MathWorks, Inc.

BLOCK:
;1D Discrete Filter;3D Discrete Filter;3DVector;8192*(2pi)^-;8192*.;8192*0.;8192*4096^-;AP Config Parameters;A_sens;Ab_g*8192*0.;Add;Advanced;Aileron Limit;Air Density from Height;Airspeed;Altitude;Angle Conversion;Atan;Autopilot;AutopilotState;AutopilotStates;Az;Bank Limit Command;Baro Alt;Baro Altimeter;BaroAlt;Base Height;Bus Creator;Bus Selector;Bus to Vector;COG;COG_out;Calculate Forces;Cmds;Commands;CompRateOnly;Compare To Constant;Compute Airspeed;Compute Feed Forward;Constant;CtrlSrfcCmds;CtrlSrfcTrim;CtrlSurfaces;CtrlTrim;Data Type Conversion;Delay;Demux;Deriv ;Detect Change;Discrete-Time Integrator;Divide;Drag;Elevator Limit;Enable;Env;Environment;FF;FLapCmd;Feedback;Fixed Wing UAV Guidance Model;Fixed-Wing UAV Point Mass;FixedWingModel;FlightPath;From;G;GPS;GPS Update;Gain;Get To;Get Vn Ve;Goto;GuidanceState;Heading;High Fidelty;High Fidelty Output;IC;In;In Bus Element;InitialLongtitudeLatitude;Inner Loop Autopilot;Integer Delay;LLA to Flat Earth;Latch Control Surfaces Trim from any mode;Latch Trim Conditions;Lift;Lift And Drag;LoPass;Logical Operator;Low Fidelty Output;LowFidelity;LowLevelCtrlCmds;Mass Conversion;Math Function;MaxRPM;Mid Fidelty;Mid Fidelty Output;MidLevelCtrlCmds;Min RPM;Min Th K;Model;Multiply;Mux;Neg Feedback;New GPS;NewGPS;Out;Out Bus Element;Outer Loop Autopilot;Output;PID Pitch To Elevator;PID Turn Rate Controller;PID Yaw Damper;Pitch Controller;Pitch To Alpha;PlantModel;Position Filter;Position&Velocity Filter;Product;Prop Diameter (in);RL2B;RLT2B;Rate Limiter;Rate Transition;RateAid for GPS;Rate_hat;Reference;Rename chi;Rename gamma;Rename mu;Roll and Yaw Controller;Roll dynamics;Roll rate Do not use;Rudder Limit;SOG;SOG_out;Saturation;Scope;Select Down;Select East;Select Height;Select North;Selector;Sensor Module;SensorConditioning;SensorData;Signal Conversion;Signal Specification;Simple ;Slider Gain;Sqrt;Square;Square Root;StateConversion;Static (Pa);SteadyEnvironment;Step;Step AirSpeed;Step Control Input;Step Height;Step Roll;StepControl;SubSystem;Subsystem;Sum;Terminator;Th K;Thrust;Thrust Available (lbs);Thrust model;To;To Constant;To Workspace;To workspace;Transfer Fcn;Trigger;Trigonometric Function;Trim;UAV Plant Dynamics;UAVState;Unit Delay;Update?;V;VN Ve Filter;Va;Ve;Ve_fil;Ve_hat;Veast;Vector Length;Vehicle Dynamics;Vn;Vn_fil;Vnorth;Weight;Wind;WindVector;X Complementary Filter;XNED;Xe;Xe_Z_hat;Xe_hat;Xe_z_ic;Y Complementary Filter;Z Comp Filter;ZPK 1D Discrete Filter;ZPK 3D Filter;[-20 20];[-60 60];[80k - 120k];a;acc_bias;alpha;apConfigBus;apConfigParams;apStatus;apStatusCreation;asbState;asbState to uavState;chi;chi_a;compute qbar;cos(u);ctrlSrfcTrim;ctrlSurfaces;dA;dE;dEFFGain;dR;dt;g;gam;gam_a;gamma_a;get Height;h;initPos;kg2N;latLon;manualMode;mu;norm;qbar;reset;rho;sin(u);u;uavEnvironment;uavState;y;ydot

BLOCKTYPE:
Angle Conversion;BusCreator;BusSelector;BusToVector;Compare To Constant;Constant;DataTypeConversion;Delay;Demux;Detect Change;DiscreteIntegrator;EnablePort;Fcn;From;Gain;Goto;Guidance Model;InitialCondition;Inport;LLA to Flat Earth;Logic;Mass Conversion;Math;ModelReference;Mux;Outport;PID;Product;RateLimiter;RateTransition;Saturate;Scope;Selector;SignalConversion;SignalSpecification;Slider Gain;Sqrt;Step;Sum;Terminator;ToWorkspace;TransferFcn;TriggerPort;Trigonometry;UAVPointMass;UnitDelay

BLOCKTYPE_FREQUENCY:
1;11;19;2;3;66;20;3;4;1;4;3;2;13;21;9;1;13;141;1;2;1;10;4;11;103;3;17;2;4;11;3;19;2;3;17;4;4;21;3;10;2;2;6;2;2


MODELNAME: HighPlantModel
PATH: examples/shared_uav_aeroblks/data/fidelityExample/models/HighPlantModel.slx
CHECKSUM: 4998608502B0E93D5CF5E153C7B1C21C
PRODUCT: Aerospace Blockset;Simulink;UAV Toolbox Documentation
PRODUCT_BASECODE: AE;UV
ANNOTATION:
No Noise as No Sensor Zero-Order Hold on GPS Simple Actuator Model  M. Lizarraga. Design, Implementation and Flight Verification of a Versatile and Rapidly Reconfigurable UAV GNC Research Platform. PhD Dissertation, UC, Santa Cruz, Santa Cruz, CA, USA, 2009   Copyright 2018-2020 The MathWorks, Inc.

BLOCK:
; Demux ; SFunction ; Terminator ;6DOF (Euler Angles);6DOF Equations of Motion;8192/;8192/(2*pi);Ab_g*8192/;Abs;Actuator Model;Add;AeroCoeffs;AirData;AirSensorData;Airdata;Airpseed;Airspeed;Angle Conversion;Apolar;Apolar (A2);Assemble GPS and State Data;Bus Creator;Bus Selector;CD;CL;CLDe;CLa;CLa_dot;CLq;CY;CYDr;CYb;Cl;ClDa;ClDr;Clb;Clock;Clp;Clr;Cm;CmDe;CmDf;Cma;Cmq;Cn;CnDa;CnDr;Cnb;Cnp;Cnr;Compare To Zero;Compute Air Data;Compute Body Frame Forces and Moments;Compute psi_dot;Constant;CtrlCmds;CtrlSurfaces;Data Type Conversion;De;Demux;Df;Divide;Dr;Dryden Wind Turbulence Model (Discrete (+q -r));Dynamic Pressure;Embedded MATLAB Function;Enable;Engine Model;Euler;FM_b;FM_w;F_b;F_w;Fcn;Flat Earth to LLA;Forces;Forces and Moments;From;Fx_a(Drag);Fy_a(Side);Fz_a(Lift);G;GPSData;Gain;Generate GPS Data;Get Forces and Moments;Get To;Get Z;Get p;Get q;Get r;Goto;Gravitational Force;Gravity Force;Horizontal Wind Model;ISA Atmosphere Model;Incidence, Sideslip, & Airspeed;Lateral;Lateral Channel;Lift due to pitch rate;Linear Second Order Actuators;Linear Second-Order Actuator;Logical Operator;Longitudinal;Longitudinal Channel;M_b;M_w;Mass Conversion;Math Function;MaxRPM;Merge;Min RPM;Min Th K;Moments;Mux;Mx_a;My_a;Mz_a;NaiveNoiseGen;Negative Yaw;Noise Model;Noise?;Pitch Rate Fac;Positive Yaw;Product;Prop Diameter (in);RB2W;RL2B;RL2B * Vw;RW2B;Rate Transition;RawSensorData;Reduce Z Wind;Reference;Reshape 9x1->3x;Rho;Roll Rate Fac;Rotate FM to body frame;Rotate Forces;Rotate Moments;Rotate Vw;Rotate g to Body Frame;Rotate to E Frame;Rounding Function;Rw2b;Sample GPS data;Sampling Model;Saturation;Selector;Sensor Data;SensorData;SensorModel;Signal Specification;SubSystem;Sum;Switch;Terminator;Th K;Three-axis Accelerometer;Thrust Available (lbs);Thrust_b;To;To Constant;Transfer Fcn;Transpose;UAV Dynamics;UAVState;UAVStateBus;UAVState_;Unit Conversion;Unmanned Airplane PlantModel;Vair;Vb;Ve;Vn;Vw;Vx, Vy, Vz;Weather Model;Wind On;Wind frame F& M;Wind?;Wind_e;Wrapped;XYZ (NEU);Xe;Y-down;Zero level trust;[0, pi] Wrap Around;alpha;alpha_beta;alpha_dot;aoa beta;beta;chord;cog;ctrlSurfaces;dA;dE;dF;dR;dt;elarm;g_b;kg2N;p;p,q,r;pitch rate factor;psi_dot;psidot;q;roll factors;roll rate fact;sincos;span;yaw;yaw factors;yaw rate fact;yaw_wr

BLOCKTYPE:
6DOF EoM (Body Axis);Abs;Angle Conversion;BusCreator;BusSelector;Clock;Compare To Zero;Constant;DataTypeConversion;Demux;Dynamic Pressure;EnablePort;Fcn;Flat Earth to LLA;From;Gain;Goto;Horizontal Wind Model;Incidence,Sideslip,&Airspeed;Inport;International Standard Atmosphere Model;LinearSecondOrderActuator;Logic;Mass Conversion;Math;Merge;Mux;Outport;Product;RateTransition;Reshape;Rounding;S-Function;Saturate;Selector;SignalSpecification;Sum;Switch;Terminator;Three-axis Accelerometer;TransferFcn;Trigonometry;UnitConversion;Wind Turbulence Model

BLOCKTYPE_FREQUENCY:
1;2;1;13;24;2;1;57;20;5;1;3;22;1;13;16;3;1;1;107;1;5;2;1;10;2;13;57;41;6;3;9;2;6;12;21;14;2;8;1;4;3;2;1


MODELNAME: Outer_Loop_Autopilot
PATH: examples/shared_uav_aeroblks/data/fidelityExample/models/Outer_Loop_Autopilot.slx
ANNOTATION: removed zero additions to controller U(k) Y(k)
BLOCKTYPE_FREQUENCY: 2;3;3;2;4;2;2;2;21;2;11;2;3;2;3;1;2;2;6;1;2
CHECKSUM: 6C15F1ACB601F1E14538F1181088C38D
PRODUCT: Simulink;UAV Toolbox Documentation
PRODUCT_BASECODE: AE;UV
BLOCK:
Abs;Add;Airspeed Controller;Altitude Controller;AutopilotStates;Bus Selector;Compare To Constant;Constant;Delay;Difference Inputs;FixPt Data Type Duplicate;Gain;IC;In Bus Element;Just Enab;Logical Operator;MidLevelCtrlCmds;Out Bus Element;Outer loop Autopilot;PID Controller;Rate Limiter Dynamic with External IC and Autoreset for Change in IC;Reference;Saturation;Saturation Dynamic;Scope;Selector;SubSystem;Subsystem;Subtract;Unit Delay;Unit Delay Resettable External IC;WP Fly;Y;busCreator;busSelector;delta fall limit;delta rise limit;lo;pitch_c;reset;sample time;throttle_c;u;up

BLOCKTYPE:
Abs;BusCreator;BusSelector;Compare To Constant;Constant;DataTypeDuplicate;Delay;Gain;Inport;Logic;Outport;PID 1dof;Product;SampleTimeMath;Saturate;Saturation Dynamic;Scope;Selector;Sum;Unit Delay Resettable External Initial Condition;UnitDelay


MODELNAME: MBDBallTracking
PATH: examples/simulinkcoder/data/slproject_codegen_demo/ball_tracking/MBDBallTracking.slx
BLOCKTYPE_FREQUENCY: 1;1;3;1;1;2;5;6;3;2;2;3;1
CHECKSUM: 4D2FA1051FAAA800CE9771BAAE7DC425
PRODUCT: Computer Vision Toolbox;Simulink;Simulink Coder Documentation;Stateflow
PRODUCT_BASECODE: EC;RT
BLOCK:
 Demux ; SFunction ; Terminator ;Ball Pos (pixels);Blob Analysis;Camera Angle (deg);Chart;Compare To Zero;Draw Markers;Embedded MATLAB Function;Find Ball;From Multimedia File;Get X;Reference;Scope;SubSystem;To Video Display;Valid Signal;Video;bw;cam_angle;greenBall;obj_pos;uint8 to double;valid

BLOCKTYPE:
Blob Analysis;Compare To Zero;Demux;Draw Markers;From Multimedia File;Gain;Inport;Outport;S-Function;Scope;Selector;Terminator;To Video Display


MODELNAME: MBDController
PATH: examples/simulinkcoder/data/slproject_codegen_demo/controller/MBDController.slx
BLOCKTYPE: Abs;Constant;Gain;Inport;Outport;Product;Saturate;Scope;Sum;Switch;UnitDelay
BLOCKTYPE_FREQUENCY: 2;3;6;4;4;2;2;2;4;2;3
CHECKSUM: BBF7FD246589D8E90DF475EA87752E81
PRODUCT: Simulink;Simulink Coder Documentation
PRODUCT_BASECODE: EC;RT
BLOCK:
1/Time Step;Abs;Command;Derivative Gain;Error;Integral Gain;NegDir;PID Controller [Full];PWM Converter;PosDir;Product;Proportional Gain;Saturation;Scope;SubSystem;Sum;Switch;Time Step;Unit Delay;V_eff;Voltage


MODELNAME: motorController
PATH: examples/simulinkcoder/data/slproject_codegen_demo/controller/motorController.slx
BLOCKTYPE_FREQUENCY: 2;3;12;5;4;3;2;5;1;2;1;2;3;2;7;2;3
CHECKSUM: F0D98135952EEB0045EF0CAB0BAACD33
PRODUCT: Simulink;Simulink Coder Documentation
PRODUCT_BASECODE: EC;RT
ANNOTATION:
i Implement your PID Controller here based on the following equations: y[t] = y_p[t] + y_i[t] + y_d[t] where: y_p[t] = K_p e[t] y_i[t] = y_i[t-1] + K_i T_s e[t] y_d[t] = K_d * (e[t] - e[t-1]) /T_s 

BLOCK:
1/Time Step;Abs;Angle;Command;Damping;Derivative Gain;Error;In;Inductance;Inertia;Integral Gain;Integrator;Ke;Kt;Manual Switch;Mux;NegDir;Out;PID Controller [Block];PID Controller [Full];PWM Converter;Plant;PosDir;Product;Proportional Gain;Radians to Degrees;Reference;Resistance;Saturation;Scope;Step;SubSystem;Sum;Switch;Time Step;Unit Delay;V_eff;Voltage

BLOCKTYPE:
Abs;Constant;Gain;Inport;Integrator;ManualSwitch;Mux;Outport;PID 1dof;Product;RadiansToDegrees;Saturate;Scope;Step;Sum;Switch;UnitDelay


MODELNAME: motorSimulink
PATH: examples/simulinkcoder/data/slproject_codegen_demo/plant/motorSimulink.slx
BLOCKTYPE: Gain;Inport;Integrator;Outport;RadiansToDegrees;Sum
BLOCKTYPE_FREQUENCY: 7;2;4;2;1;3
CHECKSUM: CD3EFF4338457B7E7628478BB29FAEC2
PRODUCT: MATLAB;Simulink;Simulink Coder Documentation
PRODUCT_BASECODE: EC;RT
ANNOTATION:
Using Basic Simulink blocks and based on the above DC Motor equations build a mathematical model for a DC Motor. The model can be finally tested using the Vin and Tin values from the motorData.mat file. Since we are interested in Position control of DC motor return the angle (in degrees) as the output. Do not forget to add the right callbacks to test your model.  V_{in} - Ri - K_e\theta = Li K_ti - b\theta = J\theta DC Motor in Simulink i

BLOCK:
Angle;Damping;Inductance;Inertia;Integrator;Ke;Kt;Radians to Degrees;Reference;Resistance;Sum;Voltage


MODELNAME: demo_math_operations
PATH: examples/sl_poly_bf_poly_code_prover/main/demo_math_operations.slx
ANNOTATION: Copyright 1990-2020 The MathWorks, Inc.
BLOCKTYPE: Abs;CCaller;CFunction;Inport;Math;Mux;Outport;Trigonometry
BLOCKTYPE_FREQUENCY: 1;1;1;14;2;2;8;1
CHECKSUM: CF16879108A4CB516BC84D6A12F4951A
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Documentation
PRODUCT_BASECODE: SL
BLOCK:
Abs;C Caller;C Function;In;Input;Math Function;Mux;Out;SubSystem;Subsystem;Trigonometric Function;U;Y


MODELNAME: RTHLFControllerHost
PATH: examples/slrealtime/data/Models/RTHLFControllerHost.slx
BLOCKTYPE_FREQUENCY: 9;1;3;2;8;5;9;1;1;1;2;3;1;7;1;1;42;3;3;1;4;50;2;1;3;7;7;4;1;6;1;6;20;2;1;5;2;1;2;5;6;1;1;5;2;5;2
CHECKSUM: AD204B16E42CD43413C6698245198B5D
PRODUCT_BASECODE: HD;XP
ANNOTATION:
 Metrics Assessment Initial Parameters Scenario Vehicles  Simulation 3D Scenario Pack ground-truth  SAE J670E to ISO 8855 Trivial Driveline Trivial Powertrain Trivial Braking  Vehicle Dynamics  Real-Time Highway Lane Following Controller Host  Copyright 2022 The MathWorks, Inc.

BLOCK:
; Byte Pack: Tracks; Demux ; Ground ; SFunction ; Terminator ;AND;Accel;Acceleration;Actors;Bicycle Model - Force Input SAE J670 (NED);Bus Selector;Byte Pack: Lane Detections ;Byte Pack: Longitudinal Velocity;Byte Pack: Reset Flag;Byte Pack: Set Velocity ;Byte Packing;Byte Packing ;Byte Unpack: Controller intermediate signals;Byte Unpack: Controller outputs;Byte Unpacking;Cast To Boolean;Collision;Collision Detection;Compare To Constant;Constant;Cuboid To 3D Simulation;Data;Data Type Conversion;Decel;Demux;Derivative;Detect Collision;Detect MIO;Divide;Ego;Ego Set Velocity;Ego Velocity;Enable;First Order Hold;ForwardGear;From;Front Force;Gain;Gear;Goto;GreaterThan;In Lane;IsNaN;Lane Boundaries;Lane Detections;Lateral Deviation;Lateral Metrics;Longitudinal Metrics;Longitudinal Velocity;Lower level dynamics;MIO Relative Distance;MIO Relative Velocity;Metrics Assessment;Multiport Switch;Mux;Neutral;Pack Actors Truth;Pack Ego Actor;Pack Lanes Truth;Pack Tracker Data;Pose;Position;Product;Rate Transition;Rear Force;Receive Controller Output;Receive Intermediate Signals;Reference;Relative Yaw Angle;Reset Flag;Reset Trigger;SAE J670E to ISO 8855 (NED to NWU);Sample time;Saturation;Scenario Reader;Selector;Set Velocity;Simple Driveline & Brakes;Simulation 3D Scenario;Simulation 3D Scene Configuration;Simulation 3D Vehicle with Ground Following ;Simulation 3D Vision Detection Generator;Steering Angle;SubSystem;Subtract;Sum;Terminator;Time Gap;Tracks;Trigonometric Function;UDP Data Receive;UDP Data Send;UDP Receive: Controller intermediate signals;UDP Receive: Controller outputs;UDP Send: Lane Detections;UDP Send: Longitudinal Velocity;UDP Send: Reset Flag;UDP Send: Set Velocity;UDP Send: Tracks;Unary Minus;Unit Conversion;Vehicle Dynamics;Vehicle To World;Velocity;Verify In Lane;Verify Lateral Deviation;Verify No Collision;Verify Time gap;While Iterator;Width;Yaw Angle;Yaw Rate;a;actors;actorsTruth;collision;ego_lane_boundaries;ego_lane_detections;headway;lane;lanesTruth;mioIndex;mioRelLongDist;mioRelLongVel;numTracks;pos;sample time;tracks;tracksID;tracksState;vehicleTracks;vel;xdot;y;yaw;yawRate

BLOCKTYPE:
BusSelector;Checks_SMin;Checks_SRange;Compare To Constant;Constant;DataTypeConversion;Demux;Derivative;Detect Collision;Detect Most Important Obejct (MIO);EnablePort;FirstOrderHold;From;Gain;Goto;Ground;Inport;InportShadow;Logic;MultiPortSwitch;Mux;Outport;Product;RateTransition;RelationalOperator;S-Function;Saturate;Selector;Simulation 3D Scene Configuration;Simulation 3D Vehicle with Ground Following;Simulation 3D Vision Detection Generator;Sum;Terminator;TransferFcn;Trigonometry;UnaryMinus;UnitConversion;Vehicle Body 3DOF Lateral;WhileIterator;Width;driving.scenario.internal.CuboidTo3DSimulation;driving.scenario.internal.ScenarioReader;driving.scenario.internal.VehicleToWorld;slrealtimebytepacking;slrealtimeudpreceive;slrealtimeudpsend;slreraltimebytepacking

PRODUCT:
Automated Driving Toolbox;Embedded Coder;MATLAB;Simulink;Simulink Real-Time;Simulink Real-Time Documentation


MODELNAME: RTHLFControllerTarget
PATH: examples/slrealtime/data/Models/RTHLFControllerTarget.slx
BLOCKTYPE_FREQUENCY: 1;4;3;5;26;8;1;5;6;4;116;4;1;76;6;14;2;1;5;8;4;1;22;3;10;4;7;5;2;2;5;2;5
CHECKSUM: 13C8F67AE69AF9FE6A6FD39244A83EE8
PRODUCT: MATLAB;Simulink;Simulink Real-Time;Simulink Real-Time Documentation;Stateflow
PRODUCT_BASECODE: HD;XP
ANNOTATION:
Lateral dynamics - Lane keeping control Longitudinal dynamics - Adaptive cruise control Input: Deceleration, Watchdog Brake, Acceleration Description: based on the watchdog brake, either select acceleration computed from the controller or the deceleration from the watchdog controller Output: Acceleration Cmd Input: LaneCenter_ISO Description: change lane center representation from the ISO 8855 to SAE J670E coordinate system. In ISO 8855 positive Y is to the left, whereas it is to the right in SAE J670E Output: LaneCenter_SAE Input: relativeDistance, TTC, FCWtime, PB1time, PB2time, FBtime, longVelocity Description: as time to collision gets shorter, request deceleration and signal the braking status. 4 Levels are identified warning, partial braking 1/2 and full braking. Output: BrakeStatus, decel  Copyright 2021 The MathWorks, Inc.  Lane Following Controller Curvature Derivative = D[ 1 / ( 1 / (left curvature) – guard)] = left curvature derivative / (1 – (left curvature) * guard)^2.  Curvature = 1 / ( 1 / (left curvature) – guard) = left curvature / (1 – (left curvature) * guard).  Input: Lanes Description: Centerline is computed from the left lane boundary only with some guard distance Output: Center  Input: Lanes Description: Interpolate parameters for both lane boundaries to get centerline Output: Center  Input: Lanes Description: If current lane detections are not reliable, consider previous centerline as current Output: Center Curvature Derivative = D[ 1 / ( 1 / (right curvature) + guard)] = right curvature derivative / (1 + (right curvature) * guard)^2 Curvature = 1 / ( 1 / (right curvature) + guard) = right curvature / (1 + (right curvature) * guard)  Input: Lanes Description: Centerline is computed from the right lane boundary only with some guard distance Output: Center  Input: LaneDetections Description: Computes centerline from detected lane boundaries Output: LaneCenter  Lane Following Decision Logic  Copyright 2020-2021 The MathWorks, Inc.  Copyright 2021 The MathWorks, Inc.  Real-Time Highway Lane Following Controller Target

BLOCK:
 Demux ; SFunction ; Terminator ;Abs;Acceleration;AccelerationCmd;Add;Brake Status;BrakeStatus;BrakeTimeCalculation;BrakingLogic;Bus Creator;Bus Selector;Byte Pack: Controller Intermediate Signals;Byte Pack: Controller Output;Byte Packing;Byte Unpack: Lanes Data;Byte Unpack: Longitudinal Velocity Data ;Byte Unpack: Reset Flag Data;Byte Unpack: Set Velocity Data;Byte Unpack: Tracks Data ;Byte Unpacking ;Center;CenterFromLeft;CenterFromLeftAndRight;CenterFromNone;CenterFromRight;Compare To Constant;Constant;Controller;Controller Mode Selector;CoordinateChange;Curvature;CurvatureLeft;CurvatureRight;Data;Data Type Conversion;Deceleration;Delay;Divide;Enable;EstimateLaneCenter;FBDecel;FBstoppingTime;FBtime;FCWstoppingTime;FCWtime;Find Lead Car;Gain;GreaterThan;Half Lane Width Estimate;HeadingAngleLeft;HeadingAngleRight;Highway Lane Following Controller;In Bus Element;InValueLimiters;Input;Lane Center;Lane Detections;Lane Following Controller;Lane Following Decision Logic;LaneCenter;LaneCenter_ISO;LaneCenter_SAE;LaneDetections;Lanes;Lateral Center;Lateral Deviation;Lateral deviation;LateralOffsetLeft;LateralOffsetRight;Longitudinal Velocity;Longitudinal Velocity_;Longitudinal acceleration;Longitudinal velocity;LongitudinalVelocity;LongitudinalVelocityIn;MATLAB Function;MIO Relative Distance;MIO Relative Velocity;MIO Track Index;Merge;NewCenter;NumMsg;NumTracks;OldCenter;PB1Decel;PB1stoppingTime;PB1time;PB2Decel;PB2stoppingTime;PB2time;PD curv;PD distErr;PD relVel;PD setVelErr;PID controller;PID latDev;PID relYaw;Pack Lanes;Pack Tracks Data;Preview Curvature;Product;Reference;RelationalOperator;Relative Yaw Angle;Relative distance;Relative velocity;Relative yaw angle;RelativeDistanceIn;RelativeVelocityIn;Reset;Reset Flag;Resettable Highway Lane Following Controller;Sample time;Saturation;Set Velocity;Set velocity;Sign;Signal Specification;Steering Angle;Steering angle;StrengthLeft;StrengthRight;SubSystem;Subtract;Sum;Switch;TTC;TTCCalculation;Terminator;Tracks;TracksID;TracksState;UDP Data Receive;UDP Data Send;UDP Receive;UDP Receive: Lanes ;UDP Receive: Longitudinal Velocity ;UDP Receive: Reset Flag;UDP Receive: Set Velocity;UDP Receive: Tracks;UDP Send: Controller Intermediate Signals;UDP Send: Controller Output;Unary Minus;UnaryMinus;Watchdog Braking Controller;WatchdogBrake;While Iterator;Width;centerFromLeftAndRightFunction;centerFromLeftAndRightFunction();centerFromLeftFunction;centerFromLeftFunction();centerFromNoneFunction;centerFromNoneFunction();centerFromRigthFunction;centerFromRigthFunction();confirmedTracks;const;decel;ego_lane_detections;lane;laneWidth;lanes;longVelocity;mioDistance;mioTrackIndex;mioVelocity;positionSelector;relativeDistance;relative_distance;relative_velocity;setDistance;stop;vehicleTracks

BLOCKTYPE:
Abs;BusCreator;BusSelector;Compare To Constant;Constant;DataTypeConversion;Delay;Demux;EnablePort;Gain;Inport;InportShadow;Merge;Outport;PID 1dof;Product;RelationalOperator;ResetPort;S-Function;Saturate;SignalSpecification;Signum;Sum;Switch;Terminator;TriggerPort;UnaryMinus;WhileIterator;Width;slrealtimebytepacking;slrealtimeudpreceive;slrealtimeudpsend;slreraltimebytepacking


MODELNAME: sm_mars_rover_arm
PATH: examples/sm/data/sm_mars_rover_data/sm_mars_rover_arm.slx
ANNOTATION: Arm model used by sm_mars_rover_ik.m
BLOCKTYPE_FREQUENCY: 1;13;3;8;13;13;3;1;2;3;21;6;4;6;24;2;6;1;2;1
CHECKSUM: C5C1A145E91F3F00EF3BF6906D9AF414
PRODUCT: MATLAB;Simscape;Simscape Multibody;Simscape Multibody Documentation;Simulink
PRODUCT_BASECODE: MS
BLOCK:
 Demux ; SFunction ; Terminator ;ActuatorTrqs;ArmB;ArmBase;Brick Solid;CameraB;CameraBase;Chassis;Conn;Cylindrical Solid;Demux;EndEff;EndEffTip;EndEffTip_R;EndEffector;F;File Solid;From;Goto;JointAngles;L;Link;Mechanism Configuration;Motor1_Geom;Motor2_Geom;Motor3_Geom;Mux;PS-Simulink Converter;R;RTG;RTGBase;RTG_BridgeBase;RT_F;RT_L;RT_R;RT_Top;Ref;Reference;ReferenceFrame;Revolute Joint;Rigid Transform;Rover Arm;Rover Chasis;Simulink-PS Converter;Solid;Solver Configuration;SubSystem;Top;Transform;World;rad2deg;u;y

BLOCKTYPE:
Brick Solid;Cylindrical Solid;Demux;File Solid;From;Goto;Inport;Mechanism Configuration;Mux;Outport;PMIOPort;PS-Simulink Converter;Reference Frame;Revolute Joint;Rigid Transform;S-Function;Simulink-PS Converter;Solver Configuration;Terminator;World Frame


MODELNAME: CPU_to_CLA_synchornization_C2000_processor_model
PATH: examples/tic2000soc/main/CPU_to_CLA_synchornization_C2000_processor_model.slx
BLOCKTYPE: DataTypeConversion;DiscretePulseGenerator;Outport;Software Trigger CPU<->CLA
BLOCKTYPE_FREQUENCY: 1;1;2;1
CHECKSUM: 6D31978B1501A4FE49522EDEACB02C3E
PRODUCT: C2000 Microcontroller Blockset;Embedded Coder;MATLAB;Simulink
BLOCK:
Data Type Conversion;Out;Pulse Generator;Reference;Send Data to CLA;Software Trigger CPU<->CLA;SubSystem


MODELNAME: CPU_to_CLA_synchornization_top_level_model
PATH: examples/tic2000soc/main/CPU_to_CLA_synchornization_top_level_model.slx
BLOCK: CLA;CLA Task Manager;CPU;Reference;Task Manager
BLOCKTYPE: ModelReference;Task Manager
BLOCKTYPE_FREQUENCY: 2;2
CHECKSUM: 7915D1AB1A92816087DA48A96E301AB4
PRODUCT: C2000 Microcontroller Blockset;Embedded Coder;MATLAB;Simulink
EXTERNALFILE_REFERENCE:
CPU_to_CLA_synchornization_C2000_processor_model.slx___Model_Block___CPU_to_CLA_synchornization_CLA_coprocessor_model.slx___Model_Block___


MODELNAME: c2000_and_cla_setup_top_level_model
PATH: examples/tic2000soc/main/c2000_and_cla_setup_top_level_model.slx
BLOCK: ADC Interface;C;CLA;CLA Task Manager;Reference;Sine Wave;Task Manager
BLOCKTYPE: ADC Interface;ModelReference;Sin;Task Manager
BLOCKTYPE_FREQUENCY: 1;2;1;2
CHECKSUM: B7F27B0E3C78EAF679D858115ABD5610
PRODUCT: C2000 Microcontroller Blockset;Embedded Coder;MATLAB;Simulink
EXTERNALFILE_REFERENCE:
c2000_and_cla_setup_c2000_proc_model.slx___Model_Block___c2000_and_cla_setup_cla_proc_model.slx___Model_Block___


MODELNAME: c2000_armcortexm_ipc_top_level_model
PATH: examples/tic2000soc/main/c2000_armcortexm_ipc_top_level_model.slx
BLOCK: Interprocess Data Channel;Model;Reference;Task Manager
BLOCKTYPE: Interprocess Data Channel;ModelReference;Task Manager
BLOCKTYPE_FREQUENCY: 1;2;2
CHECKSUM: 05C3C9D1460D73DFF98ED21EED63F6A8
PRODUCT: Embedded Coder;MATLAB;Simulink;SoC Blockset
EXTERNALFILE_REFERENCE:
c2000_armcortexm_ipc_arm_proc_model.slx___Model_Block___c2000_armcortexm_ipc_c2000_proc_model.slx___Model_Block___


MODELNAME: c2000_armcortexm_top_level_model
PATH: examples/tic2000soc/main/c2000_armcortexm_top_level_model.slx
BLOCK: ARM Processor;C2000 Processor;Reference;Task Manager
BLOCKTYPE: ModelReference;Task Manager
BLOCKTYPE_FREQUENCY: 2;2
CHECKSUM: 5B946DF624E91B901C516741187A9A89
PRODUCT: Embedded Coder;MATLAB;Simulink;SoC Blockset
EXTERNALFILE_REFERENCE:
c2000_armcortexm_armcortexm_processor_model.slx___Model_Block___c2000_armcortexm_c2000_processor_model.slx___Model_Block___


MODELNAME: c2000_cla_ipc_top_level_model
PATH: examples/tic2000soc/main/c2000_cla_ipc_top_level_model.slx
BLOCK: CLA Task Manager;Interprocess Data Channel;Model;Reference;Task Manager
BLOCKTYPE: Interprocess Data Channel;ModelReference;Task Manager
BLOCKTYPE_FREQUENCY: 1;2;2
CHECKSUM: E9231A674E721AFD131F07E657F098BE
PRODUCT: C2000 Microcontroller Blockset;Embedded Coder;MATLAB;Simulink
EXTERNALFILE_REFERENCE:
c2000_cla_ipc_c2000_proc_model.slx___Model_Block___c2000_cla_ipc_cla_proc_model.slx___Model_Block___


MODELNAME: MultirotorModel
PATH: examples/uav/data/models/MultirotorModel.slx
CHECKSUM: 0F94933642AA696C85703C9D432A1390
PRODUCT_BASECODE: UV
ANNOTATION:
Can be replaced with a signal from the GCS to Start Mission Inner loop PID controls angular velocity Outer Proportional loop controls the pitch and roll angle  ATTITUDE CONTROL Outer loop controls the position error Inner loop controls linear velocity error Position controller requires good estimate of Yaw orientation to work properly. Incase position control is not needed, the outer loop can be removed and velocity setpoint can be given directly  Derived from the work by Sertac Karaman and Fabian Riether Derived from the work by Sertac Karaman and Fabian Riether  ALTITUDE  Use Heading Command to have the copter turn into its heading. Use Yaw Command to have the copter turn towards the yaw given by the Waypoint Mission  Derived from the work by Paul Ponds and Fabian Riether To be replaced with a signal from the GCS to Start Mission  Use Heading Command to have the copter turn into its heading. Use Yaw Command to have the copter turn towards the yaw given by the Waypoint Mission  To be replaced with a signal from the GCS to Start Mission Copyright 2020-2022 The MathWorks, Inc. This subsystem has been inserted by Simulink to adapt the output of the source blocks to the interface required by the harnessed component. Modifying the contents of this subsystem may result in compilation and simulation failure. This subsystem has been inserted by Simulink to adapt the output of the source blocks to the interface required by the harnessed component. Modifying the contents of this subsystem may result in compilation and simulation failure. This subsystem has been inserted by Simulink to adapt the output of the harnessed component to the interface required by the sink blocks. Modifying the contents of this subsystem may result in compilation and simulation failure.

BLOCK:
 Demux ; Merge ; SFunction ; Terminator ;3x3 Cross Product;6DOF (Quaternion);AC model;Abs;Accel Cmd;Action Port;ActuatorCmds;Actuators;Add;Aerodynamic Forces;Angle Conversion;Angle control loop;Angular velocity control loop;Applied Force Calculation;Arm;Assemble UAV State Bus;Atan;Att Yaw;Attitude Control;Attitude Controller;Bus Creator;Bus Selector;Bus setup;BusCreator_;COESA Atmosphere Model;Clock;Cmd;CmdVsMea;Compare To Constant;Complex to Real-Imag;Compute InnerLoop Cmds;Concat_;Constant;Control Signal;Control System;ControlMixer;Controller;D;DCM;DCM_be;DCMbe;DTD;D_yaw;D_z;Data Type Conversion;Data_Conversion_;Delay;Demux;Density;Discrete-Time Integrator;Dist;Dist2WP;Distance;Divide;Dot Product;Drag;Drag Calc;Drag Calculation;Dynamic Pressure;Embedded MATLAB Function;Enable;Environment;Err;Euler;External Forces;F_cg;Fcn;Flat Earth to LLA;FollowWaypoints;For Each;For Each Subsystem;Forces;From;FromWP;Full Guidance Logic;Fxyz;GCSCmds;GCSCommands;GPS Model;GPSData;Gain;GdncMode;Generate GPS Data;Goto;Gravity Force Calculation;Ground;Guidance Logic;Guidance Mode Selector;Guidance Stateflow;GuidanceLogic.Land.Descend;GuidanceLogic.Land.ToLand;GuidanceLogic.Orbit;GuidanceLogic.Takeoff;GuidanceLogic.WP;Harness Inputs;Hdg Cmd Sat;Hdg. Cmd Sat;Head/Yaw;High-FidelityModel;Home;Hover;I_pr;I_yaw;In;In Bus Element;Initial date;Inner Loop and Plant Model;InnerLoopCmds;InnerLoopCommands;Inport_;Input Conversion Subsystem;Landed?;Landing;Lookahead Distance;Low-FidelityModel;MATLAB Function;M_cg;Math Function;Matrix Concatenate;Meas;Memory;MissionAction;Moments;Motor Commands;Motor Forces;Motor Forces and Torques;Motor Torques;MotorDirections;Motordirections;MotorsToW;Multirotor Acceleration Control;Multirotor Thrust Control;Mux;Mxyz;OBCCommands;OBCMsgs;Obstacle Avoidance;Obstacle Avoidance3D;Omega;Omega_b;Out;Outport_;Output Conversion Subsystem;P Gain;PID_Vx;PID_Vy;PID_Vz;PID_X;PID_Y;PID_Z;P_yaw;P_z;Plant Model;Pos X;Pos Y;Pos Z;PosZ;Pose;Position Control;Position Controller;Position and Acceleration Control;Position controller;Position error transformation (Earth to Body frame);PositionCmd;PositionCmds;Product;QuadRotorState;Quadrotor Plant;R;Radius;Rate Transition;Reference;Relational Operator;Reshape;RotorDynamics;Saturation;SaturationThrust;Scale and Assemble GPS Data ;Scope;Select From Waypoint;Select To Waypoint;Selector;SigSpec_;Sign;Signal Specification;Signed Sqrt;Sqrt;State;States;Status;Steer;Step;Stop Simulation;SubSystem;Subsystem;Subtract;Sum;Sum of Elements;Switch;Takeoff IC;Terminator;ThrustToMotorCommand;To Workspace;ToRad;ToWP;TorqueTotalThrustToThrustPerMotor;Transpose;Trigonometric Function;Turns;UAV Orbit Follower;UAV Path Manager;UAVState;Unit Delay;V;V_b;V_ned;V_unit;Variant Source;Vb;Ve;Vector Concatenate;Velocity Cmd;Velocity Control;Velocity controller;Velocity error transformation (Earth to Body frame);Vn;Vx, Vy, Vz;WGS84 Gravity Model ;Waypoint Follower;World Magnetic Model ;X ;XYZ (NED);XYZ (NEU);X_ned;Xe;Y;Yaw Cmd Sat;Yaw Controller;Z;Zero level trust;acc;altitude_cmd;cog;dT Limit;diameter;drag;dragCoeff;gravity;gravity feedforward/equilibrium thrust;gravity force;harness_in_;harness_out_;kclock;mission;mode;motorsToW2_Gain;motors_cmdout;motors_datin;motors_refout;needHover;omegas_datout;phi Limit;pitch;pitch_roll_cmd;posXY;pqr;psi_dot Limit;refAttitude;rho;roll;startFlight;states_estim;states_estim ;tau_pitch;tau_roll;tau_yaw;theta Limit;thrust;thrustsToMotorCommands;thrusts_refin;thrusts_refout;totalThrust;u;vel;w;w_b;wps;xy_err_body;xy_err_earth;y;yaw;yaw_ref

BLOCKTYPE:
6DOF EoM (Body Axis);Abs;ActionPort;Angle Conversion;Atmosphere Model;BusCreator;BusSelector;Clock;Compare To Constant;ComplexToRealImag;Concatenate;Constant;CrossProduct;DataTypeConversion;Delay;Demux;DiscreteIntegrator;DotProduct;Dynamic Pressure;EnablePort;Fcn;Flat Earth to LLA;ForEach;From;Gain;Goto;GravityWGS84;Ground;Guidance Model;InitialCondition;Inport;InportShadow;Math;Memory;Merge;Mux;Outport;PID 1dof;Path Manager;Product;RateTransition;RelationalOperator;Repeating Sequence Stair;Reshape;S-Function;Saturate;Scope;Selector;SignalEditor;SignalSpecification;Signum;Sqrt;Step;Stop;Sum;Switch;Terminator;ToWorkspace;Trigonometry;UnitDelay;VariantSource;WorldMagneticModel;fusion.internal.simulink.insSensor;uav.sluav.internal.system.OrbitFollower;uav.sluav.internal.system.WaypointFollower

BLOCKTYPE_FREQUENCY:
1;3;5;2;1;22;32;3;3;1;7;38;2;22;2;33;2;3;1;3;2;2;1;3;39;3;1;1;1;1;178;12;6;2;2;20;106;10;1;17;13;2;4;3;13;14;12;26;1;10;2;4;3;2;30;3;29;2;9;2;4;1;1;1;4

PRODUCT:
Aerospace Blockset;Aerospace Toolbox;Simulink;Simulink Test;Stateflow;UAV Toolbox;UAV Toolbox Documentation


MODELNAME: photorealisticSimulationEngi
PATH: examples/uav/data/models/photorealisticSimulationEngi.slx
ANNOTATION: 3D Simulation Environment Camera Model Lidar Point Cloud Copyright 2020-2022 The MathWorks, Inc.
BLOCKTYPE_FREQUENCY: 2;4;6;7;4;6;6;12;2;4;1;1;1;1;1;1;1;1;1;1;3;1
CHECKSUM: 50C159678A1C6B32132D577C9E20563B
PRODUCT: Simulink;UAV Toolbox;UAV Toolbox Documentation
PRODUCT_BASECODE: UV
BLOCK:
Bus Creator;Bus Selector;Constant;Coordinate Transformation Conversion;Data Type Conversion;Front Camera;Front Facing Camera;Gain;Image Frame;Lidar;Lidar Data Bus;Mux;NoSim;PhotorealisticQuadrotor;Prepare UAV Data;Rate Transition;Reference;Reshape;Rotation;Scenario;Simulation 3D Scene Configuration;Simulation 3D UAV Vehicle;SimulationEnvironmentVariant;SubSystem;Terminator;Translation;UAV Animation;UAV Scenario Configuration;UAV Scenario Lidar;UAV Scenario Motion Read;UAV Scenario Motion Write;UAV Scenario Scope;UAVState

BLOCKTYPE:
BusCreator;BusSelector;Constant;DataTypeConversion;Gain;Inport;Mux;Outport;RateTransition;Reshape;Simulation 3D Camera;Simulation 3D Lidar;Simulation 3D Scene Configuration;Simulation 3D UAV Vehicle;Terminator;UAV Scenario Configuration;UAV Scenario Lidar;UAV Scenario Motion Read;UAV Scenario Motion Write;UAV Scenario Scope;robotics.slcore.internal.block.CoordinateTransformationConversion;uav.sluav.internal.system.UAVAnimation


MODELNAME: uavPackageDelivery
PATH: examples/uav/data/models/uavPackageDelivery.slx
ANNOTATION: Multirotor Aircraft UAV Package Delivery Example Copyright 2020-2022 The MathWorks, Inc.
BLOCKTYPE_FREQUENCY: 8;1;7;2;1;9;1;1;4;1;46;1;1;5;2;2;23;2;2;6;8;2;8;2;5;1;12;4;1;1;1;1
CHECKSUM: 19C7F70EBDF94AAD00475507C0E2E3DF
PRODUCT: Aerospace Blockset;MATLAB;Robotics System Toolbox;Simulink;UAV Toolbox;UAV Toolbox Documentation
PRODUCT_BASECODE: UV
EXTERNALFILE_REFERENCE: MultirotorModel___Model_Block___photorealisticSimulationEngi.slx___Model_Block___
BLOCK:
 Demux ; SFunction ; Terminator ;<pointCloud>;<position>;Basline Mission;Bus Selector;CPA;Compute Ranges;Constant;Coordinate Transformation Conversion;Create Mission for Path Manager;Data Type Conversion;DataProcessing;Delay;Demux;DesiredDirection;DesiredYaw;Dir;Enable;External Sensors - Lidar & Camera;FilterOutReflectionOnUAV;For Each;For Each Horizontal Point;For Each Horizontal Slice;For Each Subsystem;GCSCommands;Get Flight Mission;Ground;Ground Control Station;Image Frame;In;LLA to Flat Earth;LTPMission;Lidar Data Bus ;MATLAB Function;MAVLink Interface;MinMax;Mission;Mission ;Mission Items;Mission to Xe;Mod;Multirotor ;NoSensorDataToProcess;OBCCommands;OBCMsg;Obstacle Avoidance;ObstacleAvoidance;On Board Computer;Orientation;Out;Position;Process each Horizontal Slice;Process3DSensorData;ProcessSensorData;Product;QGC;QGCMission;Ranges;Rate Transition;Reference;Reshape;ReshapePointCloud;Selector;Sqrt;Square;Status;SubSystem;Subtract;Sum;Target Direction calculator;Terminator;Transpose;UAVState;Variant Sink;Variant Source;Vector Concatenate;Vector Field Histogram;Visualize Front-Facing Camera;Visualize Point cloud;Waypoints;Xe;Zero;baseMission;imageFrame;isNew;latLon;mission;noQGC;pointCloud;pos;qgcMission;u;waypoints;xyzPoints;y

BLOCKTYPE:
BusSelector;Concatenate;Constant;DataTypeConversion;Delay;Demux;Display;EnablePort;ForEach;Ground;Inport;LLA to Flat Earth;MATLABSystem;Math;MinMax;ModelReference;Outport;Product;RateTransition;Reshape;S-Function;Scope;Selector;Sqrt;Sum;Switch;Terminator;VariantSink;VariantSource;nav.slalgs.internal.VectorFieldHistogram;robotics.slcore.internal.block.CoordinateTransformationConversion;uav.sluav.internal.system.ObstacleAvoidance


MODELNAME: vexv5_Clawbot_Display_Demo
PATH: examples/vexv5/main/vexv5_Clawbot_Display_Demo.slx
BLOCKTYPE_FREQUENCY: 1;3;3;1;5;3;9;2;2;5;2;2;1;2;2;1;1;4;8
CHECKSUM: C3373F16228E3918199396917FAE769C
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Coder Support Package for VEX EDR V5 Robot Brain;Stateflow
PRODUCT_BASECODE: RT
ANNOTATION:
Motion Control (Max Speed from Screen) Arm Control Upward motion Downward motion Claw Control Autonomous Mode Selection  Competition Model  VEX V5 Clawbot Display Example This examples shows how to implement different autonomous routines and select between them using the touch screen display in the VEX V5 brain.  Copyright 2020 The MathWorks, Inc.

BLOCK:
 Demux ; SFunction ; Terminator ;Add;Arcade Module;Arm;Arm Motor;ArmPosition;Autonomous;Autonomous Modes;Claw;Claw Motor;ClawPosition;Competition Switch;Dead Zone;Display;Driver;Enable;Gain;Gamepad Joystick;In;Latch;Left Motor;LeftRotations;Max Speed;Mode;Mode ;Mode Selection;Out;Push Button;Reference;Right Motor;RightRotations;Saturation;SteerSensitivity;SubSystem;panelInfo;rot2counts;untitledPanel

BLOCKTYPE:
Arcade-2 Motors Module;Constant;DeadZone;Demux;DisplayBlock;EnablePort;Gain;Inport;Latch;Outport;PanelWebBlock;PushButtonBlock;S-Function;Saturate;Sum;Terminator;vexv5.CompetitionSwitch;vexv5.GamepadJoystick;vexv5.SmartMotorWrite


MODELNAME: vexv5_CompetitionSwitch
PATH: examples/vexv5/main/vexv5_CompetitionSwitch.slx
BLOCKTYPE_FREQUENCY: 1;1;3;1;1;1;3;1
CHECKSUM: B4FC59C5528A97201D7A2E02287C25EF
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Coder Support Package for VEX EDR V5 Robot Brain
PRODUCT_BASECODE: RT
ANNOTATION:
Task: Lower the Robot Arm Assuming the Robot Arm is in vertical position, motor input is provided to lower the arm.   The Autonomus logic requies the robot arm to be in vertical position. Pre-Autonomous mode Task: Lift the robot arm to vertical position The robot arm is assumed to be in vertical position if potentiometer reading is greater than 1000. If potentiometer value <= 1000. Turn on the Robot Arm Motor Else Turn off the Robot Arm Motor  VRC template Copyright 2019-2022 The MathWorks, Inc.

BLOCK:
Autonomous;Compare To Constant;Competition Switch;Constant;DC Motor;Driver;Enable;Gain;Gamepad Joystick;Potentiometer;Pre Autonomous ;Reference;Robot Arm Motor;Robot Arm Motor ;SubSystem

BLOCKTYPE:
Compare To Constant;Constant;EnablePort;Gain;vexv5.AnalogInput;vexv5.CompetitionSwitch;vexv5.DCMotor;vexv5.GamepadJoystick


MODELNAME: vexv5_InertialSensor
PATH: examples/vexv5/main/vexv5_InertialSensor.slx
BLOCKTYPE_FREQUENCY: 1;1;2;1;3;1;1;1;1;3;1;2
CHECKSUM: 10291D9AE95CBB1FECE980E5E2BB202B
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Coder Support Package for VEX EDR V5 Robot Brain;Stateflow
PRODUCT_BASECODE: RT
ANNOTATION:
Copyright 2020 The MathWorks, Inc.  Heading control using VEX V5 Inertial Sensor   This model uses &quot;Inertial Sensor&quot; block from VEX Library to demonstrate heading control using Inertial Sensor and Stateflow logic. Each time the Start button is pressed, robot will turn by 90 deg, relative to current orientation. Run the Model on VEX V5 Robot Click the Build, Deploy &amp; Start button on Hardware Tab in Simulink Toolstrip. Click the Start button displayed on VEX V5 Brain to start the robot Note: In case the robot turns in wrong direction (counter clockwise), change the &quot;Direction&quot; gain value to -1 

BLOCK:
 Demux ; SFunction ; Terminator ;Direction;Display;Inertial Sensor;Left Motor;Push Button;Reference;Right Motor;Start;Stateflow chart;SubSystem;Terminator;motorCmd;panelInfo;start;status;untitledPanel;yaw

BLOCKTYPE:
Constant;Demux;DisplayBlock;Gain;Inport;Outport;PanelWebBlock;PushButtonBlock;S-Function;Terminator;vexv5.InertialSensor;vexv5.SmartMotorWrite


MODELNAME: vexv5_arcaderobot
PATH: examples/vexv5/main/vexv5_arcaderobot.slx
BLOCK: ArcadeModule;Gain;HorizontalAnalogStick;Left Motor;Reference;Right Motor;VerticalAnalogStick
BLOCKTYPE: Arcade-2 Motors Module;Gain;vexv5.GamepadJoystick;vexv5.SmartMotorWrite
BLOCKTYPE_FREQUENCY: 1;1;2;2
CHECKSUM: 74AD17CBCC01E746189EBBF99FA494DA
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Coder Support Package for VEX EDR V5 Robot Brain
PRODUCT_BASECODE: RT
ANNOTATION:
Copyright 2018-2020 The MathWorks, Inc. Arcade 2 Robot Configuration This is an Arcade-2 robot model where both the axes i.e. horizontal and vertical on a single analog stick on the gamepad/controller are used to control the robot motion. The ArcadeModule block from the VEX library is used to achieve the arcade behavior in the robot. 


MODELNAME: vexv5_button2motor
PATH: examples/vexv5/main/vexv5_button2motor.slx
BLOCKTYPE_FREQUENCY: 4;1;1;3;1;2;2;1
CHECKSUM: FDF21A58CB8C401A56BF1B7B1B1D822C
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Coder Support Package for VEX EDR V5 Robot Brain
PRODUCT_BASECODE: RT
ANNOTATION:
Control Servomotor using Digital Buttons This is a model where a digital button X is used to control the angle or position of the servomotor i.e. 0 or 60 degrees. The initial angle is 0 degree. The Latch block has been added to affect the servo angle only at the rising edge transition ie. press of the button. It remains at that angle/position when the button is released and change when pressed again. Removing the Latch block from this model would result in 0 or 60 degrees for release and press of the button respectively.  Copyright 2018-2020 The MathWorks, Inc.

BLOCK:
Display;Gain;Gamepad Joystick;Latch;Out;Reference;ServoButton;SetServo;SubSystem;panelInfo;untitledPanel

BLOCKTYPE:
DisplayBlock;Gain;Latch;Outport;PanelWebBlock;vexv5.GamepadButton;vexv5.GamepadJoystick;vexv5.ServoMotor


MODELNAME: vexv5_clawbot_gazebo
PATH: examples/vexv5/main/vexv5_clawbot_gazebo.slx
BLOCKTYPE_FREQUENCY: 1;23;4;10;1;3;9;1;1;19;1;2;1;10;46;12;1;1;2;1;4;1;2;1;31;1;4;4;1;4;4
CHECKSUM: 5D8B014DC9737AD0D69213CCA92F8B95
PRODUCT_BASECODE: RT
ANNOTATION:
Adder block keeps integrating the claw and arm input. The claw would keep opening until it reaches its limits. In case you want to open the claw to certain angle. Configure and use buttons on joystick instead of using axes (analog sticks) Deadband is added to ignore small zero offsets in Gamepad input. It can happen with uncalibrated joystick.   An application of stateblock chart is illustrated here. Robots can tip over if they decelerate too fast. In this subsystem, the stateflow chart keeps monitoring angle from Inertial sensor. In case it crosses a threshold, deceleration rate is lowered. This can help with keeping robot level for minor imbalances.  This subsystem takes inputs from joystick and sets the wheel speeds and arm, claw angles. Slew rate block limits the rate of change of wheel RPM and makes the motion smooth. Unused blocks gets automatically removed from Simulaton (made virtual) as a part of Simulink optimization. An error may be thrown while trying to modify virtual/removed blocks during Simulation Joystick number/id can be found from Set up USB game controllers under Control Panel. When multiple Joysticks are detected, id may be different from 1. For XBox/Logitech/VEX Gamepad For other joysticks This block requires Simulink 3d Animation For hardware deployment For simulation Supported input devices (USB)- Logitech/Xbox Gamepad, VEX V5 Gamepad. For other Joysticks, use Joystick Input block from Simulink 3D Animation library Alternatively, sliders inside Dashboard control subsystem can be used to control the robot.  Connections: Assemble a clawbot and connect the motors and sensors as stated below, Part Smart Port Misc Left Motor 2 18:1 gear Right Motor 1 18:1 gear Arm Motor 3 36:1 gear Claw Motor 4 36:1 gear Inertial Sensor (optional) 5 Keep Y axis facing forward Control logic assumes that the robot starts with arm lowered and claw in closed state initially. If that is not the case, you may have to use a limit switch to detect the ends of motion and stop motors. Refer to our documentation on VEX V5 blocks in Simulink to know more about the library blocks.   &quot;Smart Motor Write&quot; block does not make the motor turn when position setpoints change really fast. Here Rate transition block holds the value for 0.1 seconds and this hold time is enough to let the motors turn to specified position.  Motors and Encoders Sensors Motors  These blocks send control signals to Gazebo simulator and receives sensor signals back. They make use of Gazebo Co-simulation blocks (from Robotics System Toolbox). Gazebo Pacer IMU Encoders  Simulink variants allows for creation of single model solving multple requirements. It works by selectively commenting certain blocks. Here two variant subsystems are used, one for Simulation and one for deploying the model to hardware. You could first program and check your control logic on Simulator and later deploy it to hardware. Commands Control algorithm Robot Interface  Gazebo is a robot simulator used for testing robot designs in complex environments. In this example, Simulink is used for modelling the control algorithm, while the robots physics is simulated in Gazebo. Copyright 2021-2022 The MathWorks, Inc.  Model control logic for VEX Robots in Simulink and simulate using Gazebo  Instructions: Gazebo: Follow these instructions to install and setup Gazebo Simulator Click on &quot;Gazebo VEX Clawbot&quot; desktop shortcut in Ubuntu Virtual Machine. Simulink (Simulation): Double-click &quot;VEX V5 Robot Interface/Gazebo Simulation Interface/Pacer&quot; block Select &quot;Configure Gazebo network and simulation settings&quot; Enter IP address (xxx.xxx.xxx.xxx) of Ubuntu VM where Gazebo Simulator is running Enter 14581 in Port parameter. Select &quot;Test&quot; option. Simulink will verify the connection to Gazebo Simulator Connect a Gamepad to PC. If no gamepad is available, click on &quot;Gamepad Input/Input Device&quot; to use Dashboard blocks instead Click the Run button on the Simulation Tab in Simulink Toolstrip Simulink (Deployment to VEX V5 Clawbot) Follow the connection details given in &quot;VEX V5 Robot Interface/Deployment Interface&quot; subsystem Click on &quot;Build, Deploy &amp; Start&quot; button on the Hardware Tab in Simulink Toolstrip

BLOCK:
 Demux ; SFunction ; Terminator ;A;Add;Arcade Module;Arm Motor Encoder;Arm motor (deg);Axes;B;B_A;B_B;B_DOWN;B_L;B_LEFT;B_R;B_RIGHT;B_UP;B_X;B_Y;Buttons;CH_;Chart;Claw Motor Encoder;Claw motor (deg);Constant;DOWN;Dashboard Controls;Dashboard Gamepad;Dashboard control;Data Type Conversion;Deadband;Demux;Deployment Interface;Driver Control Program;Euler Angles;Gain;Gamepad Button;Gamepad Input;Gamepad Joystick;Gamepad Simulator;Gamepad axes;Gamepad buttons;Gamepad logic;Gamepad/Joystick input;Gazebo Simulation Interface;Gear Ratio Arm;Gear Ratio Claw;Horizontal Slider;Inertial Sensor;InitialArmAngle;InitialClawAngle;Input Device ;Joystick 1 Channel;Joystick 2 Channel;Joystick 3 Channel;Joystick 4 Channel;Joystick Input;L;LEFT;Latch;Left Motor Encoder;Left wheel (rpm);Meas. angle (Arm motor);Meas. angle (Claw motor);Meas. wheel rpm;Multiply;Mux;Out;Pacer (keeps Simulink and Gazebo in sync);Push Button;R;RIGHT;Rate Limiter;Rate Limiter Dynamic;Rate Transition;Ref. angle (Arm motor);Ref. angle (Claw motor);Ref. rpm (Left wheel);Ref. rpm (Right wheel);Reference;Right Motor Encoder;Right wheel (rpm);Selector;Smart Motor Read;Smart Motor Write;Smart Motors;Stability Assist;StabilitySwitch;SubSystem;Switch;Terminator;UP;VEX Gamepad;VEX V5 Robot interface;Variant Source;Vertical Slider;X;Y;arm;buttons;claw;decelerationRate;deg->ticks 36_1 GR ;forward;gain;roll;stabilityAssist;steer;ypr

BLOCKTYPE:
Arcade-2 Motors Module;Constant;CustomTuningWebBlock;DataTypeConversion;DeadZone;Demux;Gain;Gamepad Simulator;Gazebo Pacer;Inport;Joystick Input;Latch;ManualVariantSource;Mux;Outport;PushButtonBlock;Rate Limiter Dynamic;RateLimiter;RateTransition;S-Function;Selector;SliderSwitchBlock;Sum;Switch;Terminator;VariantSource;vexv5.GamepadButton;vexv5.GamepadJoystick;vexv5.InertialSensor;vexv5.SmartMotorRead;vexv5.SmartMotorWrite

PRODUCT:
Embedded Coder;MATLAB;Robotics System Toolbox;Simulink;Simulink 3D Animation;Simulink Coder Support Package for VEX EDR V5 Robot Brain;Stateflow


MODELNAME: vexv5_distanceSensor
PATH: examples/vexv5/main/vexv5_distanceSensor.slx
ANNOTATION: Distance Sensor - Getting Started Copyright 2021 The MathWorks, Inc.
BLOCKTYPE_FREQUENCY: 1;1;5;4;1;2;1;1;1;4;1;2;1
CHECKSUM: 33F8E84574E486A24A94FD3A6F001FA7
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Coder Support Package for VEX EDR V5 Robot Brain;Stateflow
PRODUCT_BASECODE: RT
BLOCK:
 Demux ; SFunction ; Terminator ;Chart (Stateflow);Confidence;Display;Distance Sensor;Multiport Switch;Print status on V5 Brain;Reference;Scope;Size;Status (string);String Constant;String to ASCII;SubSystem;Terminator;confidence;panelInfo;size;status;untitledPanel

BLOCKTYPE:
Demux;Display;DisplayBlock;Inport;MultiPortSwitch;Outport;PanelWebBlock;S-Function;Scope;StringConstant;StringToASCII;Terminator;vexv5.DistanceSensor


MODELNAME: vexv5_external_mode
PATH: examples/vexv5/main/vexv5_external_mode.slx
BLOCK: Gain;Manual Switch;Pulse Generator;Scope;Sine Wave
BLOCKTYPE: DiscretePulseGenerator;Gain;ManualSwitch;Scope;Sin
BLOCKTYPE_FREQUENCY: 1;1;1;1;1
CHECKSUM: ECBF278F168AC1BD27DDB6FC45C4C4A7
PRODUCT: Embedded Coder;MATLAB;Simulink
PRODUCT_BASECODE: RT
ANNOTATION:
Note Mark the signal, which you will be monitoring, for logging. For Example Step 1: open the context menu of the signal that connects the Gain block to the Scope block Step 2: select Enable Data Logging   External mode (also called as Monitor and Tune).  See example for parameter tuning using external mode Copyright 2018-2020 The MathWorks, Inc.


MODELNAME: vexv5_follow_object
PATH: examples/vexv5/main/vexv5_follow_object.slx
BLOCKTYPE_FREQUENCY: 1;2;1;2;9;4;2;1;2;4;2;1
CHECKSUM: ED1D024D405679FC4B7731221628935F
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Coder Support Package for VEX EDR V5 Robot Brain;Stateflow
PRODUCT_BASECODE: RT
ANNOTATION:
 Object Following using the VEX V5 Vision Sensor  This model uses a differential drive robot to follow an object identified by the VEX V5 Vision Sensor. The object followed corresponds to the Signature ID &quot;3&quot;. Copyright 2019-2020 The MathWorks, Inc.

BLOCK:
 Demux ; SFunction ; Terminator ;ArcadeModule;Forward PID controller;Fwd offset;Gain;Left Wheel Motor;Midpoint;Object Following Logic;Reference;Right Wheel Motor;Steer PID controller;Steer_offset;Steer_pid_controller;SubSystem;Subtract;Terminator;Vision Sensor;W;Width_Limit;X;forward_pid_controller;fwd;fwd_pid;midpoint;steer;steer_pid;w;width_limit;x

BLOCKTYPE:
Arcade-2 Motors Module;Constant;Demux;Gain;Inport;Outport;PID 1dof;S-Function;Sum;Terminator;vexv5.SmartMotorWrite;vexv5.VisionSensor


MODELNAME: vexv5_gettingstarted_dcmotor
PATH: examples/vexv5/main/vexv5_gettingstarted_dcmotor.slx
BLOCK: Gain;Gamepad Button;Latch;Manual Switch;Pulse Generator;Reference;Scope;SetMotor
BLOCKTYPE: DiscretePulseGenerator;Gain;Latch;ManualSwitch;Scope;vexv5.DCMotor;vexv5.GamepadButton
BLOCKTYPE_FREQUENCY: 1;1;1;1;1;1;1
CHECKSUM: 7549B1CC7A6D9AA72AB43807975C955C
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Coder Support Package for VEX EDR V5 Robot Brain
PRODUCT_BASECODE: RT
ANNOTATION:
Deployment Simulation  Organizing functionality as color-coded areas makes block diagrams descriptive and helps to develop increasingly complex algorithms.  Add VEX Actuators & Outputs Add VEX Sensors & Inputs Design your algorithm here Add Display and Visualization Add Simulation Sources Copyright 2018-2020 The MathWorks, Inc. DC Motor -Getting Started Example  This model uses a push button button on the VEX gamepad to control the angle of a servomotor from 0 to its maximum positive orientation. The Latch block has been added to affect the servo angle only at the rising edge transition ie. press of the button. The servo motor remains at that angle when the button is released and change when pressed again. Removing the Latch block from this model would result in 0 or maximum servo position for release and press of the button respectively. Getting Started: Add Simulation Sources blocks from: Simulink Library Add VEX Sensors, Inputs and Actuator blocks from: VEX Library Configure VEX Hardware: Open Model Configuration Parameters dialog Under the Hardware Implementation option, select the desired VEX hardware from the Hardware board parameter list. This model is pre-configured to work with VEX V5 Robot Brain. Simulate the Model Click the Run button on the Simulation Tab in Simulink Toolstrip. Run the Model on VEX Hardware Click the Build, Deploy &amp; Start button on Hardware Tab in Simulink Toolstrip. Other Things to Try: Expand this model to use multiple gamepad inputs and motors, or have autonomous functinality   Double-click Manual Switch to change between simulation and deployment


MODELNAME: vexv5_gettingstarted_servodashboard
PATH: examples/vexv5/main/vexv5_gettingstarted_servodashboard.slx
BLOCKTYPE_FREQUENCY: 1;1;1;1;1;1;1;1;1
CHECKSUM: A573E956736FFC030CD3E1922569B54F
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Coder Support Package for VEX EDR V5 Robot Brain
PRODUCT_BASECODE: RT
ANNOTATION:
 Double-click Manual Switch to change between simulation and deployment VEX V5 GETTING STARTED EXAMPLE  Copyright 2018-2020 The MathWorks, Inc. Deployment Simulation  This model uses a push button button on the VEX gamepad to control the angle of a servomotor from 0 to its maximum positive orientation. The Latch block has been added to affect the servo angle only at the rising edge transition ie. press of the button. The servo motor remains at that angle when the button is released and change when pressed again. Removing the Latch block from this model would result in 0 or maximum servo position for release and press of the button respectively. Getting Started: Add Simulation Sources blocks from: Simulink Library Add VEX Sensors, Inputs and Actuator blocks from: VEX Library Configure VEX Hardware: Open Model Configuration Parameters dialog Under the Hardware Implementation option, select the desired VEX hardware from the Hardware board parameter list. This model is pre-configured to work with VEX V5 Robot Brain. Simulate the Model Click the Run button on the Simulation Tab in Simulink Toolstrip. Run the Model on VEX Hardware Click the Build, Deploy &amp; Start button on Hardware Tab in Simulink Toolstrip. Other Things to Try: Expand this model to use multiple gamepad inputs and motors, or have autonomous functionality  Add VEX Sensors & Inputs Design your algorithm here Add Display and Visualization  Organizing functionality as color-coded areas makes block diagrams descriptive and helps to develop increasingly complex algorithms.  Add Simulation Sources Add VEX Actuators & Outputs  Dashboard Blocks  Dashboard Blocks

BLOCK:
Button Signal;Display;Gain;Gamepad Button;Half Gauge;Latch;Manual Switch;Push Button;Reference;Servo Motor

BLOCKTYPE:
Constant;Display;Gain;Latch;ManualSwitch;PushButtonBlock;SemiCircularGaugeBlock;vexv5.GamepadButton;vexv5.ServoMotor


MODELNAME: vexv5_gzsim_odometry
PATH: examples/vexv5/main/vexv5_gzsim_odometry.slx
BLOCKTYPE_FREQUENCY: 4;1;2;1;1;1;8;1;4;2;3
CHECKSUM: 8F08639867AA7E9E9C128DE1D2C6F7AB
PRODUCT_BASECODE: RT
ANNOTATION:
 1. Follow these instructions to setup and start VEX Robot model in Gazebo simulator 2. Then, click the Run button on the simulation tab in Simulink toolstrip   The Gazebo Pacer block synchronizes the simulation time between Gazebo and Simulink. Network settings: Gazebo port = 14581 IP address - as per Ubuntu VM Motors Gazebo Pacer Sensors  Navigating VEX Robot with Wheel Odometry in Gazebo  (Unused blocks are commented to improve performance) Copyright 2021-2022 The MathWorks, Inc.

BLOCK:
 Demux ; SFunction ; Terminator ;Arm Motor Encoder;Bumper Switch;Claw Motor Encoder;Constant;Display;Distance;Distance Sensor;Gazebo Pacer;Heading;In;Inertial Sensor;Left Motor Encoder;Mod;Reference;Right Motor Encoder;Smart Motors;Stateflow chart;SubSystem;Terminator;Track Width;Vision Sensor;Wheel Radius;angle_deg;distance;distance_travelled_m;heading;heading (0-360);left;leftmotor;odometry;right;rightmotor;trackWidth;wheelRadius;wheelSpeed

BLOCKTYPE:
Constant;CustomWebBlock;Demux;Display;DisplayBlock;Gazebo Pacer;Inport;Math;Outport;S-Function;Terminator

PRODUCT:
Embedded Coder;MATLAB;Robotics System Toolbox;Simulink;Simulink Coder Support Package for VEX EDR V5 Robot Brain;Stateflow


MODELNAME: vexv5_gzsim_pick_and_place
PATH: examples/vexv5/main/vexv5_gzsim_pick_and_place.slx
BLOCKTYPE_FREQUENCY: 2;1;1;1;1;2;1;4;1;4;1;1;2
CHECKSUM: E014209762C75BB7DD9D802C99F28261
PRODUCT_BASECODE: RT
ANNOTATION:
 (Unused blocks are commented to improve performance)  The Gazebo Pacer block synchronizes the simulation times between Gazebo and Simulink. Network settings: Gazebo port = 14581 IP address - as per Ubuntu VM  Pick and Place Simulation for VEX Robot using Gazebo Motors Gazebo Pacer Sensors  1. Follow these instructions to setup and start VEX Robot model in Gazebo simulator 2. Then, click the Run button on the simulation tab in Simulink toolstrip  Copyright 2021-2022 The MathWorks, Inc.

BLOCK:
 Demux ; SFunction ; Terminator ;Arm Motor Encoder;Bumper Switch;Claw Motor Encoder;Constant;Display;Distance;Distance Sensor;Gazebo Pacer;Heading;In;Inertial Sensor;Left Motor Encoder;Mod;Reference;Right Motor Encoder;Selector;Smart Motors;SubSystem;Terminator;Vision Sensor;arm;arm gear ratio;claw;claw gear ratio;distance;heading (0-360);left;program logic;right;speed;wheel speed;yaw

BLOCKTYPE:
Constant;CustomWebBlock;Demux;Display;DisplayBlock;Gain;Gazebo Pacer;Inport;Math;Outport;S-Function;Selector;Terminator

PRODUCT:
Embedded Coder;MATLAB;Robotics System Toolbox;Simulink;Simulink Coder Support Package for VEX EDR V5 Robot Brain;Stateflow


MODELNAME: vexv5_gzsim_vision_scan
PATH: examples/vexv5/main/vexv5_gzsim_vision_scan.slx
BLOCKTYPE: Constant;Demux;Gain;Gazebo Pacer;Inport;Outport;S-Function;Sum;Terminator;VideoViewer
BLOCKTYPE_FREQUENCY: 10;1;1;1;5;3;1;1;2;1
CHECKSUM: B2493AD2648DC4A52C717C4F8CC0DC1D
PRODUCT_BASECODE: RT
ANNOTATION:
 (Unused blocks are commented to improve performance) Hue range for common colors  The Gazebo Pacer block synchronizes the simulation times between Gazebo and Simulink. Network settings: Gazebo port = 14581 IP address - as per Ubuntu VM  Detect Objects using Vision Sensor in Gazebo Simulator Motors Gazebo Pacer Sensors  1. Follow these instructions to setup and start VEX Robot model in Gazebo simulator 2. Then, click the Run button on the simulation tab in Simulink toolstrip  Copyright 2021-2022 The MathWorks, Inc.

BLOCK:
 Demux ; SFunction ; Terminator ;Add;Arm Motor Encoder;Blue;Bumper Switch;Chart;Claw Motor Encoder;Cyan;Distance Sensor;Gain;Gazebo Pacer;Green;Inertial Sensor;Left Motor Encoder;Red;Reference;Right Motor Encoder;Saturation;Smart Motors;SubSystem;Subsystem;Terminator;Value;Video Viewer;Vision Sensor;Yellow;count;left;right;speed;violet;width;x;x_center;x_left

PRODUCT:
Computer Vision Toolbox;Embedded Coder;MATLAB;Robotics System Toolbox;Simulink;Simulink Coder Support Package for VEX EDR V5 Robot Brain;Stateflow


MODELNAME: vexv5_opticalSensor
PATH: examples/vexv5/main/vexv5_opticalSensor.slx
ANNOTATION: Optical Sensor - Getting Started Copyright 2021 The MathWorks, Inc.
BLOCKTYPE_FREQUENCY: 2;1;5;8;1;2;1;1;8;1;2;1
CHECKSUM: CF46DD4DE71CE468622EEF23BC92156C
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Coder Support Package for VEX EDR V5 Robot Brain;Stateflow
PRODUCT_BASECODE: RT
BLOCK:
 Demux ; SFunction ; Terminator ;Chart (Stateflow);Demux;Display;Multiport Switch;Optical Sensor;Reference;Show detected color on VEX V5 Brain;String Constant;String to ASCII;SubSystem;Terminator;brightness;hue;panelInfo;proximity;sat;saturation;status;untitledPanel

BLOCKTYPE:
Demux;Display;DisplayBlock;Inport;MultiPortSwitch;Outport;PanelWebBlock;S-Function;StringConstant;StringToASCII;Terminator;vexv5.OpticalSensor


MODELNAME: vexv5_pot_linetrack
PATH: examples/vexv5/main/vexv5_pot_linetrack.slx
BLOCKTYPE_FREQUENCY: 6;1;2;3;4;2;6;2;6;1;1;1;4;1;4
CHECKSUM: 93DAB81CD187D6B3E94FC770A21492FD
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Coder Support Package for VEX EDR V5 Robot Brain;Stateflow
PRODUCT_BASECODE: RT
ANNOTATION:
 Enabled Subsystem for Claw Control  Enabled Subsystem for Arm Control  Line Follower with Arm and Claw Position Control Copyright 2018-2022 The MathWorks, Inc.

BLOCK:
 Demux ; SFunction ; Terminator ;Add;Arm Motor;Arm Motor Speed;Arm motor speed;Center Line Tracker;Center Line tracker weight;Center sensor > threshold;Chart;Claw Motor;Claw Motor Speed;Claw motor speed;Enable;Enabled Subsystem for Arm Control;Enabled Subsystem for Claw Control;Encoder;Encoder tick count when claw releases the object;Left Line Tracker;Left Line tracker weight;Left Motor;Left sensor > threshold ;LeftMotor;LineStatus;Logical Operator;Potentiometer;Potentiometer value when arm is horizontal;Potentiometer value when arm is vertical;Product;Reference;Relational Operator;Right Line Tracker;Right Line tracker weight;Right Motor;Right sensor > threshold;RightMotor;StartRoboticArm;SubSystem;Threshold

BLOCKTYPE:
Constant;Demux;EnablePort;Gain;Inport;Logic;Outport;Product;RelationalOperator;S-Function;Sum;Terminator;vexv5.AnalogInput;vexv5.SmartMotorRead;vexv5.SmartMotorWrite


MODELNAME: vexv5_rotationSensor
PATH: examples/vexv5/main/vexv5_rotationSensor.slx
ANNOTATION: Rotation Sensor - Getting Started Copyright 2021 The MathWorks, Inc.
BLOCKTYPE: Constant;DisplayBlock;Math;PanelWebBlock;PushButtonBlock;Scope;vexv5.RotationSensor
BLOCKTYPE_FREQUENCY: 2;3;1;1;1;1;1
CHECKSUM: 4077E8E4388BD5DDF8A03D0FEEDFE149
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Coder Support Package for VEX EDR V5 Robot Brain
PRODUCT_BASECODE: RT
BLOCK:
Constant;Display;Push Button;Reference;Reset;Rotation Sensor;Scope;SubSystem;convert between 0 and ;panelInfo;untitledPanel


MODELNAME: vexv5_squarepath_differential_drive_block
PATH: examples/vexv5/main/vexv5_squarepath_differential_drive_block.slx
BLOCKTYPE_FREQUENCY: 1;1;3;8;1;4;4;2;1;2;3;1;1
CHECKSUM: 4E69E09485927B7B6A2223AD1ECE2664
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Coder Support Package for VEX EDR V5 Robot Brain;Stateflow
PRODUCT_BASECODE: RT
ANNOTATION:
Robot position is plotted during simulation. During hardware deployment, code generation for the visualization block is disabled using variant sink. Copyright 2020 The MathWorks, Inc.  Follow Square Trajectory using Differential (Tank) Drive Block  This model uses &quot;Differential (Tank) Drive&quot; block from VEX Library to follow a set of waypoints given by the stateflow chart &quot;waypoint generator&quot; Simulate the Model Click the Run button on the Simulation Tab in Simulink Toolstrip. Click the Start button in the panel to start the robot. Run the Model on VEX V5 Robot Click the Build, Deploy &amp; Start button on Hardware Tab in Simulink Toolstrip. Click the Start button displayed on VEX V5 Brain to start the robot. 

BLOCK:
 Demux ; SFunction ; Terminator ;Delay;Differential (Tank) Drive;Display;Ground;Out;Push Button;Reference;Start;SubSystem;Terminator;Variant Sink;button;demux;panelInfo;pose;ref;status;untitledPanel;visualization;waypoint generator

BLOCKTYPE:
Constant;Delay;Demux;DisplayBlock;Ground;Inport;Outport;PanelWebBlock;PushButtonBlock;S-Function;Terminator;VEX V5 Differential Drive;VariantSink


MODELNAME: vexv5_tankrobot_halfSpeed_MLfcn
PATH: examples/vexv5/main/vexv5_tankrobot_halfSpeed_MLfcn.slx
BLOCKTYPE_FREQUENCY: 1;1;1;1;2;1;1;1;2;2
CHECKSUM: BF3035ADF9968C6E01DF67DA8B740343
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Coder Support Package for VEX EDR V5 Robot Brain
PRODUCT_BASECODE: RT
ANNOTATION:
Tank 2 Robot Configuration  IF L1 pressed THEN full speed ELSE half speed Copyright 2018-2020 The MathWorks, Inc.

BLOCK:
 Demux ; SFunction ; Terminator ;Embedded MATLAB Function;Invert;JoystickAnalogLeft;JoystickAnalogRight;JoystickDigital;Left Motor;Product;Reference;Right Motor;SubSystem;u;y

BLOCKTYPE:
Demux;Gain;Inport;Outport;Product;S-Function;Terminator;vexv5.GamepadButton;vexv5.GamepadJoystick;vexv5.SmartMotorWrite


MODELNAME: vexv5_tankrobot_withGear
PATH: examples/vexv5/main/vexv5_tankrobot_withGear.slx
BLOCKTYPE: Gain;Product;vexv5.GamepadButton;vexv5.GamepadJoystick;vexv5.SmartMotorWrite
BLOCKTYPE_FREQUENCY: 2;2;2;2;2
CHECKSUM: 3F939D00C862C1018E5DE4A83133A6F4
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Coder Support Package for VEX EDR V5 Robot Brain
PRODUCT_BASECODE: RT
ANNOTATION:
Tank 2 Robot Configuration with Gear Shift (Stateflow) This is an Tank-2 robot configuration model where both analog sticks on the gamepad/controller are used to control the robot motion. This model also contains a Gear_Shift block implemented using Stateflow to control the motor speed range using digital buttons. Here, press and release of L1 or L2 increases or decreases gear value respectively. The gear value range is 1 to 4.  Copyright 2018-2020 The MathWorks, Inc.

BLOCK:
Digital L1 Button;Digital L2 Button;Gain;GearTransmission;Left Motor;LeftAnalogStick;Product;Reference;Right Motor;RightAnalogStick


MODELNAME: vexv5_xdrive_gps_nav
PATH: examples/vexv5/main/vexv5_xdrive_gps_nav.slx
BLOCKTYPE_FREQUENCY: 1;1;9;3;16;1;2;3;2;18;3;1;5;2;9;1;1;4
CHECKSUM: F8259726D6EF3C000B115DA29843A7D0
PRODUCT: Embedded Coder;MATLAB;Simulink;Simulink Coder Support Package for VEX EDR V5 Robot Brain;Stateflow
PRODUCT_BASECODE: RT
ANNOTATION:
Theta is positive clockwise Copyright 2022 The MathWorks, Inc.  X Drive Robot Navigation with V5 GPS Sensor

BLOCK:
 Demux ; Merge ; SFunction ; Terminator ;AND;Action Port;Controller;Dashboard signals;Demux;Display;Gamepad Button;In;Latch;Mixer;Mux;NOT;PID Controller;Reference;Smart Motor Write;SubSystem;Sum;Terminator;V5 GPS Sensor;Waypoint;Waypoint follower;Waypoint picker;Waypoints;button;err;front;get position error in body frame;getMinTurn;isActive;isComplete;isWPdone;m;minErr;panelInfo;pose;right;theta;turn;untitledPanel;waypoint;waypoints;xyErr_body;xyErr_field

BLOCKTYPE:
ActionPort;Constant;Demux;DisplayBlock;Inport;Latch;Logic;Merge;Mux;Outport;PID 1dof;PanelWebBlock;S-Function;Sum;Terminator;vexv5.GamepadButton;vexv5.GpsSensor;vexv5.SmartMotorWrite


MODELNAME: SkyHogg3DOFAirframe
PATH: toolbox/aeroblks/flightcontrol/3DOFAirframe/SkyHogg3DOFAirframe.slx
ANNOTATION: Copyright 2018-2021 The MathWorks, Inc. 3DOF Sky Hogg Airframe Model
BLOCKTYPE_FREQUENCY: 1;1;1;7;3;1;8;5;4;3;1;26;6;1;5;21;3;18;1;3;12;4;2;3
CHECKSUM: FE76FC4B0C3810B0E9C60083B8965DD2
PRODUCT: Aerospace Blockset;Aerospace Toolbox;Simulink
PRODUCT_BASECODE: AE
BLOCK:
 M;3DOF (Body Axes);3DOF EOM;ActuatorCmds;Actuators;Aero Forces and Moments;Aerodynamic Model;Alpha;Bus Creator;Bus Element In;CD;CD_el;CL;CL_el;CM;CM_el;Cm;Cm_el;Constant;Cx;Cx_el;Cz;Cz_el;Demux;Dynamic Pressure;Elevator Deflection;Elevator Forces and Moments;Env;F;Forces;From;Fx;Fx_tot;Fz;Fz_tot;Gain;Goto;Ground;In;Incidence & Airspeed;Lookup Aero Coeffs;Lookup Elevator Aero Coeffs;M;M_tot;Moments;Mux;Out;Prelookup;Product;Propulsion;Reference;Rotation Angles to Direction Cosine Matrix;Selector;Signal Specification;States;SubSystem;Subsystem;Sum;Terminator;Throttle;ThrustX;ThrustZ;Thrust_M;Trigonometric Function;Unit Conversion;cmd;coeffAdjust;qbar

BLOCKTYPE:
3DOF EoM;Ang2DCM;BusCreator;Constant;Demux;Dynamic Pressure;From;Gain;Goto;Ground;Incidence&Airspeed;Inport;Interpolation_n-D;Lookup_n-D;Mux;Outport;PreLookup;Product;Selector;SignalSpecification;Sum;Terminator;Trigonometry;UnitConversion


MODELNAME: DehavillandBeaver6DOFAirframe
PATH: toolbox/aeroblks/flightcontrol/6DOFAirframe/DehavillandBeaver6DOFAirframe.slx
BLOCKTYPE_FREQUENCY: 1;1;1;6;14;5;1;2;1;51;1;3;35;20;9;4
CHECKSUM: 251D42553F8D8110DC3F78AE83D3E786
PRODUCT: Aerospace Blockset;Simulink
PRODUCT_BASECODE: AE
ANNOTATION:
 De Havilland Beaver Aerodynamic Model Based on original work created by Marc Rauw for Delft University of Technology http://www.dutchroll.com  Copyright 2018-2021 The MathWorks, Inc.  6DOF De Havilland Beaver Airframe Model

BLOCK:
6DOF (Euler Angles);6DOF EOM;Actuator;Actuator Aerodynamic Coefficients;ActuatorCmds;Actuators;Aerodynamic Coefficients;Aerodynamic Forces and Moments;Aerodynamic Model;Aileron;Alpha;Beta;Body Rate Damping;Bus Creator;Bus Element In;Bus Element Out;Coeff;Constant;Datum Coefficients;Demux;Divide;Dynamic Pressure;Elevator;Env;F;Flap;Forces;Gain;I;Incidence, Sideslip, & Airspeed;M;Matrix Multiply;Moments;Mux;O;Product;Propulsion;Reference;Rudder;States;SubSystem;Subsystem;Sum;Terminator;Throttle;ThrustX;ThrustYZ;Thrust_M;ToBus;V;Vb;Vector Concatenate;b2V;cV;cmd;delCoeff;pqr

BLOCKTYPE:
6DOF EoM (Body Axis);Aerodynamic Forces and Moments;BusCreator;Concatenate;Constant;Demux;Dynamic Pressure;Gain;Incidence,Sideslip,&Airspeed;Inport;Lookup_n-D;Mux;Outport;Product;Sum;Terminator


MODELNAME: asbCubeSatArchModel
PATH: toolbox/aeroblks/spacecraft/templates/asbCubeSatMBSE/CubeSatMBSEModel/asbCubeSatArchModel.slx
BLOCKTYPE: Inport;ModelReference;Outport
BLOCKTYPE_FREQUENCY: 17;5;16
CHECKSUM: 47B4973779D801BE3190E0F25457EBE3
PRODUCT: Aerospace Blockset;Simulink
PRODUCT_BASECODE: AE
ANNOTATION:
Spacecraft Bus  Use Attitude stereotype to set initial attitude state  Use Orbit stereotype to set initial orbit state CubeSat Mission Components External Components Copyright 2021-2022 The MathWorks, Inc.

BLOCK:
ACS;Adapter;Antenna;Battery;BatteryCell;Bus Element In;Bus Element Out;CDHS;Communications;Component;CubeSat;CubeSat Initial Attitude;CubeSat Initial Orbit;CubeSat Mission Enterprise;Data Concentrator;Environment;Facilities;GNC;GPS;Ground Equipment Control;Ground Segment;Ground Station Services;In Bus Element;Mission Data Dissemination;Mission Data Processing;MissionPayload;Network;OnBoard Computer;Operator;Out Bus Element;Plan and Schedule;Plant;Power;Power System Control;Power System Plant;Propulsion;SolarPanel;SolarPanelCell;Space Environment;Space Segment;Space-Ground Communications;Spacecraft Command;Structures;SubSystem;Thermal;Tranceiver;Tranport, Launch and Deploy Services;Visualization

EXTERNALFILE_REFERENCE:
asbCubeSatACS___Model_Block___asbCubeSatEnvironment.slx___Model_Block___asbCubeSatVehicleOperator.slx___Model_Block___asbCubeSatVehiclePlant.slx___Model_Block___asbCubeSatVisualization___Model_Block___


MODELNAME: asbCubeSatEnvironment
ANNOTATION: Copyright 2021-2022 The MathWorks, Inc.
BLOCKTYPE: Constant;Inport;Mux;Outport
BLOCKTYPE_FREQUENCY: 2;1;1;2
CHECKSUM: 2C033EC94793051E8C094DE7BD8ECAA0
PRODUCT: Aerospace Blockset;Simulink
PRODUCT_BASECODE: AE
PATH:
toolbox/aeroblks/spacecraft/templates/asbCubeSatMBSE/CubeSatMBSEModel/CubeSatPlant/asbCubeSatEnvironment.slx

BLOCK:
CubeSatStates;Env;Enviroment;Ext;External Forces and Torques ;Forces_Body;Mux;Reference;SubSystem;Torques_Body


MODELNAME: asbCubeSatVehicleOperator
ANNOTATION: Copyright 2021-2022 The MathWorks, Inc. 0 - None 1- Earth Nadir 2- Sun
BLOCK: Clock;Interval Test;Nadir Pointing;PointingMode;Rate Transition;Reference;Sun Pointing;Switch
BLOCKTYPE: Clock;Constant;Interval Test;Outport;RateTransition;Switch
BLOCKTYPE_FREQUENCY: 1;2;1;1;1;1
CHECKSUM: 4CDD391D4C70F511C5F8A6C5D957626B
PRODUCT: Aerospace Blockset;Simulink
PRODUCT_BASECODE: AE
PATH:
toolbox/aeroblks/spacecraft/templates/asbCubeSatMBSE/CubeSatMBSEModel/CubeSatPlant/VehicleDynamics/asbCubeSatVehicleOperator.slx


MODELNAME: asbCubeSatVehiclePlant
ANNOTATION: Copyright 2021-2022 The MathWorks, Inc.
BLOCKTYPE: BusCreator;Inport;Outport
BLOCKTYPE_FREQUENCY: 1;2;2
CHECKSUM: 9021E1AC8A72E9D835623D635FC748DE
PRODUCT: Aerospace Blockset;Simulink
PRODUCT_BASECODE: AE
PATH:
toolbox/aeroblks/spacecraft/templates/asbCubeSatMBSE/CubeSatMBSEModel/CubeSatPlant/VehicleDynamics/asbCubeSatVehiclePlant.slx

BLOCK:
Bus Creator;CommandedAttitude;CubeSatStates;Environment;Reference;SensorsOut;SubSystem;Vehicle Control Actuators;Vehicle Control Sensors;Vehicle Dynamics


MODELNAME: asbCubeSatVisualization
ANNOTATION: Copyright 2021-2022 The MathWorks, Inc.
BLOCKTYPE_FREQUENCY: 1;1;9;1;3;1;1;16;25;3;6;16;2;2;2;3;7;7;1;1;5;2;4;1;1
CHECKSUM: AC8FB8FD0264AFA38AF9769A578DAC4A
PRODUCT: Aerospace Blockset;Simulink;Simulink 3D Animation
PRODUCT_BASECODE: AE
PATH:
toolbox/aeroblks/spacecraft/templates/asbCubeSatMBSE/CubeSatMBSEModel/ModelVisualization/asbCubeSatVisualization.slx

BLOCK:
Add;Antenna Position to VRML;AntennaScale;AntennaTrans;AxisAngle;BodyStates;Bus Element In;Compare To Constant;Compute Antenna Properties;Compute Earth Rotation Rate;Compute Umbra Translation;ConeHalfLength;Constant;CubeSatStates;Data Type Conversion;Demux;Divide;Dot Product;ECEF to VRML;EarthRot;Env;Environment;Euler Angles to Quaternions;Flip 180 deg, rotate ;Gain;I;InvertSunPosECEF;KeepSunInView;Length Conversion;M;Mux;NavMode;No Visualization;O;Out;Product;Quaternion Inverse;Quaternion Multiplication;Quaternion Rotation;Quaternion between r_a and r_b;Quaternion to VRML;Radar;Radar on/off;Rate Transition;Reference;Sat Position to VRML;SatScale;Satellite Model Scaling;ScaleModelToVRML;Selector;Sqrt;SubSystem;Sum;Sun Position to VRML;Terminator;Trigonometric Function;Unit Delay;VR;VR Sink;VRMLRot;Virtual Reality World;Visualization;axis_angle;gain;km to VRML units;m to VRML;q;unitVec;x;xVRML

BLOCKTYPE:
Calculate quaternion between vectors;Compare To Constant;Constant;DataTypeConversion;Demux;DotProduct;Euler2Quaternion;Gain;Inport;Length Conversion;Mux;Outport;Product;Quaternion Inverse;Quaternion Multiplication;Quaternion Rotation;RateTransition;Selector;Set Animation Properties;Sqrt;Sum;Terminator;Trigonometry;UnitDelay;Virtual Reality Sink


MODELNAME: asbCubeSat
PATH: toolbox/aeroblks/spacecraft/templates/asbCubeSatSimulation/CubesatModel/asbCubeSat.slx
BLOCKTYPE_FREQUENCY: 1;1;1;13;1;1;1;4;1;1;1;16;1;41;3;1;7;26;2;3;2;7;7;3;7;1;1;1;6;2;4;5;1;1
CHECKSUM: 326195F2FAE291A61FF1E52E7A457C8D
PRODUCT: Aerospace Blockset;MATLAB;Simulink;Simulink 3D Animation
PRODUCT_BASECODE: AE
ANNOTATION:
Modes: 0 = Off 1 = Earth (Nadir) 2 = Sun Flight Software Plant Model Visualization CubeSat Environment  Copyright 2018-2022 The MathWorks, Inc.  CubeSat Simulation Mission Configuration

BLOCK:
3x3 Cross Product;Add;Antenna Position to VRML;AntennaScale;AntennaTrans;Approx ECI PosVel;AttitudeMode;AxisAngle;BodyStates;BodyStatesOut;Bus Element In;Compare To Constant;Compute Antenna Properties;Compute Earth Rotation Rate;Compute Umbra Translation;ConeHalfLength;Constant;Data Type Conversion;Demux;Divide;Dot Product;ECEF PosVel;ECEF to VRML;EarthRot;Edit Initial Orbit and Attitude;Enviroment Models;Environment;Estimate ECI PosVel;Euler Angles to Quaternions;Ext;External Forces and Torques ;Flip 180 deg, rotate ;Forces_Body;From;Gain;Geodetic LatLonAlt;Goto;I;InvertSunPosECEF;KeepSunInView;Length Conversion;M;Mode;Multiport Switch;Mux;NavMode;No Visualization;O;Out;Pointing Mode;Product;Quaternion Inverse;Quaternion Multiplication;Quaternion Rotation;Quaternion between r_a and r_b;Quaternion to VRML;Radar;Radar on/off;Rate Transition;Reference;Sat Position to VRML;SatScale;Satellite Model Scaling;ScaleModelToVRML;Scopes;Select Pointing Mode;Selector;Signal Editor;Sqrt;SubSystem;Subsystem;Sum;Sun Position to VRML;Terminator;Torques_Body;Trigonometric Function;Unit Conversion;Unit Delay;VR;VR Sink;VRMLRot;V_ecef;V_eci;Vehicle Control Actuators;Vehicle Control Sensors;Vehicle Dynamics;Vehicle Flight Software;Vehicle Model;Virtual Reality World;Visualization;X_ecef;X_eci;axis_angle;gain;km;km to VRML units;km/s;m;m to VRML;m/s;q;q_ecef2b;q_eci2b;unitVec;x;xVRML

BLOCKTYPE:
Calculate quaternion between vectors;ComboBox;Compare To Constant;Constant;CrossProduct;CubeSat Initial Conditions;DataTypeConversion;Demux;DotProduct;Euler2Quaternion;From;Gain;Goto;Inport;Length Conversion;MultiPortSwitch;Mux;Outport;Product;Quaternion Inverse;Quaternion Multiplication;Quaternion Rotation;RateTransition;Scope;Selector;Set Animation Properties;SignalEditor;Sqrt;Sum;Terminator;Trigonometry;UnitConversion;UnitDelay;Virtual Reality Sink


MODELNAME: asbCubeSatACS
ANNOTATION: Copyright 2018-2022 The MathWorks, Inc. CubeSat Attitude Control (ACS)
BLOCKTYPE_FREQUENCY: 3;2;2;3;2;2;13;2;13;1;2;2;1;1;3
CHECKSUM: F331C759AC24CC1180B0DE6D5138219D
PRODUCT: Aerospace Blockset;Simulink;Stateflow
PRODUCT_BASECODE: AE
PATH:
toolbox/aeroblks/spacecraft/templates/asbCubeSatSimulation/CubesatModel/CubesatFSW/asbCubeSatACS.slx

BLOCK:
 ; ControlMode; Demux ; Merge ; SFunction ; Terminator ;ACSOut;Attitude Control;Attitude Profile (Nadir Pointing);Attitude Profile (Sun Tracking);AttitudeError;AttitudeMode;AttitudeMode ;Bus Creator;Bus Selector;ControlMode;Demux;Discrete PID Controller;Environment;NavMode;Off;On.Earth;On.Sun;Pointing Mode Selection;PointingCmd;Quaternion Conjugate;Quaternions to Rotation Angles;Reference;SensorsOut;SensorsOut ;SignalConversion;SubSystem;Terminator;TorqueCmds;Unit quat;cmd_q_b2tgt

BLOCKTYPE:
ActionPort;Attitude Profile;BusCreator;BusSelector;Constant;Demux;Inport;Merge;Outport;PID 1dof;Quat2Ang;Quaternion Conjugate;S-Function;SignalConversion;Terminator


MODELNAME: flightControlSystem
PATH: toolbox/aeroblks/templates/asbFlightSimulationProject/controller/flightControlSystem.slx
ANNOTATION: Copyright 2013-2019 The MathWorks, Inc. Fllight Control System
BLOCKTYPE: Inport;ModelReference;Outport
BLOCKTYPE_FREQUENCY: 7;1;5
CHECKSUM: FC9B94A98766F33B7018637047348BFD
PRODUCT: Aerospace Blockset;Simulink
PRODUCT_BASECODE: AE
EXTERNALFILE_REFERENCE: flightController.slx___Model_Block___
BLOCK:
AC cmd;AC cmd FCS;Actuators;Actuators DAQ and Filtering;Actuators FCS;Actuators FCS AC;Cmd DAQ Filtering;Controller;FCS;Sensor;Sensor DAQ Filtering;Sensor FCS;Sensors;SubSystem


MODELNAME: linearAirframe
PATH: toolbox/aeroblks/templates/asbFlightSimulationProject/linearAirframe/linearAirframe.slx
ANNOTATION: Copyright 2013-2021 The MathWorks, Inc. Linear Airframe Model
BLOCKTYPE: Constant;Inport;Outport;S-Function;S-Function Builder;StateSpace
BLOCKTYPE_FREQUENCY: 7;4;2;2;2;1
CHECKSUM: E6D47E2AC50A730149A22C96774C8F82
PRODUCT: Aerospace Blockset;Simulink
PRODUCT_BASECODE: AE
BLOCK:
Actuators;Actuators Trim;Air Density Trim;Air Temp Trim;Environment;Gravity NED Trim;Linear;Linear Model;LinearOutputBus;MAgnetic Field NED Trim;Pressure Trim;Speed of Sound Trim;States;SubSystem;linearInputBus


MODELNAME: trimNonlinearAirframe
PATH: toolbox/aeroblks/templates/asbFlightSimulationProject/linearAirframe/trimNonlinearAirframe.slx
BLOCKTYPE: BusCreator;BusSelector;Inport;ModelReference;Outport
BLOCKTYPE_FREQUENCY: 2;1;9;2;3
CHECKSUM: 1644BC4C43CA6FD9DE91252DA60A02D0
PRODUCT: Aerospace Blockset;Simulink
PRODUCT_BASECODE: AE
EXTERNALFILE_REFERENCE: linearAirframe.slx___Model_Block___nonlinearAirframe.slx___Model_Block___
BLOCK:
Actuators;Air Temp;Airframe;Bus Creator;Bus Selector;Environment;Gravity ned;Linear Airframe;Magnetic Field;Nonlinear Airframe;Omega_body;States;SubSystem;V_body;air density;pressure;speed sound


MODELNAME: flightSimulation
PATH: toolbox/aeroblks/templates/asbFlightSimulationProject/mainModels/flightSimulation.slx
BLOCKTYPE_FREQUENCY: 1;1;1;1;3;6;1;4;7;5;1;1;6;1;1;24;1;1;3;12;13;1;4;2;2;3;5;1;1;1;1;1;2;2;8;2;1
CHECKSUM: B596AB9F6E931D346836985FA2FAE012
PRODUCT: Aerospace Blockset;Simulink;Simulink 3D Animation
PRODUCT_BASECODE: AE
ANNOTATION:
VSS_VEHICLE = 0 will select linear airframe VSS_VEHICLE = 1 will select nonlinear airframe VSS_COMMAND = 0 will select Signal Editor VSS_COMMAND = 1 will select Joystick VSS_COMMAND = 2 will select pre-saved data from .mat file VSS_ENVIRONMENT = 0 will select constant environment variables VSS_ENVIRONMENT = 1 will select environment variables depending on position VSS_SENSORS = 0 will select feedthrough sensors VSS_SENSORS = 1 will select dynamics sensors with noise VSS_VISUALIZATION = 0 will select scopes as means to visualie variables/states VSS_VISUALIZATION = 1 will send select states in a variable to the workspace VSS_VISUALIZATION = 2 will use FlightGear as visualization VSS_VISUALIZATION = 3 will use a Simulink 3D interface Flight Simulation Model Copyright 2013-2019 The MathWorks, Inc.

BLOCK:
;1/;AC Cmd;Actuators;Airframe;Airspeed Indicator;Altimeter;Altitude [ft];Altitude [m];Artificial Horizon;Axes to VR Axes;Axis Angle;Axis Angle Vector;Bus Creator;Bus Selector;Climb Rate Indicator;Command;Commands;CommandsOut;Constant;Data;Demux;Display;Environment;Environment (Constant);Environment (Variable);Euler;Euler Angles;Euler [deg];Euler to VR;Extract Flight Instruments;FCS;FlightGear;FlightGear Preconfigured 6DoF Animation;From File;Gain;Generate Run Script;Heading Indicator;Joystick;Linear Airframe;Math Function;Mux;Nonlinear Airframe;Pilot Joystick;Product;Quaternion Multiplication (Pitch & Yaw);Quaternion Multiplication (Roll);Quaternion Normalization;Rate Transition;Reference;Scopes;Selector;Sensors;Sensors (Dynamics);Sensors (Feedthrough);Signal Editor;Simulation Pace;Simulink 3D;Sqrt;States;StatesOut;SubSystem;Sum of Elements;Switch;Terminator;Trigonometric Function;V;VR Sink;V_body;Vd [ft/min];Vd [m/s];Visualization;Vr Pitch Axes;Vr Roll Axes;Vr Yaw Axes;Workspace;X_ned;Xe;Xe VR;e;e0_norm;rad-->deg

BLOCKTYPE:
AirspeedIndicatorBlock;AltimeterBlock;Angle Conversion;ArtificialHorizonBlock;BusCreator;BusSelector;ClimbIndicatorBlock;Constant;Demux;Display;FlightGearQuick6DoFAnimation;FromFile;Gain;Generate FlightGear Run Script;HeadingIndicatorBlock;Inport;Length Conversion;Math;ModelReference;Mux;Outport;PilotJoystick;Product;Quaternion Multiplication;RateTransition;Scope;Selector;SignalEditor;Simulation Pace;Sqrt;Sum;Switch;Terminator;ToWorkspace;Trigonometry;Velocity Conversion;Virtual Reality Sink


MODELNAME: nonlinearAirframe
PATH: toolbox/aeroblks/templates/asbFlightSimulationProject/nonlinearAirframe/nonlinearAirframe.slx
BLOCKTYPE: 6DOF EoM (Body Axis);BusCreator;Constant;Flat Earth to LLA;Inport;Mux;Outport;Selector;Terminator
BLOCKTYPE_FREQUENCY: 1;1;2;1;17;1;7;1;2
CHECKSUM: D22F27DAAA3B39DBCB32F44DD3EED78F
PRODUCT: Aerospace Blockset;Simulink
PRODUCT_BASECODE: AE
ANNOTATION:
VSS_ACTUATORS = 0 will select feedtrhough actuator, no dynamics VSS_ACTUATORS = 1 will select linear second order dynamics actuator VSS_ACTUATORS = 2 will select nonlinear second order dynamics actuator Copyright 2013-2019 The MathWorks, Inc. Nonlinear Airframe Model

BLOCK:
6DOF (Quaternion);AC model;Accel_b;ActuatorDynamics;Actuators;Actuators AC;Actuators FCS AC;Bus Creator;Bus setup;Constant;DCM_be;Environment;Euler;F_cg;Feedthrough;Flat Earth to LLA;LLA;Linear 2nd Order;M_cg;Mux;Nonlinear;Nonlinear 2nd Order;Omega_b;Position on Earth;Reference;Selector;States;SubSystem;Terminator;V_b;V_ned;X_ned;Xe;dOmega_b;href


MODELNAME: CompareAllModels
PATH: toolbox/audio/nonrelease/examples/Loudspeakers/CompareAllModels.slx
ANNOTATION: Mechanical Domain Electrical Domain
BLOCKTYPE_FREQUENCY: 2;3;6;3;13;1;1;5;3;1;1;11;5;15;3;3;15;1;1;1;3;1
CHECKSUM: 0924C81242FA1B6044021098BD757A72
PRODUCT: MATLAB;Simscape;Simulink
PRODUCT_BASECODE: AU
BLOCK:
1/rm;Add;Chirp Signal;Controlled Voltage Source;Current Sensor;Electrical Reference;Gain;Gyrator;Ideal Translational Motion Sensor;Integrator;Le;Mass;Mechanical Translational Reference;PS-Simulink Converter;Re;Reference;Scale;Scope;Simulink-PS Converter;Solver Configuration;Sum;Translational Damper;Translational Electromechanical Converter;Translational Spring;Voltage Sensor;a(t);cm;current;mm;rm;v(t);x(t)

BLOCKTYPE:
Capacitor;Controlled Voltage Source;Current Sensor;Electrical Reference;Gain;Gyrator;Ideal Translational Motion Sensor;Inductor;Integrator;Mass;Mechanical Translational Reference;PS-Simulink Converter;Resistor;Scope;Simulink-PS Converter;Solver Configuration;Sum;Translational Damper;Translational Electromechanical Converter;Translational Spring;Voltage Sensor;chirp


MODELNAME: CiEngineController
PATH: toolbox/autoblks/autoblksreference/projectsrc/CI/Controller/CiEngineController.slx
ANNOTATION: Copyright 2015-2023 The MathWorks, Inc.
BLOCKTYPE: BusSelector;CI Controller;Constant;Inport;Outport;Terminator
BLOCKTYPE_FREQUENCY: 1;1;11;22;17;13
CHECKSUM: F066A2BD4545FCF358D168334DB1D4ED
PRODUCT: Powertrain Blockset;Simulink
PRODUCT_BASECODE: PW;VE
BLOCK:
Afr;AmbPrs;Bus Selector;CI Controller;ClsdLpFuelMult;Constant;Ect;EgrVlvAreaPct;EgrVlvAreaPctCmd;EgrVlvDeltaPrs;EgrVlvInTemp;EngSpd;EstIntkPortFlw;ExhCamPhase;ExhCamPhaseCmd;FuelMainSoi;Iat;IgSw;InjPw;IntkCamPhase;IntkCamPhaseCmd;IntkSwirlVlvPos;IntkSwirlVlvPosCmd;IntkVlvLift;IntkVlvLiftCmd;LoadCmd;Map;Mat;Reference;SpkAdv;Terminator;ThrPosPct;ThrPosPctCmd;TrqCmd;TrqCmdISC;TurboRackPos;TurboRackPosCmd;TurboSpd;VarCompRatioPos;VarCompRatioPosCmd;VarIntkRunLen;VarIntkRunLenCmd;WgAreaPct;WgAreaPctCmd


MODELNAME: RearDifferentialController
PATH: toolbox/autoblks/autoblksreference/projectsrc/Driveline/Controller/RearDifferentialController.slx
ANNOTATION: Copyright 2022 The MathWorks, Inc.
BLOCKTYPE_FREQUENCY: 2;5;1;3;1;1;2;3;1;1;7;1;2;1;1;3;3;2;4;1;1;1;1
CHECKSUM: E8929C1529BADBCA0284B4D6E3AE066A
PRODUCT: Simulink;Vehicle Dynamics Blockset;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
BLOCK:
Abs;Accel;Add;BrkCmd;Compare To Constant;Constant;Dead Zone;Demux;DiffrntlPrsCmd;DiffrntlTrqCmd;Divide;From;Gain;GearFdbk;Goto;Ground;Logical Operator;Omega;PID Controller;Reference;Saturation;Selector;Signal Specification;Steer;Subtract;Sum of Elements;Switch;Terminator;Unary Minus;Unit Conversion;Vector Concatenate;axayaz;axle distance;div0protect - poly;pqr;steer ratio;wheel radius;zero

BLOCKTYPE:
Abs;Compare To Constant;Concatenate;Constant;DeadZone;Demux;From;Gain;Goto;Ground;Inport;Logic;Outport;PID 1dof;Product;Saturate;Selector;SignalSpecification;Sum;Switch;Terminator;UnaryMinus;UnitConversion


MODELNAME: EvChargingAC
PATH: toolbox/autoblks/autoblksreference/projectsrc/EVCharging/System/EvChargingAC.slx
BLOCKTYPE_FREQUENCY: 2;1;9;10;2;26;5;1;4;2;11;3;10;30;2;4;5;21;1;2;3;1;1;2;4;4;1;1;7
CHECKSUM: 794A94E54B091ADE500215C75B00012F
PRODUCT: MATLAB;Powertrain Blockset;Simulink
PRODUCT_BASECODE: PW;VE
ANNOTATION:
Note: 1. Plug in represents connected state of Control Pilot & Proximity Detection pins of Vehicle Coupler. 2. Latch represents mechanical position of the latch lever (Switch S3 in SAE J1772 section 4.2.2.1). Power Connector, Control Pilot & Proximity Detection  Charging Status System status for EV & EVSE Note: 1. Plug in represents connected state of Control Pilot & Proximity Detection pins of Charge Coupler. 2. Latch represents mechanical position of the latch lever (Switch S3 in SAE J1772 section 4.2.2.1).  EV Charging (AC) Copyright 2022-2023 The MathWorks, Inc.

BLOCK:
AC Present Indication;AND;Abs;AccPedal;BMS Charge Module;BMSInfo;BattCurr;BattCurrent;BattFdbk;BattInfo;BattPlnt;BattTemp;BattVolt;Battery Charge Dynamics;Battery Sensors;Battery System;Battery_SOC;BoostChrg;Bus Creator;Bus Selector;Charge Control Module;Charge Coupler and Sensors;Charge Status Indicator;Chgr;ChgrFdbk;ChgrOK;ChrgCtrl;ChrgEff;ChrgModeSoc;ChrgVoltMax;Compare To Constant;Connector;Constant;ContCmd;Controllers;Convert degC to K;Ctrl;Dashboard;Data Type Conversion;Display;Divide;Duty Cycle;EV;EVSE;EVSE Contactors;EVSE not ready;EVSE ready;FloatChrg;From;Gain;Goto;Latch;Latch Released;Latch held open;Less Than;Lithium Ion Battery Pack;Manual Switch;MaxCurr;NoCharging;OR;On Board Charger;Out;PWM Oscillator;ParkingBrake;Passenger Car;Plug in;Plugged in;PowerAC;Reference;Relay;SAE J1772 AC Charging (EV);SAE J1772 AC Charging (EVSE);StartCmd;SubSystem;Subsystem;Sum;Switch;Switch S;TargetSoc;Terminator;Unit Delay;Unplugged;User Start;User Stop;Utility Power OFF;Utility Power ON;VehOk;VehSpd;Voltage Sensors for EV Charging;charging_sign;frmEV;frmEVSE;frmVehicleCoupler;toEV;toEVSE;toVehicleCoupler

BLOCKTYPE:
Abs;Bias;BusCreator;BusSelector;Compare To Constant;Constant;DataTypeConversion;Datasheet Battery;Display;EV Charging Voltage Sensors;From;Gain;Goto;Inport;LampBlock;Logic;ManualSwitch;Outport;Product;RelationalOperator;Relay;SAE J1772 AC Charging (EV);SAE J1772 AC Charging (EVSE);Sum;Switch;Terminator;TransferFcn;UnaryMinus;UnitDelay


MODELNAME: EvChargingCCS
PATH: toolbox/autoblks/autoblksreference/projectsrc/EVCharging/System/EvChargingCCS.slx
CHECKSUM: 8B25439F80ED70ED837CB1ED8EABEEF2
PRODUCT: MATLAB;Powertrain Blockset;Simulink
PRODUCT_BASECODE: PW;VE
ANNOTATION:
Note: 1. Plug in represents connected state of Control Pilot & Proximity Detection pins of Charge Coupler. 2. Latch represents mechanical position of the latch lever (Switch S3 in IEC 61851-1 sections 3.5.18 & 6.3.2.3). 3. Connector Lock is intended to ensure safe removal of charge coupler as per IEC 61851-1 sections 3.5.16 & 6.3.2.3. Charging Status System status for EV & EVSE Power Connector, Control Pilot & Proximity Detection  Payment Selection Mode & Authentication Note: 1. Plug in represents connected state of Control Pilot & Proximity Detection pins of Charge Coupler. 2. Latch represents mechanical position of the latch lever (Switch S3 in IEC 61851-1 sections 3.5.18 & 6.3.2.3). 3. Connector Lock is intended to ensure safe removal of charge coupler as per IEC 61851-1 sections 3.5.16 & 6.3.2.3.  EV Charging (CCS) Copyright 2023 The MathWorks, Inc.

BLOCK:
 Connector Lock;AC Charging;AC Present Indicator;AND;Abs;AccPedal;AuthFdbk;AuthMode;BMS Charge Module;BMSInfo;BattCurr;BattFdbk;BattInfo;BattPlnt;BattTemp;BattVolt;Battery Charge Dynamics;Battery Charger;Battery Sensors;Battery System;Battery_SOC;BoostChrg;Bus Creator;Bus Selector;Charge Control Module;Charge Coupler and Sensors;Charge Status Indicator;ChargingSign;ChargingState;ChargingStateAC;ChargingStateDC;Chgr;ChgrFdbk;ChgrOK;ChgrOut;ChrgCtrl;ChrgEff;ChrgModeSoc;ChrgVoltMax;Compare To Constant;Conn Lock;Connector Lock;Constant;ContCmd;Controllers;Convert degC to K;Ctrl;DC Charging;DC Fast Charger;Dashboard;Data Type Conversion;Display;Divide;Duty Cycle;EV;EVCC;EVSE;EVSE not ready;EVSE ready;EVSEType;EnHLC;Enable;External Identification Means (EIM);FloatChrg;From;Gain;Goto;HLC composer;HLC parser;IEC 61851 AC Charging (EVSE);IEC 61851 DC Charging (EV);IEC 61851 DC Charging (EVSE);IEC61851Info;ISO 15118 HLC (EVCC);ISO 15118 HLC (SECC);ISO15118Info;In;InfoHLC;K;Latch;Latch Released;Latch held open;Less Than;Lithium Ion Battery Pack;Manual Switch;Msg_Tx;NoCharging;OR;On Board Charger;One;Out;PWM Oscillator;ParkingBrake;Passenger Car;Payment authenticated (EIM);Payment denied (EIM);Plug and Charge (PnC);Plug in;Plugged in;PowerAC;Receive;RecvMsg;Reference;Relay;SECC;Send;SendMsg;Signal Conditioning;StartCmd;String Compare;String Concatenate;String Constant;String Find;String Length;String Starts With;String to Enum;String to Single;SubSystem;Substring;Subsystem;Sum;Switch;Switch S;TargetSoc;Terminator;To String;Unit Delay;Unplugged;User Start;User Stop;Utility Power OFF;Utility Power ON;VehOK;VehOk;VehSpd;Voltage Sensors for EV Charging;charging_sign;data;frmChrgConnCkt;frmEV;frmEVSE;frmVehicleCoupler;msg;msgID;msg_Rx;toChrgConnCkt;toEV;toEVSE

BLOCKTYPE:
Abs;Bias;BusCreator;BusSelector;Compare To Constant;Constant;DataTypeConversion;Datasheet Battery;Display;EV Charging Voltage Sensors;EnablePort;From;Gain;Goto;IEC 61851 AC Charging (EVSE);IEC 61851 DC Charging (EV);IEC 61851 DC Charging (EVSE);ISO 15118 HLC (EVCC);ISO 15118 HLC (SECC);Inport;InportShadow;LampBlock;Logic;ManualSwitch;Outport;Product;Receive;RelationalOperator;Relay;ScanString;Send;StringCompare;StringConcatenate;StringConstant;StringContains;StringFind;StringLength;StringToEnum;Substring;Sum;Switch;Terminator;ToString;TransferFcn;UnaryMinus;UnitDelay

BLOCKTYPE_FREQUENCY:
3;1;17;20;2;38;5;1;4;2;1;21;3;17;1;1;1;1;1;69;1;3;10;8;48;1;2;2;3;1;2;1;1;2;1;1;1;1;1;3;16;5;2;1;2;10


MODELNAME: EvChargingDC
PATH: toolbox/autoblks/autoblksreference/projectsrc/EVCharging/System/EvChargingDC.slx
BLOCKTYPE_FREQUENCY: 3;1;10;12;2;30;1;1;5;1;4;2;1;11;1;10;50;1;3;9;6;38;2;2;3;1;1;1;2;1;1;2;1;1;1;1;3;7;4;1;1;8
CHECKSUM: 5076A86E6F1B33D1456D16656EDE1140
PRODUCT: MATLAB;Powertrain Blockset;Simulink
PRODUCT_BASECODE: PW;VE
ANNOTATION:
Note: 1. Plug in represents connected state of Control Pilot & Proximity Detection pins of Charge Coupler. 2. Latch represents mechanical position of the latch lever (Switch S3 in SAE J1772 section 4.2.2.1). 3. DC Connector Lock is intended to ensure safe removal of charge coupler as per SAE J1772 section 4.7.6 & 6.6.2. Charging Status System status for EV & EVSE Power Connector, Control Pilot & Proximity Detection  Authentication Note: 1. Plug in represents connected state of Control Pilot & Proximity Detection pins of Charge Coupler. 2. Latch represents mechanical position of the latch lever (Switch S3 in SAE J1772 section 4.2.2.1). 3. DC Connector Lock is intended to ensure safe removal of charge coupler as per SAE J1772 section 4.7.6 & 6.6.2.  EV Charging (DC) Copyright 2022-2023 The MathWorks, Inc.

BLOCK:
AC Present Indicator;AND;Abs;AccPedal;AuthFdbk;AuthMode;BMS Charge Module;BMSInfo;BattFdbk;BattInfo;BattPlnt;BattTemp;BattVolt;Battery Charge Dynamics;Battery Charger;Battery Sensors;Battery System;Battery_SOC;BoostChrg;Bus Creator;Bus Selector;Charge Control Module;Charge Coupler and Sensors;Charge Status Indicator;ChargingSign;Chgr;ChgrFdbk;ChgrOK;ChrgCtrl;ChrgModeSoc;ChrgVoltMax;Compare To Constant;Conn Lock;Constant;ContCmd;Controllers;Convert degC to K;Ctrl;DC Connector Lock;DIN SPEC 70121 HLC (EVCC);DIN SPEC 70121 HLC (SECC);DIN70121Info;Dashboard;Data Type Conversion;Display;Duty Cycle;EV;EVCC;EVSE;EVSE not ready;EVSE ready;EnHLC;Enable;External Identification Means (EIM);FloatChrg;From;Gain;Goto;HLC composer;HLC parser;In;InfoHLC;Latch;Latch Released;Latch held open;Less Than;Lithium Ion Battery Pack;Manual Switch;Msg_Tx;NoCharging;OR;One;Out;PWM Oscillator;ParkingBrake;Passenger Car;Payment authenticated (EIM);Payment denied (EIM);Plug in;Plugged in;Receive;RecvMsg;Reference;Relay;SAE J1772 DC Charging (EV);SAE J1772 DC Charging (EVSE);SAEJ1772Info;SECC;Send;SendMsg;StartCmd;String Compare;String Concatenate;String Constant;String Find;String Length;String Starts With;String to Single;SubSystem;Substring;Subsystem;Sum;Switch;Switch S;TargetSoc;Terminator;Unit Delay;Unplugged;User Start;User Stop;Utility Power OFF;Utility Power ON;VehOK;VehOk;VehSpd;Voltage Sensors for EV Charging;data;frmChrgConnCkt;frmEV;frmEVSE;msg;msgID;msg_Rx;toChrgConnCkt;toEV;toEVSE

BLOCKTYPE:
Abs;Bias;BusCreator;BusSelector;Compare To Constant;Constant;DIN SPEC 70121 HLC (EVCC);DIN SPEC 70121 HLC (SECC);DataTypeConversion;Datasheet Battery;Display;EV Charging Voltage Sensors;EnablePort;From;Gain;Goto;Inport;InportShadow;LampBlock;Logic;ManualSwitch;Outport;Receive;RelationalOperator;Relay;SAE J1772 DC Charging (EV);SAE J1772 DC Charging (EVSE);ScanString;Send;StringCompare;StringConcatenate;StringConstant;StringContains;StringFind;StringLength;Substring;Sum;Switch;Terminator;TransferFcn;UnaryMinus;UnitDelay


MODELNAME: EvChargingNACS
PATH: toolbox/autoblks/autoblksreference/projectsrc/EVCharging/System/EvChargingNACS.slx
CHECKSUM: 180D20505B3A00C6DB394E08E83BA9CD
PRODUCT: MATLAB;Powertrain Blockset;Simulink
PRODUCT_BASECODE: PW;VE
ANNOTATION:
Note: 1. Plug in represents connected state of Control Pilot & Proximity Detection pins of Charge Coupler. 2. Latch represents mechanical position of the latch lever (Switch S3 in SAE J1772 section 4.2.2.1). 3. Connector Lock is intended to ensure safe removal of charge coupler as per SAE J1772 section 4.7.6 & 6.6.2. Charging Status System status for EV & EVSE Power Connector, Control Pilot & Proximity Detection  Authentication Note: 1. Plug in represents connected state of Control Pilot & Proximity Detection pins of Charge Coupler. 2. Latch represents mechanical position of the latch lever (Switch S3 in IEC 61851-1 sections 3.5.18 & 6.3.2.3). 3. Connector Lock is intended to ensure safe removal of charge coupler as per IEC 61851-1 sections 3.5.16 & 6.3.2.3.  EV Charging (NACS) Copyright 2023 The MathWorks, Inc.

BLOCK:
AC Charging;AC Present Indicator;AND;Abs;AccPedal;AuthFdbk;AuthMode;BMS Charge Module;BMSInfo;BattCurr;BattFdbk;BattInfo;BattPlnt;BattTemp;BattVolt;Battery Charge Dynamics;Battery Charger;Battery Sensors;Battery System;Battery_SOC;BoostChrg;Bus Creator;Bus Selector;Charge Control Module;Charge Coupler and Sensors;Charge Status Indicator;ChargingSign;ChargingState;ChargingStateAC;ChargingStateDC;Chgr;ChgrFdbk;ChgrOK;ChgrOut;ChrgCtrl;ChrgEff;ChrgModeSoc;ChrgVoltMax;Compare To Constant;Conn Lock;Connector Lock;Constant;ContCmd;Controllers;Convert degC to K;Ctrl;DC Charging;DC Fast Charger;DIN SPEC 70121 HLC (EVCC);DIN SPEC 70121 HLC (SECC);DIN70121Info;Dashboard;Data Type Conversion;Display;Divide;Duty Cycle;EV;EVCC;EVSE;EVSE not ready;EVSE ready;EVSEType;EnHLC;Enable;External Identification Means (EIM);FloatChrg;From;Gain;Goto;HLC composer;HLC parser;Home Charging;IEC 61851 AC Charging (EVSE);IEC 61851 DC Charging (EV);IEC 61851 DC Charging (EVSE);IEC61851Info;In;InfoHLC;K;Latch;Latch Released;Latch held open;Less Than;Lithium Ion Battery Pack;Manual Switch;Msg_Tx;NoCharging;OR;On Board Charger;One;Out;PWM Oscillator;ParkingBrake;Passenger Car;Payment authenticated (EIM);Payment denied (EIM);Plug in;Plugged in;PowerAC;Receive;RecvMsg;Reference;Relay;SECC;Send;SendMsg;Signal Conditioning;StartCmd;String Compare;String Concatenate;String Constant;String Find;String Length;String Starts With;String to Enum;String to Single;SubSystem;Substring;Subsystem;Sum;Supercharger;Switch;Switch S;TargetSoc;Terminator;To String;Unit Delay;Unplugged;User Start;User Stop;Utility Power OFF;Utility Power ON;VehOK;VehOk;VehSpd;Voltage Sensors for EV Charging;charging_sign;data;frmChrgConnCkt;frmEV;frmEVSE;frmVehicleCoupler;msg;msgID;msg_Rx;toChrgConnCkt;toEV;toEVSE

BLOCKTYPE:
Abs;Bias;BusCreator;BusSelector;Compare To Constant;Constant;DIN SPEC 70121 HLC (EVCC);DIN SPEC 70121 HLC (SECC);DataTypeConversion;Datasheet Battery;Display;EV Charging Voltage Sensors;EnablePort;From;Gain;Goto;IEC 61851 AC Charging (EVSE);IEC 61851 DC Charging (EV);IEC 61851 DC Charging (EVSE);Inport;InportShadow;LampBlock;Logic;ManualSwitch;Outport;Product;Receive;RelationalOperator;Relay;ScanString;Send;StringCompare;StringConcatenate;StringConstant;StringContains;StringFind;StringLength;StringToEnum;Substring;Sum;Switch;Terminator;ToString;TransferFcn;UnaryMinus;UnitDelay

BLOCKTYPE_FREQUENCY:
3;1;17;20;2;37;1;1;5;1;4;2;1;20;3;16;1;1;1;69;1;3;9;7;48;1;2;2;3;1;2;1;1;2;1;1;1;1;1;3;16;5;2;1;2;10


MODELNAME: BMSBalancingLogic
PATH: toolbox/autoblks/autoblksreference/projectsrc/Electrical/Controller/BMSBalancingLogic.slx
ANNOTATION: Copyright HTML-2021 The MathWorks, Inc.
BLOCKTYPE: Demux;Inport;Outport;S-Function;Terminator
BLOCKTYPE_FREQUENCY: 1;8;2;1;1
CHECKSUM: BA25D6CC6A506421B6E2D3B8FFA9E628
PRODUCT: Simulink;Stateflow;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
BLOCK:
 Demux ; SFunction ; Terminator ;BMSState;BMS_State;BalCmd;Balancing;CellVoltages;MaxCellVolt;MinCellVolt;SubSystem


MODELNAME: BMSController
PATH: toolbox/autoblks/autoblksreference/projectsrc/Electrical/Controller/BMSController.slx
ANNOTATION: Copyright 2021 The MathWorks, Inc.
BLOCKTYPE: BusCreator;BusSelector;Constant;From;Goto;Inport;ModelReference;Outport;RateTransition;UnitDelay
BLOCKTYPE_FREQUENCY: 1;2;1;3;1;6;5;2;4;1
CHECKSUM: B8B1A4BD02168691DC13AE55346C6515
PRODUCT: Simulink;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
BLOCK:
BMS Out;Balancing Logic;Bus Creator;Bus Element In;Bus Element Out;Bus Selector;BusElementIn;Constant;Current Power Limits Calc;From;Goto;RT;SOC Estimation;State Machine;Unit Delay

EXTERNALFILE_REFERENCE:
BMSBalancingLogic.slx___Model_Block___BMSCurrPowerLimCalc.slx___Model_Block___BMSOut.slx___Model_Block___BMSSOCEstimation.slx___Model_Block___BMSStateMachine.slx___Model_Block___


MODELNAME: BMSCurrPowerLimCalc
PATH: toolbox/autoblks/autoblksreference/projectsrc/Electrical/Controller/BMSCurrPowerLimCalc.slx
ANNOTATION: Copyright 2021 The MathWorks, Inc.
BLOCKTYPE: BusCreator;BusSelector;Gain;Inport;Lookup_n-D;MinMax;Outport
BLOCKTYPE_FREQUENCY: 2;2;4;6;6;6;5
CHECKSUM: C1D0D8CA25EE7C9F60F44C83BF3D4465
PRODUCT: Simulink;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
BLOCK:
Bus Creator;Bus Element Out;Bus Selector;CalculateMinMaxCells;CellTemperatures;CellVoltages;ChargeCurrentLimit;ChargeCurrentLimitCalc;DischargeCurrentLimit;DischargeCurrentLimitCalc;HighTempChrgCurrentLim;HighTempDchrgCurrentLim;In Bus Element;LowTempChrgCurrentLim;LowTempDchrgCurrentLim;MaxCellVoltChrgCurrentLim;MaxChrgCurrLim;MaxDchrgCurrLim;MinCellVoltDchrgCurrentLim;MinMax;MinMaxCells;Np;SubSystem


MODELNAME: BMSOut
PATH: toolbox/autoblks/autoblksreference/projectsrc/Electrical/Controller/BMSOut.slx
ANNOTATION: Copyright 2021 The MathWorks, Inc.
BLOCKTYPE: BusCreator;Inport;Outport;RateTransition
BLOCKTYPE_FREQUENCY: 5;15;2;1
CHECKSUM: 0943E6C1743BB5C8EACA1B47CE447044
PRODUCT: Simulink;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
BLOCK:
BMSState;BalCmd;Bus Creator;Bus Element In;Bus Element Out;BusElementIn;ChargeCurrentReq;Faults;Rate Transition


MODELNAME: BMSSOCEstimation
PATH: toolbox/autoblks/autoblksreference/projectsrc/Electrical/Controller/BMSSOCEstimation.slx
BLOCKTYPE_FREQUENCY: 2;2;1;1;4;2;1;1;4;22;6;1;12;8;8;3;2;1
CHECKSUM: 5B575F6474D4669824F0FC16AE286CAF
PRODUCT: Simulink;Vehicle Dynamics Blockset;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
ANNOTATION:
Capacity value should match what is used in Battery Model. Value obtained from Simscape Battery (Table-Based) parts info from a Panasonic NCR18650BD. Copyright 2021-2022 The MathWorks, Inc.

BLOCK:
1-D Lookup Table;Add;BMS_State;Bus Creator;Bus Element Out;C;Capacity Dependent on Temperature;Cell_Voltage;Compare To Constant;Constant;Constant Capacity;Coulomb Counting;Curr;Current;Discrete-Time Integrator;Divide;EKF;Em Table;Enable;Gain;Get SOC;Get U;In Bus Element;Lookup Table;Measurement Function;Mux;No Kalman Filters;PackCurrent;Pack_Current;Product;R;R0 Table;Reference;SOC;SOC Kalman Filters;SOC_EKF;SOC_UKF;State Transition Function;SubSystem;Temp;Temperature (K);Temperature K;UKF;UKF_EKF_1TC;Volt;batteryMeasurementFcn;batteryStateFcn;x;xNext;y

BLOCKTYPE:
ArgIn;ArgOut;BusCreator;Compare To Constant;Constant;DiscreteIntegrator;EnablePort;Extended Kalman Filter;Gain;Inport;Lookup_n-D;Mux;Outport;Product;Selector;Sum;TriggerPort;Unscented Kalman Filter


MODELNAME: BMSStateMachine
PATH: toolbox/autoblks/autoblksreference/projectsrc/Electrical/Controller/BMSStateMachine.slx
ANNOTATION: Copyright HTML-2021 The MathWorks, Inc.
BLOCKTYPE: BusCreator;Demux;Inport;Outport;S-Function;Terminator
BLOCKTYPE_FREQUENCY: 1;1;24;13;1;1
CHECKSUM: CF9B296200765A20D5524D1AB8930F7B
PRODUCT: Simulink;Stateflow;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
BLOCK:
 Demux ; SFunction ; Terminator ;BMSState;Bus Creator;Bus Element Out;CellVoltages;Cell_Voltages;ChargeCurrentLimit;ChargeCurrentReq;DischargeCurrentLimit;FaultOut;Faults;In Bus Element;MaxCellTemp;MaxCellVolt;MinCellTemp;MinCellVolt;NegContactorChgrCmd;NegContactorInvtrCmd;PackCurrent;PackVoltage;Pack_Current;Pack_Voltage;PosContactorChgrCmd;PosContactorInvtrCmd;PreChargeRelayChgrCmd;PreChargeRelayInvtrCmd;StateRequest;State_Machine;SubSystem;Vout Chgr;VoutChgr;VoutInvtr;Vout_Invtr


MODELNAME: BMSCurrPowerLimCalc
ANNOTATION: Copyright 2021 The MathWorks, Inc.
BLOCKTYPE: BusCreator;BusSelector;Gain;Inport;Lookup_n-D;MinMax;Outport
BLOCKTYPE_FREQUENCY: 2;2;4;6;6;6;5
CHECKSUM: B01EFAA00C091E464BF969F449F2319E
PRODUCT: Simulink;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
PATH:
toolbox/autoblks/autoblksreference/projectsrc/ElectricalMotorcycle/Controller/BMSCurrPowerLimCalc.slx

BLOCK:
Bus Creator;Bus Element Out;Bus Selector;CalculateMinMaxCells;CellTemperatures;CellVoltages;ChargeCurrentLimit;ChargeCurrentLimitCalc;DischargeCurrentLimit;DischargeCurrentLimitCalc;HighTempChrgCurrentLim;HighTempDchrgCurrentLim;In Bus Element;LowTempChrgCurrentLim;LowTempDchrgCurrentLim;MaxCellVoltChrgCurrentLim;MaxChrgCurrLim;MaxDchrgCurrLim;MinCellVoltDchrgCurrentLim;MinMax;MinMaxCells;Np;SubSystem


MODELNAME: EngineDynamometer
PATH: toolbox/autoblks/autoblksreference/projectsrc/EngDynamometer/Dyno/EngineDynamometer.slx
ANNOTATION: Engine Dynamometer Copyright 2015-2023 The MathWorks, Inc.
BLOCKTYPE_FREQUENCY: 5;23;31;4;3;1;46;4;7;3;1;17;13;1;1;11;10;135;4;2;4;111;1;1;8;46;6;105;6;1;2;12;2;7;2;61;5
CHECKSUM: 7ADF1AE17487D641A5C5F86C1CE1F39C
PRODUCT: MATLAB;Powertrain Blockset;Simulink;Stateflow
PRODUCT_BASECODE: PW;VE
BLOCK:
 Demux ; SFunction ; Terminator ;<EngTrq>;<TrqCmd>;Afr;AmbPrs;Bus Assignment;Bus Creator;Bus Element In;Bus Element Out;Bus Selector;CI Engine;CI Engine Controller;CI Mapped Engine;Calibrate Throttle and Wastegate;Calibration Controller;Chart;Check Steady State;CheckToStop;Clock;ClsdLpFuelMult;Cntrl;Compare To Constant;Constant;Cooling Fan;Cooling Fan Dynamics;Ctrl;CutOffFuel;Data Type Conversion;Demux;Divide;Dynamic;Dynamic Logging;Dynamometer;Dynamometer Control;Dynamometer Engine Control;Dynamometer Load Motor;Dynamometer Motor Controller;Dynamometer Plant;Dyno;Dyno Dynamics;DynoCtrl;DynoMotorCtrl;DynoPlnt;ECPCmd;ECPCmdPts;Ect;EgrVlvAreaPct;EgrVlvAreaPctCmd;EgrVlvDeltaPrs;EgrVlvInTemp;Eng;EngCtrlr;EngCtrlrOutput;EngFdbk;EngPlnt;EngSpd;EngSpd ;EngSpdBpts;EngSpdCmdPts;EngTrq;Engine;Engine Control;Engine Control Input;Engine Control Output;Engine Controller;Engine Plant;Engine Plant Input;Engine Speed;Engine Speed Command Vector;Engine System;Engine Torque;Engine Torque Command Vector;EngineSpeed;Env;EnvOut;Environment;EstIntkPortFlw;ExhCamPhase;ExhCamPhaseCmd;Exhaust Phaser Command Vector;Fan Flow Speed;FanFlwSpd;FanFlwSpdCmd;Filter ;First Order Hold;FracComplete;From;From Workspace;Fuel Calibration Controller;FuelMainSoi;FuelMass;Function-Call Generator;Function-Call Subsystem;Gain;Goto;ICPCmd;ICPCmdPts;Iat;IgSw;Inj Slope (mg/ms);InjPw;Intake Phaser Command Vector;IntkCamPhase;IntkCamPhaseCmd;IntkSwirlVlvPos;IntkSwirlVlvPosCmd;IntkVlvLift;IntkVlvLiftCmd;LAMCmd;LAMCmdPts;Lambda Delta Command Vector;LambdaCmd Filter;LoadCmd;LogData;LogDataTrigger;Map;Mat;MaxTrqCmd;MaxTrqStep;MaxTurboSpd;Maximum Torque Command;Maximum Torque Step;Memory;MinCtrlStepSize;MinTrqCmd;MinTrqStep;Minimum Torque Command;Minimum Torque Step;Minimum Turbocharger Speed;Mux;Open Loop;Open-Loop AFR Control;Out Bus Element;Performance Monitor;Power Accounting Bus Creator;Product;Rate Transition;Recalibrate CI Engine;Recalibrate Engine;Reference;SI DL Engine;SI Engine;SI Engine Controller;SI Mapped Engine;SPKCmd;SPKCmdPts;Select Operating Point;Signal Specification;Simple Engine;Spark Delta Command Vector;SpkAdv;SpkDeltaCmd Filter;Steady State;Steady State Logging;Steady State Wait Limit;SteadyStateFlag;SteadyStateWaitLimit;Stop Simulation;StopCmd;SubSystem;Subsystem;Sum;Switch;TPP;TPP and WAP Calibration Controller;Terminator;ThrPosPct;ThrPosPctCmd;Throttle Position Command Vector;To Workspace;Torque Command;TpCmd;TpCmdPts;Trigger;TrqCmd;TrqCmdISC;TrqCmdPts;TurboRackPos;TurboRackPosCmd;TurboSpd;Unit Conversion;Unit Delay;VarCompRatioPos;VarCompRatioPosCmd;VarIntkRunLen;VarIntkRunLenCmd;Veh;VehPlnt;WAP;WAPCmd;WAPCmdPts;Waitbar;Wastegate Command Vector;WgAreaPct;WgAreaPctCmd;doStop;function;rpm to rad/s;time;trq;trqCmd;trqCmd_;trq_

BLOCKTYPE:
BusAssignment;BusCreator;BusSelector;Check Steady State;Clock;Compare To Constant;Constant;DataTypeConversion;Demux;Display;Engine resize and recalibrate tool;FirstOrderHold;From;FromWorkspace;Function-Call Generator;Gain;Goto;Inport;Memory;ModelReference;Mux;Outport;Performance Monitor;Power Accounting Bus Creator;Product;RateTransition;S-Function;SignalSpecification;Stop;Sum;Switch;Terminator;ToWorkspace;TransferFcn;TriggerPort;UnitConversion;UnitDelay

EXTERNALFILE_REFERENCE:
CiEngine___SubsystemReference_Block___CiEngineController.slx___Model_Block___CiMappedEngine___SubsystemReference_Block___SiDLEngine___SubsystemReference_Block___SiEngine___SubsystemReference_Block___SiEngineController.slx___Model_Block___SiMappedEngine___SubsystemReference_Block___SimpleEngine___SubsystemReference_Block___


MODELNAME: MotDynoReferenceApplication
PATH: toolbox/autoblks/autoblksreference/projectsrc/MotDynamometer/Dyno/MotDynoReferenceApplication.slx
BLOCKTYPE_FREQUENCY: 16;13;18;1;3;1;1;1;1;8;4;8;57;1;1;1;1;2;1;30;1;2;4;1;1;1;1;3;1;1;19;2;1;1
CHECKSUM: ABD60E3BA58E98788837812D76AE4A21
PRODUCT: MATLAB;Powertrain Blockset;Simulink
PRODUCT_BASECODE: PW;VE
ANNOTATION:
 Note: Mapped Motor Model does not require controller. These signals are passed to maintain compatibility between different variants.   Note: This is a floating block.  Note: This is a floating block.  Note: This is a floating block.  Note: This is a floating block.  Motor Dynamometer  Copyright 2022 The MathWorks, Inc.

BLOCK:
<IdSync>;<IqSync>;Bus Creator;Bus Selector;BusCurr;BusVolt;Constant;DC Link Voltage;Data Type Conversion;Dummy Value;Dummy Values;Dynamic PMSM Model;Dynamometer;Dynamometer Control;Dynamometer Load Motor;Dynamometer Motor Controller;Dynamometer Plant;Dyno;Dyno Dynamics;Dyno Speed Command;DynoCtrl;DynoMotorCtrl;DynoPlnt;Engine Speed;Engine Torque;Environment;Find_Peak;Flux-Based PM Controller;Flux-Based PMSM;Flux-Based PMSM Model;From;Gain;Goto;I_dc;I_max;Idc;Info;Info_;Info_Compatibility;Interior PM Controller SS Trq;Interior PMSM SS Spd;Mapped Motor;Mapped Motor Controller;Mapped Motor Model;Max Torque;Mot;MotCtrlr;MotPlnt;MotSpd;MotSpd ;MotTrq;MotTrqCmd;Motor & Inverter Plant;Motor Controller;Motor System;MtrSpd;MtrTrq;Mux;P_mtr;Performance Monitor;PhaseVolt;Power Accounting Bus Creator;Product;Rate Transition;Reference;Repeating Sequence;Resize Dynamic PMSMs;Resize Flux-based PMSMs;Resize Mapped Motors;Run Performance Tests;Scope;Signal Specification;SpdFdbk;Sqrt;Square;Steady State Flag;SubSystem;Subsystem;Sum;Terminator;Three-Phase Voltage Source Inverter;Torque Command;TrqCmd;ee_sign_convention;rad2rpm;rpm to rad/s;rpm2rad

BLOCKTYPE:
BusCreator;BusSelector;Constant;DataTypeConversion;Display;Dynamic PMSM resize and recalibrate tool;Flux-Based PM Controller;Flux-Based PMSM;Flux-based PMSM resize and recalibrate tool;From;Gain;Goto;Inport;Interior PM Controller;Interior PMSM;Mapped Motor resize tool;MappedMotor;Math;Mux;Outport;Power Accounting Bus Creator;Product;RateTransition;Repeating Sequence Stair;Repeating table;Run Performance Tests;Scope;SignalSpecification;Sqrt;Sum;Terminator;Three-Phase Voltage Source Inverter;TransferFcn;UnaryMinus


MODELNAME: BangBangAbs
PATH: toolbox/autoblks/autoblksreference/projectsrc/PassVeh/Controller/BangBangAbs.slx
ANNOTATION: Copyright 2022 The MathWorks, Inc.
BLOCKTYPE_FREQUENCY: 2;4;2;2;1;1;1;1;3;9;1;7;2;1;2;1;3;1;1
CHECKSUM: 8EA38A079535C645901FF445AEC03E45
PRODUCT: Simulink;Vehicle Dynamics Blockset;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
BLOCK:
 Demux ; SFunction ; Terminator ;ABSFlag;Abs;Acc;Add;Average;Bang-bang controller;BrkCmd;BrkPrsCmd;Compare To Constant;Constant;Data Type Conversion;Debounce;DecelFdbk;Discrete-Time Integrator;For Each;Gain;Kappa;KappaEst;Logical Operator;MATLAB Function;Omega;Reference;Relational Operator;Selector;SubSystem;Sum;Switch;Trailer Brake Pressure Command;TrlrBrkPrsCmd;VcuTrlrBrkPrsCmd;in_;out_;xdot

BLOCKTYPE:
Abs;Compare To Constant;Constant;DataTypeConversion;Debounce;Demux;DiscreteIntegrator;ForEach;Gain;Inport;Logic;Outport;RelationalOperator;S-Function;Selector;Sign;Sum;Switch;Terminator


MODELNAME: ElectronicStabilityControl
PATH: toolbox/autoblks/autoblksreference/projectsrc/PassVeh/Controller/ElectronicStabilityControl.slx
ANNOTATION: Copyright 2023 The MathWorks, Inc.
BLOCKTYPE_FREQUENCY: 2;2;1;1;2;1;2;1;21;1;2;1;16;1;2;1;2;2;2;1
CHECKSUM: DC2470CB68BE1F1DB21C8495940E2C83
PRODUCT: Simulink;Stateflow;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
BLOCK:
 Demux ; SFunction ; Terminator ;1-D Lookup Table;Abs;Action Port;Average;BrkCmd;BrkPrsCmd;Chart;Constant;Dead Zone;DecelFdbk;ESCFlag;ESC_flag;Electronic Stability Control;FL_prs;FR_prs;Fcn;Gain;If;If Action Subsystem;MATLAB Function;Merge;Mux;PID Controller;Prs;RL_prs;RR_prs;Reference;Saturation Dynamic;Selector;Steer;SubSystem;Sum;Trailer Brake Pressure Command;TrlrBrkPrsCmd;Unary Minus;VcuTrlrBrkPrsCmd;r;r_des;r_err;steer;xdot

BLOCKTYPE:
Abs;ActionPort;Constant;DeadZone;Demux;Fcn;Gain;If;Inport;Lookup_n-D;Merge;Mux;Outport;PID 1dof;S-Function;Saturation Dynamic;Selector;Sum;Terminator;UnaryMinus


MODELNAME: FiveStateAbsTcs
PATH: toolbox/autoblks/autoblksreference/projectsrc/PassVeh/Controller/FiveStateAbsTcs.slx
ANNOTATION: Copyright 2022-2024 The MathWorks, Inc.
BLOCKTYPE_FREQUENCY: 1;1;5;1;4;1;2;1;1;4;5;40;1;23;3;3;3;7;1;3
CHECKSUM: C0835256A37A94584D930600CDB9F811
PRODUCT: Simulink;Stateflow;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
BLOCK:
 Demux ; SFunction ; Terminator ;<Kappa>;<WhlAccel>;<xdot>;ABSCtrlForEach;ABSFlag;ABSForEachWheel;Abs;Acc;Accel;AccelFdbk;Average;BrkCmd;BrkCtrl;BrkFlag;BrkPrs;BrkPrsCmd;Constant;Data Type Conversion;DecelFdbk;Demux;Discrete Derivative;Discrete-Time Integrator;Enb;Flag;For Each;For Each Subsystem;Gain;IsNegative;Kappa;KappaEst;Logical Operator;MATLAB Function;Omega;Pb;PbFdbk;PbOutput;Pref;Re;Reference;Saturation;Selector;SubSystem;Sum;Switch;TCSCtrlForEach;TCSFlag;Trailer Brake Pressure Command;TrlrBrkPrsCmd;VcuTrlrBrkPrsCmd;VehSpd;Wheel Accel;Wheel Accel and Slip Estimator;WhlAccel;WhlSlip;e;xdot

BLOCKTYPE:
Abs;Compare To Zero;Constant;DataTypeConversion;Demux;Discrete Derivative;DiscreteIntegrator;Five-State ABS Control;Five-State TCS Control;ForEach;Gain;Inport;Logic;Outport;S-Function;Saturate;Selector;Sum;Switch;Terminator


MODELNAME: OpenLoopBraking
PATH: toolbox/autoblks/autoblksreference/projectsrc/PassVeh/Controller/OpenLoopBraking.slx
BLOCKTYPE: Constant;Gain;Inport;Outport;Selector;Sum
BLOCKTYPE_FREQUENCY: 1;2;8;10;5;1
CHECKSUM: C6D9F311ACC773C03C4128ECB02D3452
PRODUCT: Simulink;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
ANNOTATION:
 1) Add Subsystem or Model blocks as valid variant choices. 2) You cannot connect blocks at this level. At simulation, connectivity is automatically determined, based on the active variant and port name matching. Copyright 2022 The MathWorks, Inc.

BLOCK:
ABSFlag;Average;BrkCmd;BrkPrsCmd;Constant;DecelFdbk;Gain;Logic;Selector;SubSystem;Sum;Three Axle;Trailer Brake Pressure Command;TrlrBrkPrsCmd;Two Axle;Variant Subsystem;VcuTrlrBrkPrsCmd


MODELNAME: SiEngineController
PATH: toolbox/autoblks/autoblksreference/projectsrc/SI/Controller/SiEngineController.slx
ANNOTATION: Copyright 2015-2023 The MathWorks, Inc.
BLOCKTYPE: BusSelector;Constant;Inport;Lookup;Outport;SI Controller;Terminator
BLOCKTYPE_FREQUENCY: 1;6;22;1;17;1;9
CHECKSUM: 3707652823489E6C3EF65625D890A092
PRODUCT: Powertrain Blockset;Simulink
PRODUCT_BASECODE: PW;VE
BLOCK:
Afr;AmbPrs;Bus Selector;ClsdLpFuelMult;Constant;Ect;EgrVlvAreaPct;EgrVlvAreaPctCmd;EgrVlvDeltaPrs;EgrVlvInTemp;EngSpd;EstIntkPortFlw;ExhCamPhase;ExhCamPhaseCmd;FuelMainSoi;Iat;IgSw;InjPw;IntkCamPhase;IntkCamPhaseCmd;IntkSwirlVlvPos;IntkSwirlVlvPosCmd;IntkVlvLift;IntkVlvLiftCmd;LoadCmd;Map;Mat;Reference;SI Controller;Sensor AFR to mv;SpkAdv;Terminator;ThrPosPct;ThrPosPctCmd;TrqCmd;TrqCmdISC;TurboRackPos;TurboRackPosCmd;TurboSpd;VarCompRatioPos;VarCompRatioPosCmd;VarIntkRunLen;VarIntkRunLenCmd;WgAreaPct;WgAreaPctCmd


MODELNAME: NoThermalControl
PATH: toolbox/autoblks/autoblksreference/projectsrc/Thermal/Controller/NoThermalControl.slx
ANNOTATION: Copyright 2022-2023 The MathWorks, Inc.
BLOCKTYPE: Constant;Outport
BLOCKTYPE_FREQUENCY: 1;20
CHECKSUM: DCE9D4BC2AE900B6D817E0E359A14C65
PRODUCT: Simulink;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
BLOCK:
BattPmpCmd;ChlrByPCmd;CmpCmd;Constant;FanCmd;HeaterCmd;MotPmpCmd;No Control;PumpCmd;RadByPCmd;SerParCmd;SubSystem;ValveCmd


MODELNAME: ThermalControl
PATH: toolbox/autoblks/autoblksreference/projectsrc/Thermal/Controller/ThermalControl.slx
ANNOTATION: Copyright 2022-2024 The MathWorks, Inc.
BLOCKTYPE_FREQUENCY: 1;3;3;4;1;1;3;1;40;5;1;28;2;6;7;1;1;1;3;1;8;1;2;5;3
CHECKSUM: 6683360BB5A236805BF10951CBE858CA
PRODUCT: Simulink;Stateflow;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
BLOCK:
 Demux ; SFunction ;1-D Lookup Table;Abs;Add;AmbTemp;BattPmpCmd;BattTemp;Bias;CellTemps;ChlrByPCmd;ChlrPress;Cmp Start Protect;CmpCmd;CondPress;Condenser Requirement;Constant;CoolTemp;Data Type Conversion;EMCoolTempOut;FanCmd;Freezing Cutoff;From;Gain;Goto;HeaterCmd;InvCoolTempOut;InvCoolTout;InvTemp;Max;Max Press Cutoff;MotPmpCmd;MotorTemp;PControl;PGain;Product;PumpCmd;RadByPCmd;Reference;Relational Operator;Relay;Relay Level ;Saturation;Saturation Dynamic;SerParCmd;Signal Specification;SubSystem;Subtract;Sum;Switch;T_env;Target [MPa];Terminator;Thermal Control Chart;Unit Conversion;ValveCmd;chlrpress;cmd;cmd_fan;cmpcntrl;condpress;condreq;f;hi;high;in;inp;input;invreq;lo;low;motreq;out;p_cond;pcntrl;pgain;trg

BLOCKTYPE:
Abs;Bias;Constant;DataTypeConversion;Demux;From;Gain;Goto;Inport;Lookup_n-D;MinMax;Outport;Product;RelationalOperator;Relay;S-Function;Saturate;Saturation Dynamic;SignalSpecification;Step;Sum;Switch;Terminator;TriggerPort;UnitConversion


MODELNAME: ThermalControlGen1
PATH: toolbox/autoblks/autoblksreference/projectsrc/Thermal/Controller/ThermalControlGen1.slx
ANNOTATION: Pump Controller Heating-Cooling Unit Controller Copyright 2022-2023 The MathWorks, Inc.
BLOCKTYPE_FREQUENCY: 10;1;2;1;1;6;1;1;20;1;4;4;1;2;4;2
CHECKSUM: 74A13A0EE09D48EF0D45726CA7845BCF
PRODUCT: Simulink;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
BLOCK:
AND;AmbTemp;BattPmpCmd;CellTemps;ChlrByPCmd;CmpCmd;Constant;CoolTemp;Data Type Conversion;Discrete Transfer Fcn;FanCmd;From;Goto;HeaterCmd;MinMax;MotPmpCmd;PI Controller;Product;Pump speed [rpm];PumpCmd;RadByPCmd;Reference;Relational Operator;Relay;SerParCmd;Signal Specification;SubSystem;Sum;T_set;Thermal Control 1st Generation;Unit Conversion;ValveCmd

BLOCKTYPE:
Constant;DataTypeConversion;DiscreteTransferFcn;From;Goto;Inport;Logic;MinMax;Outport;PID 1dof;Product;RelationalOperator;Relay;SignalSpecification;Sum;UnitConversion


MODELNAME: RearDifferentialController
ANNOTATION: Copyright 2022 The MathWorks, Inc.
BLOCKTYPE_FREQUENCY: 2;5;1;3;1;1;2;3;1;1;7;1;2;1;1;3;3;2;4;1;1;1;1
CHECKSUM: 84A5333F447DA11A5221D2DE8012AF57
PRODUCT: Simulink;Vehicle Dynamics Blockset;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
PATH:
toolbox/autoblks/autoblksreference/projectsrc/TruckDriveline/Controller/RearDifferentialController.slx

BLOCK:
Abs;Accel;Add;BrkCmd;Compare To Constant;Constant;Dead Zone;Demux;DiffrntlPrsCmd;DiffrntlTrqCmd;Divide;From;Gain;GearFdbk;Goto;Ground;Logical Operator;Omega;PID Controller;Reference;Saturation;Selector;Signal Specification;Steer;Subtract;Sum of Elements;Switch;Terminator;Unary Minus;Unit Conversion;Vector Concatenate;axayaz;axle distance;div0protect - poly;pqr;steer ratio;wheel radius;zero

BLOCKTYPE:
Abs;Compare To Constant;Concatenate;Constant;DeadZone;Demux;From;Gain;Goto;Ground;Inport;Logic;Outport;PID 1dof;Product;Saturate;Selector;SignalSpecification;Sum;Switch;Terminator;UnaryMinus;UnitConversion


MODELNAME: BangBangABS
PATH: toolbox/autoblks/autoblksreference/projectsrc/VirtualMoto/Controller/BangBangABS.slx
BLOCKTYPE_FREQUENCY: 2;4;2;2;1;2;1;1;1;8;1;1;5;2;1;1;1;2;1;3
CHECKSUM: 7FDC86D6BEAD362F3A7F9508BF709D12
PRODUCT: Simulink;Vehicle Dynamics Blockset;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
BLOCK:
 Demux ; SFunction ; Terminator ;ABSFlag;Abs;Accel;Add;Bang-bang controller;BrkPrsCmd;Compare To Constant;Constant;Data Type Conversion;Debounce;DecelFdbk;Demux;First Order Hold;For Each;Gain;Integrator;Kappa;KappaEst;Logical Operator;MATLAB Function;Omega;Reference;Relational Operator;Selector;SubSystem;Sum;Switch;Terminator;in_;out_;xdot

BLOCKTYPE:
Abs;Compare To Constant;Constant;DataTypeConversion;Debounce;Demux;FirstOrderHold;ForEach;Gain;Inport;Integrator;Logic;Outport;RelationalOperator;S-Function;Selector;Sign;Sum;Switch;Terminator


MODELNAME: EMotoPowertrainController
PATH: toolbox/autoblks/autoblksreference/projectsrc/VirtualMoto/Controller/EMotoPowertrainController.slx
BLOCKTYPE_FREQUENCY: 3;3;2;1;11;3;14;2;42;1;11;1;1;1;20;15;2;2;2;3;5;1
CHECKSUM: E7377615EEB7F19BF3654BF02DC5BB2E
PRODUCT: Simulink;Vehicle Dynamics Blockset;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
ANNOTATION:
Convert Accelerator Pedal Position to Torque Command using Motor Torque Speed Curve  Behaviorial BMS System. Limits battery charge / discharge power based on SOC. Charge/Discharge Limits and curves can be adjusted if using a larger battery pack or motor power is changed. Check if Motoring or Generating Using an Efficiency Map, we can estimate the Electric Power from the Mechanical Torque Request. Pelec_req = Pmech_req*Eff^k, k = -1 if Motoring >= 0, k = 1 if Generating < 0 Power Management algorithm: - Estimate Elec power based on mech power using efficiency map - Check if Elec power is within battery power limits - If power within limit , use motor torque command - If power limit exceeded, use limited motor torque - For low Mot Spd, MotPwrReq will be a small number. Pass through torque command until Mot Spd > 2.  - Total brake torque request based on brake pressure and parameters of disc brakes - Use as much regenerative motor braking as possible - Any braking torque request that cannot be provided by the motor, will be provided by the friction brakes T / 2 brakes*(muk*pi*Ba^2*Rm*Npads/4) Changing this to 2 brakes, as HEV motors only braking 1 set of wheels 1 brakes*(muk*pi*Ba^2*Rm*Npads/4)*P Copyright 2015-2022 The MathWorks, Inc.

BLOCK:
 BrkCmd; EMTrqCmdRegen;Abs;Accel Decel Switch;Accel Pedal to Traction Wheel Torque Request;AccelPdl;BattPwrChrgLmt;BattPwrChrgLmt ;BattPwrDisChrgLmt;BattPwrDischrgLmt;BattSoc;BattSoc ;Battery Management System;BcuBrkPrsCmd;Brake Pedal to Total Braking Pressure Request;BrkPrsReq;BrkPrsReq ;Check Within Limits;ChrgLmt;Compare To Constant;Compare To Zero;Constant;DischrgLmt;EMPwrElecReq;EMSpd;EMSpd ;EMTrq;EMTrqCmd;EMTrqCmdFinal;EMTrqCmdRegen;EMTrqCmdTrac;Eff Map;Eff2k;ElecToMechPwr;EngTrqCmd;From;Front Bias;Gain;Goto;InLimit;Logical Operator;Math Function;MaxChrg;MaxDischrg;MaxEMTrqVsSpd;MaxMotTrqVsSpd;MaxMotorTrqVsSpd;Mech to Elec Power Estimate;MechPwrToTrq;MinMax;MotTrqReflectedToWheels;Motor Torque Arbitration and Power Management;Mux;Negative ;Parallel Regen Braking;Park;Power Management;Product;Rear Bias;Reference;Regen Braking Control;RegenBrakingCutoff;SOC;Saturation;Saturation Dynamic;Selector;Series Regen Braking;SubSystem;Subtract;Switch;Terminator;Torque Limit;TrqCmd;VcuBrkPrsCmd;Vector Concatenate;VehSpd;VehSpd ;VehSpdFdbk;WhlTrqReflectedToMot;div0protect - poly;lo;rads_to_rpm;u;up;y

BLOCKTYPE:
Abs;Compare To Constant;Compare To Zero;Concatenate;Constant;From;Gain;Goto;Inport;Logic;Lookup_n-D;Math;MinMax;Mux;Outport;Product;Saturate;Saturation Dynamic;Selector;Sum;Switch;Terminator


MODELNAME: EMotoPowertrainController2EM
BLOCKTYPE_FREQUENCY: 33;6;4;18;214;6;7;28;122;27;1;524;8;20;43;68;1;2;1;275;2;195;8;1;1;4;5;3;39;2;1;28;72;9;14
CHECKSUM: 6F123E57671D24C788E82BEB76642FC5
PRODUCT: MATLAB;Simulink;Vehicle Dynamics Blockset;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
PATH:
toolbox/autoblks/autoblksreference/projectsrc/VirtualMoto/Controller/EMotoPowertrainController2EM.slx

ANNOTATION:
Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Reflect EMTrq to WhlTrq due to possible gearing differences Use VehSpd instead of EMSpd or WhlSpd in case wheel or EM are undergoing slipping / have oscillations.  Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Use VehSpd instead of EMSpd or WhlSpd in case wheel or EM are undergoing slipping / have oscillations.  Reflect EMTrq to WhlTrq due to possible gearing differences Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Reflect EMTrq to WhlTrq due to possible gearing differences Use VehSpd instead of EMSpd or WhlSpd in case wheel or EM are undergoing slipping / have oscillations.  Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Use VehSpd instead of EMSpd or WhlSpd in case wheel or EM are undergoing slipping / have oscillations.  Reflect EMTrq to WhlTrq due to possible gearing differences Convert Accelerator Pedal Position to Wheel Torque Command using Motor Torque Speed Curves. Can be replaced with 2D Lookup Table with AccelPdl and VehSpd as inputs and Motor or Wheel Torque Command as output. Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Reflect EMTrq to WhlTrq due to possible gearing differences Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Calculate average speed of EMs on axle Reflect EMTrq to WhlTrq due to possible gearing differences Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Calculate average speed of EMs on axle Reflect EMTrq to WhlTrq due to possible gearing differences Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Calculate average speed of EMs on axle Reflect EMTrq to WhlTrq due to possible gearing differences Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1  - Total brake torque request based on brake pressure and parameters of disc brakes - Use as much regenerative motor braking as possible - Any braking torque request that cannot be provided by the motor, will be provided by the friction brakes T / 4 brakes*(muk*pi*Ba^2*Rm*Npads/4) 1 brakes*(muk*pi*Ba^2*Rm*Npads/4)*P  A vector of possible motor torques includes: Whl Trq Demand Linearly spaced Rear Motor vector (linspace) of min to max motor torque, in desired increments Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 There could be instances where an mot trq command produces the minimum cost, but differs greatly from the previously selected mot trq. This function will calculate the difference in power between the current mot power vector and the previously selected mot pwr. This term is added to the total cost function, and will help limit the rate at which the mot power (and torque) can change from time step to time step.  Alternative to using abs funciton Use Current Limits from BMS to calculate discharge and charge power limits Dont allow negative MotTrq when WhlTrqCmd is >= 0 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pelec_req = Pmech_req*Eff^k, k = -1 if Motoring >= 0, k = 1 if Generating < 0 Check if Motoring or Generating Pwr >= 0, v = 1 Pwr < 0, v= -1 Check if Motoring or Generating Pelec_req = Pmech_req*Eff^k, k = -1 if Motoring >= 0, k = 1 if Generating < 0 Dont allow negative MotTrq when WhlTrqCmd is >= 0 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pelec_req = Pmech_req*Eff^k, k = -1 if Motoring >= 0, k = 1 if Generating < 0 Check if Motoring or Generating Pwr >= 0, v = 1 Pwr < 0, v= -1 Check if Motoring or Generating Pelec_req = Pmech_req*Eff^k, k = -1 if Motoring >= 0, k = 1 if Generating < 0 Pwr >= 0, v = 1 Pwr < 0, v= -1 Check if Motoring or Generating Pelec_req = Pmech_req*Eff^k, k = -1 if Motoring >= 0, k = 1 if Generating < 0 This subsystem calculates the powertrain component constraints and identifies infeasible conditions (i.e. violations of constraints). BMS has opposite sign convention for current Use Current Limits from BMS to calculate discharge and charge power limits Calculate average speed of EMs on axle Calculate average speed of EMs on axle Calculate Tire Slip Angle = (wheelbase*r)/xdot Enable only if velocity and steer thresholds are met Average Brake Prs Req from 4 channels Calculate average speed of EMs on axle Calculate average speed of EMs on axle Average Brake Prs Req from 4 channels Enable only if velocity and steer thresholds are met Calculate Tire Slip Angle = (wheelbase*r)/xdot Copyright 2015-2022 The MathWorks, Inc.

BLOCK:
 BrkCmd; Demux ; SFunction ; Terminator ; WhlMotTrqCmdRegen;1-D Lookup Table;2EM;2EM or 3EM Dual Front;2EM or 3EM Dual Rear;3EM;3EM Dual Front;3EM Dual Front or 4EM;3EM Dual Rear;3EM Dual Rear or 4EM;3EMDualFrnt;3EMDualFront;3EMDualRear;4EM;Abs;Accel Decel Switch;Accel Pedal to Traction Wheel Torque Request;AccelPdl;Add;Average Steer Angle;BMSChrgCurrLmt;BMSDischrgCurrLmt;BMSSOC;BattCurr;BattCurrChrgLmt;BattCurrDischrgLmt;BattPackVolt;BattPwrChrgLmt;BattPwrChrgLmt ;BattPwrDisChrgLmt;BattPwrDischrgLmt;BattSOC;BattSoc;BattV;BattV_in;BattVin;Battery Constraint;BatteryAmp;BcuBrkPrsCmd;Brake Pedal to Total Braking Pressure Request;Brake Threshold;BrkCmd;BrkPrsReq;BrkPrsReq ;BrkThresh;Calculate Average EMSpd and Wheel Torque Curves for Front and Rear Axles;ChrgLmt;Compare To Zero;Constant;Constraint Penalty Factor;Control Domain ;Convert Whl to EMTrq Vector;Create EMTrq Vector;DC-DC Eta;DCDC Constant Eff;Data Type Conversion;Demux;Diff Eta;Divide;Dual EMs;Dual Front;Dual Rear;EM Constraint Front;EM Constraint Rear;EM2WhlTrq;EMAvgSpdVec;EMPwrDelta;EMPwrElecVec;EMSpd;EMSpdAvg;EMSpdFrntAxl;EMSpdRearAxl;EMTrq;EMTrq Control Vector Traction;EMTrq2WhlTrqFrnt;EMTrq2WhlTrqRear;EMTrqCmd;EMTrqCmdFinal;EMTrqFL;EMTrqFR;EMTrqL;EMTrqMax;EMTrqMaxFrnt;EMTrqMaxRear;EMTrqR;EMTrqRL;EMTrqRR;EMTrqSplit;Eff Map;Electrical Current;Enbl;Energy Management;EngTrqCmd;Eta 4D;From;Front Bias;Gain;Gear;Gear Eta;Gear ratio look up;Goto;Ground;H;Hamiltonian computation and minimization;In;Index Vector;InfFlag;Infeasible conditions;InfeasibleBatt;InfeasibleEMVec;InfeasibleFlagVec;Logical Operator;MATLAB Function;Math Function;MaxEMTrqVsSpd;MaxTrq;Maximum Torque;Maximum Torque Front Axle;Maximum Torque Rear Axle;MinMax;MinTrq;Multiply;Mux;Negative ;No DC-DC;No Torque Vectoring;No Transmission;Out;PID Controller;PackVolt;Park;Power Limit Calculations;Powertrain Constraints ;PrevWhlEMTrqCmdF;Product;Pwr Rate Limit;PwrDelta Penalty;Rear Axle EM Torque Vector;Rear Bias;Reference;RegenBrakingCutoff;Relational Operator;Reshape;Round;SOC;SOC Calculation;Saturation;Saturation Dynamic;Selector;Series Regen Braking;Signal Conversion;SpdIn;Sqrt;SteerCmd;SteerWhlAng;Steering Threshold +/-20 deg;SubSystem;Subtract;Sum of Elements;Switch;Tabular Power Loss Data;Terminator;Torque Vectoring;Torque Vectoring Split Function;Torque Vectoring Split Function Front;Torque Vectoring Split Function Rear;TracPwrErr;TracPwrErr Penalty;Trans Eta;TransGear;Transmission;TrqIn;TrqLeft;TrqLeftOut;TrqRght;TrqRghtOut;TrqVec;Unit Delay;VcuBrkPrsCmd;Vector Concatenate;Veh2WhlSpd;VehSpd;VehSpd2EMSpd;VehSpdFdbk;Velocity Threshold;W2kW;W2kW ;Wheelbase;WhlEMRearVecNeg;WhlEMRearVecPos;WhlEMTrqCmdFrnt;WhlEMTrqCmdRear;WhlEMTrqFVec;WhlEMTrqSatVec;WhlEMTrqSatVecFrnt;WhlEMTrqSatVecRear;WhlEMTrqSplitVecFrnt;WhlEMTrqSplitVecRear;WhlMotTrq;WhlSpd;WhlTrq2EMTrq;WhlTrqCmd;WhlTrqCmdOut;WhlTrqMaxVec;allInf;convert2percent;div0protect - poly;eta;idx;minH;pqr;zero

BLOCKTYPE:
Abs;Compare To Constant;Compare To Zero;Concatenate;Constant;DataTypeConversion;Demux;From;Gain;Goto;Ground;Inport;Logic;LookupNDDirect;Lookup_n-D;Math;MinMax;MultiPortSwitch;Mux;Outport;PID 1dof;Product;RelationalOperator;Reshape;Rounding;S-Function;Saturate;Saturation Dynamic;Selector;SignalConversion;Sqrt;Sum;Switch;Terminator;UnitDelay


MODELNAME: EMotoPowertrainControllerBMS
BLOCKTYPE_FREQUENCY: 3;3;2;1;9;3;3;17;2;48;1;9;1;1;1;21;15;2;2;2;3;5;1
CHECKSUM: 12727BA01D7116D25F8EB422059B9ABD
PRODUCT: Simulink;Vehicle Dynamics Blockset;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
PATH:
toolbox/autoblks/autoblksreference/projectsrc/VirtualMoto/Controller/EMotoPowertrainControllerBMS.slx

ANNOTATION:
Convert Accelerator Pedal Position to Torque Command using Motor Torque Speed Curve Check if Motoring or Generating Using an Efficiency Map, we can estimate the Electric Power from the Mechanical Torque Request. Pelec_req = Pmech_req*Eff^k, k = -1 if Motoring >= 0, k = 1 if Generating < 0 Power Management algorithm: - Estimate Elec power based on mech power using efficiency map - Check if Elec power is within battery power limits - If power within limit , use motor torque command - If power limit exceeded, use limited motor torque - For low Mot Spd, MotPwrReq will be a small number. Pass through torque command until Mot Spd > 2. Use Current Limits from BMS to calculate discharge and charge power limits 1 brakes*(muk*pi*Ba^2*Rm*Npads/4)*P Changing this to 2 brakes, as HEV motors only braking 1 set of wheels  - Total brake torque request based on brake pressure and parameters of disc brakes - Use as much regenerative motor braking as possible - Any braking torque request that cannot be provided by the motor, will be provided by the friction brakes T / 2 brakes*(muk*pi*Ba^2*Rm*Npads/4) Copyright 2015-2022 The MathWorks, Inc.

BLOCK:
 BrkCmd; EMTrqCmdRegen;Abs;Accel Decel Switch;Accel Pedal to Traction Wheel Torque Request;AccelPdl;BMSChrgCurrLmt;BMSDischrgCurrLmt;BMSSOC;BattPackVolt;BattPwrChrgLmt;BattPwrChrgLmt ;BattPwrDisChrgLmt;BattPwrDischrgLmt;BattSOC;BattSoc;BattSoc ;BcuBrkPrsCmd;Brake Pedal to Total Braking Pressure Request;BrkPrsReq;BrkPrsReq ;Check Within Limits;ChrgLmt;Compare To Constant;Compare To Zero;Constant;Data Type Conversion;EMPwrElecReq;EMSpd;EMSpd ;EMTrq;EMTrqCmd;EMTrqCmdFinal;EMTrqCmdRegen;EMTrqCmdTrac;Eff Map;Eff2k;ElecToMechPwr;EngTrqCmd;From;Front Bias;Gain;Goto;InLimit;Logical Operator;Math Function;MaxEMTrqVsSpd;MaxMotTrqVsSpd;MaxMotorTrqVsSpd;Mech to Elec Power Estimate;MechPwrToTrq;MinMax;MotTrqReflectedToWheels;Motor Torque Arbitration and Power Management;Mux;Negative ;PackVolt;Parallel Regen Braking;Park;Power Limit Calculations;Power Management;Product;Rear Bias;Reference;Regen Braking Control;RegenBrakingCutoff;SOC;Saturation;Saturation Dynamic;Selector;Series Regen Braking;SubSystem;Subsystem;Subtract;Switch;Terminator;Torque Limit;TrqCmd;VcuBrkPrsCmd;Vector Concatenate;VehSpd;VehSpd ;VehSpdFdbk;WhlTrqReflectedToMot;convert2percent;div0protect - poly;lo;rads_to_rpm;u;up;y

BLOCKTYPE:
Abs;Compare To Constant;Compare To Zero;Concatenate;Constant;DataTypeConversion;From;Gain;Goto;Inport;Logic;Lookup_n-D;Math;MinMax;Mux;Outport;Product;Saturate;Saturation Dynamic;Selector;Sum;Switch;Terminator


MODELNAME: FiveStateABSforMotorcycle
PATH: toolbox/autoblks/autoblksreference/projectsrc/VirtualMoto/Controller/FiveStateABSforMotorcycle.slx
BLOCKTYPE_FREQUENCY: 9;3;2;2;2;1;3;1;37;14;2;2;1;2;1;4
CHECKSUM: C63C166CD2F5A19F5AFFAA155416DBCD
PRODUCT: Simulink;Stateflow;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
BLOCK:
 Demux ; SFunction ; Terminator ;<Kappa>;<WhlAccel>;<xdot>;A;ABSCtrlForEach;ABSFlag;ABSForEachWheel;Accel;BrkCtrl;BrkFlag;BrkPrsCmd;Constant;DecelFdbk;Demux;Discrete Derivative;Discrete-Time Integrator;First Order Hold;Flag;For Each;For Each Subsystem;Gain;Kappa;KappaEst;LPF;MATLAB Function;Omega;Pb;PbOutput;Pref;Pref_dot;Reference;Saturation;Scope;SubSystem;Sum;Switch;Terminator;VehSpd;Wheel Accel;Wheel Accel and Slip Estimator;WhlAccel;WhlSlip;a;b;e;v;xdot

BLOCKTYPE:
Constant;Demux;Discrete Derivative;DiscreteIntegrator;FirstOrderHold;Five-State ABS Control;ForEach;Gain;Inport;Outport;S-Function;Saturate;Scope;Sum;Switch;Terminator


MODELNAME: PRNDLController
PATH: toolbox/autoblks/autoblksreference/projectsrc/VirtualMoto/Controller/PRNDLController.slx
BLOCKTYPE: Gain;Inport;Logic;Outport;SignalSpecification;Sum;Transmission Controller PRNDL
BLOCKTYPE_FREQUENCY: 2;6;1;1;1;2;1
CHECKSUM: 893834F5372BF3AF3E1CB14955D7569A
PRODUCT: Simulink;Vehicle Dynamics Blockset;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
BLOCK:
ABSFlag;Accel;BrkCmd;EngSpd;Gain;Gear;GearReq;OR;Omega;Reference;Signal Specification;Sum of Elements;Transmission Controller PRNDL


MODELNAME: Paddles
PATH: toolbox/autoblks/autoblksreference/projectsrc/VirtualMoto/Controller/Paddles.slx
BLOCKTYPE: DataTypeConversion;Debounce;Demux;Detect Increase;Inport;Logic;Mux;Outport;Sum;Switch;UnitDelay
BLOCKTYPE_FREQUENCY: 1;2;1;1;2;1;1;1;1;1;1
CHECKSUM: 8F678C7CE4D70959E2D1A8501F1BBA1F
PRODUCT: Simulink;Vehicle Dynamics Blockset;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
BLOCK:
Accel;Add;Current Gear;Data Type Conversion;Debounce;Demux;Detect Increase;EngSpd;Gear;Logical Operator;Mux;Reference;Switch


MODELNAME: TransmissionController
PATH: toolbox/autoblks/autoblksreference/projectsrc/VirtualMoto/Controller/TransmissionController.slx
ANNOTATION: Determine if next gear will be higher or lower than current gear
BLOCKTYPE_FREQUENCY: 3;1;1;1;1;1;1;1;18;2;4;7;3;3;1;3;4;4;2
CHECKSUM: 241BD0ECA3694AB5C1C70E3C33EB56E5
PRODUCT: Simulink;Stateflow;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
BLOCK:
 Demux ; SFunction ;10ms Function-Call Generator;AccCmd;Accel;Add;Calculate Downshift Threshold;Calculate Upshift Threshold;Constant;Data Type Conversion;EngSpd;First Order Hold;Gain;Gear;GearCmd;Logical Operator;Neutral;Neutral Select;Omega;Rate Transition;Reference;Relational Operator;Signal Specification;SpdThr;Speed LPF;SubSystem;Sum of Elements;TCM;TCM Shift Controller;Unit Conversion;calc;calc_down;calc_up;down_th;f;function;gear;pedal;speed;up_th

BLOCKTYPE:
Constant;DataTypeConversion;Demux;DiscreteTransferFcn;DiscretizedDiscreteTransferFcn;FirstOrderHold;Function-Call Generator;Gain;Inport;Logic;Lookup_n-D;Outport;RateTransition;RelationalOperator;S-Function;SignalSpecification;Sum;TriggerPort;UnitConversion


MODELNAME: VirtualMotoTemplate
PATH: toolbox/autoblks/autoblksreference/projectsrc/VirtualMoto/System/VirtualMotoTemplate.slx
CHECKSUM: 285EE0548976F793BDB5F9CD882DC087
PRODUCT: MATLAB;Simscape Multibody;Simulink;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
ANNOTATION:
 1) Add Subsystem or Model blocks as valid variant choices. 2) You cannot connect blocks at this level. At simulation, connectivity is automatically determined, based on the active variant and port name matching.  1) Add Subsystem or Model blocks as valid variant choices. 2) You cannot connect blocks at this level. At simulation, connectivity is automatically determined, based on the active variant and port name matching.  1) Add Subsystem or Model blocks as valid variant choices. 2) You cannot connect blocks at this level. At simulation, connectivity is automatically determined, based on the active variant and port name matching. The Ground Feedback variant subsystem is automatically enabled/disabled according to the 3D Engine settings found in the Reference Generator. Manually overriding this variant may result in initialization errors.  1) Add Subsystem or Model blocks as valid variant choices. 2) You cannot connect blocks at this level. At simulation, connectivity is automatically determined, based on the active variant and port name matching. Placeholder for introducing faults, detailed actuator behavior, interactions of other systems with a human interface such as changes in power steering and braking assistance.   1) Add Subsystem or Model blocks as valid variant choices. 2) You cannot connect blocks at this level. At simulation, connectivity is automatically determined, based on the active variant and port name matching.  1) Add Subsystem or Model blocks as valid variant choices. 2) You cannot connect blocks at this level. At simulation, connectivity is automatically determined, based on the active variant and port name matching.  1) Add Subsystem or Model blocks as valid variant choices. 2) You cannot connect blocks at this level. At simulation, connectivity is automatically determined, based on the active variant and port name matching.  1) Add Subsystem or Model blocks as valid variant choices. 2) You cannot connect blocks at this level. At simulation, connectivity is automatically determined, based on the active variant and port name matching.  1) Add Subsystem or Model blocks as valid variant choices. 2) You cannot connect blocks at this level. At simulation, connectivity is automatically determined, based on the active variant and port name matching. derive target roll angle  1) Add Subsystem or Model blocks as valid variant choices. 2) You cannot connect blocks at this level. At simulation, connectivity is automatically determined, based on the active variant and port name matching. Copyright 2021-2024 The MathWorks, Inc.

BLOCK:
 Demux ; Fdbk; Gear; Ref; Rider; SFunction ; Terminator ; Vis;-psi;1-D Lookup Table;2-D Lookup Table;2D Lookup Tbl for Scaling Fctr (Lambda);3D Engine;3D Engine Disabled;3D Engine Source;<ABSFlag>;<Acc>;<AccFdbk>;<BattSoc>;<BrkPrsCmd>;<ChargeCurrentLimit>;<CurvRef>;<DecelFdbk>;<DecelHld>;<DecelOvrCmd>;<DecelZero>;<DischargeCurrentLimit>;<EMSpd>;<EnblDecelCmd>;<EngSpd>;<EngTrqCmd>;<Gear>;<GearFdbk>;<MotoXVel>;<Omega>;<PackVoltage>;<SOC_CC>;<SteerFdbk>;<pqr>;<thetasteer>;<xdot>;ABSFlag;Abs;AccCmd;AccFdbk;Accel;AccelCmd;AccelPdl;Actuators;Add;AmbTemp;AngAWhlR;AngAWhlR.;AngleToTorque;Atan;B;BMS;BMSChrgCurrLmt;BMSCmd;BMSController;BMSDischrgCurrLmt;BMSInfo;BMSSOC;BMSSensors;BangBangABS;Baro_Pa;BattPackVolt;BattPwr;BattSoc;Battery;Battery Management System (BMS);BatteryFdbk;BcuBrkPrsCmd;Body, Steer, Suspension, Wheels;Brake;Brake Control Unit (BCU);Brake Hydraulics;Brake Pedal;BrkCmd;BrkPrs;BrkPrsCmd;Bus Assignment;Bus Creator;Bus Element In;Bus Element Out;Bus Selector;Bus remapping;Bus to Vector;BusElementOut;Cartesian Joint;Cg;Chain_Drive;Chassis Input;Chassis Output;Circuit;Clock;Cnst Lambda;Cntrl;CntrlRx;Compare To Constant;Compare To Zero;Constant;Constant Friction;Constant Grade;Constant Radius;Constant Radius RCP;Control Feedback;Control Signals;Controllers;ConventionalMotorcycle;Creating Inertial Frm Bpt;DCM;DLC;Data Type Conversion;DataLogging;Dead Zone;DecelCmd;DecelFdbk;DecelHld;DecelOvrCmd;DecelZero;Demux;Disabled;Divide;DnReq;Double Lane Change;DownReq;Drive Cycle;Drive Cycle Source;Driveline;Driveline Input;Driveline Output;DriveshftSpd;DriveshftTrq;EM;EMSpd;EMTrq;EMTrqCmd;EMotoPowertrainController;EMotoPowertrainControllerBMS;ElecMachine;ElecMachineFdbk;ElectricMotorcycle;Electrical System Input;En at t = ;Enable;Enabled;EnblDecelOvr;Eng;EngSpd;EngTrq;EngTrqCmd;Engine;Engine Control Unit (ECU);Engine Input;EngineFdbk;Env;Environment;Equal Front Rear Bias;Estimated Grade;External;F;FCpR;FCpR.;Fdbk;FdbkIn;First Order Hold;Fishhook;FiveStateABSforMotorcycle;For Each;For Each Subsystem;Fork Translation;FricCoeffLambda;Friction;Friction Scaling;FrntAxlX;FrntAxlY;From;Front;Front Bias;FuelVolFlow;Gain;Gear;GearCmd;GearFdbk;GearGround;GearReq;Gnd;Goto;Grade;Grade Source;Ground;Ground Feedback;Hand Levers and Pedals;Hill Hold;IMU;IMU_Sensor;ISO 15037-1:;Igore Initialization Transients (t<=2s);In Bus Element;In_Plane_Model;Increasing Steer;Info;Integrator;Internal Tire Contact Plotter;KphiRM;KphidRM;L/100 Km Calc;L/100Km;LAP calc.;LAPview;Lambda (t = 0) ;Lambda for each whl;Lane Change;LateralDeviationDeriver;Linear Predictive Driver;LngRef;Logical Operator;Longitudinal Driver;Longitudinal Maneuver Tracking;Longitudinal Rider;Look ahead point model;MBrkR;MBrkR.;MDrvArmR;MDrvFrm;MDrvSprtR;Maneuver Tracking;Manual Maneuver Design;Matrix Concatenate;Mechanism Configuration;Moto;Moto Target Trajectory;MotoElectricalSystem;MotoFdbk;MotoFdbk ;MotoMappedEngine;MotoNoEngineController;MotoRef;MotoSimpleECU;MotoSimpleEngine;Motorcycle Vehicle;Multi-Track XY Plotter;Multiple Points;Mux;NaN;NoBMS;NoTorqueControl;NoVCU;No_Chain_Drive;No_IMU_Sensor;None;Omega;Open Loop;OpenLoopController;OperatorFdbk;Origin&Env;Out;Out Bus Element;Out_of_Plane_Model;PID Control;PRNDLController;Paddles;Pedal Cluster Input;Pedal Cluster Output;Performance Calculations;Performance and FE Scope;Position;Position-Based Angle;Position-Based Torque;Predictive Rider;Predictive Stanley Rider;Product;Propulsion System;Range Limiter;Rate Transition;Rear;Rear Bias;RearAxlX;RearAxlY;Ref;Ref ;RefIn;Reference;Reference Generator;Reference Generator for Motorcycle;Reference Router;Reshape;Rider;Rider Commands;Rider Steering;Rider Steering Control;RiderInfo;RiderInput;RiderPassThrough;Road Track Friction;Roll angle control;Rotation;Rotation Angles to Direction Cosine Matrix;Saturation;ScaleFactrs;Scope Type;Selector;Signal Copy;Signal Specification;Simulation 3D Motorcycle;Simulation 3D Scene Configuration;Simulation 3D Terrain Sensor;Simulink-PS Converter;Sine With Dwell;Sine with Dwell;Single Point;Solver Configuration;Spherical Solid;Spline;Spool;Sqrt;Steer;Steer, Velocity, Lat Accel;SteerCmd;SteerFdbk;SteerWhlAng;Steering Command Override;Steering and Accel and Brk Command Override;StrWhlTrq;Straight Maneuver Reference Generator;SubSystem;Subsystem;Subtract;Sum;Sum of Elements;Swept Sine;Switch;Target roll angle;Target trajectory driving - Look ahead point;Target trajectory following - Look ahead point;TargetRollAngle;Temp_degK;Terminator;ThetaArmR;ThetaArmR.;ThetaFrm;ThetaFrm.;Time;Time-Based Angle;Time-Based Torque;Torque Control;TransGear;Transfer Fcn;Translation;Transmission;Transmission Control Unit (TCU);Transmission and Driveline;Transmission, Driveline and Brakes;TransmissionController;Transport Delay;Trigonometric Function;TrqCmd;Twist2Acc;US EPA kwh/USgal equivalent;US MPG;US MPG Calc;Unary Minus;Unit Conversion;UpReq;VCU;Valve;Variant Subsystem;Varying Friction;VcuBrkPrsCmd;Vector Concatenate;VehFdbk;VehFdbk ;VehSpd;VehSpdFdbk;Vehicle Control Unit (VCU);Vehicle XY Plotter;VehicleYaw;VelFdbk;Vis;Vis ;VisIn;Visualization;Volume;Weld Joint;Wheel Coordinates;Wheel Rotations;WheelDCM;WheelFdbk;Wheels;WheelsFdbk;Wind;WindXYZ;World Frame;X;XBpt;XCg;XWhl;XY View;XY View Ref;XYZ;Y;YBpt;YCg;YWhl;Yaw Rate and Steer;Zend Select;control torque;current_x;current_y;dxdt;feedback;m to 100Km;m to mile;m^3 per gal;m^3 to L;m^3 to US Gal;mindist;mindist_out;phi,theta,psi;pqr;psi;px;pz;roll;rollRate;s per h;sensors;w per kw;x;y;z

BLOCKTYPE:
3D Engine;Abs;Ang2DCM;BusAssignment;BusCreator;BusSelector;BusToVector;Cartesian Joint;Clock;Compare To Constant;Compare To Zero;Concatenate;Constant;DataTypeConversion;DeadZone;Demux;Double Lane Change Source;Drive Cycle Source;EnablePort;FirstOrderHold;ForEach;From;Gain;Goto;Ground;ISO 15037-1:2006;Inport;InportShadow;Integrator;Logic;Longitudinal Driver;Lookup_n-D;ManualSwitch;Mechanism Configuration;Memory;ModelReference;Mux;Outport;PMIOPort;Predictive Driver;Product;RateTransition;Reference Generator;Reshape;Road Track Friction;S-Function;Saturate;Scope;Selector;SignalConversion;SignalSpecification;Simulation 3D Motorcycle;Simulation 3D Scene Configuration;Simulation 3D Terrain Sensor;Simulink-PS Converter;Sine With Dwell;Slowly Increasing Steer Maneuver;Solver Configuration;Spherical Solid;Spline;Sqrt;Straight Maneuver Source;Sum;Swept Sine Steer;Switch;Terminator;Terrain Source;Tire Contact Plotter;TransferFcn;TransportDelay;Trigonometry;UnaryMinus;UnitConversion;Vehicle XY Plotter;Weld Joint;World Frame

BLOCKTYPE_FREQUENCY:
1;6;1;2;44;95;21;1;6;15;1;11;117;12;5;8;1;1;1;8;2;23;16;12;13;1;317;3;6;9;1;18;1;1;1;11;15;264;2;2;10;41;1;9;1;1;7;4;14;3;63;1;1;2;3;2;1;1;1;1;1;1;13;1;13;48;1;1;1;1;3;4;29;2;1;1

EXTERNALFILE_REFERENCE:
BMSController.slx___Model_Block___BangBangABS___Model_Block___Chain_Drive___SubsystemReference_Block___ConventionalMotorcycle___SubsystemReference_Block___EMotoPowertrainController___Model_Block___EMotoPowertrainControllerBMS.slx___Model_Block___ElectricMotorcycle___SubsystemReference_Block___FiveStateABSforMotorcycle___Model_Block___IMU_Sensor___SubsystemReference_Block___In_Plane_Model___SubsystemReference_Block___MotoElectricalSystem___SubsystemReference_Block___MotoMappedEngine___SubsystemReference_Block___MotoNoEngineController___SubsystemReference_Block___MotoSimpleECU___SubsystemReference_Block___MotoSimpleEngine___SubsystemReference_Block___NoBMS___SubsystemReference_Block___NoVCU___Model_Block___No_Chain_Drive___SubsystemReference_Block___No_IMU_Sensor___SubsystemReference_Block___OpenLoopController___Model_Block___Out_of_Plane_Model___SubsystemReference_Block___PRNDLController___Model_Block___Paddles___Model_Block___RiderPassThrough___Model_Block___TransmissionController___Model_Block___


MODELNAME: VirtualTruckTemplate
PATH: toolbox/autoblks/autoblksreference/projectsrc/VirtualTruck/System/VirtualTruckTemplate.slx
CHECKSUM: 2280BE9CCC3A4FF9E333D71B4FA1AD2C
PRODUCT: MATLAB;Simulink;Simulink 3D Animation;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
ANNOTATION:
 1) Add Subsystem or Model blocks as valid variant choices. 2) You cannot connect blocks at this level. At simulation, connectivity is automatically determined, based on the active variant and port name matching.  1) Add Subsystem or Model blocks as valid variant choices. 2) You cannot connect blocks at this level. At simulation, connectivity is automatically determined, based on the active variant and port name matching. Controls  1) Add Subsystem or Model blocks as valid variant choices. 2) You cannot connect blocks at this level. At simulation, connectivity is automatically determined, based on the active variant and port name matching.  1) Add Subsystem or Model blocks as valid variant choices. 2) You cannot connect blocks at this level. At simulation, connectivity is automatically determined, based on the active variant and port name matching.  1) Add Subsystem or Model blocks as valid variant choices. 2) You cannot connect blocks at this level. At simulation, connectivity is automatically determined, based on the active variant and port name matching.  1) Add Subsystem or Model blocks as valid variant choices. 2) You cannot connect blocks at this level. At simulation, connectivity is automatically determined, based on the active variant and port name matching. The Ground Feedback variant subsystem is automatically enabled/disabled according to the 3D Engine settings found in the Reference Generator. Manually overriding this variant may result in initialization errors.  1) Add Subsystem or Model blocks as valid variant choices. 2) You cannot connect blocks at this level. At simulation, connectivity is automatically determined, based on the active variant and port name matching.  1) Add Subsystem or Model blocks as valid variant choices. 2) You cannot connect blocks at this level. At simulation, connectivity is automatically determined, based on the active variant and port name matching.  1) Add Subsystem or Model blocks as valid variant choices. 2) You cannot connect blocks at this level. At simulation, connectivity is automatically determined, based on the active variant and port name matching.  1) Add Subsystem or Model blocks as valid variant choices. 2) You cannot connect blocks at this level. At simulation, connectivity is automatically determined, based on the active variant and port name matching. Copyright 2024 The MathWorks, Inc.

BLOCK:
 Driver; Fdbk; Gear; Ref; Vis;2-D Lookup Table;2D Lookup Tbl for Scaling Fctr (Lambda);3D Engine;3D Engine Disabled;3D Engine Source;3D Three-Axle Tractor;3D Two-Axle Vehicle;3D Vehicle;<Acc>;<AccFdbk>;<AccelFdbk>;<BrkPrs>;<CurvRef>;<DCM>;<DecelFdbk>;<DecelHld>;<DecelOvrCmd>;<DecelZero>;<EnblDecelCmd>;<EngSpd>;<EngSpdOut>;<GearFdbk>;<Grade>;<Omega>;<Vehicle>;<xdot>;ABSFlag;ACD Input;ACD Output;Abs;Acc;Accel;AccelCmd;AccelFdbk;AccelGround;AccelHld;AccelOvrCmd;AccelPdl;AccelZero;Accelerator;Active Differential Control (ACD);Add;Afr;AllParts;AmbPrs;AmbTemp;Atan;BCU Input;BCU Output;Baro;BaroPress;Baro_Pa;BcuBrkPrsCmd;BcuTrlrBrkPrsCmd;Body;Body Ptich;Body Roll;Body Yaw;BodyX;BodyY;BodyZ;Brake;Brake Control Unit (BCU);BrakeCmd;BrakeGround;Braking;BrkCmd;BrkPrs;BrkPrsCmd;Bus Assignment;Bus Creator;Bus Element In;Bus Element Out;Bus Selector;Bus to Vector;BusElementIn;Buttons;Cg;CiEngineController;Clock;ClsdLpFuelMult;Cltch1Cmd;Cnst Lambda;CntrlRx;Compare To Constant;Compare To Zero;ConcatOut;Constant;Constant Friction;Constant Grade;Constant Radius;Cont LPF;Controllers;Coordinate Systems;Creating Inertial Frm Bpt;Current Gear;CurvRef;DCM;DLC;Dashboard Widgets;Data Type Conversion;DataLogging;Dead Zone;DecelCmd;DecelFdbk;DecelHld;DecelOvr;DecelOvrCmd;DecelZero;Demux;Detect Increase;DiffrntlPrsCmd;DiffrntlTrqCmd;Disabled;Divide;DnReq;Double Lane Change;DownReq;Drive Cycle;Drive Cycle Source;Driver;Driver Commands;DriverPassThrough;ECU Input;ECU Output;Ect;EgrVlvAreaPct;EgrVlvAreaPctCmd;EgrVlvDeltaPrs;EgrVlvInTemp;Emission Calculations;En at t = ;Enable;Enabled;EnblAccelOvr;EnblDecelOvr;EngSpd;EngSpdSpec;EngTrqCmd;Engine;Engine Control Unit (ECU);Env;Environment;EstIntkPortFlw;Estimated Grade;ExhCamPhase;ExhCamPhaseCmd;ExtActions;ExtDrvCmd;ExtDrvCmdConstant;ExtDrvCmdIn;ExtDrvCmds;ExtDrvCmdsSwitch;ExtDrvRef;ExtDrvRefConstant;ExtDrvRefIn;ExtDrvRefSwitch;ExtEnv;ExtEnvConstant;ExtEnvSwitch;ExtGearGround;ExtGnd;ExtGndConstant;ExtGndConstant4w;ExtGndConstant6w;ExtGndSwitch;ExtVehFdbk;ExtVehFdbkTerminator;External Action Routing;External Output Routing;F;Fdbk;First Order Hold;Fishhook;For Each;For Each Subsystem;FricCoeffLambda;Friction;Friction Bus;Friction Scaling;FrntAxlLftX;FrntAxlLftY;FrntAxlRghtX;FrntAxlRghtY;From;FuelMainSoi;FuelVolFlow;Gain;Game Wheel Hardware;Game Wheel Input Requires Simulink 3D Animation Signal dimensions and scaling are hardware dependent;Gear;GearCmd;GearFdbk;GearGround;GearReq;Gnd;Goto;Grade;Grade Source;Ground;Ground Feedback;Hazards;Hazzard;Headlights;High Beams;Hill Hold;Hill Hold & Stop;ISO 15037-1:;ISO 8855 (Z-up);Iat;IgSw;IgnSwtch;In;In Bus Element;InGnd;Increasing Steer;Info;InjPw;Integrator;Internal Tire Contact Plotter;IntkCamPhase;IntkCamPhaseCmd;IntkSwirlVlvPos;IntkSwirlVlvPosCmd;IntkVlvLift;IntkVlvLiftCmd;Kg to g;Kg to g ;Knob;L/100 Km Calc;L/100Km;Lambda (t = 0) ;Lambda for each whl;Lane Change;LatchSwitchCont;LightCtrl;Linear Predictive Driver;LngRef;LoadCmd;Logical Operator;Longitudinal Driver;Low Beams;Manual Switch;Map;Mat;Matrix Concatenate;Max;Min/Max Gear;Multiple Points Two Axle;Mux;Neutral;No Commands;No Driver;No Trailer;NoDifferentialControl;NoEngineController;NoVCU;None;OR;Omega;One-Axle Trailer;Open Loop;OpenLoopBraking;Out;Out Bus Element;Paddle Shift;Part Rotation Concatenation;Part Translation Concatenation;PartConcatenation;Performance Calculations;Performance and FE Scope;Predictive Driver;Predictive Stanley Driver;Product;Push Button;R;Range Limiter;Rate Transition;RearAxlLftX;RearAxlLftY;RearAxlRghtX;RearAxlRghtY;RearDifferentialController;Ref;Ref ;Reference;Reference Generator;Reference Routing;Reshape;Road Track Friction;Rotary Switch;Rotation;Rotation Angles to Direction Cosine Matrix;SAE J670 (Z-down);Saturation;Scale;ScaleOut;Scaled Wheel Angle Limit [deg];ScenBus;Scenarios;Scope Type;Selector;SiEngineController;Signal Copy;Signal Lights;Signal Specification;SimpleECU;Simulation 3D Scene Configuration;Simulation 3D Terrain Sensor;Simulation 3D Tractor;Simulation 3D Trailer;Simulation 3D Vehicle;SimulinkTruckPlntModels;Sine With Dwell;Sine with Dwell;Single Point Three Axle;Single Point Two Axle;Slider;SpkAdv;Sqrt;Steer;Steer, Velocity, Lat Accel;SteerCmd;SteerFdbk;SteerGround;Stick Shift;Stop Detection;Straight Maneuver Reference Generator;SubSystem;Subsystem;Subtract;Sum;Sum of Elements;Swept Sine;Switch;TCU Input;TCU Output;TP CO Mass;TP CO Mass Flow;TP CO2 Mass;TP CO2 Mass Flow;TP Emissions Scope;TP HC Mass;TP HC Mass Flow;TP NOx Mass;TP NOx Mass Flow;Temp_degK;Terminator;ThrPosPct;ThrPosPctCmd;Three Axle;Three Axle Friciton;Three Axle Signal Route;Three-Axle;Three-Axle Constant;Three-Axle Constant Friction;To Nonvirtual Bus;To Virtual Bus;Trailer;Trailer Rotation;Trailer Translation;Trans;Translation;Transmission Control Unit (TCU);TransmissionController;TrlrBrkPrsCmd;TrqCmd;TrqCmdISC;Truck;TruckABS;TruckCntrl;TruckFdbk;TruckFdbk ;TurboRackPos;TurboRackPosCmd;TurboSpd;TurckFdbk;Turn Signal Left;Turn Signal Right;Two Axle;Two Axle Friciton;Two Axle Signal Route;Two-Axle;US MPG;US MPG Calc;Unary Minus;Unit Conversion;UpReq;VCU Input;VCU Output;VVCLightsCmd;VarCompRatioPos;VarCompRatioPosCmd;VarIntkRunLen;VarIntkRunLenCmd;Variant Subsystem;Varying Friction;Vcu;VcuBrkPrsCmd;VcuTrlrBrkPrsCmd;Vector Concatenate;VehFdbk;VehFdbk ;VehFdbkIn;VehRef;VehSpd;VehSpdFdbk;Vehicle Control Unit (VCU);Vehicle XY Plot Configuration with One-Axle Trailer;Vehicle XY Plotter;VelFdbk;VelRef;Vis;Vis ;Visualization;WOT;WgAreaPct;WgAreaPctCmd;Wheel Angle Limit * Steer Ratio;Wheel Angle Limit [rad];Wheel Coordinates;WheelDCM;WheelFdbk;WheelFrontLeft;WheelFrontLeft Pitch;WheelFrontLeft Roll;WheelFrontLeft Yaw;WheelFrontLeftX;WheelFrontLeftY;WheelFrontLeftZ;WheelFrontRight;WheelFrontRight Pitch;WheelFrontRight Roll;WheelFrontRight Yaw;WheelFrontRightX;WheelFrontRightY;WheelFrontRightZ;WheelL;WheelMidLeft;WheelMidLeft Pitch;WheelMidLeft Roll;WheelMidLeft Yaw;WheelMidLeftX;WheelMidLeftY;WheelMidLeftZ;WheelMidRight;WheelMidRight Pitch;WheelMidRight Roll;WheelMidRight Yaw;WheelMidRightX;WheelMidRightY;WheelMidRightZ;WheelR;WheelRearLeft;WheelRearLeft Pitch;WheelRearLeft Roll;WheelRearLeft Yaw;WheelRearLeftX;WheelRearLeftY;WheelRearLeftZ;WheelRearRight;WheelRearRight Ptich;WheelRearRight Roll;WheelRearRight Yaw;WheelRearRightX;WheelRearRightY;WheelRearRightZ;Widget Sinks;Widget Sources;Wind;XBpt;XCg;XWhl;XY View;XY View Ref;XY View Ref with One-Axle Trailer;XYZ;YBpt;YCg;YWhl;Yaw Rate and Steer;Zend Select;axayaz;lambda_mux;m to 100Km;m to km;m to mi;m to mile;m^3 to L;m^3 to US Gal;mu;phi,theta,psi;pqr;z

BLOCKTYPE:
3D Engine;Abs;Ang2DCM;BusAssignment;BusCreator;BusSelector;BusToVector;Clock;Compare To Constant;Compare To Zero;Concatenate;Constant;DataTypeConversion;DeadZone;Demux;Detect Increase;Double Lane Change Source;Drive Cycle Source;EnablePort;FirstOrderHold;ForEach;From;Gain;Goto;Ground;ISO 15037-1:2006;Inport;InportShadow;Integrator;Joystick Input;KnobBlock;LampBlock;Logic;Longitudinal Driver;Longitudinal Driver Model;Lookup_n-D;ManualSwitch;Memory;MinMax;ModelReference;Mux;Outport;Predictive Driver;Product;PushButtonBlock;RateTransition;Reference Generator;Reshape;Road Track Friction;RotarySwitchBlock;Saturate;Scope;Selector;SignalConversion;SignalSpecification;Simulation 3D Scene Configuration;Simulation 3D Terrain Sensor;Simulation 3D Tractor;Simulation 3D Trailer;Simulation 3D Vehicle;Sine With Dwell;SliderBlock;Slowly Increasing Steer Maneuver;Sqrt;Straight Maneuver Source;Sum;Swept Sine Steer;Switch;Terminator;Terrain Source;Tire Contact Plotter;Trigonometry;UnaryMinus;UnitConversion;UnitDelay;Vehicle XY Plotter;Virtual Vehicle Scenario Configuration

BLOCKTYPE_FREQUENCY:
1;9;1;9;41;92;23;1;22;1;68;169;57;1;22;1;1;3;1;37;2;14;21;11;12;1;397;3;11;1;1;5;20;1;1;1;2;1;3;5;11;273;2;8;2;65;1;6;1;3;15;5;28;11;86;1;3;1;1;1;2;2;1;1;1;8;1;13;37;1;1;1;29;48;1;3;1

EXTERNALFILE_REFERENCE:
CiEngineController___Model_Block___DriverPassThrough___Model_Block___NoDifferentialControl___SubsystemReference_Block___NoEngineController___SubsystemReference_Block___NoVCU___SubsystemReference_Block___OpenLoopBraking___SubsystemReference_Block___RearDifferentialController___Model_Block___SiEngineController___Model_Block___SimpleECU___SubsystemReference_Block___SimulinkTruckPlntModels___SubsystemReference_Block___TransmissionController___Model_Block___TruckABS___SubsystemReference_Block___


MODELNAME: EvPowertrainController
PATH: toolbox/autoblks/autoblksreference/projectsrc/VirtualVehicle/Controller/EvPowertrainController.slx
BLOCKTYPE_FREQUENCY: 3;3;2;1;15;2;3;15;2;43;1;11;1;1;1;26;1;17;2;2;3;5;5;1
CHECKSUM: 7806587766D2996850F76C046B5B076E
PRODUCT: Simulink;Vehicle Dynamics Blockset;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
ANNOTATION:
Convert Accelerator Pedal Position to Torque Command using Motor Torque Speed Curve  Behaviorial BMS System. Limits battery charge / discharge power based on SOC. Charge/Discharge Limits and curves can be adjusted if using a larger battery pack or motor power is changed. Check if Motoring or Generating Using an Efficiency Map, we can estimate the Electric Power from the Mechanical Torque Request. Pelec_req = Pmech_req*Eff^k, k = -1 if Motoring >= 0, k = 1 if Generating < 0 Power Management algorithm: - Estimate Elec power based on mech power using efficiency map - Check if Elec power is within battery power limits - If power within limit , use motor torque command - If power limit exceeded, use limited motor torque - For low Mot Spd, MotPwrReq will be a small number. Pass through torque command until Mot Spd > 2.  - Total brake torque request based on brake pressure and parameters of disc brakes - Use as much regenerative motor braking as possible - Any braking torque request that cannot be provided by the motor, will be provided by the friction brakes T / 2 brakes*(muk*pi*Ba^2*Rm*Npads/4) Changing this to 2 brakes, as HEV motors only braking 1 set of wheels 1 brakes*(muk*pi*Ba^2*Rm*Npads/4)*P Copyright 2015-2022 The MathWorks, Inc.

BLOCK:
 BrkCmd; EMTrqCmdRegen;Abs;Accel Decel Switch;Accel Pedal to Traction Wheel Torque Request;AccelPdl;Add;BattPwrChrgLmt;BattPwrChrgLmt ;BattPwrDisChrgLmt;BattPwrDischrgLmt;BattSoc;BattSoc ;Battery Management System;BcuBrkPrsCmd;Brake Pedal to Total Braking Pressure Request;BrkCmd;BrkPrsReq;BrkPrsReq ;Check Within Limits;ChrgLmt;Cltch1Cmd;Compare To Constant;Compare To Zero;Constant;Demux;DischrgLmt;EMPwrElecReq;EMSpd;EMSpd ;EMTrq;EMTrqCmd;EMTrqCmdFinal;EMTrqCmdRegen;EMTrqCmdTrac;Eff Map;Eff2k;ElecToMechPwr;EngTrqCmd;From;Front Bias;FuelCellCurrCmd;FuelCellTempCmd;Gain;Goto;InLimit;Logical Operator;Math Function;MaxChrg;MaxDischrg;MaxEMTrqVsSpd;MaxMotTrqVsSpd;MaxMotorTrqVsSpd;Mech to Elec Power Estimate;MechPwrToTrq;MinMax;MotTrqReflectedToWheels;Motor Torque Arbitration and Power Management;Mux;Negative ;Neutral;Parallel Regen Braking;Park;Power Management;Probe;Product;Rear Bias;Reference;Regen Braking Control;RegenBrakingCutoff;SOC;Saturation;Saturation Dynamic;Selector;Series Regen Braking;SubSystem;Subtract;Sum;Switch;Terminator;Torque Limit;Trailer Brake Pressure Command;TrqCmd;VcuBrkPrsCmd;VcuTrlrBrkPrsCmd;Vector Concatenate;VehSpd;VehSpd ;VehSpdFdbk;WhlTrqReflectedToMot;div0protect - poly;lo;rads_to_rpm;u;up;y

BLOCKTYPE:
Abs;Compare To Constant;Compare To Zero;Concatenate;Constant;Demux;From;Gain;Goto;Inport;Logic;Lookup_n-D;Math;MinMax;Mux;Outport;Probe;Product;Saturate;Saturation Dynamic;Selector;Sum;Switch;Terminator


MODELNAME: EvPowertrainController2EM
CHECKSUM: B15831C4FA1A6CED9FE67EAB5F865876
PRODUCT: MATLAB;Simulink;Vehicle Dynamics Blockset;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
PATH:
toolbox/autoblks/autoblksreference/projectsrc/VirtualVehicle/Controller/EvPowertrainController2EM.slx

ANNOTATION:
Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Reflect EMTrq to WhlTrq due to possible gearing differences Use VehSpd instead of EMSpd or WhlSpd in case wheel or EM are undergoing slipping / have oscillations.  Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Use VehSpd instead of EMSpd or WhlSpd in case wheel or EM are undergoing slipping / have oscillations.  Reflect EMTrq to WhlTrq due to possible gearing differences Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Reflect EMTrq to WhlTrq due to possible gearing differences Use VehSpd instead of EMSpd or WhlSpd in case wheel or EM are undergoing slipping / have oscillations.  Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Use VehSpd instead of EMSpd or WhlSpd in case wheel or EM are undergoing slipping / have oscillations.  Reflect EMTrq to WhlTrq due to possible gearing differences Convert Accelerator Pedal Position to Wheel Torque Command using Motor Torque Speed Curves. Can be replaced with 2D Lookup Table with AccelPdl and VehSpd as inputs and Motor or Wheel Torque Command as output. Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Reflect EMTrq to WhlTrq due to possible gearing differences Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Calculate average speed of EMs on axle Reflect EMTrq to WhlTrq due to possible gearing differences Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Calculate average speed of EMs on axle Reflect EMTrq to WhlTrq due to possible gearing differences Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Calculate average speed of EMs on axle Reflect EMTrq to WhlTrq due to possible gearing differences Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1  - Total brake torque request based on brake pressure and parameters of disc brakes - Use as much regenerative motor braking as possible - Any braking torque request that cannot be provided by the motor, will be provided by the friction brakes T / 4 brakes*(muk*pi*Ba^2*Rm*Npads/4) 1 brakes*(muk*pi*Ba^2*Rm*Npads/4)*P  A vector of possible motor torques includes: Whl Trq Demand Linearly spaced Rear Motor vector (linspace) of min to max motor torque, in desired increments Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 This table helps reduce rapid oscillations in torque that can occur when operating at WOT conditions which can result in the torque being limited by the BMS.  There could be instances where an mot trq command produces the minimum cost, but differs greatly from the previously selected mot trq. This function will calculate the difference in power between the current mot power vector and the previously selected mot pwr. This term is added to the total cost function, and will help limit the rate at which the mot power (and torque) can change from time step to time step.  Alternative to using abs funciton Use Current Limits from BMS to calculate discharge and charge power limits Dont allow negative MotTrq when WhlTrqCmd is >= 0 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pelec_req = Pmech_req*Eff^k, k = -1 if Motoring >= 0, k = 1 if Generating < 0 Check if Motoring or Generating Pwr >= 0, v = 1 Pwr < 0, v= -1 Check if Motoring or Generating Pelec_req = Pmech_req*Eff^k, k = -1 if Motoring >= 0, k = 1 if Generating < 0 Fz_Rear = [(a*m*g) + (h*m*g*Ax)] / (a + b) a - Front axle distance to CG b - Rear axle distance to CG h - Height from ground to CG m - Vehicle mass g - gravity constant Ax - level of acceleration in gs  Fz_Front = [(b*m*g) - (h*m*g*Ax)] / (a + b) a - Front axle distance to CG b - Rear axle distance to CG h - Height from ground to CG m - Vehicle mass g - gravity constant Ax - level of acceleration in gs   First princicple equations of vehicle weight transfer on front and rear axles at desired maximum acceleration rate in gs. Ignores aero and grade effects.  First princicple equations of vehicle weight transfer on front and rear axles at desired maximum acceleration rate in gs. Ignores aero and grade effects. Fz_Front = [(b*m*g) - (h*m*g*Ax)] / (a + b) a - Front axle distance to CG b - Rear axle distance to CG h - Height from ground to CG m - Vehicle mass g - gravity constant Ax - level of acceleration in gs  Fz_Rear = [(a*m*g) + (h*m*g*Ax)] / (a + b) a - Front axle distance to CG b - Rear axle distance to CG h - Height from ground to CG m - Vehicle mass g - gravity constant Ax - level of acceleration in gs  Braking sign convention Dont allow negative MotTrq when WhlTrqCmd is >= 0 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pelec_req = Pmech_req*Eff^k, k = -1 if Motoring >= 0, k = 1 if Generating < 0 Check if Motoring or Generating Pwr >= 0, v = 1 Pwr < 0, v= -1 Check if Motoring or Generating Pelec_req = Pmech_req*Eff^k, k = -1 if Motoring >= 0, k = 1 if Generating < 0 Pwr >= 0, v = 1 Pwr < 0, v= -1 Check if Motoring or Generating Pelec_req = Pmech_req*Eff^k, k = -1 if Motoring >= 0, k = 1 if Generating < 0 Fz_Rear = [(a*m*g) + (h*m*g*Ax)] / (a + b) a - Front axle distance to CG b - Rear axle distance to CG h - Height from ground to CG m - Vehicle mass g - gravity constant Ax - level of acceleration in gs  Fz_Front = [(b*m*g) - (h*m*g*Ax)] / (a + b) a - Front axle distance to CG b - Rear axle distance to CG h - Height from ground to CG m - Vehicle mass g - gravity constant Ax - level of acceleration in gs   First princicple equations of vehicle weight transfer on front and rear axles at desired maximum acceleration rate in gs. Ignores aero and grade effects.  First princicple equations of vehicle weight transfer on front and rear axles at desired maximum acceleration rate in gs. Ignores aero and grade effects. Fz_Front = [(b*m*g) - (h*m*g*Ax)] / (a + b) a - Front axle distance to CG b - Rear axle distance to CG h - Height from ground to CG m - Vehicle mass g - gravity constant Ax - level of acceleration in gs  Fz_Rear = [(a*m*g) + (h*m*g*Ax)] / (a + b) a - Front axle distance to CG b - Rear axle distance to CG h - Height from ground to CG m - Vehicle mass g - gravity constant Ax - level of acceleration in gs  Braking sign convention  Ensures rear torques never greater than front torques during braking  Regen Torques are Negative  Check if WhlTrqCmd &gt;= WhlTrqSplitVecFront  2. If #1 is true: Rear Torque = WhlTrqCmd - WhlTrqSplitVecFront (Saturated)  2. If #1 is false: Rear Torque = Rear Torque Split Vector  2. If #1 is true: Front Torque = WhlTrqCmd - WhlTrqSplitVecRear (Saturated)   Check if WhlTrqCmd &lt;= WhlTrqSplitVecRear  2. If #1 is false: Front Torque = Front Torque Split Vector   Traction will start with Rear EM Torque Split Vector than calculate Front EM Torque Split Regen will start with Front EM Torque Split Vector than calculate Rear EM Torque Split This subsystem calculates the powertrain component constraints and identifies infeasible conditions (i.e. violations of constraints). BMS has opposite sign convention for current Use Current Limits from BMS to calculate discharge and charge power limits Calculate average speed of EMs on axle Calculate average speed of EMs on axle Torque Vectoring algorithm based upon the following work: J. Ghosh, A. Tonoli and N. Amati, A Torque Vectoring Strategy for Improving the Performance of a Rear Wheel Drive Electric Vehicle, 2015 IEEE Vehicle Power and Propulsion Conference (VPPC), Montreal, QC, Canada, 2015, pp. 1-6, doi: 10.1109/VPPC.2015.7352887. Kd = -Kp / 100 Kp = -20000 / EMTrqMax Calculate Tire Slip Angle = (wheelbase*r)/xdot Note - effect of roll steer ignored. Enable only if velocity and steer thresholds are met Average Brake Prs Req from 4 channels Calculate average speed of EMs on axle Calculate average speed of EMs on axle Average Brake Prs Req from 4 channels Enable only if velocity and steer thresholds are met Calculate Tire Slip Angle = (wheelbase*r)/xdot Kd = -Kp / 100 Kp = -20000 / EMTrqMax Torque Vectoring algorithm based upon the following work: J. Ghosh, A. Tonoli and N. Amati, A Torque Vectoring Strategy for Improving the Performance of a Rear Wheel Drive Electric Vehicle, 2015 IEEE Vehicle Power and Propulsion Conference (VPPC), Montreal, QC, Canada, 2015, pp. 1-6, doi: 10.1109/VPPC.2015.7352887. Copyright 2015-2022 The MathWorks, Inc.

BLOCK:
 BrkCmd; Demux ; SFunction ; Terminator ; WhlMotTrqCmdRegen;1-D Lookup Table;2EM;2EM or 3EM Dual Front;2EM or 3EM Dual Rear;3EM;3EM Dual Front;3EM Dual Front or 4EM;3EM Dual Rear;3EM Dual Rear or 4EM;3EMDualFrnt;3EMDualFront;3EMDualRear;4EM;Abs;Accel Decel Switch;Accel Pedal to Traction Wheel Torque Request;AccelPdl;Action Port;Add;Average Steer Angle;BMSChrgCurrLmt;BMSDischrgCurrLmt;BMSSOC;BattCurr;BattCurrChrgLmt;BattCurrDischrgLmt;BattPackVolt;BattPwrChrgLmt;BattPwrChrgLmt ;BattPwrDisChrgLmt;BattPwrDischrgLmt;BattSOC;BattSoc;BattV;BattV_in;BattVin;Battery Constraint;BatteryAmp;BcuBrkPrsCmd;Brake Pedal to Total Braking Pressure Request;Brake Threshold;BrkCmd;BrkPrsReq;BrkPrsReq ;BrkThresh;Calculate Average EMSpd and Wheel Torque Curves for Front and Rear Axles;ChrgLmt;Cltch1Cmd;Compare To Zero;Constant;Constraint Penalty Factor;Control Domain ;Convert Whl to EMTrq Vector;Create EMTrq Vector;DC-DC Eta;DCDC Constant Eff;Data Type Conversion;Dead Zone;Demux;Diff Eta;Divide;Dual EMs;Dual Front;Dual Rear;EM Constraint Front;EM Constraint Rear;EM2WhlTrq;EMAvgSpdVec;EMPwrDelta;EMPwrElecVec;EMSpd;EMSpdAvg;EMSpdFrntAxl;EMSpdRearAxl;EMTrq;EMTrq Control Vector Traction;EMTrq2WhlTrqFrnt;EMTrq2WhlTrqRear;EMTrqCmd;EMTrqCmdFinal;EMTrqFL;EMTrqFR;EMTrqL;EMTrqMax;EMTrqMaxFrnt;EMTrqMaxRear;EMTrqR;EMTrqRL;EMTrqRR;EMTrqSplit;Eff Map;Electrical Current;Enbl;Energy Management;EngTrqCmd;Eta 4D;From;Front Axle EM Torque Vector;Front Bias;FuelCellCurrCmd;FuelCellTempCmd;Gain;Gear;Gear Eta;Gear ratio look up;Goto;H;Hamiltonian computation and minimization;If;In;Index Vector;InfFlag;Infeasible conditions;InfeasibleBatt;InfeasibleCostVec;InfeasibleEMVec;InfeasibleFlagVec;Logical Operator;MATLAB Function;Math Function;MaxAcc;MaxEMTrqVsSpd;MaxTrq;Maximum Torque;Maximum Torque Front Axle;Maximum Torque Rear Axle;Merge;MinMax;MinTrq;Multiply;Mux;Negative ;Neutral;No DC-DC;No Torque Vectoring;No Transmission;Out;PID Controller;PackVolt;Park;Power Limit Calculations;Powertrain Constraints ;PrevWhlEMTrqCmd;Probe;Product;Pwr Rate Limit;Rate Limiter;Rear Axle EM Torque Vector;Rear Bias;Reference;Regen;RegenBrakingCutoff;Relational Operator;Reshape;Road mu;Round;SOC;SOC Calculation;Safety Factor;Saturation;Saturation Dynamic;Selector;Series Regen Braking;Signal Conversion;SpdIn;Sqrt;SteerCmd;SteerWhlAng;Steering Threshold +/-20 deg;SubSystem;Subtract;Sum;Sum of Elements;Switch;Tabular Power Loss Data;Terminator;TireRadius;Torque Vectoring;Torque Vectoring Split Function;Torque Vectoring Split Function Front;Torque Vectoring Split Function Rear;Tqin;TracPwrErr;TracPwrErr Penalty;Traction;Trailer Brake Pressure Command;Trans Eta;TransGear;Transmission;TrqIn;TrqLeft;TrqLeftOut;TrqRght;TrqRghtOut;TrqVec;Unit Delay;VcuBrkPrsCmd;VcuTrlrBrkPrsCmd;Vector Concatenate;Veh2WhlSpd;VehSpd;VehSpd2EMSpd;VehSpdFdbk;Velocity Threshold;W2kW;W2kW ;Wheel Torque Limit at Max g Rates;Wheel Torque Saturation for Max g Rates;Wheel Torque Vector Logic;Wheel Torque at Max Acceleration Rate;Wheel Torque at Max Deceleration Rate;Wheelbase;WhlEMFrntVecNeg;WhlEMFrntVecPos;WhlEMRearVecNeg;WhlEMRearVecPos;WhlEMTrqCmdFrnt;WhlEMTrqCmdRear;WhlEMTrqSatVec;WhlEMTrqSatVecFrnt;WhlEMTrqSatVecRear;WhlEMTrqSplitVecFrnt;WhlEMTrqSplitVecRear;WhlEMTrqVec;WhlMotTrq;WhlSpd;WhlTrq2EMTrq;WhlTrqCmd;WhlTrqCmdOut;WhlTrqLmt;WhlTrqLmt_Accel;WhlTrqLmt_Brk;WhlTrqMaxVec;allInf;convert2percent;div0protect - poly;eta;idx;minH;pqr;tqOut;zero

BLOCKTYPE:
Abs;ActionPort;Compare To Constant;Compare To Zero;Concatenate;Constant;DataTypeConversion;DeadZone;Demux;From;Gain;Goto;If;Inport;Logic;LookupNDDirect;Lookup_n-D;Math;Merge;MinMax;MultiPortSwitch;Mux;Outport;PID 1dof;Probe;Product;RateLimiter;RelationalOperator;Reshape;Rounding;S-Function;Saturate;Saturation Dynamic;Selector;SignalConversion;Sqrt;Sum;Switch;Terminator;UnitDelay

BLOCKTYPE_FREQUENCY:
37;2;6;4;19;292;6;1;7;35;149;33;1;558;8;20;44;70;2;1;2;5;307;2;1;227;1;10;2;1;4;9;6;46;2;1;55;83;9;17


MODELNAME: EvPowertrainController3EMDualFront
CHECKSUM: 336A455E90A62527474372805C26CD36
PRODUCT: MATLAB;Simulink;Vehicle Dynamics Blockset;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
PATH:
toolbox/autoblks/autoblksreference/projectsrc/VirtualVehicle/Controller/EvPowertrainController3EMDualFront.slx

ANNOTATION:
Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Reflect EMTrq to WhlTrq due to possible gearing differences Use VehSpd instead of EMSpd or WhlSpd in case wheel or EM are undergoing slipping / have oscillations.  Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Use VehSpd instead of EMSpd or WhlSpd in case wheel or EM are undergoing slipping / have oscillations.  Reflect EMTrq to WhlTrq due to possible gearing differences Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Reflect EMTrq to WhlTrq due to possible gearing differences Use VehSpd instead of EMSpd or WhlSpd in case wheel or EM are undergoing slipping / have oscillations.  Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Use VehSpd instead of EMSpd or WhlSpd in case wheel or EM are undergoing slipping / have oscillations.  Reflect EMTrq to WhlTrq due to possible gearing differences Convert Accelerator Pedal Position to Wheel Torque Command using Motor Torque Speed Curves. Can be replaced with 2D Lookup Table with AccelPdl and VehSpd as inputs and Motor or Wheel Torque Command as output. Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Reflect EMTrq to WhlTrq due to possible gearing differences Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Calculate average speed of EMs on axle Reflect EMTrq to WhlTrq due to possible gearing differences Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Calculate average speed of EMs on axle Reflect EMTrq to WhlTrq due to possible gearing differences Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Calculate average speed of EMs on axle Reflect EMTrq to WhlTrq due to possible gearing differences Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1  - Total brake torque request based on brake pressure and parameters of disc brakes - Use as much regenerative motor braking as possible - Any braking torque request that cannot be provided by the motor, will be provided by the friction brakes T / 4 brakes*(muk*pi*Ba^2*Rm*Npads/4) 1 brakes*(muk*pi*Ba^2*Rm*Npads/4)*P  A vector of possible motor torques includes: Whl Trq Demand Linearly spaced Rear Motor vector (linspace) of min to max motor torque, in desired increments Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 This table helps reduce rapid oscillations in torque that can occur when operating at WOT conditions which can result in the torque being limited by the BMS.  There could be instances where an mot trq command produces the minimum cost, but differs greatly from the previously selected mot trq. This function will calculate the difference in power between the current mot power vector and the previously selected mot pwr. This term is added to the total cost function, and will help limit the rate at which the mot power (and torque) can change from time step to time step.  Alternative to using abs funciton Use Current Limits from BMS to calculate discharge and charge power limits Dont allow negative MotTrq when WhlTrqCmd is >= 0 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pelec_req = Pmech_req*Eff^k, k = -1 if Motoring >= 0, k = 1 if Generating < 0 Check if Motoring or Generating Pwr >= 0, v = 1 Pwr < 0, v= -1 Check if Motoring or Generating Pelec_req = Pmech_req*Eff^k, k = -1 if Motoring >= 0, k = 1 if Generating < 0 Fz_Rear = [(a*m*g) + (h*m*g*Ax)] / (a + b) a - Front axle distance to CG b - Rear axle distance to CG h - Height from ground to CG m - Vehicle mass g - gravity constant Ax - level of acceleration in gs  Fz_Front = [(b*m*g) - (h*m*g*Ax)] / (a + b) a - Front axle distance to CG b - Rear axle distance to CG h - Height from ground to CG m - Vehicle mass g - gravity constant Ax - level of acceleration in gs   First princicple equations of vehicle weight transfer on front and rear axles at desired maximum acceleration rate in gs. Ignores aero and grade effects.  First princicple equations of vehicle weight transfer on front and rear axles at desired maximum acceleration rate in gs. Ignores aero and grade effects. Fz_Front = [(b*m*g) - (h*m*g*Ax)] / (a + b) a - Front axle distance to CG b - Rear axle distance to CG h - Height from ground to CG m - Vehicle mass g - gravity constant Ax - level of acceleration in gs  Fz_Rear = [(a*m*g) + (h*m*g*Ax)] / (a + b) a - Front axle distance to CG b - Rear axle distance to CG h - Height from ground to CG m - Vehicle mass g - gravity constant Ax - level of acceleration in gs  Braking sign convention Dont allow negative MotTrq when WhlTrqCmd is >= 0 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pelec_req = Pmech_req*Eff^k, k = -1 if Motoring >= 0, k = 1 if Generating < 0 Check if Motoring or Generating Pwr >= 0, v = 1 Pwr < 0, v= -1 Check if Motoring or Generating Pelec_req = Pmech_req*Eff^k, k = -1 if Motoring >= 0, k = 1 if Generating < 0 Pwr >= 0, v = 1 Pwr < 0, v= -1 Check if Motoring or Generating Pelec_req = Pmech_req*Eff^k, k = -1 if Motoring >= 0, k = 1 if Generating < 0 Fz_Rear = [(a*m*g) + (h*m*g*Ax)] / (a + b) a - Front axle distance to CG b - Rear axle distance to CG h - Height from ground to CG m - Vehicle mass g - gravity constant Ax - level of acceleration in gs  Fz_Front = [(b*m*g) - (h*m*g*Ax)] / (a + b) a - Front axle distance to CG b - Rear axle distance to CG h - Height from ground to CG m - Vehicle mass g - gravity constant Ax - level of acceleration in gs   First princicple equations of vehicle weight transfer on front and rear axles at desired maximum acceleration rate in gs. Ignores aero and grade effects.  First princicple equations of vehicle weight transfer on front and rear axles at desired maximum acceleration rate in gs. Ignores aero and grade effects. Fz_Front = [(b*m*g) - (h*m*g*Ax)] / (a + b) a - Front axle distance to CG b - Rear axle distance to CG h - Height from ground to CG m - Vehicle mass g - gravity constant Ax - level of acceleration in gs  Fz_Rear = [(a*m*g) + (h*m*g*Ax)] / (a + b) a - Front axle distance to CG b - Rear axle distance to CG h - Height from ground to CG m - Vehicle mass g - gravity constant Ax - level of acceleration in gs  Braking sign convention  Ensures rear torques never greater than front torques during braking  Regen Torques are Negative  Check if WhlTrqCmd &gt;= WhlTrqSplitVecFront  2. If #1 is true: Rear Torque = WhlTrqCmd - WhlTrqSplitVecFront (Saturated)  2. If #1 is false: Rear Torque = Rear Torque Split Vector  2. If #1 is true: Front Torque = WhlTrqCmd - WhlTrqSplitVecRear (Saturated)   Check if WhlTrqCmd &lt;= WhlTrqSplitVecRear  2. If #1 is false: Front Torque = Front Torque Split Vector   Traction will start with Rear EM Torque Split Vector than calculate Front EM Torque Split Regen will start with Front EM Torque Split Vector than calculate Rear EM Torque Split This subsystem calculates the powertrain component constraints and identifies infeasible conditions (i.e. violations of constraints). BMS has opposite sign convention for current Use Current Limits from BMS to calculate discharge and charge power limits Calculate average speed of EMs on axle Calculate average speed of EMs on axle Torque Vectoring algorithm based upon the following work: J. Ghosh, A. Tonoli and N. Amati, A Torque Vectoring Strategy for Improving the Performance of a Rear Wheel Drive Electric Vehicle, 2015 IEEE Vehicle Power and Propulsion Conference (VPPC), Montreal, QC, Canada, 2015, pp. 1-6, doi: 10.1109/VPPC.2015.7352887. Kd = -Kp / 100 Kp = -20000 / EMTrqMax Calculate Tire Slip Angle = (wheelbase*r)/xdot Note - effect of roll steer ignored. Enable only if velocity and steer thresholds are met Average Brake Prs Req from 4 channels Calculate average speed of EMs on axle Calculate average speed of EMs on axle Average Brake Prs Req from 4 channels Enable only if velocity and steer thresholds are met Calculate Tire Slip Angle = (wheelbase*r)/xdot Kd = -Kp / 100 Kp = -20000 / EMTrqMax Torque Vectoring algorithm based upon the following work: J. Ghosh, A. Tonoli and N. Amati, A Torque Vectoring Strategy for Improving the Performance of a Rear Wheel Drive Electric Vehicle, 2015 IEEE Vehicle Power and Propulsion Conference (VPPC), Montreal, QC, Canada, 2015, pp. 1-6, doi: 10.1109/VPPC.2015.7352887. Copyright 2015-2022 The MathWorks, Inc.

BLOCK:
 BrkCmd; Demux ; SFunction ; Terminator ; WhlMotTrqCmdRegen;1-D Lookup Table;2EM;2EM or 3EM Dual Front;2EM or 3EM Dual Rear;3EM;3EM Dual Front;3EM Dual Front or 4EM;3EM Dual Rear;3EM Dual Rear or 4EM;3EMDualFrnt;3EMDualFront;3EMDualRear;4EM;Abs;Accel Decel Switch;Accel Pedal to Traction Wheel Torque Request;AccelPdl;Action Port;Add;Average Steer Angle;BMSChrgCurrLmt;BMSDischrgCurrLmt;BMSSOC;BattCurr;BattCurrChrgLmt;BattCurrDischrgLmt;BattPackVolt;BattPwrChrgLmt;BattPwrChrgLmt ;BattPwrDisChrgLmt;BattPwrDischrgLmt;BattSOC;BattSoc;BattV;BattV_in;BattVin;Battery Constraint;BatteryAmp;BcuBrkPrsCmd;Brake Pedal to Total Braking Pressure Request;Brake Threshold;BrkCmd;BrkPrsReq;BrkPrsReq ;BrkThresh;Calculate Average EMSpd and Wheel Torque Curves for Front and Rear Axles;ChrgLmt;Cltch1Cmd;Compare To Zero;Constant;Constraint Penalty Factor;Control Domain ;Convert Whl to EMTrq Vector;Create EMTrq Vector;DC-DC Eta;DCDC Constant Eff;Data Type Conversion;Dead Zone;Demux;Diff Eta;Divide;Dual EMs;Dual Front;Dual Rear;EM Constraint Front;EM Constraint Rear;EM2WhlTrq;EMAvgSpdVec;EMPwrDelta;EMPwrElecVec;EMSpd;EMSpdAvg;EMSpdFrntAxl;EMSpdRearAxl;EMTrq;EMTrq Control Vector Traction;EMTrq2WhlTrqFrnt;EMTrq2WhlTrqRear;EMTrqCmd;EMTrqCmdFinal;EMTrqFL;EMTrqFR;EMTrqL;EMTrqMax;EMTrqMaxFrnt;EMTrqMaxRear;EMTrqR;EMTrqRL;EMTrqRR;EMTrqSplit;Eff Map;Electrical Current;Enbl;Energy Management;EngTrqCmd;Eta 4D;From;Front Axle EM Torque Vector;Front Bias;FuelCellCurrCmd;FuelCellTempCmd;Gain;Gear;Gear Eta;Gear ratio look up;Goto;H;Hamiltonian computation and minimization;If;In;Index Vector;InfFlag;Infeasible conditions;InfeasibleBatt;InfeasibleCostVec;InfeasibleEMVec;InfeasibleFlagVec;Logical Operator;MATLAB Function;Math Function;MaxAcc;MaxEMTrqVsSpd;MaxTrq;Maximum Torque;Maximum Torque Front Axle;Maximum Torque Rear Axle;Merge;MinMax;MinTrq;Multiply;Mux;Negative ;Neutral;No DC-DC;No Torque Vectoring;No Transmission;Out;PID Controller;PackVolt;Park;Power Limit Calculations;Powertrain Constraints ;PrevWhlEMTrqCmd;Probe;Product;Pwr Rate Limit;Rate Limiter;Rear Axle EM Torque Vector;Rear Bias;Reference;Regen;RegenBrakingCutoff;Relational Operator;Reshape;Road mu;Round;SOC;SOC Calculation;Safety Factor;Saturation;Saturation Dynamic;Selector;Series Regen Braking;Signal Conversion;SpdIn;Sqrt;SteerCmd;SteerWhlAng;Steering Threshold +/-20 deg;SubSystem;Subtract;Sum;Sum of Elements;Switch;Tabular Power Loss Data;Terminator;TireRadius;Torque Vectoring;Torque Vectoring Split Function;Torque Vectoring Split Function Front;Torque Vectoring Split Function Rear;Tqin;TracPwrErr;TracPwrErr Penalty;Traction;Trailer Brake Pressure Command;Trans Eta;TransGear;Transmission;TrqIn;TrqLeft;TrqLeftOut;TrqRght;TrqRghtOut;TrqVec;Unit Delay;VcuBrkPrsCmd;VcuTrlrBrkPrsCmd;Vector Concatenate;Veh2WhlSpd;VehSpd;VehSpd2EMSpd;VehSpdFdbk;Velocity Threshold;W2kW;W2kW ;Wheel Torque Limit at Max g Rates;Wheel Torque Saturation for Max g Rates;Wheel Torque Vector Logic;Wheel Torque at Max Acceleration Rate;Wheel Torque at Max Deceleration Rate;Wheelbase;WhlEMFrntVecNeg;WhlEMFrntVecPos;WhlEMRearVecNeg;WhlEMRearVecPos;WhlEMTrqCmdFrnt;WhlEMTrqCmdRear;WhlEMTrqSatVec;WhlEMTrqSatVecFrnt;WhlEMTrqSatVecRear;WhlEMTrqSplitVecFrnt;WhlEMTrqSplitVecRear;WhlEMTrqVec;WhlMotTrq;WhlSpd;WhlTrq2EMTrq;WhlTrqCmd;WhlTrqCmdOut;WhlTrqLmt;WhlTrqLmt_Accel;WhlTrqLmt_Brk;WhlTrqMaxVec;allInf;convert2percent;div0protect - poly;eta;idx;minH;pqr;tqOut;zero

BLOCKTYPE:
Abs;ActionPort;Compare To Constant;Compare To Zero;Concatenate;Constant;DataTypeConversion;DeadZone;Demux;From;Gain;Goto;If;Inport;Logic;LookupNDDirect;Lookup_n-D;Math;Merge;MinMax;MultiPortSwitch;Mux;Outport;PID 1dof;Probe;Product;RateLimiter;RelationalOperator;Reshape;Rounding;S-Function;Saturate;Saturation Dynamic;Selector;SignalConversion;Sqrt;Sum;Switch;Terminator;UnitDelay

BLOCKTYPE_FREQUENCY:
37;2;6;4;19;292;6;1;7;35;149;33;1;558;8;20;44;70;2;1;2;5;307;2;1;227;1;10;2;1;4;9;6;46;2;1;55;83;9;17


MODELNAME: EvPowertrainController3EMDualRear
CHECKSUM: 7B42F02F098C68F6703A6CF162C7C96C
PRODUCT: MATLAB;Simulink;Vehicle Dynamics Blockset;Vehicle Dynamics Blockset
PRODUCT_BASECODE: PW;VE
PATH:
toolbox/autoblks/autoblksreference/projectsrc/VirtualVehicle/Controller/EvPowertrainController3EMDualRear.slx

ANNOTATION:
Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Reflect EMTrq to WhlTrq due to possible gearing differences Use VehSpd instead of EMSpd or WhlSpd in case wheel or EM are undergoing slipping / have oscillations.  Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Use VehSpd instead of EMSpd or WhlSpd in case wheel or EM are undergoing slipping / have oscillations.  Reflect EMTrq to WhlTrq due to possible gearing differences Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Reflect EMTrq to WhlTrq due to possible gearing differences Use VehSpd instead of EMSpd or WhlSpd in case wheel or EM are undergoing slipping / have oscillations.  Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Use VehSpd instead of EMSpd or WhlSpd in case wheel or EM are undergoing slipping / have oscillations.  Reflect EMTrq to WhlTrq due to possible gearing differences Convert Accelerator Pedal Position to Wheel Torque Command using Motor Torque Speed Curves. Can be replaced with 2D Lookup Table with AccelPdl and VehSpd as inputs and Motor or Wheel Torque Command as output. Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Reflect EMTrq to WhlTrq due to possible gearing differences Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Calculate average speed of EMs on axle Reflect EMTrq to WhlTrq due to possible gearing differences Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Calculate average speed of EMs on axle Reflect EMTrq to WhlTrq due to possible gearing differences Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Calculate average speed of EMs on axle Reflect EMTrq to WhlTrq due to possible gearing differences Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1  - Total brake torque request based on brake pressure and parameters of disc brakes - Use as much regenerative motor braking as possible - Any braking torque request that cannot be provided by the motor, will be provided by the friction brakes T / 4 brakes*(muk*pi*Ba^2*Rm*Npads/4) 1 brakes*(muk*pi*Ba^2*Rm*Npads/4)*P  A vector of possible motor torques includes: Whl Trq Demand Linearly spaced Rear Motor vector (linspace) of min to max motor torque, in desired increments Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pwr >= 0, v = 1 Pwr < 0, v= -1 This table helps reduce rapid oscillations in torque that can occur when operating at WOT conditions which can result in the torque being limited by the BMS.  There could be instances where an mot trq command produces the minimum cost, but differs greatly from the previously selected mot trq. This function will calculate the difference in power between the current mot power vector and the previously selected mot pwr. This term is added to the total cost function, and will help limit the rate at which the mot power (and torque) can change from time step to time step.  Alternative to using abs funciton Use Current Limits from BMS to calculate discharge and charge power limits Dont allow negative MotTrq when WhlTrqCmd is >= 0 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pelec_req = Pmech_req*Eff^k, k = -1 if Motoring >= 0, k = 1 if Generating < 0 Check if Motoring or Generating Pwr >= 0, v = 1 Pwr < 0, v= -1 Check if Motoring or Generating Pelec_req = Pmech_req*Eff^k, k = -1 if Motoring >= 0, k = 1 if Generating < 0 Fz_Rear = [(a*m*g) + (h*m*g*Ax)] / (a + b) a - Front axle distance to CG b - Rear axle distance to CG h - Height from ground to CG m - Vehicle mass g - gravity constant Ax - level of acceleration in gs  Fz_Front = [(b*m*g) - (h*m*g*Ax)] / (a + b) a - Front axle distance to CG b - Rear axle distance to CG h - Height from ground to CG m - Vehicle mass g - gravity constant Ax - level of acceleration in gs   First princicple equations of vehicle weight transfer on front and rear axles at desired maximum acceleration rate in gs. Ignores aero and grade effects.  First princicple equations of vehicle weight transfer on front and rear axles at desired maximum acceleration rate in gs. Ignores aero and grade effects. Fz_Front = [(b*m*g) - (h*m*g*Ax)] / (a + b) a - Front axle distance to CG b - Rear axle distance to CG h - Height from ground to CG m - Vehicle mass g - gravity constant Ax - level of acceleration in gs  Fz_Rear = [(a*m*g) + (h*m*g*Ax)] / (a + b) a - Front axle distance to CG b - Rear axle distance to CG h - Height from ground to CG m - Vehicle mass g - gravity constant Ax - level of acceleration in gs  Braking sign convention Dont allow negative MotTrq when WhlTrqCmd is >= 0 Pwr >= 0, v = 1 Pwr < 0, v= -1 Pelec_req = Pmech_req*Eff^k, k = -1 if Motoring >= 0, k = 1 if Generating < 0 Check if Motoring or Generating Pwr >= 0, v = 1 Pwr < 0, v= -1 Check if Motoring or Generating Pelec_req = Pmech_req*Eff^k, k = -1 if Motoring >= 0, k = 1 if Generating < 0 Pwr >= 0, v = 1 Pwr < 0, v= -1 Check if Motoring or Generating Pelec_req = Pmech_req*Eff^k, k = -1 if Motoring >= 0, k = 1 if Generating < 0 Fz_Rear = [(a*m*g) + (h*m*g*Ax)] / (a + b) a - Front axle distance to CG b - Rear axle distance to CG h - Height from ground to CG m - Vehicle mass g - gravity constant Ax - level of acceleration in gs  Fz_Front = [(b*m*g) - (h*m*g*Ax)] / (a + b) a - Front axle distance to CG b - Rear axle distance to CG h - Height from ground to CG m - Vehicle mass g - gravity constant Ax - level of acceleration in gs   First princicple equations of vehicle weight transfer on front and rear axles at desired maximum acceleration rate in gs. Ignores aero and grade effects.  First princicple equations of vehicle weight transfer on front and rear axles at desired maximum acceleration rate in gs. Ignores aero and grade effects. Fz_Front = [(b*m*g) - (h*m*g*Ax)] / (a + b) a - Front axle distance to CG b - Rear axle distance to CG h - Height from ground to CG m - Vehicle mass g - gravity constant Ax - level of acceleration in gs  Fz_Rear = [(a*m*g) + (h*m*g*Ax)] / (a + b) a - Front axle distance to CG b - Rear axle distance to CG h - Height from ground to CG m - Vehicle mass g - gravity constant Ax - level of acceleration in gs  Braking sign convention  Ensures rear torques never greater than front torques during braking  Regen Torques are Negative  Check if WhlTrqCmd &gt;= WhlTrqSplitVecFront  2. If #1 is true: Rear Torque = WhlTrqCmd - WhlTrqSplitVecFront (Saturated)  2. If #1 is false: Rear Torque = Rear Torque Split Vector  2. If #1 is true: Front Torque = WhlTrqCmd - WhlTrqSplitVecRear (Saturated)   Check if WhlTrqCmd &lt;= WhlTrqSplitVecRear  2. If #1 is false: Front Torque = Front Torque Split Vector   Traction will start with Rear EM Torque Split Vector than calculate Front EM Torque Split Regen will start with Front EM Torque Split Vector than calculate Rear EM Torque Split This subsystem calculates the powertrain component constraints and identifies infeasible conditions (i.e. violations of constraints). BMS has opposite sign convention for current Use Current Limits from BMS to calculate discharge and charge power limits Calculate average speed of EMs on axle Calculate average speed of EMs on axle Torque Vectoring algorithm based upon the following work: J. Ghosh, A. Tonoli and N. Amati, A Torque Vectoring Strategy for Improving the Performance of a Rear Wheel Drive Electric Vehicle, 2015 IEEE Vehicle Power and Propulsion Conference (VPPC), Montreal, QC, Canada, 2015, pp. 1-6, doi: 10.1109/VPPC.2015.7352887. Kd = -Kp / 100 Kp = -20000 / EMTrqMax Calculate Tire Slip Angle = (wheelbase*r)/xdot Note - effect of roll steer ignored. Enable only if velocity and steer thresholds are met Average Brake Prs Req from 4 channels Calculate average speed of EMs on axle Calculate average speed of EMs on axle Average Brake Prs Req from 4 channels Enable only if velocity and steer thresholds are met Calculate Tire Slip Angle = (wheelbase*r)/xdot Kd = -Kp / 100 Kp = -20000 / EMTrqMax Torque Vectoring algorithm based upon the following work: J. Ghosh, A. Tonoli and N. Amati, A Torque Vectoring Strategy for Improving the Performance of a Rear Wheel Drive Electric Vehicle, 2015 IEEE Vehicle Power and Propulsion Conference (VPPC), Montreal, QC, Canada, 2015, pp. 1-6, doi: 10.1109/VPPC.2015.7352887. Copyright 2015-2022 The MathWorks, Inc.

BLOCK:
 BrkCmd; Demux ; SFunction ; Terminator ; WhlMotTrqCmdRegen;1-D Lookup Table;2EM;2EM or 3EM Dual Front;2EM or 3EM Dual Rear;3EM;3EM Dual Front;3EM Dual Front or 4EM;3EM Dual Rear;3EM Dual Rear or 4EM;3EMDualFrnt;3EMDualFront;3EMDualRear;4EM;Abs;Accel Decel Switch;Accel Pedal to Traction Wheel Torque Request;AccelPdl;Action Port;Add;Average Steer Angle;BMSChrgCurrLmt;BMSDischrgCurrLmt;BMSSOC;BattCurr;BattCurrChrgLmt;BattCurrDischrgLmt;BattPackVolt;BattPwrChrgLmt;BattPwrChrgLmt ;BattPwrDisChrgLmt;BattPwrDischrgLmt;BattSOC;BattSoc;BattV;BattV_in;BattVin;Battery Constraint;BatteryAmp;BcuBrkPrsCmd;Brake Pedal to Total Braking Pressure Request;Brake Threshold;BrkCmd;BrkPrsReq;BrkPrsReq ;BrkThresh;Calculate Average EMSpd and Wheel Torque Curves for Front and Rear Axles;ChrgLmt;Cltch1Cmd;Compare To Zero;Constant;Constraint Penalty Factor;Control Domain ;Convert Whl to EMTrq Vector;Create EMTrq Vector;DC-DC Eta;DCDC Constant Eff;Data Type Conversion;Dead Zone;Demux;Diff Eta;Divide;Dual EMs;Dual Front;Dual Rear;EM Constraint Front;EM Constraint Rear;EM2WhlTrq;EMAvgSpdVec;EMPwrDelta;EMPwrElecVec;EMSpd;EMSpdAvg;EMSpdFrntAxl;EMSpdRearAxl;EMTrq;EMTrq Control Vector Traction;EMTrq2WhlTrqFrnt;EMTrq2WhlTrqRear;EMTrqCmd;EMTrqCmdFinal;EMTrqFL;EMTrqFR;EMTrqL;EMTrqMax;EMTrqMaxFrnt;EMTrqMaxRear;EMTrqR;EMTrqRL;EMTrqRR;EMTrqSplit;Eff Map;Electrical Current;Enbl;Energy Management;EngTrqCmd;Eta 4D;From;Front Axle EM Torque Vector;Front Bias;FuelCellCurrCmd;FuelCellTempCmd;Gain;Gear;Gear Eta;Gear ratio look up;Goto;H;Hamiltonian computation and minimization;If;In;Index Vector;InfFlag;Infeasible conditions;InfeasibleBatt;InfeasibleCostVec;InfeasibleEMVec;InfeasibleFlagVec;Logical Operator;MATLAB Function;Math Function;MaxAcc;MaxEMTrqVsSpd;MaxTrq;Maximum Torque;Maximum Torque Front Axle;Maximum Torque Rear Axle;Merge;MinMax;MinTrq;Multiply;Mux;Negative ;Neutral;No DC-DC;No Torque Vectoring;No Transmission;Out;PID Controller;PackVolt;Park;Power Limit Calculations;Powertrain Constraints ;PrevWhlEMTrqCmd;Probe;Product;Pwr Rate Limit;Rate Limiter;Rear Axle EM Torque Vector;Rear Bias;Reference;Regen;RegenBrakingCutoff;Relational Operator;Reshape;Road mu;Round;SOC;SOC Calculation;Safety Factor;Saturation;Saturation Dynamic;Selector;Series Regen Braking;Signal Conversion;SpdIn;Sqrt;SteerCmd;SteerWhlAng;Steering Threshold +/-20 deg;SubSystem;Subtract;Sum;Sum of Elements;Switch;Tabular Power Loss Data;Terminator;TireRadius;Torque Vectoring;Torque Vectoring Split Function;Torque Vectoring Split Function Front;Torque Vectoring Split Function Rear;Tqin;TracPwrErr;TracPwrErr Penalty;Traction;Trailer Brake Pressure Command;Trans Eta;TransGear;Transmission;TrqIn;TrqLeft;TrqLeftOut;TrqRght;TrqRghtOut;TrqVec;Unit Delay;VcuBrkPrsCmd;VcuTrlrBrkPrsCmd;Vector Concatenate;Veh2WhlSpd;VehSpd;VehSpd2EMSpd;VehSpdFdbk;Velocity Threshold;W2kW;W2kW ;Wheel Torque Limit at Max g Rates;Wheel Torque Saturation for Max g Rates;Wheel Torque Vector Logic;Wheel Torque at Max Acceleration Rate;Wheel Torque at Max Deceleration Rate;Wheelbase;WhlEMFrntVecNeg;WhlEMFrntVecPos;WhlEMRearVecNeg;WhlEMRearVecPos;WhlEMTrqCmdFrnt;WhlEMTrqCmdRear;WhlEMTrqSatVec;WhlEMTrqSatVecFrnt;WhlEMTrqSatVecRear;WhlEMTrqSplitVecFrnt;WhlEMTrqSplitVecRear;WhlEMTrqVec;WhlMotTrq;WhlSpd;WhlTrq2EMTrq;WhlTrqCmd;WhlTrqCmdOut;WhlTrqLmt;WhlTrqLmt_Accel;WhlTrqLmt_Brk;WhlTrqMaxVec;allInf;convert2percent;div0protect - poly;eta;idx;minH;pqr;tqOut;zero

BLOCKTYPE:
Abs;ActionPort;Compare To Constant;Compare To Zero;Concatenate;Constant;DataTypeConversion;DeadZone;Demux;From;Gain;Goto;If;Inport;Logic;LookupNDDirect;Lookup_n-D;Math;Merge;MinMax;MultiPortSwitch;Mux;Outport;PID 1dof;Probe;Product;RateLimiter;RelationalOperator;Reshape;Rounding;S-Function;Saturate;Saturation Dynamic;Selector;SignalConversion;Sqrt;Sum;Switch;Terminator;UnitDelay

BLOCKTYPE_FREQUENCY:
37;2;6;4;19;292;6;1;7;35;149;33;1;558;8;20;44;70;2;1;2;5;307;2;1;227;1;10;2;1;4;9;6;46;2;1;55;83;9;17


