Challenge

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

  1. 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.
  2. 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.
  3. 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

  1. MATLAB Simulink Model:
    • Build a hierarchical Simulink model containing two subsystems and switch blocks.
    • Use state machines in Stateflow for condition-based signal mapping.
  2. Simulink Data Dictionary:
    • Centralized management of input, local, and output signals.
    • Ensure signal mapping with AUTOSAR Editor.
  3. Model Advisor Report:
    • Validate the model against MBD guidelines to ensure quality and adherence to industry standards.
  4. Code Generation:
    • Generate AUTOSAR-compliant C code for seamless integration into automotive systems.

Deliverables

  1. A complete MATLAB Simulink model for Highway Assistant – Lane Changing Assistant.
  2. AUTOSAR-compliant code for the implemented algorithm.
  3. Linked Simulink Data Dictionary for signal mapping.
  4. Model Advisor Report ensuring adherence to MBD best practices.
  5. 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:

  1. Enhanced Road Safety: The system reduces blind-spot accidents and improves driver awareness through multi-sensory warnings.
  2. Driver Assistance: Automates monotonous highway tasks like lane changes while maintaining driver supervision.
  3. Scalable Development: Uses MATLAB Simulink with AUTOSAR-compliant Model-Based Development (MBD) techniques to ensure robust and reusable code.
  4. 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).

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.