Project 1 (Mini Project on Vehicle Direction Detection
im:
To create a Simulink model of Vehicle Direction Detection as per the Requirement data.
Requirement - 1:
- Steering wheel input as yaw rate (Signal name: SteeringWheel_YawDegreeInput) is the input for this system.
- This is compared against 3 angular values, one each for left turn, right turn & straight drive (Calibration Values: Right_Turn_AngularLimit, Left_Turn_AngularLimit, Straight_Drive_Steering_Angle) to say which specific direction the steering wheel is turning towards.
- Use switch blocks to compare & develop this requirement. Keep this requirement in a subsystem & output of this requirement is a local signal (Signal Name: Vehicle_Turn_Status).
Requirement – 2:
- Keep this requirement as a separate subsystem. Inputs to this requirement are local signal from requirement 1 (Signal Name: Vehicle_Turn_Status) & an input signal from camera (Signal Name: CameraInput_RoadSign), which confirms the occurrence of a road sign.
- Signal Vehicle_Turn_Signal is compared against calibration values (Calibration Values: RightTurn_RoadSign, LeftTurn_RoadSign, Straight_RoadSign), if each of them is found equal, then each of the three corresponding output is compared against the camera input signal,
- Using a logical operator block, only one among them is finally given as output signal (Signal Name: Vehicle_Direction_Indicator).
Objectives of the project:
- Development of MATLAB Simulink model as per requirement.
- Tag the requirements to the simulink model; tagging requirement 1 & requirement 2 to their corresponding subsystems is fine.
- MBD compliant changes, Data Dictionary creation & code generation is added advantage, and that is not scope of this project.
- If choosing code generation, Storage class for Input signals: ImportedExtern; Storage class for Output signal: Export to File; Storage class for local signals: localizable; Storage class for calibration signals: Const.
- Choose sample time for all signals as 0.01s
Blocks used are;
- input
- Switches
- Constants
- AND Gates
- Relational Operator
- Mux & Demux
Inside a main subsystem there are to susystems i.e. Subsystem(Requirement_1) & Subsystem(Requirement_2) which is followed by the demux block and the outport blocks.
In this subsystem i used two switch blocks to excuite the condition:
1:If the input is greater than 30 deg, the vehicle turns towards right.
2:If the steering input is between odeg to 30deg, the vehicle goes straight.
3:If the steering input is less than 120 deg, the vehicle goes left.
Switch: Condition is >30. If condition is satisfied switch passes the "Right_Turn_AngularLimit" and if not output if switch1.
Switch1: Condition is >0. If condition is satisfied switch passes the "Straight_Drive_Steering_Angle" and if not "Left_Turn_AngularLimit" and then sends to switch.
Therefore the requirement 1 is satisfied and implemented in the 'Subsystem(Requirement_1)'
for 2nd Requirement
Inputs are given to the SteeringWheel_YawDegreeInput to the subsystem(Requirement_1) and the outport of this is Vehicle_Turn_Status. This outport is then connected to the next subsystem(Requirement_2). To this subsystem CameraInput_RoadSign is specified through a constant block.
The outport of this subsystem is connected to Vehicle_Direction_Indicator. The signal from this is connected to demux block. from this all three output signals like Right,Left and straight are connected to display.
Then created SLDD
The model advisor check is performed for the following MAAB, JMAAB AND MISRA C guidelines and schreenshots attached below
The signal directions are represented by Right, Left and Straight respectively.
If the output is 0-0-1, the vehicle moves in Straight direction.
If the output is 1-0-0, the vehicle takes Right Turn.
If the output is 0-1-0, the vehicle takes Left Turn.
Conclusion:
MATLAB Simulink model is created as per the requirement is developed.
The subsystems are attached with the requirements.
The SLDD file is created as per the given requirements.
Model Advisory check is performed.
- After running the simulation, we can clearly see that the vehicle is moving the straight direction.