stpa analysis of an automated parking...
TRANSCRIPT
ENGINEERING FOR HUMANSSTPA ANALYSIS OF AN AUTOMATED
PARKING SYSTEM
General Motors
Charles A. Green
Mark A. Vernacchia
Padma Sundaram
Joseph D’Ambrosio
Massachusetts Institute of Technology
John Thomas
Megan France
PROJECT GOALS
To examine the role of humans in the safety of
complex, automated human machine systems
from a systems-theoretic perspective
To develop a human engineering extension to
STPA that assists us in understanding human
process models and capturing additional causal
scenarios
To use automated parking as a test case for an
STPA analysis to validate our human engineering
extension
ENGINEERING FOR HUMANS - MIT STAMP WORKSHOP 2016 2
MOTIVATION
Why use automated parking as a case study for
interactions in complex human machine
systems?
Interactions between driver and automation
Changes in driver role, increased complexity
Importance of human process model
Complexity of the parking task
Rich environment
Requires multiple driver control types
ENGINEERING FOR HUMANS - MIT STAMP WORKSHOP 2016 3
Developing a human model and
analysis process
John Thomas
ENGINEERING FOR HUMANS - MIT STAMP WORKSHOP 2016 7
Human Controller
PM Update
Process states
Devise
control
actions
Process Model
Control
ActionsProcess behaviors
Environment
Inputs
9
HUMAN CONTROL MODEL
NEW HUMAN ENGINEERING APPROACH
Identify UCAs
Identify Process Model variables
Identify Process Model Flaws
Identify flaws in Process Model Updates
Identify unsafe decisions (Control Action Selections)
10
Human Controller
PM Update
Process states
Devise
control
actions
Process Model
Control
ActionsProcess behaviors
Environment
Inputs
NEW HUMAN ENGINEERING PROCESS
Identify UCAs
Identify Process Model variables
Identify Process Model Flaws
Identify flaws in Process Model Updates
Identify unsafe decisions (Control Action Selections)
11
UNSAFE CONTROL ACTIONS
12
Driver
APA
Vehicle
Not Provided Provided Too early, too
late, out of
order
Stopped too
soon, applied
too long
Brake UCA-1: Driver
does not
brake when
auto-parking
and computer
doesn’t react
to an obstacle
Identify UCAs
UCA-1: Driver does not brake when auto-parking
and computer doesn’t react to an obstacle
Identify Process Model variables
PM-1: APA is enabled/disabled
PM-2: APA computer reacting appropriately/inappropriately
PM-3: Obstacle on collision path
Identify Process Model Flaws
Identify flaws in Process Model Updates
Identify unsafe Control Action Selections
NEW HUMAN ENGINEERING PROCESS
14
Identify UCAs
UCA-1: Driver does not brake when auto-parking
and computer doesn’t react to an obstacle
Identify Process Model variables
PM-1: APA is enabled/disabled
PM-2: APA computer reacting appropriately/inappropriately
PM-3: Obstacle on collision path
Identify Process Model Flaws
Identify flaws in Process Model Updates
Identify unsafe Control Action Selections
NEW HUMAN ENGINEERING PROCESS
15
Human Controller
PM Update
Process states
Devise control
actions
Process Model
Control
ActionsProcess behaviors
Environment
Inputs
Identify UCAs
Identify Process Model variables
PM-1: APA is enabled/disabled
PM-2: APA computer reacting appropriately/inappropriately
PM-3: Obstacle on collision path
Identify Process Model Flaws
Identify unsafe decisions (Control Action Selections)
Identify inadequate Process Model Updates
NEW HUMAN ENGINEERING PROCESS
16
Type of PM flaw Examples
Incorrect beliefs about process
state (including modes)
Incorrect beliefs about process
behaviors
Incorrect beliefs about
environment
Process states
Process Model
Process behaviors
Environment
Identify UCAs
Identify Process Model variables
PM-1: APA is enabled/disabled
PM-2: APA computer reacting appropriately/inappropriately
PM-3: Obstacle on collision path
Identify Process Model Flaws
Identify unsafe decisions (Control Action Selections)
Identify inadequate Process Model Updates
NEW HUMAN ENGINEERING PROCESS
17
Type of PM flaw Examples
Incorrect beliefs about process
state (including modes)
Driver thinks APA is enabled when APA is really
disabled
Incorrect beliefs about process
behaviors
Driver thinks APA is reacting properly and will
brake automatically
Incorrect beliefs about
environment
Driver thinks there is no obstacle when there is
one
Driver knows there is an obstacle but doesn’t
know it’s on a collision path
Process states
Process Model
Process behaviors
Environment
NEW HUMAN ENGINEERING PROCESS
Identifying Process Model Flaws
Incorrect beliefs about process state
Consider modes, automatic mode changes, phases of operation
Incorrect beliefs about Process behaviors
Consider perceived effect of control actions, behavior in other modes, past experiences, etc.
Incorrect beliefs about environment
Consider changes to environment, similar past environments, etc.
“Known Unknown” and “Unknown Unknowns”
Believes there is a pedestrian in the way
Believes there is no pedestrian
Believes they don’t know if there is a pedestrian (may trigger a check)
Consider inadequate feedback, driver may know something changed but doesn’t know the new state, etc.
18
Providing guidance to ensure coverage
Process states
Process Model
Process behaviors
Environment
Identify UCAs
UCA-1: Driver does not brake when auto-parking
and computer doesn’t react to an obstacle
Identify Process Model variables
PM-1: APA is enabled/disabled
PM-2: APA computer reacting appropriately/inappropriately
PM-3: Obstacle on collision path
Identify Process Model Flaws
Identify flaws in Process Model Updates
Identify unsafe Control Action Selections
NEW HUMAN ENGINEERING PROCESS
19
Human Controller
PM Update
Process states
Devise control
actions
Process Model
Control
ActionsProcess behaviors
Environment
Inputs
Human Controller
PM Update
Process states
Devise control
actions
Process Model
Control
Actions
Process behaviors
Environment
Inputs
20
NEW HUMAN ENGINEERING PROCESS
Driver does not brake when auto-parking and computer doesn’t react to an obstacle (UCA-1)
Driver thinks APA is enabled when APA is really disabled (PM-1)
APA automatically disabled itself but driver didn’t notice the change
Human Controller
PM Update
Process states
Devise control
actions
Process Model
Control
Actions
Process behaviors
Environment
Inputs
21
NEW HUMAN ENGINEERING PROCESS
APA automatically disabled itself, driver noticed the change but didn’t understand it
Driver does not brake when auto-parking and computer doesn’t react to an obstacle (UCA-1)
Driver thinks APA is enabled when APA is really disabled (PM-1)
Identify UCAs
UCA-1: Driver does not brake for an obstacle when
computer does not react appropriately to the obstacle
Identify Process Model variables
PM-1: APA reacting appropriately/inappropriately
PM-2: Obstacle on collision path
Identify Process Model Flaws
Identify flaws in Process Model Updates
Identify unsafe Control Action Selections
NEW HUMAN ENGINEERING PROCESS
22
Human Controller
PM Update
Process states
Devise control
actions
Process Model
Control
ActionsProcess behaviors
Environment
Inputs
Human Controller
PM Update
Process states
Devise control
actions
Process Model
Control
Actions
Process behaviors
Environment
Inputs
Identify unsafe Control Action Selections
NEW HUMAN ENGINEERING PROCESS
23
Driver knows APA is on
Driver knows APA hasn’t reacted yet
Driver knows there is an obstacle in the
way
Driver does not
intervene to
brake (UCA-1)
Human Controller
PM Update
Process states
Devise control
actions
Process Model
Control
Actions
Process behaviors
Environment
Inputs
Identify unsafe Control Action Selections
NEW HUMAN ENGINEERING PROCESS
24
Driver does not
intervene to
brake (UCA-1)
Driver knows APA is on
Driver knows APA hasn’t reacted yet
Driver knows there is an obstacle in the
way
Maybe driver does
not know they can
control brake with
APA on
Human Controller
PM Update
Process states
Devise control
actions
Process Model
Control
Actions
Process behaviors
Environment
Inputs
Identify unsafe Control Action Selections
NEW HUMAN ENGINEERING PROCESS
25
Driver does not
intervene to
brake (UCA-1)
Driver knows APA is on
Driver knows APA hasn’t reacted yet
Driver knows there is an obstacle in the
way
Maybe driver
decides to disable
APA instead
Human Controller
PM Update
Process states
Devise control
actions
Process Model
Control
Actions
Process behaviors
Environment
Inputs
Identify unsafe Control Action Selections
NEW HUMAN ENGINEERING PROCESS
26
Driver does not
intervene to
brake (UCA-1)
Driver may still
be waiting for
APA to act
Driver knows APA is on
Driver knows APA hasn’t reacted yet
Driver knows there is an obstacle in the
way
Human Controller
PM Update
Process states
Devise control
actions
Process Model
Control
Actions
Process behaviors
Environment
Inputs
Identify unsafe Control Action Selections
Consider whether the driver is aware they can control X
Consider alternative driver controls/actions
Consider other driver goals
NEW HUMAN ENGINEERING PROCESS
27
Driver does not
intervene to
brake (UCA-1)
Driver knows APA is on
Driver knows APA hasn’t reacted yet
Driver knows there is an obstacle in the
way
Goals
NEW HUMAN ENGINEERING APPROACH
Identify UCAs
Identify Process Model variables
Identify Process Model Flaws
Identify flaws in Process Model Updates
Identify unsafe decisions (Control Action Selections)
28
Human Controller
PM Update
Process states
Devise
control
actions
Process Model
Control
ActionsProcess behaviors
Environment
Inputs
Applying the new process to
Automated Parking test casesPresented by Megan France
ENGINEERING FOR HUMANS - MIT STAMP WORKSHOP 2016 30
INITIAL CONTROL STRUCTURE
Operator
APA
computer
Vehicle
Brake
Accelerate
Steer
Select range
Turn signal
Enable auto park mode
Disable auto park mode
Vehicle speed/position
Steering angle
Directional signal
Range
Proximity
Steer
Brake
Park mode on or off
Instructions
Parking status
Rear view camera
Path prediction
Proximity
Speed
ENGINEERING FOR HUMANS - MIT STAMP WORKSHOP 2016 33
AUTOMATED PARKING TEST CASES
Summary of features of each system considered for this
analysis.
Manual
Operation
Level 1
“Driver
Assistance”
Level 2a
“Partial
Automation”
Level 2b
“Partial
Automation”
Level 3
“Conditional
Automation”
Steering -
Braking - -
Shifting
and
Accelerati
on
- - -
Object/Eve
nt
Detection
& Response
- - - -
*System numbering is consistent with SAE definitions for levels of automation; “a” and “b” indicate different implementations which are classified within the same SAE level.
ENGINEERING FOR HUMANS - MIT STAMP WORKSHOP 2016 34
UNSAFE CONTROL ACTIONS OVERVIEW
Level 1
“Driver
Assistance”
Level 2a
“Partial
Automation”
Level 2b
“Partial
Automation”
Level 3
“Conditional
Automation”
Driver UCAs 26 24 20 17
Computer
UCAs
5 12 25 25
Total UCAs 31 36 45 42
Number of UCAs identified for the driver for steering, braking, shifting, and
accelerating.
Note: number of UCAs does not indicate how safe each system is!
ENGINEERING FOR HUMANS - MIT STAMP WORKSHOP 2016 35
EXAMPLE SYSTEM OVERVIEW
Automation is responsible for steering, braking,
shifting & acceleration
Does not actively monitor the environment
Driver is responsible for monitoring the environment
and responding to unexpected events
Driver may override the actions of the automation by
braking, steering, etc.
Key assumption: while automation is on…
Driver can brake for <2 seconds in contributory mode
Braking >2s will shut off the automation
ENGINEERING FOR HUMANS - MIT STAMP WORKSHOP 2016 36
DETAILED SAFETY CONTROL STRUCTURE
Driver
Vehicle
Controllers
Parking Automation
Enabled/disabled status Parking maneuver status Rear camera / Path predictionProximity alertsInstructions to take over
SpeedGear
Vehicle speedPosition Proximity
Enable/Disable APADirectional Signal
Steering angleThrottle inputBraking inputGear selection
Steering angle Brake statusThrottle statusGear positionOverride(s)
Steering angleThrottle inputBraking inputGear selection
EPSBrake
ModulePCM
Steering angleThrottle inputBraking input
Gear selection
Steering angle Brake status
Throttle statusGear positionOverride(s)
Environment & Other Drivers
SensorsActuators
Environmental
conditions and influences
37
DRIVER UNSAFE CONTROL ACTIONS
Control Action
Not Providing Causes Hazard
Providing Causes Hazard Incorrect Timing orOrder
Stopped Too Soon or Applied Too Long
Braking Driver does not
brake when the
computer does
not react
appropriately to
an obstacle
[UCA-1].
Driver provides insufficient
brake command when
computer does not react
appropriately to the obstacle.
Driver provides too much
brake when doing so puts
other traffic on collision course
or causes passenger injury.
Driver brakes for long enough
to disable automation when
doing so puts the vehicle on a
collision path.
Driver waits too
long to brake
after the
automation
does not react
appropriately to
an obstacle.
Driver continues
override braking for
too long and disables
automation when
doing so puts the
vehicle on a collision
path.
Driver does not brake
for long enough to
avoid collision when
automation is not
reacting appropriately
to an obstacle.
ENGINEERING FOR HUMANS - MIT STAMP WORKSHOP 2016 38
DRIVER UNSAFE CONTROL ACTIONSControl Action
Not Providing Causes Hazard
Providing Causes Hazard Incorrect Timing orOrder
Stopped Too Soon or Applied Too Long
Steering Driver does not steer when auto park is disabled.
Driver does not steer when the vehicle is on a collision path.
Driver attempts to steer when wheel is turning quickly.
Driver provides steering override that puts vehicle on a collision path.
Driver takes control of the wheel too late after disabling auto park.
-
Accelerati
ng
Driver does not provide accelerate command when necessary to override the automation and avoid an approaching vehicle.
Driver does not resume accelerating after braking long enough to disable automation [UCA-2].
Driver provides accelerate command to override automation when doing so puts the vehicle on a collision path.
Driver accelerates too quickly, subjecting driver to extreme forces.
Driver accelerates before shifting into the proper gear, putting the vehicle on a collision path.
Driver provides accelerate command to override automation too late to avoid obstacles.
Driver continues accelerating too long, putting the vehicle is on a collision path.
Driver does not accelerate long enough to clear an obstacle safely.
39ENGINEERING FOR HUMANS - MIT STAMP WORKSHOP 2016
CAUSAL SCENARIOS USING NEW EXTENSION
UCA-1: Driver does not brake for an obstacle when the APA
computer does not react appropriately to the obstacle.
Scenario 1-1: The driver does not brake for the obstacle
because the driver incorrectly believes that the computer
detects and will brake for the obstacle ahead. This belief stems
from past experience in which she has seen the computer
apply the brakes to avoid hitting other parked vehicles. She does not receive any feedback that the computer is unaware
of the obstacle.
ENGINEERING FOR HUMANS - MIT STAMP WORKSHOP 2016 40
Human Controller
PM Update
Process states
Devise
control
actions
Process Model
Control
ActionsProcess behaviors
Environment
Inputs
CAUSAL SCENARIOS USING NEW EXTENSION
UCA-1: Driver does not brake for an obstacle when the APA
computer does not react appropriately to the obstacle.
Driver believes the
computer detected the
obstacle In the past,
driver has
seen the
computer
detect
obstacles
and apply
brakes
When APA is
on, I don’t
need to
brake.
Driver believes the
computer will brake
ENGINEERING FOR HUMANS - MIT STAMP WORKSHOP 2016 41
CAUSAL SCENARIOS USING NEW EXTENSION
UCA-1: Driver does not brake for an obstacle when the APA
computer does not react appropriately to the obstacle.
Scenario 1-2: The driver does not brake for an obstacle
because the driver incorrectly believes that the computer
detects and will brake for the obstacle ahead. She is
concerned that if she brakes unnecessarily, she will cancel the
automation and need to restart the parking maneuver. She
does not receive any feedback that the computer is unaware
of the obstacle.
ENGINEERING FOR HUMANS - MIT STAMP WORKSHOP 2016 42
Human Controller
PM Update
Process states
Devise
control
actions
Process Model
Control
ActionsProcess behaviors
Environment
Inputs
CAUSAL SCENARIOS USING NEW EXTENSION
UCA-1: Driver does not brake for an obstacle when the APA
computer does not react appropriately to the obstacle.
Driver believes the
computer detected the
obstacle
Driver is not
given feedback
that the APA
computer will
not brake.
When APA is on,
avoid
unnecessary
braking
Driver knows that braking can
disable APA, can’t be resumed
ENGINEERING FOR HUMANS - MIT STAMP WORKSHOP 2016 43
Scenario details:
The driver is concerned
that braking would cancel the automation and
require her to restart the
parking maneuver.
The driver incorrectly
believes that the computer
detects and will brake for
the obstacle ahead. She does not receive any
feedback that the
computer is unaware of
the obstacle.
Some possible solutions:
Make it easy to resume auto parking with minimal steps for the driver.
Provide feedback about automation’s status (obstacles detected or not) and next actions in the form of a prominent display.
Consider whether it is appropriate to require driver monitoring of the system or whether automation should be designed to handle such events.
ENGINEERING FOR HUMANS - MIT STAMP WORKSHOP 2016 44
STARTING POINTS FOR SOLUTIONS
CAUSAL SCENARIOS USING NEW EXTENSION
UCA-2: Driver does not resume accelerating after braking long
enough to disable automation.
Scenario 2-1: The driver does not resume accelerating after
braking long enough to disable the automation because the
driver incorrectly believes that APA is on. She incorrectly
believes that braking will not disable the automation because
in the past, she has not applied the brakes for long enough to trigger automation to shut off. The driver is not given feedback
that automation is about to be disabled.
ENGINEERING FOR HUMANS - MIT STAMP WORKSHOP 2016 45
Human Controller
PM Update
Process states
Devise
control
actions
Process Model
Control
ActionsProcess behaviors
Environment
Inputs
CAUSAL SCENARIOS USING NEW EXTENSION
UCA-2: Driver does not resume accelerating after braking long
enough to disable automation.
Driver incorrectly believes that
braking will only temporarily override
the automation. In the past driver
has only braked
for durations of
less than two
seconds while
auto parking.
If APA is on,
I do not
need to
accelerate
Driver incorrectly
believes APA is still on
ENGINEERING FOR HUMANS - MIT STAMP WORKSHOP 2016 46
STARTING POINTS FOR SOLUTIONS
Scenario details:
Driver expected to cause a
temporary override.
Driver incorrectly believes
that braking will not disable
the automation, since in the
past she has only braked for
durations of less than two
seconds while auto parking.
Some possible solutions:
Provide explicit feedback
when APA is disabled during a driver override –
warn the driver to monitor
the environment and
continue manual driving.
Avoid situations where the
same control is used for
multiple control actions –do not use brake pedal for
both contributory braking
and APA shutoffs.
ENGINEERING FOR HUMANS - MIT STAMP WORKSHOP 2016 47
Human Controller
PM Update
Process states
Devise
control
actions
Process Model
Control
ActionsProcess behaviors
Environment
Inputs
SUMMARY OF NEW MODEL BENEFITS
Captures
influence of past
experience and
expectations on
processing of
inputs
Captures goals
and prioritization;
how UCAs are
selected based
on PM
Captures specific
types of flaws which
may call for
different solutions
The new model scenarios incorporate additional
context to explain why the driver may have certain
beliefs and how those beliefs influence the driver’s
control actions.
ENGINEERING FOR HUMANS - MIT STAMP WORKSHOP 2016 48
CONCLUSIONS
New human engineering extension strengths:
Provides additional guidance for human process model flaws
Can help suggest engineering solutions, not just human problems
Can be used earlier in design process than detailed simulations or prototypes
ENGINEERING FOR HUMANS - MIT STAMP WORKSHOP 2016 49
Human Controller
PM Update
Process states
Devise
control
actions
Process Model
Control
ActionsProcess behaviors
Environment
Inputs