Software Requirements Specification (SRS)
Project APCA
Authors: Team STOP
Scott Rucinski, Eric Slenk, David Wigell, Jennifer Manning
Customer: Mr. David Agnew, Continental Automotive Systems
Instructor: Dr. Betty H.C. Cheng, Michigan State University
1 Introduction
This Software Requirements Specification (SRS) contains seven subsections that describe the Automated Pedestrian Collision Avoidance (APCA) system. In this SRS we will provide both high-level and detailed overviews of the system.
This first section will introduce the purpose, scope, and organization of this paper, as well as any definitions, acronyms, and abbreviations used in this SRS. We will present an overall description that outlines the characteristics, constraints, and functionalities of our system. We will also provide a list of the requirements of the system, as well as diagrams to show how our system meets those requirements. This SRS will also explain how to use the prototype of our system, which is available on our website [2].
1.1 Purpose
The purpose of this SRS document is to present our design of the Automated Pedestrian Collision Avoidance system. It is intended to provide information about our system to the customer, Mr. David Agnew of Continental Automotive Systems, as well as any other user of our system.
1.2 Scope
The Automated Pedestrian Collision Avoidance system is an autonomous automotive system that is embedded within an autonomous vehicle. The system will use a sensor to detect any pedestrians within the path of the vehicle. If a pedestrian is detected, the system will send a braking request to the vehicle’s braking system to slow the vehicle avoid a collision.
The number one objective of the APCA system is safety. There are to be zero collisions with a pedestrian. The second objective of the system is efficiency. The system should minimize any lost time the vehicle experiences while avoiding a pedestrian [1].
A sensor will be constantly searching for any pedestrians within the path of the vehicle. When it detects a pedestrian, it will send a packet with the pedestrian information to the APCA system. The system will use this information as well as the vehicle information to determine the likelihood of a collision. If the system determines a collision is possible, it will send a braking request to the brake-by-wire system. The braking system will decelerate the vehicle until a collision is no longer possible. After the pedestrian has been avoided the system will send a request to the accelerator system. The accelerator will accelerate the vehicle to the velocity the vehicle was at before the pedestrian was detected.
The system also comes with a fail safe mode. This mode is activated when the braking system of the vehicle is not fully operational, as determined by the vehicle outside of the APCA system. The fail safe mode will increase the time allotted for the vehicle to reach a requested deceleration from 200 to 900 ms.
1.3 Definitions, acronyms, and abbreviations
For the purposes of this SRS document, this section will define any terms used within this SRS, as well as their acronyms and abbreviations. The terms used are as follows (in alphabetical order):
Accelerator - This subsystem accelerates the vehicle to a speed of 50 kph at a rate of .25 g (.245 m/s^2) when there is no pedestrian in the path of the vehicle [1].
Algorithm - The algorithm is a step-by-step procedure that determines the course of action of the system. It takes in information such as the location and movement of the pedestrian and the vehicle, and decides what threat level to is appropriate as well as what speed to slow the vehicle down to in order to avoid a collision.
Automated Pedestrian Collision Avoidance (APCA) System - This is the system we are designing. The APCA system will use a sensor to detect pedestrians entering the path of the vehicle and will send signals to the brake-by-wire subsystem to decelerate the vehicle before a collision occurs.
Brake By Wire (BBW) System - This is the braking subsystem used in our vehicle. It decelerates the vehicle by applying braking torque via electro-mechanical actuators to all four wheels [1].
Fail Safe Mode - When the vehicle detects that the brakes are not working properly, the APCA system enters fail safe mode. While in fail safe mode, the system increases the time to reach the requested deceleration from 200 to 900 ms [1].
Packet - The packet contains information about the pedestrian. It contains their location relative to the vehicle and their velocity.
Pedestrian - The pedestrian is the object that is in, or moves into, the path of the vehicle. A pedestrian has both velocity and location relative to the vehicle. In terms of sample scenarios the pedestrian always moves perpendicular to the vehicle.
Pedestrian Motion Scenario - Specific scenarios that will test the designed APCA system. Each scenario has its own pedestrian motion data that determines the movement of the pedestrian over time in relation to the vehicle.
Pedestrian Sensor - This subsystem gathers pedestrian information, that includes pedestrian velocity and location relative to the vehicle. The pedestrian sensor sends that information as a packet to the controller every 100 ms.
Response Time - This is the time it takes for the braking subsystem to reach a certain deceleration. The customer has specified the response time to be 200 ms. In fail safe mode, the response time increases to 900 ms.
Software Requirements Specification (SRS) - This is the document that presents the different aspects of the Automated Pedestrian Collision Avoidance system in an organized fashion.
Steady State Velocity - This is the velocity that the system will be traveling at for sample scenarios, defined to be 50 kph. After a vehicle performs safety maneuvers, the accelerator system will accelerate the vehicle back to the steady state velocity.
Stereo Camera - The pedestrian sensor uses a stereo camera to track the pedestrian. The stereo camera uses multiple lenses in order to track distances and speeds at more accurately.
Subsystem- A subsystem is any system that contributes to the APCA system.
Threat Level - The threat level refers to the probability that a collision will occur. There are three different threat levels in the system that depend on if a pedestrian has been detected, and the velocity and location of both the vehicle and the pedestrian.
Threat Level collisionImminent - The vehicle is in threat level collisionImminent when the pedestrian sensor detects a pedestrian, and the velocity and location of both the vehicle and pedestrian will result in a collision. This is when the system will send a braking request to the brake-by-wire system to decelerate the vehicle and avoid the collision.
Threat Level noPedestrian - The threat level when no pedestrian is detected. No action will be taken.
Threat Level safeDistance - The vehicle is in threat level safeDistance when the pedestrian sensor detects a pedestrian, but the velocity and location of both the vehicle and pedestrian will not result in a collision.
Time Loss - Time difference (in seconds) between system on and system off to reach a common point beyond the pedestrian with controlled vehicle back again at steady state velocity.
Vehicle - The vehicle houses all of the APCA system as well as the different subsystems, such as the brake-by-wire system, the accelerator, and the pedestrian sensor. It has a velocity and location, and in terms of sample scenarios it always travels in a straight line.
1.4 Organization
The rest of the document is divided into six different subsections. Each subsection will cover a different aspect of the APCA system.
Subsection two contains the overall product description. It includes a general description of the product, as well as descriptions of the product functionalities and user characteristics. Constraints, assumptions, dependencies, and approportioning of requirements are also included in this section.
Subsection three contains a list of the specific requirements of the project.
Subsection four provides a high-level overview of the system through the use of diagrams that represent our system.
Subsection five provides information about the prototype of the system, including how to run the prototype, Sample scenarios were also run and the results are provided.
Subsection six provides a list of references for materials used over the course of this project.
Subsection seven provides a point of contact to the professor of the course, Dr. Betty Cheng.
2 Overall Description
In this section, several topics regarding the APCA system will be addressed. These topics include the product perspective, product functions, user characteristics, constraints, assumptions and dependencies, and approportioning of requirements.
The product perspective subsection is a description of the context of the APCA system and its interface constraints.
The product functions subsection is a description of the major functionalities of the APCA system.
The user characteristics subsection is a description of the APCA system’s expectations of the user.
The constraints subsection is a list of constraints of the APCA system and their respective descriptions.
The assumptions and dependencies subsection lists all of the assumptions made about the hardware, software, environment, and user interactions involved with the APCA system.
The approportioning of requirements subsection lists all of the requirements that are determined to be beyond the scope of the current APCA system and may be addressed in future versions of the software.
2.1 Product Perspective
The APCA system activates upon ignition of the vehicle. Every 100 ms, it receives a packet of pedestrian information including the location of the pedestrian relative to the vehicle, the pedestrian velocity, and the direction in which the pedestrian is traveling from the pedestrian sensor system . If a pedestrian collision is imminent at the vehicle’s current velocity, the APCA system will send a braking request to the BBW system to decelerate the vehicle. After the threat of a collision has passed, the APCA system will send a signal to the accelerator system to accelerate back to the steady state velocity.
Figure 1 displays the APCA system and its interactions with the pedestrian sensor and the BBW system during the collisionImminent threat level.
Figure 1: Data flow of the APCA system provided by Continental Automotive Systems
2.2 Product Functions
The primary function of the APCA system is to prevent all pedestrian collisions from occurring in each of the scenarios provided by Continental Automotive Systems. The secondary function of the system is to minimize any time lost due to the safety maneuvers required to prevent collision with the pedestrian. Both of these functions are stated in the Continental Automotive Systems requirements specification.
In order to complete the primary and secondary functions, the APCA system must also perform the following tasks. The APCA system must receive pedestrian information from the pedestrian sensor system and interpret that information. The APCA system must receive vehicle velocity and acceleration information. The APCA system must use the interpreted pedestrian information, vehicle velocity, and acceleration to compute a probability of collision with a pedestrian and assign a Threat Level based on that probability. The APCA system must send a deceleration request to the BBW system if a collision is deemed imminent. The APCA system must send an acceleration request to the Accelerator system after a successful safety maneuver.
Figure 2 displays a generic scenario where a pedestrian is in front of a vehicle moving in a perpendicular direction. When the distance between the vehicle and the pedestrian becomes dangerous, the APCA system will activate the BBW system in order to prevent a collision.
Figure 2: Pedestrian moving in front of a vehicle, provided by Continental Automotive Systems
2.3 User Characteristics
The user is not expected to possess any background information regarding the APCA system. The user is also not expected to have any particular skill level or general expertise with vehicles or other APCA systems. The user does not directly interact with the ACPA system, as the system is embedded in an autonomous vehicle.
2.4 Constraints
The APCA system is constrained by the information provided by the pedestrian sensor. The only information it gathers about the pedestrian will come from this sensor. It is also constrained by the BBW system. The maximum rate at which the vehicle can decelerate is 0.7g (6.867m/s^2) [1]. The vehicle will not decelerate until it is absolutely necessary in order to avoid a pedestrian. The system is also constrained by the vehicle itself. The vehicle is considered autonomous, which means that the APCA system is not intended to interact with the vehicle operator at any point in time. This would prevent the current system from any sort of manual override implementation.
2.5 Assumptions and Dependencies
Several assumptions and dependencies need to be addressed about the APCA system. Those assumptions and dependencies are listed as follows:
The pedestrian sensor must be in working condition and it must properly collect and send pedestrian information to the APCA system. The pedestrian sensor detects pedestrian location with an accuracy of +/- 0.5m. The pedestrian sensor detects pedestrian speed with an accuracy of +/- 0.2 m/s and pedestrian direction with an accuracy of +/- 5 degrees. The APCA system must also successfully receive the pedestrian information every 100ms.
The BBW system is assumed to be in working condition and receiving braking requests from the APCA system. The BBW system is assumed to respond to braking requests within 200ms. The maximum deceleration is assumed to be 0.7g (6.867m/s^2). The vehicle is assumed to decelerate at maximum deceleration whenever a deceleration request is sent.
The APCA will send an acceleration request, after a safety maneuver has been executed, to the accelerator system. The accelerator system is assumed to be in working condition and properly receiving acceleration requests from the APCA system. The Accelerator accelerates at a maximum of 0.25g (2.4516625m/s^2).
The vehicle is assumed to travel at a steady state velocity of 50kph (13.9m/s) when it is not avoiding a pedestrian.
Roads and weather conditions are assumed to have no effect on vehicle traction, acceleration, or deceleration. Weather conditions are assumed to have no effect on the pedestrian sensor.
The pedestrian is assumed to be moving in a direction perpendicular to the direction of the vehicle. The vehicle travels only in a straight line.