Project 1 (Mini Project on Vehicle Direction Detection
MINIPROJECT ON VEHICLE DIRECTION DETECTION
OBJECTIVE:
- 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.
TASK:
- Input of the system are Steering wheel input given as yaw rate and signal from the camera which confirm the occurence of a road sign
- Camera reads the road signs & stores into its memory with unique values for left turn, right turn & straight drive.
- By analysing these inputs a final indication is given to driver which specifies which direction the vehicle had turning ,right ,left or going straight.
1.DEVELOPEMENT OF THE SIMULINK MODEL
The simulink model of is developed as per the requirement.
The mains subsystem is shown below .Steering Wheel Yaw degreeand camera input road sign are the input here and output is vehicle direction indicator.

The main subsystem is further divided into two subsystem ie Requirement_1 and Requirement_2

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).
Subsytem is created according to the requirement 1 and is shown below

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_Status 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).
Subsystem is created as per the requirement and is shown below

2.REQUIREMENT TAGGING:
Requirement of the model is provided in Requirement word document and tagged to subsytem.For this we highlighted the requirement statement in the model then right click on the subsystem where the requirement has to tagged,then select requirement and select link to selection in word.Requirement tagging is done.


3.CREATION OF SIMULINK DATA DICTIONARY:
Signals & Calibration Data List:
|
Signal / Calibration Name |
Signal Type |
Data Type |
Dimension |
Min |
Max |
Initial Value |
Units |
|
SteeringWheel_YawDegreeInput |
Input |
Int16 |
1 |
-180 |
180 |
- |
Deg |
|
CameraInput_RoadSign |
Input |
Boolean |
1 |
0 |
1 |
- |
- |
|
Vehicle_Turn_Status |
Local |
Int16 |
1 |
-180 |
180 |
- |
Deg |
|
Right_Turn_AngularLimit |
Calibration |
Int16 |
[1 1] |
-180 |
180 |
30 |
Deg |
|
Left_Turn_AngularLimit |
Calibration |
Int16 |
[1 1] |
-180 |
180 |
-120 |
Deg |
|
Straight_Drive_Steering_Angle |
Calibration |
Int16 |
[1 1] |
-180 |
180 |
0 |
Deg |
|
RightTurn_RoadSign |
Calibration |
Int16 |
[1 1] |
-180 |
180 |
30 |
|
|
LeftTurn_RoadSign |
Calibration |
Int16 |
[1 1] |
-180 |
180 |
-120 |
|
|
Straight_RoadSign |
Calibration |
Int16 |
[1 1] |
-180 |
180 |
0 |
|
|
Vehicle_Direction_Indicator |
Output |
Boolean |
1 |
0 |
1 |
- |
- |
Simulink data dictionary is created according to the given data.For this we go to model settings->model properties -> external data
Created a dictionary direction_determinatn_DD.sldd

Then added given signals in the simulink data dictionary and is shown below

4.MAB GUIDE LINE CHECK IN MODEL ADVISOR:
MAb guild line check is done in the model advisor to check whether the developed model meets modeling standards for MAB
The result is shown below.

5.CODE GENERATION:
In model settings solver is selected to fixed-step discrete and sampling time set to 0.01 And in code generation system target file set to ert.tlc
For Code generation on right clicking the main subsytem goto c/c++ code ->generate s function-> build

A SIL model and code is generated as shown below


RESULT:
- Developed MATLAB Simulink model as per requirement.
- Tagged the Requirement to the simulink model
- MAB guidelines are checked,data dictionary is created and code generated for the given model.