Software Requirements Specification (SRS) Active Park Assist

Similar documents
Software Requirements Specification (SRS) Steer By Wire System

Our Approach to Automated Driving System Safety. February 2019

ENGINEERING FOR HUMANS STPA ANALYSIS OF AN AUTOMATED PARKING SYSTEM

Software Requirements Specification (SRS) Cooperative Adaptive Cruise Control : Team 2

Can STPA contribute to identify hazards of different natures and improve safety of automated vehicles?

Autopilot. From an owner s perspective

Software Requirements Specification (SRS) Cooperative Adaptive Cruise Control : Team 2

Your web browser (Safari 7) is out of date. For more security, comfort and. the best experience on this site: Update your browser Ignore

Final Report. James Buttice B.L.a.R.R. EEL 5666L Intelligent Machine Design Laboratory. Instructors: Dr. A Antonio Arroyo and Dr. Eric M.

Functional Algorithm for Automated Pedestrian Collision Avoidance System

1. Describe the best hand position on the steering wheel. 2. Discuss the importance of scanning intersections before entry.

Analyzing Feature Interactions in Automobiles. John Thomas, Ph.D. Seth Placke

Behavioral Research Center (BRC) User Guide

Dealing with customer concerns related to electronic throttle bodies By: Bernie Thompson

Transportation Technology Used in Trucks

Problem Definition Review

M:2:I Milestone 2 Final Installation and Ground Test

Autonomously Controlled Front Loader Senior Project Proposal

STPA based Method to Identify and Control Software Feature Interactions. John Thomas Dajiang Suo

EPSRC-JLR Workshop 9th December 2014 TOWARDS AUTONOMY SMART AND CONNECTED CONTROL

Detailed Design Review

Table of Contents. Executive Summary...4. Introduction Integrated System...6. Mobile Platform...7. Actuation...8. Sensors...9. Behaviors...

UNITED STATES Ford Customer Relationship Center (FORD) (TDD for the hearing impaired: ) owner.ford.

2015 STPA Conference. A s t u d y o n t h e f u s i o n o f S T P A a n d N i s s a n ' s S y s t e m s E n g i n e e r i n g

Autonomous cars navigation on roads opened to public traffic: How can infrastructure-based systems help?

Rule-based Integration of Multiple Neural Networks Evolved Based on Cellular Automata

Requirements document for a parking garage control system

Plug-In. Conversions. C o r p o r a t i o n. There is a better way to get there. Plug-In Conversions PHEV-25 Owner's Manual

WIRELESS BLOCKAGE MONITOR OPERATOR S MANUAL

EMC System Engineering of the Hybrid Vehicle Electric Motor and Battery Pack

WHITE PAPER Autonomous Driving A Bird s Eye View

Southern California Edison Rule 21 Storage Charging Interconnection Load Process Guide. Version 1.1

An Autonomous Braking System of Cars Using Artificial Neural Network

PENNSYLVANIA STATE FIRE ACADEMY PUMPER - DRIVER/OPERATOR (PDO) SKILL STATIONS. Pumper -Driver / Operator (PDO) Skill Stations

Card/Stickers/Pocket (Sleeve) 2016 F-150 Pro Trailer Backup Assist QUICK START GUIDE

VEHICLE THEFT/SECURITY SYSTEMS

Quick Start Guide Evinrude/Johnson Outboard Engines

Deep Learning Will Make Truly Self-Driving Cars a Reality

Loose Ship Park Assist and Park View System

MONTANA TEEN DRIVER CURRICULUM GUIDE Lesson Plan & Teacher Commentary. Module 2.1 Preparing to Drive

Presenter s Notes SLIDE 1. Before darkening the room, offer a welcome and overview. Begin by introducing the program and its topic:

SAFERIDER Project FP SAFERIDER Andrea Borin November 5th, 2010 Final Event & Demonstration Leicester, UK

Course Code: Bendix Wingman Fusion System Overview Study Guide

KEYLESS ENTRY SYSTEM & TIRE PRESSURE MONITOR ACCESSORIES & EQUIPMENT General Motors Corp. - Remote Keyless Entry System

Chapter 5 Vehicle Operation Basics

Cruise Control 1993 Jeep Cherokee

Vehicle Diagnostic Logging Device

Tips & Technology For Bosch business partners

Intelligent Drive next LEVEL

F-150 CARD/STICKERS/POCKET (SLEEVE)

510, 520 INTELLECTUAL PRIZRAK USER MANUAL

D-Case Modeling Environment Integration. Demonstration. Cruise Control System Specification

AL-100DP Full-Feature Vehicle Security System for Factory-Equipped Remote Keyless Entry Transmitters Owner s Guide

A Presentation on. Human Computer Interaction (HMI) in autonomous vehicles for alerting driver during overtaking and lane changing

Rental Industry Safety Tester Safe Check 5s

SI AT A22. English. Printed: Doc-Nr: PUB / / 000 / 03

Inverter / Charger Accessory for Steca Solarix PLI Phase / Parallel Kit. Installation and operating instructions Z01 17.

Abstract. GLV Systems Test Plan 1

INTRODUCTION Team Composition Electrical System

Quick Start Guide Suzuki Outboard Engines

2015 The MathWorks, Inc. 1

Adams-EDEM Co-simulation for Predicting Military Vehicle Mobility on Soft Soil

Jurisdictional Guidelines for the Safe Testing and Deployment of Highly Automated Vehicles. Developed by the Autonomous Vehicles Working Group

DESCRIPTION & OPERATION

Adaptive Cruise Control System Overview

Abrites Diagnostics for Peugeot/ Citroën User Manual abrites.com

Universal Fluid Power Trainer (UFPT)

Items to specify: 4. Motor Speed Control. Head Unit. Radar. Steering Wheel Angle. ego vehicle speed control

MONTANA TEEN DRIVER CURRICULUM GUIDE Lesson Plan & Teacher Commentary. Module 2.2 Basic Control and Vehicle Location

CLEARWATER FIRE & RESCUE TRAINING BUREAU

Open & Evolutive UAV Architecture

CLEARWATER FIRE & RESCUE TRAINING BUREAU

Financial Planning Association of Michigan 2018 Fall Symposium Autonomous Vehicles Presentation

Team Dream Cruise Project License to Cruise. Fall Project Overview. Cooperative Adaptive Cruise Control

A Communication-centric Look at Automated Driving

Tendering Public Charging Infrastructure for Electric Vehicles

FREQUENTLY ASKED QUESTIONS

OPERATOR TROUBLESHOOTING GUIDE

V PicoScope NVH Diagnostics Overview

Cybercars : Past, Present and Future of the Technology

05/01/06 1er mai 2006 Cruise Control - Diagnostic Updates General Service Procedure Service Procedure Speed Control Diagnostic Tips Additional

REDUCING THE OCCURRENCES AND IMPACT OF FREIGHT TRAIN DERAILMENTS

AC : USE OF POWER WHEELS CAR TO ILLUSTRATE ENGI- NEERING PRINCIPLES

SI AT A22. English. Printed: Doc-Nr: PUB / / 000 / 01

Guideline for Parallel Grid Exit Point Connection 28/10/2010

10 Awesome Driver-Assist Features That Help 2015 Ford F-150 Customers Drive Smarter

STPA in Automotive Domain Advanced Tutorial

Introduction...3. System Overview...3. PDC Control Unit Sensors PDC Button Interfaces Activation of the PDC...

Status of the Informal Working Group on ACSF

GCAT. University of Michigan-Dearborn

Project Narrative Description

EB TechPaper. Staying in lane on highways with EB robinos. elektrobit.com

REQUIREMENTS FOR APPROVAL OF AN ONLINE - DEFENSIVE DRIVING COURSE (O-DDC) Defensive Driving. Course. Online. Online DDC December 2007 Page 1 of 11

CAM-PTZ-AUT Tracking Module for PTZ Camera Installation & User Manual

Automated Seat Belt Switch Defect Detector

PM/ECCM Course Description and Outline

Control and Protection Functions in a Strong and Robust Smart Grid

SUBARU STARLINK YOUR SUBARU CONNECTED Safety & Security OWNER S MANUAL. Love. It s what makes a Subaru, a Subaru. MY16StarlinkS&S_OMportrait.

Florida Department of Education Curriculum Framework Grades 9 12, ADULT. Subject Area: Safety and Driver Education

Universal Fluid Power Trainer (UFPT)

Transcription:

Software Requirements Specification (SRS) Active Park Assist Authors: David Kircos, Neha Gupta, Derrick Dunville, Anthony Laurain, Shane McCloskey Customer: Eileen Davidson, Ford Motor Company Instructor: Dr. Betty Cheng 1 Introduction This is the Software Requirements Specification for the Ford Active Park Assist system that will be used in Fords luxury brand Lincoln. This document provides a detailed description of what the system s requirements are, what the system s functions are and what characteristics the system has. The Active Park Assist system is further described by a series of diagrams: a Domain, Use Case, State, and Sequence Diagram. Sample scenarios are outlined to visualize the system behavior during use. 1.1 Purpose The purpose of this document is to define a consensus for the Active Park Assist system between Ford and the engineers that will be building the system. This is to ensure the system is built to the proper set of requirements. 1.2 Scope The scope of this document is the Active Park Assist system itself and how this system interacts with the other systems in the vehicle. The system proposed in this document will park the vehicle with as little user interaction as possible. The system will be able to actively park the vehicle in either a parallel or perpendicular parking arrangement. This will help reduce the user s trouble maneuvering the vehicle while parking, especially for users who have trouble parallel parking on their own. To use the Active Park Assist system the user must activate the system then select if they want to park in parallel or perpendicular. Once the drive confirms the spot they want to park in the software system will control the vehicle s acceleration, breaking, transmission, and steering only while in the Active Park Assist state. To monitor the surroundings of the vehicle, the system will make use of ultrasonic and visual light sensors, which continually feed data to the system. The user can interrupt the parking sequence by tapping the break or torqueing the steering wheel. If the parking maneuver is successfully completed, the user will be notified and the vehicle will be put in park.

1.3 Definitions, acronyms, and abbreviations APA HMI Customer User Parking Space PCS PMS BCS SCS VPS Active Park Assist. The System that controls the parking maneuver. Human Machine Interface. The touch screen interface located in the vehicle that the user uses to interact with the APA. The Ford Motor Company. The user of the vehicle. An available parking space that is 1.2 times the length of the vehicle. Park Control Subsystem. Masters the Active Park Assist feature. It accepts the customer input from the HMI subsystem, calculates the vehicle trajectory based on information from the Vehicle Position Subsystem, and issues commands to the other subsystems. Powertrain Management Subsystem. Accepts inputs from the PCS to accelerate the vehicle. Brake Control Subsystem. Accepts inputs from the PCS to brake the vehicle in order to meet the required trajectory. Steering Control Subsystem. Accepts inputs from the PCS to steer the vehicle in order to meet the required trajectory. Vehicle Position Subsystem. Processes data from the vehicle s cameras / radar in order to identify parking space and verify vehicle position throughout the duration of a parking event. 1.4 Organization This document has seven sections: (1) An introduction that lays out the purpose and scope of the APA system. (2) An overall description of the system. (3) The specific requirements of the system. (4) Models of the system. (5) A demonstration prototype of the system. (6) References to information included from other sources. (7) Point of contact. 2 Overall Description This section includes six subsections: (1) A description of the APA system that provides a product perspective. (2) An outline of the major functions of the system. (3) A characterization of a user of the system. (4) A description of all system constraints. (5) A discussion of assumptions and dependencies regarding the system. (6) Commentary on requirements that are outside the scope of this project.

2.1 Product Perspective The APA system is an autonomous driving feature. Activated by the user of the vehicle, to facilitate the process of maneuvering a vehicle into a parallel or perpendicular parking space. Parking vehicle can be a stressful and difficult task for any. By taking advantage of technology already available on the vehicle to support other safety features, this additional feature can implemented allowing the user to automatically park with minimal interaction. The APA system is specifically designed to eliminate this stress as well as significantly reducing the risk of vehicle collision during a parking maneuver. The APA system is built on top of numerous pre-existing subsystems already in the vehicle. The APA system will utilize the HMI, PCS, VPS, BCS, PMS, SCS, and onboard cameras and radar sensors. The APA system does not require any additional hardware to be installed in the vehicle. It only requires additional software be installed in order to implement the functionality of the desired system. Figure 1 is a data flow diagram that shows how the systems functional data flows through the various subsystem processes to achieve the desired system behavior. Figure 1 APA data flow diagram

User inputs are selected using the HMI. These user inputs are forwarded to the PCS, which then returns feedback data to the HMI to update the user about the state of the system. The VPS processes incoming data from the camera and radar sensors. This processed sensor data is gathered by the PCS and is used to calculate the optimal vehicle path for executing a parking maneuver. The PCS uses the calculated path data in order to determine the command data sent to the PMS, SCS, and BCS. The PMS, SCS, and BCS process the incoming command data, execute the desired subsystem commands and return feedback to the PCS. The feedback data from the PMS, SCS, and PCS is then again processes by the PCS and used to again update the user about the state of the system. 2.2 Product Functions The APA system will provide the following functionality, as requested in the initial customer specification document. The user shall activate the system through the HMI. The system shall prompt the user to choose a parking orientation using the HMI. The system shall find available spaces using ultrasonic sensors and cameras. The system shall display available parking space to the user via the HMI. The system shall prompt the user to select a desired parking space using the HMI. The system shall maneuver the vehicle into the selected parking space. During a parking maneuver, the system shall halt if an obstacle is detected. The system shall abort if the user engages the brakes or turns the steering wheel. The system shall notify the user when the parking maneuver is completed. A high-level goals diagram is provided in figure 2 that shows how these functional goals of the system are related to each other.

Figure 2 High-level look at the APA systems goals. 2.3 User Characteristics The user has to do very little to operate this system, general expertise in dealing with similar systems is not needed. The user simply has to select the proper option to activate the system and verify selection that the system presents to the user. Basic driving skills as well as basic parking skills are required to use this feature. 2.4 Constraints Systems used during the parking maneuver that are outside the APA system are required to be functional in order for the APA system to be activated by the user. These include the PCS, the PMS, the HMI Subsystem, the BCS, the SCS and the VPS. The APA system detects failures from all sensor inputs. For example, cameras and ultrasonic sensors have fault detection, and APA cannot operate if there are faults in those sensors. If a tire were to blow out, then the system would abort due to warnings from the tire pressure sensors. Since the system must shift gears to be able to operate, the system is

constrained to existing in vehicles with shift by wire transmissions only. Additionally, the system will not operate on vehicles with a trailer or other heavy load attached in the back. This would be detected before the user can activate it by an algorithm dependent on weight. The system will not work on grades higher then 3%, and is not available on manual transmissions. 2.5 Assumptions and Dependencies We assume that the software can detect and filter all selections on the HMI that are inputted by the user, and will ensure that they are not a fault of the HMI system, or a malicious third party. We assume that the hardware for the sensor inputs can detect failures because of causes discussed in 2.4. If any of the sensor inputs detect a failure, then the APA system cannot operate as well. The system will only operate if the user does select options when prompted to after activating the APA system. If the user doesn't select parallel or perpendicular parking, the user will not be able to get the next screen, so they will be unable to use the system. He must make a mode selection. Also, until the user approves a parking space option provided to them, the system will not begin the parking maneuver. It would indefinitely continue to search for a spot if they do not select a parking space. 2.6 Approportioning of Requirements All originally specified requirements have been determined to be within scope of this version of the project at this time. 3 Specific Requirements The following requirements are determined as specifications that are going to be implemented in this version of the project. 3.1 Start APA system based on user selection on HMI. 3.1.1 Ask a user to specify parallel or perpendicular parking. 3.1.2 Use ultrasonic sensors and cameras to search for available parking spaces while a user drives at a speed under 5 miles per hour. 3.2 Identify a parking spaces. 3.2.1 Find available spaces using ultrasonic sensors. 3.2.2 Identify spots that are 1.2 times the size of the vehicle as feasible parking locations. 3.2.3 Ask customer to verify selection of spot on HMI and put vehicle in neutral and ask user to keep foot on brake. 3.3 Maneuver the vehicle into the parking space. 3.3.1 Choose forward or reverse depending on parallel or perpendicular parking. 3.3.2 Accelerate/brake/steer vehicle into spot.

3.3.3 HMI display shows diagram of the current course the vehicle has been traveling in. 3.3.4 System aborts when user steps on the brake, jerks the wheel, or collides with anything. 3.3.4.1 Stop and notify user that APA has been aborted through HMI. 3.3.4.2 The system shifts the gear back into neutral when an object is detected, and full control of the vehicle is returned to the user. 3.3.4.3 The user is asked via the HMI if they want to resume operation. 3.3.4.4 If a system is accidentally aborted and reactivated, the system will resume operation and try to reinitiate park when reactivated and given approval. 3.3.4.5 Assume stopping time is eight inches from the time the brake is applied by the user of the vehicle. 3.3.5 If an obstacle moves into the path of the vehicle, then the system will detect this using the ultrasonic sensors and cameras. 3.3.5.1 It would not abort, but would pause movement using the Brake Control Subsystem. It would resume once the obstacle moves from its path. 3.3.5.2 It will pause and resume once per parking maneuver. If another obstacle is detected, the system will abort as described in 3.3.4. 3.3.5.3 If a child or dog jumps out of vehicle open window during process, system should detect new objects in the path of the vehicle as an obstacle and either pause and resume, or abort, depending on whether it is the first obstacle during the maneuver. 3.3.6 Complete parking within time frame of seventy five seconds. If maneuver is taking too long, the system will abort and return control to user. 3.4 At completion of parking, notify user that APA has been completed. 3.4.1 Shift the transmission to park. 3.4.2 Return full control of vehicle to user. 3.4.3 User selects done to exit the APA system. 4 Modeling Requirements This next section is dedicated to explaining to the bridge between the application domain and the machine domain of the APA system. There will be multiple figures modeling the APA system including a use case diagram, domain model, sequence diagram, and the state diagram.

Figure 3 below is the use case diagram key. It describes the different notation used in the use case diagram of the APA system. Figure 3. Use case diagram key displays the notation used in a use case diagram. Figure 4 below is the use case diagram for the APA system. This diagram describes the different interactions between the user and the system and the resulting effects that they have on each other. Figure 4. Use case diagram displaying the high level behavior of the APA system.

This diagram is meant to provide information into the different cases that will arise when using the APA system. In this system the only actor that will interact with the APA is the user of the vehicle. The user is the one who must activate the system, choose a parking style and verify the APA s parking space selection. All of these interactions and information are shown through the vehicle s HMI. The user also maintains the ability to disable the APA at any time during the process.

Use Case: Actors: Description: Select Spot Type User (initiator), Vehicle After turning on the APA the user must select what type of parking space the system should search for (parallel or perpendicular). Type: Includes: Extends: Primary and essential Cross-refs: Requirement 3.1.2 Use cases: Use Case: Actors: Description: Type: Includes: Extends: Disable APA User (initiator), vehicle The user aborts the park assist while it is in progress by pressing on the brake or gas, or by moving the steering wheel. Primary and essential HMI notifies user Cross-refs: Requirement 3.3.4 Use cases:

Use Case: Actors: Description: Type: Includes: Extends: Verify Spot Vehicle (initiator), User The system scans for an adequate parking space and displays said spot to the user through the HMI. The user must then verify that they wish to park there, or have the system find a new spot. Primary and essential Cross-refs: Requirement 3.2.3 Use cases: Use Case: Actors: Description: Type: Includes: Extends: HMI Notifies User Vehicle (initiator), User The APA notifies the user of any change or verification needed through the HMI. Primary and essential Cross-refs: Requirements 3.1.4, 3.3.4 and 3.4.1 Use cases: Disable APA and Parking Done.

Use Case: Actors: Description: Parking Done Vehicle (initiator) The parking process is completed and the APA notifies the user. Type: Includes: Extends: Primary HMI Notifies User Cross-refs: Requirements 3.1.4 Use cases: Use Case: Actors: Description: Type: Includes: Extends: Locate Spot Vehicle (initiator) The APA uses the onboard sensors and cameras to locate an available spot that is at least 1.2 times the size of the vehicle. Primary and essential Monitor Location Cross-refs: Requirement 3.2.1 and 3.2.2 Use cases:

Use Case: Actors: Description: Type: Includes: Extends: Monitor Location Vehicle (initiator) The APA uses the onboard sensors and cameras to constantly monitor its location and the state of the objects around it. It does this to make sure that nothing will interfere with the parking procedure before and during the parking operation. Primary and essential Cross-refs: Requirement 3.3.4, 3.4.1 and 3.5.1 Use cases: Locate Spot and Detect Interfering Objects Use Case: Actors: Description: Type: Includes: Extends: Detect Interfering Objects Vehicle (initiator) The APA uses the onboard sensors and cameras to determine if any objects move in the path of the vehicle that will interfere with the parking maneuver once it is in process. Primary and essential Monitor Location Cross-refs: Requirement 3.3.4 and 3.4.1 Use cases:

Figure 5 below is the domain model key, it describes the different notation used in the domain model of the APA system. Figure 5. Domain Model Key. Figure 6 displays the domain model of the APA system, its purpose is to model the various classes with their attributes, operations, roles, and relationships.

Figure 6. The domain model of the APA system. As shown in figure 6 the APA system is headed by the Park Control System class; this class accepts input from the HMI interface and then issues commands to its subsystems including the Powertrain Management, Brake Control, and Steering Control classes based on the information the Vehicle Position Subsystem sent to the Park Control System class. The Subsystem class is an abstract class that is only responsible for accepting an input, Powertrain Management, Brake Control, Steering Control, and HMI classes all derive from this class. The Powertrain Management class is responsible for selecting the proper gear position and accelerating the vehicle to the proper speed. The Brake Control class is in charge of braking the vehicle and the Steering control is in charge of steering respectively. The HMI class accepts input from the User class that has the ability to active APA, select the parking space type, verify the space selection as well as abort the maneuver. Throughout the APA maneuver the HMI interface displays the process to the user as well as alerts the user with warnings if necessary, the HMI also displays information from the cameras mounted on the vehicle through the process. The Vehicle Position Subsystem gathers information from the cameras and ultrasonic sensors to identify a parking space as well as identify foreign objects during the maneuver, this information is then sent to the master Park Control System class to calculate the trajectory of the vehicle to complete the APA process.

Domain Model Data Dictionary Element Name Brake Control Description Accept input from the Park Control System to make sure vehicle meets the required trajectory. Operations BrakeVehicle() A void function to properly brake the vehicle when needed as well as brake when an obstacle is detected. Relationships This class accepts input form the Park Control System and responds accordingly. Element Name Camera Description A class representing a single camera mounted on the vehicle, used to identify a parking space. Attributes maxrange: Float = 70.0 The maximum range of each camera is 70 meters. Operations ScanForSpace() A void function that scans for a space and surveys the sounding area. Relationships This class sends its gathered information to the Vehicle Position Subsystem to identify a parking space as well as identify a foreign object; this class also sends information to the HMI to display the process of APA. There are front and rear camera classes the derive from this class.

Element Name HMI Description The Human Machine Interface is what the user interacts with, the HMI displays information to the user throughout the APA process. Operations DisplayProcess() AlertDriver() ActivateAPA() VerifySpace() SelectSpaceType() A void function that displays the APA process to the user, which includes the user activating the APA functionality, selecting the spot, and displaying information from the cameras as the APA maneuver is in progress. A void function that alerts that user if the APA process has been aborted. A void function in which the user actives the APA functionality through the HMI. A void function that has the user verify the spot that the APA system has selected. A void function in which the user selects either parallel or perpendicular parking. Relationships SelectDone() A void function in which the user verifies that they recognize the parking sequence as having been successfully completed This class accepts input from the user class as well as displaying camera information. Element Name Description

Park Control System This class masters the APA process, it accepts input from the HMI, calculates the vehicle trajectory based on information from the Vehicle Position Subsystem, and issues commands to other subsystems. Attributes vehiclesize: Float maxgrade: Float = 3.0 This size of the vehicle The max grade the vehicle can travel up during the APA process. Operations GetInput() CalculateTrajectory() IssueCommand() A void function that gets an input from a subsystem and processes that information. A void function that uses the information from the VPS to properly maneuver the vehicle into the desired parking space. A void function that sends a command down to a subsystem of the APA system. Abort() DetectFault(): returnbool ProcessComplete(): returnbool A void function that aborts the APA process if there is a foreign object in the vehicle trajectory or if the user manually aborts. A check on all of the other subsystems in the vehicle to makes sure everything is working properly, returns true if there a fault in the system. A check with the VPS that the vehicle is successfully within the selected space. Returns true if completed parking, false if not.

Pause() When an obstacle is detected, the system pauses until the obstacle moves or until the user selects to continue parking. BeginParking() A void function that signals to the VPS to begin parking the vehicle, which occurs after the space is selected on the HMI. Relationships This is the main class of this system so it gathers information from all classes, in particular it communicates with the Vehicle Position Subsystem as well as the Subsystem class that has the Powertrain Management, Brake Control, Steering Control and the HMI classes derived from it. Element Name Powertrain Management Description This class accepts input from the Park Control System to accelerate the vehicle as well as select the proper gear setting. Operations SelectGearPosition() AccelerateVehicle() A void function that selects the proper gear position for the APA manuever. A void function that accelerates the vehicle properly to complete the APA manuever. Relationships This class accepts an input so it is derived from the Subsystem class that communicates with the overall Park Control System class. Element Name Radar Description The ultrasonic sensor class are used the measure the available spaces between vehicles. Attributes

maxspacesize: Float = 1.2 * vehiclesize maxrange: Float = 6.0 The max space size the vehicle can fit into, it is 1.2 times the size of the vehicle. The range the sensors can cover. Operations MeasureAvailableSpace() A void function that measures available space between vehicles, this information is sent up to the Vehicle Position Subsystem class. Relationships This class sends the information it gathers up to the Vehicle Position Subsystem class for processing. Element Name Steering Control Description This class accepts input from the overall Park Control System and handles steering the vehicle properly to meet the required trajectory. Operations SteerVehicle() A void function that steers the vehicle properly to meet the required trajectory. Relationships This class accepts an input so it is derived from the Subsystem class that communicates with the overall Park Control System class. Element Name Subsystem Description An abstract class that is only responsible for accepting input. Operations

AcceptInput(int inputtype) A void function that takes in an input type, either Park Control System input or User input. Relationships This is the base class that accepts an input from either the Park Control System or the User, this class also communicates with the Park Control System. Element Name User Description A class the describes the user of the APA system. Operations Abort() The APA maneuver will abort if the user hits the brake, engages the steering wheel, or manually selects abort on the HMI, this is a void function. Relationships This class controls the HMI interface class. Element Name Description Vehicle Position Subsystem This subsystem handles the processing of the information from the cameras and radars to get the vehicles position as well as identifying parking space and foreign objects. Operations ProcessCameraRadarData() IdentifyParkingSpot() A void function that process the data from the cameras and radars. Uses the data processed from the cameras and radars to identify a parking space.

IdentifyObject() Uses the data processed from cameras and radars to detect a foreign object that will obstruct the APA maneuver. Relationships This class gathers information from the Camera and Radar classes, processes it and then sends that information to the main Park Control System class. Figure 7. Sequence Diagram: Normal Operation

Figure 8. Sequence Diagram: User Interrupt Figure 9. Sequence Diagram: System Interrupt

Figure 10:State Machine Diagram 5 Prototype This section dedicated to the prototype, this includes describing the prototype and its functionality, explaining how to run it, as well as laying out sample scenarios. The APA prototype will start at the HMI home screen that displays the Active Park Assist option. Once the user selects it he or she will then be prompted to select the parking orientation that is either parallel or perpendicular. From there, the HMI will prompt the user to verify the selected space; then information from the cameras will be used to display an overhead view of the APA process. Information will also be displayed on screen to tell the user to not touch the gas, brake, or steering wheel. If the user does any of those three things, the APA process will abort and the abort screen will display on

the HMI, the user will be able to reinitiate the APA process from said screen. Once the APA maneuver has completed, the HMI will display a success message, from there the HMI will return to its original home screen. 5.1 How to Run Prototype All that is needed to run the prototype is access to a current web browser as well as an Internet connection. 5.2 Sample Scenarios A. Normal Sequence. This is a sequence that involves no system interruptions and simply parks the vehicle.

Figure x APA procedure starts at the MyFord Touch home screen. The user selects Active Park Assist

Figure x.1 User selects the type of parking orientation desired. APA system shows a different interface depending on the user selection.

Figure x.2 The user will pull forward and when the front of the vehicle passes an available parking space the system will allow the user to select the space for active parking.

Figure x.3 HMI shows the parking progress on screen. The user can halt the process by tapping the break or by torqueing the steering wheel.

Figure x.4 Once the parking sequence is completed the user is notified and can return to the HMI main menu.

B. User Interrupt or Obstacle Interrupt. Figure x+1 While the APA system has control of the vehicle there are two reasons that the system will abort. First, if the user attempts to take control of the vehicle the APA system will abort. Second, if an obstacle is detected the system will pause. If the object moves out of the way within 75 seconds of the start of parking the system will resume on its own. 6 References 1. D. Thakore and S. Biswas, Routing with Persistent Link Modeling in Intermittently Connected Wireless Networks, Proceedings of IEEE Military Communication, Atlantic City, October 2005. 2. http://www.cse.msu.edu/~cse435/projects/f2014/projectdescriptions/ford-apa.pdf 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.