Fill This Form To Receive Instant Help

Help in Homework
trustpilot ratings
google ratings


Homework answers / question archive / MECH5495M Engineering Psychology & Human Factors Home Assignment (40% of the total module mark) General instructions Please submit via Minerva no later than 12

MECH5495M Engineering Psychology & Human Factors Home Assignment (40% of the total module mark) General instructions Please submit via Minerva no later than 12

Project Management

MECH5495M Engineering Psychology & Human Factors

Home Assignment (40% of the total module mark)

General instructions

Please submit via Minerva no later than 12.00 noon Thursday May 4, 2023. See the Deadlines and

Feedback section in the MechEng Minerva organisation (link) for general submission guidance.

The maximum mark on the home assignment is 100. For full marks, all four tasks need to be carried

out. The estimated total workload is about 40 hours (but note that if you do not have a good prior

grasp of MATLAB, especially tasks 1(e), 4(f), and 4(h) may not be feasible within this time.)

Never copy any text or code from another student – even with the intent to completely edit it.

Plagiarism will be detected and will have severe consequences for you.

Your submission should consist of a single report with your answers for the four tasks, in a format

compatible with Turnitin (e.g., Word .docx, Acrobat .pdf), using your student ID as the “title” of your

Turnitin submission. Further instructions:

? Please include your student ID on at least the first page of the report. (You may use the

handin cover sheet available via the Minerva link above, but it is not required.)

? On the first page of your report, clearly indicate the total word count, excluding cover page

and reference list (if you have these) and any MATLAB code in appendix (see further below).

? Your answers are marked on content, not length. The maximum total word count is 3500.

Any parts of the report extending beyond this word count limit will not be marked.

? MATLAB code written by you, with understandable variable names and code comments,

should be included as an appendix at the end of your report, for the following tasks:

o Task 1b: The part of do_1_CalculateMetricValues.m written by you.

o Task 1e: All code written by you.

o Task 4f and h: The parts of SimulateRearEndCollisionScenario.m written by you.

For some further guidance on MATLAB, including variable naming conventions, see the Appendix at

the end of this document.

Task 1: Analysing pilot control data [20 marks]

(The data for this task were kindly provided by Dr Andreas Haslbeck,

from a study with Lufthansa First Officers in a flight simulator at the

Technical University of Munich.)

Let us assume that you are part of a team investigating the manual

flying behaviour of pilots, as an input to further development of a flyby-wire system. As a first step you run a small flight simulator

experiment with eleven pilots, and record their use of the side-stick

control, in both pitch (forward/backward) and roll (left/right) directions

during an approach to landing, from an initial altitude of about 4500

feet above ground. You want to study the behaviour both in an early

phase, between 4500 and 1500 feet, and a late phase, from 1500 to

50 feet. Based on literature and your own past experience, you

hypothesise that pilots will be more active in their side-stick input in

the late phase (i.e., at lower altitudes) than in the early phase (i.e., at high altitudes).

An Airbus side-stick.

(https://commons.wikimedia

.org/wiki/File:Airbus_A380_

cockpit_zoom_on_sidestick.

JPG)

MECH5495M Home Assignment v2, 2023-03-29

2

The eleven recordings are provided in the file PilotData.mat, which can be loaded into MATLAB using

the load command. This loads a structure SPilotData into the MATLAB workspace, and SPilotData(1)

provides the data signals recorded for the first pilot, and so on. For each pilot, there are data vectors

holding time stamps in seconds, the altitude in feet, and side-stick deflection in pitch and roll

directions, with ±1 indicating full deflection and 0 indicating no side-stick input.

(a) Inspect the recorded data by plotting the various signals as a function of time. (For example,

plot(SPilotData(1).VTimeStamp_s, SPilotData(1).VAltitude_ft) will plot the altitude signal for the

first pilot as a function of time.) Looking at the data, do you see any indications that there may be

support for the hypothesis suggested above? Provide one or two example plots supporting your

answer. [3 marks]

Let us denote the pitch and roll deflections of the side-stick by ? and ? respectively, and let us assume

that you decide to test two different metrics quantifying how active the pilots are in their control: (1)

???????, the fraction (i.e., a value between 0 and 1) of time during an approach phase when the pilot

provided non-zero input, defined as at least one of |?| or |?| exceeding 0.01 (1% of full side-stick

deflection). (2) ?????, the average, during a phase of the approach, of the combined side-stick

deflection ? = √?2 + ?2.

The provided MATLAB script do_1_CalculateMetricValues.m loads the data, loops through all of the

recordings, identifies the early and late phases, calculates metric values, stores them in two matrices

and saves these in a file MetricValues.mat. The ??????? metric is already implemented, but not the

????? metric.

(b) Implement the calculation of ????? in do_1_CalculateMetricValues.m, and provide your code

in an appendix to your report. [4 marks]

The provided MATLAB script do_2_StatisticalAnalysis.m loads the MetricValues.mat file, generates

overview plots of the metric data, applies Wilcoxon’s signed-rank test (testing the null hypothesis that

the early and late phase data have the same median), and calculates effect size (Cohen’s d).

(c) Run do_2_StatisticalAnalysis.m, and provide in your report the generated figure (with box plots

and statistical analysis results), together with a discussion of the obtained results. Is there support

for the hypothesis that pilots are more active in their control in the later phase of the landing

approach? Motivate your answer, and discuss why you think pilots behave the way suggested by

the results, ideally with reference to some concepts you have learned in this module. [5 marks]

(d) In general, if a statistical test indicates, with statistical significance, that the pilots are more

active in the later phase, does this mean that all pilots are more active in the later phase? Justify

your answer. [2 marks]

(e) Write MATLAB code to carry out one further piece of analysis of this dataset. This can be

anything you find interesting or useful, such as a different way of visualising the data, or calculation

of some other objective metric (e.g., how common is it that pilots move the side-stick in just one of

the two directions at a time, versus applying both pitch and roll inputs at the same time?), or a

different way of structuring the analysis (e.g., divide the approach into more than just two phases,

or look separately at individual pilots to see if they differ in their overall control strategies, …), or

even further statistical testing, if you know what you are doing. If you want to, you can consult for

example (Haslbeck et al., 2016) or (Haslbeck et al., 2018) for inspiration. In your report, explain

what question you are trying to answer with your analysis, describe what you have done, provide

one or more figures illustrating your results, and provide some text briefly discussing what you

have found. Also provide your MATLAB script file(s) in an appendix to your report. [6 marks]

MECH5495M Home Assignment v2, 2023-03-29

3

Task 2: Evaluating external HMI design for automated vehicles [20 marks]

In the most advanced levels of road vehicle automation, it is envisioned that human occupants will

not at all need to monitor the driving, or that there may not even need to be a human in the vehicle

(SAE Level 4 or 5; Society of Automotive Engineers International, 2018). One concern with respect

to such automated vehicles (AVs), is how to make them capable of interacting effectively with human

road users, for example pedestrians. In current traffic, a human driver may for example make eye

contact with a pedestrian that is waiting to cross the road, apply deceleration and maybe signal with

a hand gesture or by flashing the headlights that the pedestrian can cross.

An illustration of pedestrians crossing the road

(Source: https://www.highwaycodeuk.co.uk/rules-for-pedestrians-crossing-the-road.html)

(a) Imagine a pedestrian who is wanting to cross a road (like in the photo above), and who is

looking at an approaching, human-driven vehicle, trying to determine whether or not the driver is

yielding to let him or her cross. Using the information processing model of cognition, and any other

concepts from the module you find useful, describe roughly what you think may be happening in

the pedestrian’s brain while he or she is making the decision to cross or not in front of the vehicle.

(Note: There is no clear right or wrong answer here; what is important is that you are able to use

the module’s taught concepts in a reasonable way.) [3 marks]

In various studies, participants have reported that putting external displays on the outsides of vehicles

“would be helpful when autonomous vehicles become available” (Clamann et al., 2017). Therefore,

researchers are now trying to design external human-machine interfaces (eHMIs), to enable AVs to

communicate with other road users. Two potential designs are proposed below.

Design 1 suggests that a green light will be presented to indicate that the AV is accelerating and a

red light will be presented to indicate that the AV is decelerating.

Design 1

(AV is accelerating) (AV is decelerating)

MECH5495M Home Assignment v2, 2023-03-29

4

(b) Describe and explain two different ways in which Design 1 may be problematic from an information processing point of view. You should consider at least two of the following aspects:

perception; working memory; long-term memory. [5 marks]

(c) Consider the perceptual and memory principles of display design, as described in the course book. Choose one of these principles, describe the principle, and explain how Design 1 is not properly taking the principle into account. [2 marks]

Design 2 instead shows a text message ‘Please Cross’ to indicate that the pedestrian is safe to cross, and ‘Please Do Not Cross’ to indicate that it is not safe for the pedestrian to cross.

Design 2

(It is safe to cross in front of the AV) (It is not safe to cross in front of the AV)

(d) Describe and explain two different ways in which Design 2 may be problematic from an information processing point of view. You should consider both of the following aspects: bottomup processing and top-down processing. [5 marks]

(e) Consider the perceptual principles of display design, as described in the course book. Choose one of these principles, describe the principle, and explain how Design 2 is not properly taking the principle into account. [2 marks]

(f) Taking into the account the principles of display design you have considered in (c) and (e) above, suggest and briefly describe an eHMI that you think may be better than Design 1 and 2.

You can provide a graphical illustration of your suggested eHMI if you want, but it is also ok to just describe it in text. [3 marks]

MECH5495M Home Assignment v2, 2023-03-29

5

Task 3: Human Factors evaluation of an automated vehicle (AV) accident [20 marks]

On May 7, 2016, a vehicle with automated driving capabilities (AV) collided with a tractor trailer crossing an uncontrolled intersection on a highway west of Williston, Florida, resulting in fatal injuries to the AV driver. Data obtained from the AV indicated that: 1) the AV was being operated in SAE Level

2 mode at the time of the collision; 2) the Automatic Emergency Braking (AEB) system did not provide any warning or automated braking for the collision event; 3) the driver took no braking, steering or other actions to avoid the collision; and 4) the last recorded driver action was increasing the cruise control set speed to 74 miles/h = 119 km/h about two minutes prior to impact. The crash occurred on a clear day with dry road conditions. On June 21, 2016, NHTSA deployed a Special Crash

Investigations team to the crash site to evaluate the vehicle and study the crash environment.

NHTSA’s crash reconstruction concluded that the AV’s sensors did not detect the tractor trailer, but that the tractor trailer should have been visible to the AV’s driver for at least seven seconds prior to

impact.

(a) Drawing on your knowledge of the levels of automation, describe the expected roles of the vehicle and driver while the AV’s automation capability was engaged. [2 marks]

(b) Leaving aside the technical failings of the automation system, there are a number of “Problems with Automation”, from a human-factors perspective. Drawing on your knowledge of these, select and describe two that you think best account for why the above accident occurred. [4 marks]

(c) Make a fault tree analysis of this accident, showing how you think technical errors and human errors may have contributed to causing this crash. You will probably want to use at least five (probably more) events besides the crash itself, and at least one or two AND or OR gates. You do not need to write text in addition to the fault tree, as long as you make sure to label each event in the tree with enough detail to make it easily understandable. [4 marks]

(d) Discuss how your fault tree analysis maps on to the different parts of either the accident

causation model in Fig 16.1 of the main course book by Lee et al., or the accident causation model

in Fig 1 of Chapter 38 in the alternative course book edited by Salvendy. Please state clearly which

accident causation model you are using. [4 marks]

(e) Drawing on your fault tree analysis and the principles of human-centred automation, discuss

how you would design the automation system to avoid the two “Problems of Automation” you listed

above as possibly contributing to the accident. [6 marks]

AV

AV

AV

MECH5495M Home Assignment v2, 2023-03-29

6

Task 4: Modelling driver responses during automation failures [40 marks]

Let us assume that you are part of a team

developing automated vehicle functionality,

and that you are tasked with developing a

driver model that can help you better

understand situations such as the accident

described in Task 3 above. As a starting

point, you make use of a model by Markkula

et al (2016), describing driver braking, as

observed in real critical rear-end collision

situations with manually driven vehicles. As

illustrated to the right, this model’s behaviour

is dependent on the urgency of the situation,

quantified in terms of the time ? left to

collision, assuming constant velocities of

both involved vehicles (i.e., assuming the

driver does not take any action). ?0 is the

initial time to collision, at the time ? = 0 when

the collision threat becomes physically

visible to the driver, e.g., ?0 = 7 s for the crash described in Task 3.

The model suggests that in critical rear-end situations, drivers respond with deceleration as a

piecewise linear function (the blue curve above), with the deceleration onset time ?? obtained as:

?? = ?0.2 + ?(???0.2

), (1)

where ?0.2 is the first time at which the driver sees a ? of 5 seconds or less, ?? is the time at which

collision occurs if the driver maintains constant speed (i.e., ?? = ?0), and ? is a random value, drawn

from one of two distributions as shown below. The “eyes-on-threat” normal distribution is used if ?0 >

5 s (the type of situation shown in the plots above), and the “eyes-off-threat” lognormal distribution is

used if ?0 ≤ 5 s. Note that in this latter case, ?0.2 = 0 by definition. Also note that in both types of

situations, a randomly drawn ? ≥ 1 means that the model does not apply any deceleration before

crashing.

The black curves show probability distributions for the Markkula et al (2016) braking model, with

values for means (m) and standard deviations (s). The blue histograms show observed human data.

The other two random variables in the figure above are ?, the final acceleration level applied by the

model, and ?, which is a scale factor for the rate of change of acceleration rate ??, obtained as:

?? = ? ??

−1

, (2)

where ?? is ? at the time ?? of brake onset.

MECH5495M Home Assignment v2, 2023-03-29

7

(a) How would you explain the Markkula et al (2016) model to someone who isn’t good at maths?

Explain in your own words, without mathematical notation, how the model describes near-crash

braking behaviour, and how this behaviour is affected by the urgency of the situation. [4 marks]

The provided MATLAB script do_SimulateRearEndCollisionScenario.m calls a function

SimulateRearEndCollisionScenario, which implements and simulates this driver braking model for a

collision obstacle with zero speed in the forward road direction. As provided, the script runs the

scenario once, configured as a reconstruction of the crash described above in Task 3, with a 12 m

wide obstacle (representing the tractor trailer), initial speed ?0 = 119 km/h, and ?0 = 7 s. Each time

you run do_SimulateRearEndCollisionScenario.m, you will get a figure window showing a bird’s eye

view of the road with the obstacle at longitudinal position ? = 0, and trajectory and final position for

the modelled car, blue or red for non-collisions and collisions respectively. The figure window also

shows time series plots of a number of useful quantities. Due to the probabilistic nature of the model,

each time you run it you will get a different result. You can also run many simulations at a time, by

changing the setting of the variable c_nMonteCarloSimulations in the script.

(b) Recall that the human driver in the crash described in Task 3 did not respond at all before the

crash. How common is this type of behaviour among drivers of manually driven vehicles in critical

rear-end scenarios, according to the Markkula et al (2016) model? Justify your answer

mathematically and/or with simulation results. [4 marks]

(c) Based on your result in (b), would you say that the driver’s behaviour was similar to or different

from what would be expected from a driver of a manually driven vehicle in the same traffic

situation? Justify your answer, and briefly discuss possible reasons for this similarity/difference (it

is ok to refer back to answers you provided in Task 3). [4 marks]

Obstacles at zero speed along the road’s forward direction are difficult to reliably detect with current

automotive sensors, and many on-market automated driving systems therefore come with disclaimers

saying that that the system may not respond at all if, for example, a vehicle that you are following in

automated mode changes lanes to reveal a stationary obstacle further ahead.

Let us assume that you are tasked with using the driver model to provide rough, simulation-based

predictions about this type of “reveal” scenario. You wish to investigate whether serious accidents

can be avoided by ensuring that the automated vehicle always keeps a long enough time gap ???? to

the lead vehicle. As a first step, you assume that the driver monitoring the automation is reasonably

attentive, and that their braking behaviour can therefore be approximated by the Markkula et al (2016)

model. You wish to study a scenario at 70 mph = 113 km/h, where the lead vehicle changes lanes to

reveal a stationary obstacle of width 2 m, just 0.5 s before reaching it, such that ?0 = ???? + 0.5 s.

(d) Modify the parameter settings in do_SimulateRearEndCollisionScenario.m to run many

simulations of this “reveal” scenario. Please note that you do not need to include the original, lanechanging lead vehicle in any way, since it is assumed to already have changed lanes when the

simulation starts. A time gap setting that would be considered relatively typical for manual driving

is ???? = 1.5 s. With this time gap, what is the model’s predicted frequency of collisions in general,

and of collisions at more than 60 km/h speed? [3 marks]

Let us assume that your design goal is to keep the risk of > 60 km/h collisions lower than 25%, but

that you also want to keep ???? ≤ 3 s, because drivers are unlikely to accept larger ???? settings.

(e) According to the model, is it possible to achieve this design goal? As part of your answer,

provide a plot showing the frequency of collisions at more than 60 km/h as a function of ????

between 1 s and 5 s. (Tip: the function SimulateRearEndCollisionScenario returns number of

MECH5495M Home Assignment v2, 2023-03-29

8

collisions at > 60 km/h as an output nHighSpeedCrashes, so if you want to you can modify

do_SimulateRearEndCollisionScenario.m to loop through different time gap settings

programmatically, instead of going through them manually.) [5 marks]

Next, you wish to model also the possibility of steering avoidance (to the left, in this right-hand driving

scenario). Maybe shorter time gap settings are possible when the adjacent lane is free? Let us

assume that you have data indicating that avoidance steering can be modelled independently from

the braking, using the same type of piecewise linear function as the braking model, to describe the

vehicle’s curvature ? (roughly proportional to steering wheel angle) over time, with parameters:

? – eyes-on-road:

m = 0.88; s = 0.87

? – eyes-off-road:

m = 1.27; s = 0.77

k:

m = 0.031; s = 0.042

A:

m = 0.010; s = 0.0025

The function SimulateRearEndCollisionScenario is prepared for handling such a model, which will be

activated when the input parameter c_SModelParameters.bSimulateAvoidanceSteering is set to true,

but the model itself is not implemented in the provided version of the file.

(f) Implement, in SimulateRearEndCollisionScenario.m, the avoidance steering model, and provide

your code in an appendix to your report. Leave the braking model untouched, and note that you

will need to copy and adapt code from the braking model in two places: to set up a structure

c_SSteeringModelParameters (or similar name), e.g, somewhere around line 48, and to add a new

call to the function PiecewiseLinearAvoidanceModel, at line 81. (Line numbers will obviously

change as you edit the originally provided function.) Provide, in your report, a figure showing results

for a set of simulations at some ????. Does the presence of steering avoidance change the

conclusion you made in (e) with respect to your design goal? [7 marks]

Finally, you also want to consider the “stabilisation” steering that

happens after steering avoidance. Maybe drivers are likely to lose

control of the vehicle at this stage? Let us assume that you have data

indicating that the model proposed by Reñski (1998) acceptably

reproduces stabilisation steering in this scenario:

?(?) = ? ?(???),

where ? is a control gain, ?? is a control delay, and ?(?) is the

momentary angle between the vehicle’s heading and a sight point in the

middle of the target lane, a preview time ?? further down the road. Again, the function

SimulateRearEndCollisionScenario is prepared for handling such a model, activated using

c_SModelParameters.bSimulateStabilisationSteering, but the model is not implemented.

(g) Similarly to task 4(a), explain in your own words how the Reñski (1998) model describes driver

steering, in a way such that it is understandable to someone who is not trained in mathematics or

control theory. [4 marks]

(h) Implement the stabilisation steering model in SimulateRearEndCollisionScenario.m, adding

your code from line 117 (line numbering of originally provided file), using ? = 0.1, ?? = 0.2 s (tip:

exactly two of the 0.1 s simulation time steps), and ?? =1.5 s. You will need to understand and use

(at least) the variables iTimeStep, VY, VLongitudinalSpeed, VHeading, and

c_SScenarioParameters.laneWidth. Provide your code in an appendix to your report. In the report

itself, please explain clearly in writing what each line of your code is doing. Also, provide a figure

in your report showing simulation results at some ????. Assuming that this model is reliable, does

stabilisation steering seem to be a concern in this scenario? Justify your answer. [9 marks]

MECH5495M Home Assignment v2, 2023-03-29

9

References

Clamann, M., Aubert, M., & Cummings, M. L. (2017). Evaluation of vehicle-to-pedestrian

communication displays for autonomous vehicles. Proceedings of the 96th TRB Annual Meeting.

Haslbeck, A., & Hoermann, H. J. (2016). Flying the needles: flight deck automation erodes finemotor flying skills among airline pilots. Human factors, 58(4), 533-545.

Haslbeck, A., Hoermann, H. J., & Gontar, P. (2018). Stirring the pot: comparing stick input patterns

and flight-path control strategies in airline pilots. The International Journal of Aerospace

Psychology, 28(1-2), 15-30.

Markkula, G., Engström, J., Lodin, J., Bärgman, J., & Victor, T. (2016). A farewell to brake reaction

times? Kinematics-dependent brake response in naturalistic rear-end emergencies. Accident

Analysis & Prevention, 95, 209-226.

Reñski, A. (1998). The driver model and identification of its parameters. SAE Technical Paper No.

980011.

Society of Automotive Engineers International (2016). Taxonomy and definitions for terms related to

driving automation systems for on-road motor vehicles. Standard J3016_201806.

Appendix: Further guidance on MATLAB

Advice for beginners

If you need help getting started with MATLAB, please refer to the guidance on MATLAB provided on

this module’s Minerva pages (link).

Naming convention for variables in the provided scripts

MATLAB is a “weakly typed” programming language, i.e., it does not require declaring variables

before use, and any variable can hold data of any type. This can make coding faster, but also

increases the risk of generating code that is incorrect or hard to understand. To mitigate against those

risks, the code supplied with this home assignment uses some simple naming conventions:

? Use of prefixes to indicate type, e.g. iTimeStep:

o i : integer

o n : integer used to count something

o b : Boolean

o s : character string

o No prefix indicates floating point numbers

? Use of additional prefixes to indicate data structures; can be combined with the prefixes above,

e.g. VbValidTimeSteps for a vector of Booleans:

o V : vector

o M : matrix

o C : cell array

o S : structure

? Use of the additional prefix c_ to indicate a constant variable, i.e., one that is not intended to

change during program execution.

You are welcome to adopt these conventions in your solutions if you want to, but it is not required.

Purchase A New Answer

Custom new solution created by our subject matter experts

GET A QUOTE