Lane Management System 1

Software Requirements Specification (SRS)

Project Lane Management System

Authors: Adam Pruim, Curtis Notarantonio, Jacob Heisey, Qiuning Ren, Matt Chebowski

Customer: Dr. S Ramesh, General Motors

Instructor: Dr. Cheng, Michigan State University

1  Introduction

This section provides a project scope and an overview of everything included in this document. Also, the purpose of this project is outlined, and a list of all abbreviations and definitions is provided.

1.1  Purpose

The purpose of this Software Requirements Specification (SRS) document is to provide a detailed description of the functionalities of the Lane Management System (LMS). This document covers each of the system’s intended features, as well as offers a preliminary glimpse of the system’s User Interface (UI). The document also covers hardware, software, and other technical dependencies.

This document is intended for the customer, Dr. Ramesh with General Motors, as well as the course instructor, Dr. Cheng. Readers interested in a brief overview of the system should focus on the rest of section 1, as well as section 2 of the document.

1.2  Scope

The product to be produced is titled Lane Management System. The Lane Management System is representative of features that are implemented in next generation vehicles. The application domain of the LMS is an embedded system for automotive systems. The LMS is composed of two components. First the system has hardware that consists of 3 cameras which will be placed on the left, center and right of the front of the vehicle. A toggle switch for the system also exists inside the vehicle, allowing the driver to activate and deactivate the system. Second the system has software which allows various components of the system to communicate and respond accordingly to corresponding conditions and scenarios the user may face. The LMS is also composed of several subsystem elements, listed below:

●  Camera Sensing Subsystem: captures images on the sides of vehicle and sends to the image processing unit for lane marker detection

●  Image Processing Subsystem: processes the raw images coming from the camera and identifies the lane marker

●  Vehicle State Estimation system: a set of sensors that periodically determines the speed, steering angle, and road curvature

●  Path Prediction Subsystem: a mathematical data processing subsystem which receives information from the image processing and vehicle state estimation subsystems and tries to predict the path of the vehicle in order to detect, warn, and correct any potential lane violations

●  User Interface Subsystem: the driver and LMS exchange control and data information through this system

●  Supervisory Control Subsystems: control all other subsystems, decides when to enable and disable other subsystems, and possibly provide diagnostic information

The main objective of this system is to improve the safety of both the main driver and drivers that are outside of this system (drivers that are not in the vehicle, but share the road with the primary user) by ensuring the car remains inside of the lane. Our goal is to develop a system that improves the safety of the driver, but also gives the driver complete control of the system and the entire vehicle. The benefits we aim to provide with this system include the following:

●  Improve driver safety

●  Improve safety of other drivers who share the road with the primary driver

●  Give the user the ability to have complete control over the LMS and therefore the entire vehicle. The LMS will not override the control of the driver.

●  Provide both an audible and visual warning should the driver unintentionally leave their lane

●  Provide steering correction should the driver unintentionally leave their lane. This corrective action should only occur after a warning is issued

1.3  Definitions, acronyms, and abbreviations

This section gives definitions of terms and acronyms that will be used in this document. Definitions:

●  Lane Management System – Driver assistance system that can detect lanes and compute the relative position of the vehicle. Can take over control from the driver to position the vehicle within a lane. The lane keeping system, lane departure warning system, and lane centering system are components of this system.

●  Lane Keeping System – Intervenes and sends commands to steer and adjust the position of the vehicle

●  Lane Departure Warning System – Makes use of lane sensing feature and issues warnings to the driver when the vehicle leaves a lane

●  Lane Centering System – Detects lane markings to compute appropriate center of lane position

●  CANbus - The network inside of the car that allows different systems in the car to communicate.

Acronyms:

●  SRS – Software Requirements Specification

●  LMS – Lane Management System

●  LKS – Lane Keeping System

●  LDWS – Lane Departure Warning System

●  LCS – Lane Centering Systems

●  GM – General Motors

●  SW – Software

●  HW - Hardware

●  CANbus - Controller Area Network Bus

1.4  Organization

This document is divided into six remaining sections. Section 2 provides an overview of the system, and outlines the product perspective, product functions, user characteristics, constraints, assumptions and dependencies and apportioning of requirements. Section 3 provides an enumerated list of specific requirements for this system. Section 4 describes any modeling requirements necessary to the system, including use-cases and various diagrams intended to give an overview of how the system is intended to function. Section 5 focuses on the system prototype, including instructions for how to run the prototype, and an example scenario which can be applied to the prototype. Section 6 lists all references used throughout this document, and Section 7 provides a point of contact for further information regarding this document and/or project.The structure of this document can be seen below:

Overall Description

This section covers the function and constraints of the LMS. It provides context for the system and presents the goals of its functionality. Restrictions, on both the user and the system, are enumerated. It also explores possible futures for the LMS.

2.1  Product Perspective

LMS is an autonomous feature, meaning that the LMS functions without any driver input and allows the car to independently make steering correction in order to maintain its lane. The LMS uses the three cameras mounted on the exterior of the vehicle and the Image Processing subsystem to determine lane boundaries. Unintentional lane drift is determined by torque sensors on the steering wheel. Should the vehicle drift and the torque applied by the driver lies below a preset threshold, the LMS will issue an audio warning. The LMS interacts with the steering wheel to make adjustments and keep the vehicle in its lane. The LMS is focused on safety and will not operate if it does not have enough information to find lane boundaries. The user interface allows the driver to customize the degree of deviation of the LMS (sensitivity to a lane departure), and the volume of audio warnings issued by the LMS. Visual warnings would be displayed on the dash and audio warnings will be played through the speakers.

2.2  Product Functions

The function of LMS is to ensure a vehicle will hold its lane, by exerting torque on the steering column when lane boundaries can be accurately established and the vehicle is traveling faster than twenty miles per hour. It is intended to provide convenience and safety to its users by preventing accidents that may occur when a car drifts out of its lane. LMS will not interfere with the driver's ability to operate their vehicle as they normally would when they interact with the steering wheel.

2.3  User Characteristics

Users of the system are expected to have a valid driver's license and proper faculties to operate a motorized vehicle. They should also be introduced and familiar with the audio warnings the system generates and the method involved in turning the system off.

2.4  Constraints

The Lane Management System is constrained by the control and safety of the driver. That is, the LMS will not make rapid steering corrections that could endanger the driver, and the LMS is not allowed to override the driver’s direct action to make steering adjustments.

The functionality of the LMS is also constrained by speed and data provided via the cameras on the vehicle. The LMS will not operate while the car is moving at a speed less than twenty miles per hour. If the LMS is unable to find lane barriers or the center of the lane via the images processed from the Image Processing Subsystem, the LMS will issue a visual alert to the driver and will shut down. A system shutdown will not interfere with the driver in any way, and the driver will continue on without use of the LMS.

2.5  Assumptions and Dependencies

The LMS relies on the cameras, speedometer, and torque sensor functioning properly and would shut down if that were not the case. The algorithms to find the center of the lane and the lane boundaries must be implemented correctly. It is only intended to work on roadways where lane markings are visible and with a driver that is capable of operating a vehicle. In weather conditions where the road markings are no longer visible the system would shut down.

2.6  Apportioning of Requirements

In the future the LMS could be integrated into a fully autonomous vehicle system and use its features to allow driverless cars to stay within road lanes. These autonomous features could include, but are not limited to, blind spot detection, active park assist, and adaptive cruise control. The algorithms used to find the center of the lane and other properties of the roadway could be refined to make information more accurate. Accuracy is measured car positioning and response time to situations on the road. Information gathered from this system could be shared with other systems in the car.

Specific Requirements

This section enumerates the specific functions of the pieces of the LMS system and how the system interacts with itself.

1.  Radio Screen will show system is active or inactive and has settings

1.1.  When the LMS is active, there will be a visual icon that appears on the radio screen

1.2.  Shows the settings customization screen and allows user to adjust settings

1.3.  An icon appears on the radio screen when a lane departure has been detected

2.  Torque Sensor will detect the amount of torque on the wheel

2.1.  Detects the amount of torque put on the wheel by the driver

2.2.  Detects the amount of torque on the wheel generated by the system making a correction

2.3.  If there is torque detected on the wheel not created by the system and it is above the torque threshold, the driver has control of the wheel, thus the system is disabled

3.  Three cameras will be mounted as follows

3.1.  One camera will be located on the left side of the car in order to detect the lane to the left of the car

3.2.  One camera will be located on the right side of the car in order to detect the lane to the right of the car

3.3.  One camera will be on the front center of the vehicle will find center of curvature of the lane

4.  Warnings will be generated by the following conditions

4.1.  Audio warning will sound if a lane departure is detected and corrective action will be taken

4.2.  Visual warning will be raised on the cluster and radio screen for when a lane departure is detected

4.3.  Audio indication will sound if the system is turned on or off

5.  There will be an Enable/Disable Toggle Switch

5.1.  Physical button on the steering wheel will allow the driver to enable and disable the system

5.2.  Driver will always be able to override the system by pressing this button to disable the system

6.  Settings Customization for the following parts of the system

6.1.  Menu will be found on the radio screen

6.2.  Allow the user to change the threshold allowed for the car to drift in the lane

6.2.1.  User will be able to set the degree of deviation at either 1, 2, or 3, 1 being the smallest amount of deviation allowed and 3 being the largest

6.3.  Volume of warnings can be changed here

7.  Controller shall send and receive commands to all other systems

7.1.  Communicates through the CAN bus

7.2.  Indicate whether the system is active to all subsystems

7.3.  Issue commands and retrieves data from the subsystems

7.4.  Enable and disable the system

7.5.  Disables the system if at least two of the camera feeds cannot sufficiently detect the lane markings

8.  Image Processor shall receive video feeds from the three cameras and send information to the controller

8.1.  Receives raw image data

8.2.  Processes data to see if the lanes can be indicated or not

8.3.  If the lane cannot be indicated from at least two of the cameras, sends a flag to the controller to disable the system

9.  Maintenance system will ensure system is functioning properly