SRS Document - Michigan State University

advertisement
Platoon Control | 1
Software Requirements Specification
Software Requirements
Specifications
Cooperative Adaptive Cruise Control
Team CACC1
Prepared By:
Kathy Cummings
Garrett Stevenson
Phil Plachta
Jack Schinderle
Customer:
Ford Motor Company
Instructor:
Dr. Betty H. C. Cheng
Platoon Control | 2
Software Requirements Specification
Contents Table
1. Introduction
1.1 Purpose
1.2 Scope
1.3 Definitions, acronyms, and abbreviations
1.4 Organization
2. Overall Description
2.1 Product Perspective
2.2 Product Functions
2.3 User Characteristics
2.4 Constraints
2.5 Assumptions and Dependencies
2.6 Approportioning of Requirements
3. Specific Requirements
4. Modeling Requirements
4.1 Class Diagram
4.2 Sequence Diagram
4.3 Use Case Diagram
4.4 Use Cases
5. Prototype
5.1 How to Run Prototype
5.2 Sample Scenarios
6. References
7. Point of Contact
Platoon Control | 3
Software Requirements Specification
1 Introduction
This Software Requirements Specification (SRS) document provides information about the
Cooperative Adaptive Cruise Control system (CACC). There are five parts in this section:
introduction, purpose, scope, definitions, acronyms and abbreviations, and organization. The
introduction provides an overview of the SRS document and indicates the topics to be covered.
The purpose indicates the reason for writing the SRS document and its intended audience. The
scope describes the software products that will be produced, the domain and objectives of these
products, and also covers what the software product should or should not do. The Definitions,
acronyms, and abbreviations section defines all terms, acronyms, and abbreviations used in the
SRS document to help reduce any confusion. Finally, the organization details the rest of the
sections in the SRS document.
1.1 Purpose
The purpose of the document is to collect and analyze the system and its requirements
with respect to its consumers. This document will aid in predicting how we hope this product will
be used in order to gain a better understanding of the project, outline concepts that may be
developed later, and document ideas that are being considered. However, these ideas may be
discarded as the product develops. The target audience of this SRS document are the
engineers at the Ford Motor Company.
1.2 Scope
The software product to be developed is the CACC system. This is an embedded
system for all vehicles, an intelligent form of cruise control that decelerates and accelerates
automatically to keep pace with the vehicle in front of it. Assisting the user in a variety of road
conditions including, but not limited to, congested traffic conditions, adverse weather and road
conditions, varying states of health of vehicle equipment, and varying skill levels of users. This
product will not aid in the control of the vehicle.
1.3 Definitions, acronyms, and abbreviations
Adaptive Cruise Control (ACC) - A cruise control system for vehicles that adjusts vehicle speed
through use of sensors and a vehicle controller to maintain a safe distance from vehicles ahead.
Brake by wire - When instructed by the vehicle controller apply brakes from 0% to 100% of
maximum braking power defined by the vehicle performance envelope.
Cooperative Adaptive Cruise Control (CACC) - A cruise control system for vehicles that adjusts
vehicle speed through the use of sensors and a vehicle controller to maintain a safe distance
(gap) from vehicles ahead. In addition to this a CACC system must also be able to join a
platoon, leave a platoon, detect when target vehicles are CACC enabled, and acquire an ID
from an authoritative infrastructure.
Platoon Control | 4
Software Requirements Specification
Dedicated short range communication (DSRC) - A short to medium range communication
service for vehicle-to vehicle communication, providing very high data transfer rates while
minimizing latency in the communication link and isolating relatively small communication
zones.
Electronic Throttle Control - When instructed by the vehicle controller accelerate from 0% to
100% of maximum accelerating power defined by the vehicle performance envelope.
Heads Up Display (HUD) - The display in a vehicle that contains warnings, instrument panels
(speedometer, odometer, tachyometer), and other information.
Infrastructure - The part of the CACC system outside of individual vehicles that assigns and
validates VNAs. It consists of towers which communicate with vehicles by radio and then pass
on communication to centralized servers.
Gap - Distance between two vehicles in a platoon. This is set by the lead vehicle in the platoon
and is maintained by the vehicle controller. The gap setting is based on following distance of
vehicles on the highway traveling at 70 mph or 102.67 fps. The maximum Gap distance allowed
is 5 seconds or 513 feet while the minimum gap distance allowed is 2 seconds or 205 feet.
Gap Increment - The increases and decreases in gap when using steering wheel controls. The
gap setting is based on following distance of vehicles on the highway traveling at 70 mph or
102.67 fps. The lowest gap setting represents 2 seconds of following time or 205 feet. A gap
increment is approximately ½ second or 51.3 feet. There are a total of 7 different gap settings
representing following times of 2, 2.5, 3, 3.5, 4, 4.5, 5.
Lead Vehicle - The vehicle in the front of the platoon.
Performance Envelope- Predetermined values including maximum braking power defined in
gees and maximum acceleration defined in gees.
Platoon - A group of CACC enabled vehicles traveling contiguously
SRS - Software Requirements Specification
Target Vehicle - A vehicle in front of the CACC enabled vehicle
Transponder - A device located at the rear of all CACC enabled vehicles that transmits vehicle
ID to a requesting vehicle with a valid Vehicle Network Address (VNA) and establishes a radio
link between the two vehicles that allows for the transmission of information.
Vehicle Network Address (VNA) - A dynamic identifier assigned to a CACC vehicle by the
system infrastructure.
1.4 Organization
The remainder of this document is divided as follows:
Section 2 contains an overall description of the CACC system including a description of the
domain, product and general functionality of the system.
Section 3 contains a detailed outline of specific functional requirements of the system.
Section 4 supplies a range of behavioral and structural diagrams and outlines specific scenarios
to be handled by the system.
Platoon Control | 5
Software Requirements Specification
Section 5 contains an overview of the CACC prototype including the prototype’s use and
functionality.
2 Overall Description
This section describes the focus of the CACC system, as well as how it interacts with other
systems and subsystems. Assumptions and limitations of both the system’s environment and
the system itself are listed and discussed. There is a brief profile of the targeted users and how
they are expected to interact with the system interface.
2.1 Product Perspective
The CACC system is designed to make travel on the highway more efficient. Its goal is
to provide convenience and safety features for vehicles traveling on the road. The system’s
intent is to not only display warnings in the event of an unsafe condition such as a car that a
vehicle is approaching that is going slower, but to manipulate subsystems to physically
decelerate or accelerate the vehicle. This system is an expansion of the ACC system.
Interface constraints that the system will face are it must itself fit into the vehicle while not
impeding any of the vehicle’s normal functions. The user interface must be easily viewable by
the user while not inhibiting her/his vision. The hardware must have backup systems in place in
case of failure. The hardware must not impede any of the vehicle’s normal functions. The
software must be extremely reliable and therefore must have both software and hardware
backups in place in case of failures. If any software or hardware system fails CACC must be
disabled and the user must be warned if possible.
2.2 Product Functions
The CACC system’s primary purpose is to form a platoon of vehicles, each enabled with
CACC, that move at a constant speed and maintain a safe gap between each vehicle.
Information is shared between these vehicles to coordinate braking and acceleration of the
platoon, given the varying capabilities of each individual vehicle. Also included with the CACC
system are features such as lane keeping / lane centering technology and curve speed assist.
2.3 User Characteristics
Due to the fact that the system will be mounted on private as well as commercial
vehicles, very few assumptions are made about the skill level and expertise of the system users.
The wide range of possible users precludes this as a viable option. There are however, several
key assumptions. Users are assumed to have a valid motor vehicle operator license as well as a
lawful understanding of applicable driving laws and regulations. The system is a convenience
feature and it is necessary that the user is able to assume control of the vehicle.
Platoon Control | 6
Software Requirements Specification
In addition, it is assumed that all vehicles have fully functioning turn signals and brake
lights. This is necessary to help the system determine the intentions of other vehicles on the
road. The camera system used to visually detect vehicles is reliant on brake lights. Situations
with poor visibility such as heavy precipitation or fog reduce the effectiveness of visual sensors
and brake lights help reduce the negative impact caused by poor visibility.
2.4 Constraints
Use of the CACC system is limited to a highway environment, with restricted on and off
access. The main cruise control portion of the system will not function at speeds of 25 miles per
hour or lower, and so is not meant for use in driving environments where slower speeds and
complete stops are necessary. In addition, the CACC system can only be utilized in areas
where it is able to communicate with infrastructure outside of the vehicle. Although many types
of vehicles may utilize CACC, the system will not work with vehicles that are pulling trailers.
Because the purpose of the CACC system is to form platoons, it requires more than one
CACC enabled vehicle to function to its full capacity. Information must be passed between the
vehicles of the platoon without compromising the privacy of the users or owners of the vehicles.
A platoon is limited in size to 6 vehicles, after which other CACC vehicles will be unable to join
the platoon. The CACC system itself is also composed of multiple parts, such as the camera,
the radar, and the radio. If any of these should fail, the system as a whole cannot function and
fails as well.
2.5 Assumptions and Dependencies
Because utilizing CACC effectively requires multiple vehicles, the success of a CACC
system is reliant on the assumption that users can agree on the constant speed of the platoon.
It also assumes that its use will be limited to freeway driving with periodic on/off access, as the
system is not designed to function in other environments. Although the system controls
acceleration and braking, it does require that the system user be actively controlling the
steering, as well as responding to any warnings or signals provided by the system. As the
system is integrated into the vehicle itself, its acceleration and braking capabilities are limited by
the vehicle’s performance envelope. Gap length between vehicles in a platoon is set by the
platoon leader. It is assumed that all vehicles will be properly maintained by users and will have
access to communicate with infrastructure.
2.6 Approportioning of Requirements
There are currently a number of requirements that are beyond the scope of the current
project. The first being the system will not handle platoons larger than six vehicles long. The
system will also assume freeway driving. Another being the system will not take control of the
steering. The system will only alert the user by visual or physical warnings.
Platoon Control | 7
Software Requirements Specification
3. Specific Requirements
This section explicitly states the requirements for the project. The requirements are broken
down by functionality.
3.1 Requirement Specification
1. Radar Sensing
1.a. Radar sensing system must be able to detect, id and track target vehicles
1.b. Radar sensing must be able to identify target vehicle’s VNA through transponder for
purposes of establishing a DSRC communication link.
2. Radio Communication
2.a. Radio communication system must be able to communicate with target vehicle to
receive information about other vehicle’s distance, speed, whether it is in a platoon, if it is about
to brake, or accelerate.
2.b. Radio communication system must be able to communicate with trailing vehicle to
transmit speed, location, platoon status, whether vehicle is about to brake or accelerate.
2.c. Radio communication system must be able to communicate with infrastructure to
receive an authoritative VNA to confirm its validity.
3. Electronic Throttle Control
3.a. The electronic throttle control system must regulate vehicle speed as instructed by
the vehicle controller. If the vehicle controller decides that vehicle speed must be increased
electronic throttle control must engage according to the vehicle controllers command and bring
vehicle to commanded speed.
4. Brake by wire
4.a Brake by wire must regulate vehicle speed as instructed by the vehicle controller. If
the vehicle controller decides that speed must be decreased, brake by wire must engage as
according to the vehicle controllers command to bring vehicle to commanded speed.
5. Radar Transponder
5.a. When requested by a vehicle with valid VNA, transmit vehicle VNA and information
such as speed, location, whether it is in a platoon, or if it has CACC enabled to requesting
trailing vehicle in order to establish radio link between vehicles.
6. GPS System
6.a. The GPS system must be able to maintain accurate vehicle position, speed and
direction information to be transmitted to vehicles requesting information and to evaluated by
the vehicle controller.
6.b. The GPS systems must be able to aid radar system by differentiating between
vehicle targets from known fixed target.
Platoon Control | 8
Software Requirements Specification
6.c. The GPS system must be able to provide information about upcoming curve or hills
in roadway and inform the vehicle controller so it can send requests to engage brake by wire or
electronic throttle control.
6.d. The GPS system must be able to aid the vehicle controller by providing information
such as speed, location, direction, and gap distance in the event of radar or transponder failure
so the vehicle controller can make valid requests to the brake by wire and electronic throttle
control.
7. Camera Sensing
7.a. The camera sensing system must be able to visually identify the distance between
the vehicle and target vehicle.
7.b. The camera sensing system must be able to visually identify the relative speed of
target vehicle.
8. Vehicle Controller
8.a. The vehicle controller must coordinate all sub-systems.
8.b. The vehicle controller must be able to receive information from the radar sensing
system, the GPS system, the camera and radio systems.
8.c. The vehicle controller must be able to detect vehicle speed, speed of lead vehicle
and adjust speed by sending commands to the brake-by-wire or throttle control to maintain the
defined gap.
4.d. The vehicle controller must maintain the state of the vehicle and operating
environment information and transmit this information to the vehicles around them.
8.e. Commands brake and throttle.
8.f. Receives information from radar system.
8.g. Sends and receives information from radio system.
9. User Interface
9.a. The system has an on/off toggle button on the steering wheel.
9.b. The system has a cancel button on the steering wheel.
9.c. The system has a resume button on the steering wheel.
9.d. The system has cruise speed up and cruise speed down buttons on the steering
wheel.
9.e. The system has gap increment and gap decrement buttons on the steering wheel.
9.f. The system displays warnings on the vehicle’s HUD.
9.g The system plays audio cues to alert the driver
Platoon Control | 9
Software Requirements Specification
4 Modeling Requirements
This section contains models for better understanding the project requirements. A class
diagram, several sequence diagrams, and a use case diagram are included in this section.
4.1 Class Diagram
Platoon Control | 10
Software Requirements Specification
4.2 Sequence Diagrams
This Sequence Diagram shows the order in which the components of the system are initialized
when the CACC system is turned on.
Platoon Control | 11
Software Requirements Specification
This Sequence Diagram shows the process for joining a platoon
Platoon Control | 12
Software Requirements Specification
Sequence Diagram for slowing vehicle when cruise is engaged. Depicts how the
vehicle applies brakes using the Brake By Wire Controller.
Platoon Control | 13
Software Requirements Specification
4.3 Use Case Diagram
Platoon Control | 14
Software Requirements Specification
4.4 Use Cases
Use Case
Join Platoon
Actors
Other CACC Vehicles, User’s Vehicle
Type
Primary (Essential)
Description A Vehicle equipped with CACC joins a pre-existing platoon. Can
be the user’s vehicle or any other vehicle with a CACC system.
Use Cases
Turn On
Use Case
Leave Platoon
Actors
Other CACC Vehicles, User’s Vehicle
Type
Primary (Essential)
Description A Vehicle equipped with CACC joins a pre-existing platoon. Can
be the user’s vehicle or any other vehicle with a CACC system.
Use Cases
Turn On
Use Case
Split Platoon
Actors
Other Non-CACC Vehicle
Type
Primary (Essential)
Description A Vehicle without a CACC system (Non-CACC vehicle) merges or
changes lanes resulting in the Non-CACC vehicle entering the
lane in front of the user’s vehicle and in the middle of the
user’s platoon. When this occurs, the user’s vehicle then
becomes the first vehicle in a new platoon.
Use Cases
Turn On
Platoon Control | 15
Software Requirements Specification
Use Case
Transmit Data
Actors
Radio System, Radar Transponder, Other CACC Equipped
Vehicles
Type
Primary (Essential)
Description A CACC System transmits data using either the radio system or
the radar transponder. The radio system is used to transmit
vehicle information (speed, location, heading) to other CACC
equipped vehicles. The radar transponder is used to transmit
VNA information for establishing connection with other
vehicles.
Use Cases
Turn On
Use Case
Receive Data
Actors
Other CACC Equipped Vehicles, Radio System, Infrastructure
Type
Primary (Essential)
Description The system receives data from either the transportation
infrastructure or other CACC equipped vehicles via the radio
system.
Use Cases
Turn On
Use Case
Connect with CACC Vehicle
Actors
Radio System, Radar Transponder, Other CACC Equipped
Vehicles
Type
Primary (Essential)
Description A connection is established with another CACC equipped vehicle
via DSRC.
Use Cases
Turn On
Platoon Control | 16
Software Requirements Specification
Use Case
Check Speed
Actors
User’s Vehicle, Camera Sensor, Forward Radar Sensor, GPS Unit
Type
Secondary (Essential)
Description Data from the user’s vehicle, the camera sensor, forward radar
sensor, as well as the GPS unit is evaluated in order to
determine what action (Brake, Coast, Accelerate) is needed to
maintain vehicle speed and following distance.
Use Cases
Turn On
Includes
Brake, Coast, Accelerate
Use Case
Brake
Actors
Brake By Wire Controller, User’s Vehicle
Type
Secondary (Essential)
Description The brake by wire controller is used to activate the vehicle’s
brakes in order to maintain a safe following distance to the
target vehicle.
Use Cases
Check Speed, Turn On
Includes
Alert User
Use Case
Coast
Actors
Throttle Controller, User’s Vehicle
Type
Secondary (Essential)
Description The throttle controller is used to set vehicle acceleration to
zero (0) in order to maintain a safe following distance to the
target vehicle.
Use Cases
Check Speed, Turn On
Platoon Control | 17
Software Requirements Specification
Use Case
Accelerate
Actors
Throttle Controller, User’s Vehicle
Type
Secondary (Essential)
Description The throttle controller is used to increase the user’s vehicle’s
acceleration in order to maintain a safe following distance.
Use Cases
Check Speed, Turn On
Use Case
Identify Obstacle
Actors
Camera Sensor, Forward Radar Sensor
Type
Primary (Essential)
Description The camera sensor and the radar sensor are used in
combination in order to detect obstacles in the vehicle’s path.
When an obstacle is detected, distance to the object, the
object’s heading, and the object’s speed are determined.
Use Cases
Turn On
Includes
Check Speed
Use Case
Alert User
Actors
User
Type
Primary (Essential)
Description When the vehicle must brake or if a collision is likely, the
system alerts the driver with a notification on the HUD and
audio cues.
Use Cases
Turn On
Use Case
Turn On
Platoon Control | 18
Software Requirements Specification
Actors
User
Type
Primary (Essential)
Description The user turns on the CACC system.
Use Cases
Turn Off
Use Case
Turn Off
Actors
User
Type
Primary (Essential)
Description The user turns off the CACC system.
Use Cases
Turn On
Use Case
Cancel
Actors
User
Type
Primary (Essential)
Description The cancel feature deactivates the CACC system but does not
turn it off. This preserves speed and gap settings to allow for
system reactivation with the Resume button.
Use Cases
Turn On
Use Case
Resume
Actors
User
Type
Primary (Essential)
Description The resume function activates the CACC system with the last
used settings.
Use Cases
Turn On
Platoon Control | 19
Software Requirements Specification
Use Case
Increase/Set Cruise Speed
Actors
User
Type
Primary (Essential)
Description The CACC system cruise speed is set to the user’s vehicle’s
current speed if the system is not activated. If the system is
activated, the cruise speed is incremented by one mile per hour
(+1 mph).
Use Cases
Turn On
Use Case
Decrease Cruise Speed
Actors
User
Type
Primary (Essential)
Description When the CACC system is active, the cruise speed is decreased
by one mile per hour (-1 mph).
Use Cases
Turn On
Use Case
Increase Gap
Actors
User
Type
Primary (Essential)
Description If the current gap setting is not at the maximum allowed setting
(5 seconds), the gap setting is increased by one gap increment.
Use Cases
Turn On
Use Case
Decrease Gap
Actors
User
Platoon Control | 20
Software Requirements Specification
Type
Primary (Essential)
Description If the current gap setting is not at the lowest allowed setting (2
seconds), the gap setting is decreased by one gap increment.
Use Cases
Turn On
Platoon Control | 21
Software Requirements Specification
5 Prototype
The first prototype depicts the scenario involving a CACC vehicle joining an existing
platoon at the end (the vehicle joining becomes the last vehicle in the platoon). The second
prototype depicts the scenario involving a CACC vehicle joining an existing platoon in a position
other than the end. The third prototype depicts the scenario involving a non CACC vehicle
splitting an existing platoon into two platoons by entering the middle.
5.1 How to Run Prototype
The prototype was designed to be viewed in the Firefox web browser on a computer with
an internet connection. The latest flash plugin (version 11.9 or higher) for the users browser is
also required. If these requirements are met the prototype may be viewed at the following link:
http://www.cse.msu.edu/~cse435/Projects/F2013/Groups/CACC1/web/prototypes.php
5.2 Sample Scenarios
Scenario 1: A platoon of four CACC equipped vehicles are traveling down a road. The lead
vehicle's performance profile is that of a sport utility vehicle with a mass of 2987 kilograms and a
max braking force of 1.87 gees. The second vehicle is a sports car with a mass of 1321
kilograms and a max braking force of 2.5 gees. The third vehicle is a semi truck with a mass of
15894 kilograms and a max braking force of 1.66 gees. The fourth vehicle in the platoon is a
four door sedan with a mass of 2356 kilograms and a max braking force of 2.00 gees. In this
scenario, the platoon is initially travelling with a velocity of 67 miles per hour when the lead
vehicle detects a vehicle up ahead with its sensors and determines that the platoon will need to
slow down to 64 miles per hour in order to maintain a safe following distance. The lead vehicle
transmits a signal via its rear transmitter containing this information and begins to coast. The
second vehicle in the platoon receives the signal from the lead vehicle and after appending its
own performance information to the message, transmits it via its rear transmitter. This process
is repeated with the semi truck as well as the final vehicle, the sedan. In this scenario, the sedan
also transmits the coast signal via its rear transmitter - the system does not know the position of
the vehicle in a platoon.
Scenario 2: The same platoon as described in scenario 1 is traveling along a road. A non
CACC equipped vehicle comes up from behind the platoon in the opposite lane and then
proceeds to merge into the middle of the platoon between the second and third vehicles. In
order to avoid a collision and to maintain a safe following distance, the semi truck (vehicle in
third position) simultaneously transmits coast/brake message and slows to allow space for the
new vehicle. The sedan behind the semi truck receives the information and slows as well. The
sedan’s performance profile includes better braking performance than the semi truck in front of it
Platoon Control | 22
Software Requirements Specification
and it is therefore able to safely maintain proper following distance behind the semi truck. The
non CACC vehicle moves into the space between the semi truck and the sports car. The semi
truck behind the new vehicle does not detect any transmissions from the vehicle in front of it
(the non-CACC vehicle that has just merged) and therefore the system on board the semi truck
removes the semi truck from the platoon by creating a new platoon with the semi truck as the
lead vehicle. The new platoon then slows if necessary to establish safe following distance.
6 References
[1]
Alonso, Luciano; Milanés, Vicente; Torre-Ferrero, Carlos; Godoy, Jorge; Oria, Juan P.;
De Pedro, Teresa. 2011. "Ultrasonic Sensors in Urban Traffic Driving-Aid Systems." Sensors
11, no. 1: 661-673.
[2]
Wolf, S. Richard. “DSRC: A short range wireless technology for Telematics
Applications.” Slides 3-6.
http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CC4QFjAA&url=ht
tp%3A%2F%2Fwww.coe.montana.edu%2Fee%2Frwolff%2Fshel%2520leader%2520dsrc.pdf&e
i=JO52Uq4uoZ_JAZCXgDA&usg=AFQjCNGAUi7EQDHmyUZR7h9FWAvUifeO_w&sig2=6A6_t
2AfRQAxQWnR6DVgAQ&bvm=bv.55819444,d.aWc
7 Point of Contact
For further information regarding this document and project, please contact Prof. Betty
H.C. Cheng at Michigan State University (chengb at cse.msu.edu). All materials in this
document have been sanitized for proprietary data. The students and the instructor gratefully
acknowledge the participation of our industrial collaborators.
Download