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.