Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
Note: The provided content, along with any associated project materials, is exclusively intended for
classroom use. Any form of sharing, posting, or redistribution, even after the completion of this course, is
strictly prohibited in accordance with ASU regulations. Such actions are considered violations of the FSE
code of conduct and may result in severe academic consequences.
In Project 1 you learnt about developing a monitoring application using on-board sensors in a smart
phone. In this project, we will design a context aware adaptation strategy for the development of
autonomous braking system for Level 3 autonomous cars which assumes an underlying distributed
monitoring and actuation cyber-physical system specifically human-in-the-loop and human-in-the plant.
Before we delve into the details let us understand some basic definitions.
Level 3 autonomy: The vehicle operates autonomously, however, requires the driver to be
attentive at all times for potential switch to manual mode.
Controller: It is a software that takes sensor data from the vehicle such as speed, distance
between cars and acceleration or deceleration and outputs the braking pressure to apply
deceleration to stop the car.
Controller gain: It is a property of the controller that determines how aggressively a controller
will apply brakes and stop the car.
Deceleration Limit: This is the maximum limit on the deceleration applied by the controller.
High deceleration can lead to unwanted harm to the driver behind the wheel. The controller can
never apply deceleration that is higher than the maximum limit.
Controller frequency: It is the number of times the controller needs to compute a new braking
input per second.
Reaction time: It is the time taken for the human to decide on an action after a switch to
manual mode
Action time: Time taken to execute the action decided by the human and stop the car.
Autonomous vehicle braking system example
Figure 1: Autonomous Driving example
Consider a user driving a Level 3 autonomous car (Fig. 1). We are specifically focusing on the
autonomous braking system. As a part of the autonomous braking system, there is an advisory control
that:
a) processes a driving scenario, by sensing environmental conditions
b) Predicts if the autonomous braking system will be able to stop the car
c) Determines if the control should be transferred to the human behind the wheel
Autonomous braking system has a feed-back loop controller that senses the distance between the
autonomous car and the car in front , and computes a braking force as a function of the ’s initial
speed !, and distance between and . The braking force applied is also a function of the controller
gain , which is a design parameter that you will have to tune.
The braking force is constrained by the maximum deceleration limit "#$, which is dependent on the
road condition. For example, on dry road you can apply more deceleration than on wet road in rainy
season. The braking force is thus given by the following equation:
= min ( ( !, !%, ), "#$).
Once the braking force is applied, the vehicle kinematics show how the vehicle behaves in the real
world. Given the initial speed ! and initial distance between and , !%, the vehicle kinematics gives
the stopping distance &'(), and stopping time &'() for the vehicle. This you can obtain using the
vehicle kinematics Simulink model ( *+,-./+) provided to you.
If &'() � !% then the autonomous vehicle fails, and the cars collide, else there is no collision. If cars
collide, then stopping time &'() is same as collision time ..
In this example, we will fix the distance between cars and , !%. However, changing initial velocity !,
controller gain , and deceleration limit "#$, can change the stopping distance and stopping time
resulting in potential collisions.
Human driver model
The human driver is assumed to be alert all the time to take over control. However, we have to account
for the reaction time 0 of the human driver after a switching signal is sent through the dashboard
controls. In addition to the reaction time the human action also takes some time to execute.
In this example, we assume that the human provides a deceleration that is 10% higher than the
deceleration limit "#$, i.e. ?# = 1.1 "#$. The action time # can be obtained by removing the braking
controller from the Simulink model and applying a static deceleration of ?# into the vehicle kinematics
model. After simulation the action time can be obtained as the stopping time reported in the Simulink
model.