Project 2-Highway Assistant-Lane Changing Assistant
Project Description
Objective:
Develop and implement specific logic for the Lane Changing Assistant using
MATLAB Simulink and AUTOSAR principles. This project focuses on implementing state-based
behavior for processing input signals and generating outputs related to
highway and lane display modes.
Key Components:
The system includes two main subsystems: Highway Display Unit and Lane
Display Unit, each contributing to the combined output for lane-changing
decision-making.
Feature Details
- Highway Display Unit:
- Processes inputs: Highway_Input_Signal, Enable_Display, and Input_Switch.
- Uses Stateflow logic to determine highway-specific display modes based on predefined conditions.
- Outputs: Highway_Display_Mode_1, Highway_Display_Mode_2, Highway_Display_Mode_3, and Highway_Display_Mode_4.
- Lane Display Unit:
- Processes inputs: Lane_Input_Signal, Enable_Display, and Input_Switch.
- Implements Stateflow logic to manage lane-specific display modes under set conditions.
- Outputs: Lane_Display_Mode_1, Lane_Display_Mode_2, Lane_Display_Mode_3, and Lane_Display_Mode_4.
- Switch Block Logic:
- Merges outputs from Highway and Lane Display Units based on the Highway_Input_Signal.
- Outputs: Display_Mode_1, Display_Mode_2, Display_Mode_3, and Display_Mode_4.
Technical Implementation
- MATLAB Simulink Model:
- Build a hierarchical Simulink model containing two subsystems and switch blocks.
- Use state machines in Stateflow for condition-based signal mapping.
- Simulink Data Dictionary:
- Centralized management of input, local, and output signals.
- Ensure signal mapping with AUTOSAR Editor.
- Model Advisor Report:
- Validate the model against MBD guidelines to ensure quality and adherence to industry standards.
- Code Generation:
- Generate AUTOSAR-compliant C code for seamless integration into automotive systems.
Deliverables
- A complete MATLAB Simulink model for Highway Assistant – Lane Changing Assistant.
- AUTOSAR-compliant code for the implemented algorithm.
- Linked Simulink Data Dictionary for signal mapping.
- Model Advisor Report ensuring adherence to MBD best practices.
- Functional validation of the state-based behavior using simulations.
This project not only addresses a critical safety requirement but also hones practical skills in Model-Based Development (MBD), making it invaluable for anyone entering the automotive or ADAS domain.
Introduction to the Feature:
The Highway Assistant supports the driver and takes over the longitudinal and
lateral guidance of the vehicle in monotonous driving situations
on highways. The partially automated function can automatically start,
accelerate, brake as well as steer the vehicle to a certain extent. The
driver has to permanently supervise the system and be ready to take over the
complete control of the vehicle at any time.
Drivers are taught to assess surrounding traffic before
changing lanes by checking their rearview and side mirrors and looking over
each
shoulder. However, even for those who follow this sequence of checks, the
vehicle's blind spot – the area alongside and just behind the vehicle
– is a constant source of danger and often the cause of serious accidents. Even
vehicles approaching quickly from behind can pose a risk. To
make changing lanes safer, this feature has been developed.
Basic Working Principle:
Highway Assistant is a partially automated driving function for a speed range
of up to 180 km/h (112 mph) on highways. It combines the radarbased
longitudinal guidance of Adaptive Cruise Control (ACC) with the video-based
lateral guidance of lane keeping support in one system.
Highway Assistant can be supplemented by an automatic lane change initiated and
monitored by the driver in a speed range of 60 – 130 km/h
(35 – 80 mph).
The lane Change Assistant works by using two mid-range radar
sensors that are concealed in the rear bumper – one on the left, one on the
right. These two sensors monitor the area alongside and behind the car.
Powerful control software collates the sensor information to create a
complete picture of all traffic in the area behind the vehicle.Whenever another
vehicle approaches at speed from behind or is already present in the blind
spot, a signal such as a warning light in the side mirror alerts the driver to
the hazard. Should the driver still activate the turn signal with the intention
of changing lanes, the system issues an additional acoustic and/or haptic
warning.
Problem Statement:
To develop one specific requirement of Highway Assistant – Lane Changing Assistant algorithm. Please note that the whole Highway Assistant – Lane Changing Assistant is a very huge algorithm & only one small part of the logic is implemented here. Idea is to familiarize with concepts of Autosar Software Component Development in MATLAB Environment by following the Model Based Development guidelines. The Project must be done keeping in mind the following processes & steps.
-This model must be developed in MATLAB Simulink per MBD
guidelines.
-Code Generation Profile must be Autosar Coder.
-Simulink Data Dictionary must be created for the model & must be linked to
the model.
-All the input & output signals must be mapped into the Autosar Editor.
-Model Advisor Report is mandatory & this will be followed by Code
Generation.
Input Signals:
|
Name of the Signal |
Data Type |
Range |
|
Highway_Input_Signal |
uint8 |
0 - 255 |
|
Enable_Display |
uint8 |
0 – 255 |
|
Input_Switch |
uint8 |
0 – 255 |
|
Lane_Input_Signal |
uint8 |
0 - 255 |
Local Signals:
|
Name of the Signal |
Data Type |
Range |
|
Highway_Display_Mode_1 |
uint8 |
0 - 255 |
|
Highway_Display_Mode_2 |
uint8 |
0 – 255 |
|
Highway_Display_Mode_3 |
uint8 |
0 – 255 |
|
Highway_Display_Mode_4 |
uint8 |
0 – 255 |
|
Lane_Display_Mode_1 |
uint8 |
0 – 255 |
|
Lane_Display_Mode_2 |
uint8 |
0 – 255 |
|
Lane_Display_Mode_3 |
uint8 |
0 – 255 |
|
Lane_Display_Mode_4 |
uint8 |
0 – 255 |
Output Signals:
|
Name of the Signal |
Data Type |
Range |
|
Display_Mode_1 |
uint8 |
0 - 255 |
|
Display_Mode_2 |
uint8 |
0 – 255 |
|
Display_Mode_3 |
uint8 |
0 – 255 |
|
Display_Mode_4 |
uint8 |
0 - 255 |
1)Simulink Model:
Please refer to file Lane_Changing_Assistant1.png
Inside the main model:-
Please refer to the file Lane_Changing_Assistant2.png
Requirmement No 1 [Highway_DisplayUnit]:
Inputs to this particular subsystem are “Highway_Input_Signal”,
“Enable_Display”, “Input_Switch”. These three input signals, when assigned to a
particular value will give output signals of specific value. The output signals
are “Highway_Display_Mode_1”, “Highway_Display_Mode_2”,
“Highway_Display_Mode_3”, “Highway_Display_Mode_4”. The requirement must be
implemented in the form of a Stateflow logic.
Please refer to Requirement_1.png, Requirement_1.1.png, Requirement_1.2.png
|
Condition |
Action |
|
Highway_Input_Signal = 1 Enable_Display = off Input_Switch = on |
Highway_Display_Mode_1 = 232 Highway_Display_Mode_2 = 183 Highway_Display_Mode_3 = 41 Highway_Display_Mode_4 = 94 |
|
Highway_Input_Signal = 1 Enable_Display = on Input_Switch = on |
Highway_Display_Mode_1 = 213 Highway_Display_Mode_2 = 183 Highway_Display_Mode_3 = 9 Highway_Display_Mode_4 = 94 |
Requirement No 2 [Lane_DisplayUnit]:
Inputs to this particular subsystem are “Enable_Display”, “Input_Switch”,
“Lane_Input_Signal”. These three input signals, when assigned to a
particular value will give output signals of specific value. The output signals
are “Lane_Display_Mode_1”, “Lane_Display_Mode_2”,
“Lane_Display_Mode_3”, “Lane_Display_Mode_4”. The requirement must be
implemented in the form of Stateflow logic
Please refer to files Requirement_2.png, Requirement_2.1.png
|
Condition |
Action |
|
Lane_Input_Signal= 6 Enable_Display = off Input_Switch = on |
Lane_Display_Mode_1 = 132 Lane_Display_Mode_2 = 185 Lane_Display_Mode_3 = 54 Lane_Display_Mode_4 = 67 |
|
Lane_Input_Signal= 6 Enable_Display = on Input_Switch = on |
Lane_Display_Mode_1 = 127 Lane_Display_Mode_2 = 248 Lane_Display_Mode_3 = 186 Lane_Display_Mode_4 = 84 |
Requirement No 3:
Signals coming from both subsystems “Highway_Display_Mode_1” & “Lane_Display_Mode_1” are given as inputs to a switch block which will have input signal “Highway_Input_Signal” given as 2nd input to the switch block. Corresponding output from this particular switch block is output signal “Display_Mode_1”.
Signals coming from both subsystems “Highway_Display_Mode_2” & “Lane_Display_Mode_2” are given as inputs to a switch block which will have input signal “Highway_Input_Signal” given as 2nd input to the switch block. Corresponding output from this particular switch block is output signal “Display_Mode_2”.
Signals coming from both subsystems “Highway_Display_Mode_3” & “Lane_Display_Mode_3” are given as inputs to a switch block which will have input signal “Highway_Input_Signal” given as 2nd input to the switch block. Corresponding output from this particular switch block is output signal “Display_Mode_3”.
Signals coming from both subsystems “Highway_Display_Mode_4” & “Lane_Display_Mode_4” are given as inputs to a switch block which will have input signal “Highway_Input_Signal” given as 2nd input to the switch block. Corresponding output from this particular switch block is output signal “Display_Mode_4”.
Please refer the files Requirement_3.png, Requirement_3.1.png.
SLDD Creation:-
The sldd file was created by expanding the modelling in the top pane and
selecting the data dictionary.The sldd file is linked to model by
selecting Link to Data Dictionary in the Modelling in the top pane.
All the input and output signals are defined in the Data dictionary.The input
signals in the model are selected and in the signal properties, the
Signal name must resolve to the Simulink signal object is enabled.
Please refer the file sldd.png, project2.sldd
3) Configuration parameters setting:
System target file is changed to autosar.tlc and solver is set Fixed step
Discrete
Please refer the file setting.png, setting2.png, setting3.png
4)Propogate the signal:-
-The following signals are selected and in the signal properties, Show
propagated signals is enabled.
-As per the MBD rules, top most level of the system should consist of one
subsystem with input and output signals.
-The signal name must be placed in the beginning of the signal.
-The AUTOSAR component is selected from the APPS in the top pane. And The
AUTOSAR Dictionary is selected from the Code Interface
of the AUTOSAR.
Please refer the file autosar1.png
5)For code mapping, go to Apps> AUTOSAR Component>
click on Continue after that one pop up windows is opens and click on next
>next then at the Bottom left corner shows a AUTOSAR SW Component
6)Open the AUTOSAR SW Component
7)For adding the Input runnable, output runnable, Their Interfaces &
their corresponding Data elements to click on Configure AUTOSAR Dictionary
and add the data with their Prefix
8)Click on the XML option select the option which is given in snap and tick
on the Internal DataConstraints Export the apply
Please refer the file autosar2.png
9)Select the option S -R Interfaces and Add the sender receiver interfaces with their prefix i.e SRIf_
Please refer the file autosar3.png
10)Select the option S -R Interfaces > DAta Elements and Add the Data elements with theai prefix i.e DE_
Please refer the file autosar1.png
11)Select the option Receiver port and Add the Input runnable With their prefix i.e Rp_
Please refer the file autosar4.png
12)Select the option Senders port and Add the output runnable with their prefix i.e Pp_
Please refer the file autosar5.png
13)After that Run the model and it show a warning
sometimes then click on refresh which is near to Configure AUTOSAR Dictionary
14)Mdel Advisor Report:-
And Model advisor report has to be generated by running the Modelling Standards
of ISO 26262 and Modelling Standards of MAB test.The
warning and errors must be nullified to maximum extent
Please refer the file Model_advicer.png
15) Go to the AUTOSAR > Quick start >Next
16)When it comes to Generate code- Code Generation is done
Please refer the file Project2_1.c.
Justification
Modern highways pose numerous challenges, including high-speed driving and blind-spot management, which can result in accidents due to human error. To mitigate these risks, the Lane Changing Assistant, a feature within the Highway Assistant system, has been designed. It enhances safety and convenience by integrating advanced radar and video-based sensing technologies.
This system aligns with the objectives of ADAS (Advanced Driver Assistance Systems) and AUTOSAR (Automotive Open System Architecture) principles, providing:
- Enhanced Road Safety: The system reduces blind-spot accidents and improves driver awareness through multi-sensory warnings.
- Driver Assistance: Automates monotonous highway tasks like lane changes while maintaining driver supervision.
- Scalable Development: Uses MATLAB Simulink with AUTOSAR-compliant Model-Based Development (MBD) techniques to ensure robust and reusable code.
- Real-world Impact: Prepares engineers for developing safety-critical systems following industry standards.
Conclusion
The Highway Assistant – Lane Changing Assistant project successfully demonstrates the implementation of a critical safety feature using Model-Based Development (MBD) principles. By employing MATLAB Simulink and AUTOSAR-compliant workflows, the project meets industry standards for safety-critical automotive systems.
The use of Stateflow logic ensures that the system operates under defined conditions, effectively managing input signals to produce accurate outputs for both highway and lane display modes. The integration of radar and video-based lateral and longitudinal guidance showcases the potential for safer and more efficient driving on highways.
Furthermore, the project highlights the scalability and modularity of MBD practices, making it easier to extend or adapt the system for future enhancements. The generation of AUTOSAR-compliant code validates its applicability in real-world automotive environments.
In conclusion, this project provides a practical and robust approach to addressing highway driving challenges, contributing to the development of safer, smarter Advanced Driver Assistance Systems (ADAS).