Control System and Simulation Design for an All-Wheel-Drive Formula SAE Car
Using a Neural Network Estimated Slip Angle Velocity
by
Benjamin Beacock
A Thesis
presented to
The University of Guelph
In partial fulfilment of requirements
for the degree of
Master of Science
in
Engineering
Guelph, Ontario, Canada
© Benjamin Beacock, September, 2012
ABSTRACT
Control System and Simulation Design for an All-Wheel-Drive Formula SAE Car
Using a Neural Network Estimated Slip Angle Velocity
Benjamin Beacock
Advisor:
University of Guelph, 2012
Professor Simon Yang
In 2004, students at the University of Guelph designed and constructed an
all-wheel-drive Formula SAE vehicle for competition. It utilized an electronicallycontrolled, hydraulic-actuated limited slip center coupling from Haldex Traction
Ltd, to transfer torque to the front wheels. The initial control system design was
not comprehensively conceived, so there was a need for a thoroughly developed
control system for the all-wheel-drive actuator augmented with commonly available sensors and a low cost controller. This thesis presents a novel all-wheel-drive
active torque transfer controller using a neural network estimated slip angle velocity. This controller specifically targets a racing vehicle by allowing rapid direction
changes for maneuverability but damping slip angle changes for increased controllability. The slip angle velocity estimate was able to track the actual simulated
value it was trained against with excellent phase matching but with some offsets
and phantom spikes. Using the estimated slip angle velocity for control realized
smooth control output, excellent stability, and a fast turn-in yaw response on par
with rear-wheel-drive configurations. A full vehicle simulation with software-inthe-loop testing for control software was also developed to aid the system design
process and avoid vehicle run time for tuning. This design flow should significantly
decrease development time for controls algorithm work and help increase innovation
within the team.
Acknowledgements
Haldex Traction Ltd - for supplying an AWD center coupling and technical support.
Formula SAE Tire Testing Consortium - for organizing the generation and postprocessing of tire data.
University of Guelph, College of Physics and Engineering Science, School of Engineering - for supporting the Gryphon Racing Formula SAE team.
IPG - for supplying CarMaker, Kinematics and Driver software licenses.
Dr. John Runciman, Dr. Simon Yang - for support and guidance in this project.
iii
Dedicated to:
My supporting wife, who inspired me to see this project to completion.
iv
Contents
List of Figures
xi
List of Tables
xiv
1 Introduction
1
1.1
Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.2
Objectives of this Thesis . . . . . . . . . . . . . . . . . . . . . . . .
3
1.3
Contributions of this Thesis . . . . . . . . . . . . . . . . . . . . . .
4
1.4
Organization of this Thesis . . . . . . . . . . . . . . . . . . . . . . .
4
2 Background and Literature Survey
2.1
2.2
5
Vehicle Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.1.1
Axis Convention
. . . . . . . . . . . . . . . . . . . . . . . .
6
2.1.2
Kinematic Model . . . . . . . . . . . . . . . . . . . . . . . .
6
2.1.3
Tires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.1.4
Friction Ellipse Concept . . . . . . . . . . . . . . . . . . . .
11
Problem Definition in Detail . . . . . . . . . . . . . . . . . . . . . .
13
2.2.1
13
Formula SAE . . . . . . . . . . . . . . . . . . . . . . . . . .
v
2.2.2
Gryphon Racing Background . . . . . . . . . . . . . . . . .
14
2.2.3
Existing Control Method . . . . . . . . . . . . . . . . . . . .
15
Dynamic Stability Control Strategies . . . . . . . . . . . . . . . . .
16
2.3.1
Independent Brake Control
. . . . . . . . . . . . . . . . . .
16
2.3.2
Dynamic Roll-Moment Distribution . . . . . . . . . . . . . .
17
2.3.3
Active Steering . . . . . . . . . . . . . . . . . . . . . . . . .
17
2.3.4
Rear-Wheel Steering . . . . . . . . . . . . . . . . . . . . . .
18
2.3.5
Torque Vectoring Differential . . . . . . . . . . . . . . . . .
18
2.3.6
AWD Active Torque Biasing Center Couplings . . . . . . . .
18
2.3.7
Summary of Stability Control Systems . . . . . . . . . . . .
19
2.4
Hypothesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
2.5
Slip Angle Velocity Estimate . . . . . . . . . . . . . . . . . . . . . .
20
2.5.1
Slip Angle Estimation . . . . . . . . . . . . . . . . . . . . .
20
2.5.2
Soft Computing in Vehicle Control Systems . . . . . . . . .
21
2.5.3
Artificial Neural Networks . . . . . . . . . . . . . . . . . . .
21
2.5.4
Neuron Model . . . . . . . . . . . . . . . . . . . . . . . . . .
21
2.5.5
Perceptron Network . . . . . . . . . . . . . . . . . . . . . . .
22
2.5.6
Backpropogation Network . . . . . . . . . . . . . . . . . . .
23
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
2.3
2.6
3 Control System and Algorithm Design
25
3.1
Electronic Control Unit Design . . . . . . . . . . . . . . . . . . . .
26
3.2
Analog Input Signals . . . . . . . . . . . . . . . . . . . . . . . . . .
27
3.2.1
28
Steer Angle Sensor . . . . . . . . . . . . . . . . . . . . . . .
vi
3.2.2
Brake Pressure Sensors . . . . . . . . . . . . . . . . . . . . .
28
3.2.3
Throttle Position Sensor . . . . . . . . . . . . . . . . . . . .
29
3.2.4
Gear Position Sensor . . . . . . . . . . . . . . . . . . . . . .
29
3.2.5
Inertial Measurement Unit . . . . . . . . . . . . . . . . . . .
29
Digital Input Signals . . . . . . . . . . . . . . . . . . . . . . . . . .
30
3.3.1
Wheel Speed Sensors . . . . . . . . . . . . . . . . . . . . . .
30
3.3.2
Engine Speed . . . . . . . . . . . . . . . . . . . . . . . . . .
31
3.4
Output Actuator . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
3.5
Software Development . . . . . . . . . . . . . . . . . . . . . . . . .
33
3.6
References and Targets . . . . . . . . . . . . . . . . . . . . . . . . .
34
3.6.1
Ground Reference Velocity . . . . . . . . . . . . . . . . . . .
34
3.6.2
Drivetrain Torque . . . . . . . . . . . . . . . . . . . . . . . .
35
3.6.3
Center Coupling Torque Transfer . . . . . . . . . . . . . . .
36
3.6.4
Brake Torque . . . . . . . . . . . . . . . . . . . . . . . . . .
36
3.6.5
Yaw Rate Reference
. . . . . . . . . . . . . . . . . . . . . .
37
3.6.6
Slip Angle Estimation . . . . . . . . . . . . . . . . . . . . .
37
Control Configurations . . . . . . . . . . . . . . . . . . . . . . . . .
41
3.7.1
Yaw Target Control . . . . . . . . . . . . . . . . . . . . . . .
41
3.7.2
Yaw Damping Control . . . . . . . . . . . . . . . . . . . . .
43
3.7.3
Yaw Target and Damping Control Combined . . . . . . . . .
43
3.7.4
Slip Velocity Control . . . . . . . . . . . . . . . . . . . . . .
43
Vehicle Configurations . . . . . . . . . . . . . . . . . . . . . . . . .
43
3.8.1
Passive Center Coupling . . . . . . . . . . . . . . . . . . . .
44
3.8.2
Rear Wheel Drive Only . . . . . . . . . . . . . . . . . . . . .
44
3.3
3.7
3.8
vii
3.9
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 Simulation Platform Configuration and Parameters
4.1
4.2
4.3
4.4
45
Simulation Environment . . . . . . . . . . . . . . . . . . . . . . . .
45
4.1.1
IPG CarMaker . . . . . . . . . . . . . . . . . . . . . . . . .
45
4.1.2
Matlab Simulink . . . . . . . . . . . . . . . . . . . . . . . .
46
4.1.3
Initialization Files . . . . . . . . . . . . . . . . . . . . . . . .
46
4.1.4
Scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
Vehicle Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
4.2.1
Powertrain . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
4.2.2
Differentials . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
4.2.3
Powertrain Rotational Dynamics . . . . . . . . . . . . . . .
52
4.2.4
Tires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
4.2.5
Mass Properties . . . . . . . . . . . . . . . . . . . . . . . . .
56
4.2.6
Suspension . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
4.2.7
Steering . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
60
4.2.8
Braking . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
4.2.9
General Parameters . . . . . . . . . . . . . . . . . . . . . . .
63
4.2.10 Alternate Vehicle Models . . . . . . . . . . . . . . . . . . . .
63
Model Stimulation . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
4.3.1
Real-Time Driving . . . . . . . . . . . . . . . . . . . . . . .
68
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
5 Results
5.1
44
70
Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . .
viii
70
5.1.1
Corner Exit Maneuver . . . . . . . . . . . . . . . . . . . . .
71
5.1.2
Accelerating Lane Change . . . . . . . . . . . . . . . . . . .
73
5.1.3
Accelerating Step Steer Response . . . . . . . . . . . . . . .
76
5.1.4
Autocross Laptime . . . . . . . . . . . . . . . . . . . . . . .
79
5.2
Slip Angle Velocity Estimate . . . . . . . . . . . . . . . . . . . . . .
79
5.3
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
6 Conclusions and Future Directions
84
6.1
Slip Angle Velocity Estimation . . . . . . . . . . . . . . . . . . . . .
84
6.2
Slip Angle Velocity Control . . . . . . . . . . . . . . . . . . . . . .
85
6.3
Simulation Platform . . . . . . . . . . . . . . . . . . . . . . . . . .
85
6.4
AWD to RWD Comparison . . . . . . . . . . . . . . . . . . . . . . .
86
6.5
Training and Validation Limitations . . . . . . . . . . . . . . . . . .
87
6.6
Embedded Controller Requirements . . . . . . . . . . . . . . . . . .
87
6.7
Future Direction . . . . . . . . . . . . . . . . . . . . . . . . . . . .
88
6.7.1
Vehicle Implementation . . . . . . . . . . . . . . . . . . . . .
88
6.7.2
Slip Angle Velocity Estimation Improvements . . . . . . . .
88
6.7.3
Fuzzy Control . . . . . . . . . . . . . . . . . . . . . . . . . .
89
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
91
6.8
References
92
A Glossary
96
A.1 Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
96
A.2 Math Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
98
ix
B Data
101
B.1 Component Inertia Values . . . . . . . . . . . . . . . . . . . . . . . 101
B.2 Autocross Road Profile . . . . . . . . . . . . . . . . . . . . . . . . . 103
B.3 Autocross Laptimes . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
C Code
106
C.1 CarMaker Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
C.1.1 Sound Feedback using Instrument Window Scripting . . . . 106
C.1.2 mass-AutocrossLaptimeSensitivity.tcl . . . . . . . . . . . . . 107
C.1.3 Normal Distribution Procedure . . . . . . . . . . . . . . . . 107
C.2 Controller Simulink Models . . . . . . . . . . . . . . . . . . . . . . 109
C.3 Neural Network Scripts . . . . . . . . . . . . . . . . . . . . . . . . . 111
C.3.1 Create Neural Network . . . . . . . . . . . . . . . . . . . . . 111
C.3.2 Concatenate Training Data . . . . . . . . . . . . . . . . . . 111
C.3.3 Build Neural Network and Training Data . . . . . . . . . . . 112
C.4 Fuzzy Membership Functions . . . . . . . . . . . . . . . . . . . . . 113
D Images
115
D.1 Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
D.2 Construction
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
D.3 Competition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
x
List of Figures
1.1
Gryphon Racing 2005 Formula SAE car. . . . . . . . . . . . . . . .
2
2.1
Dynamic bicycle model . . . . . . . . . . . . . . . . . . . . . . . . .
7
2.2
Longitudinal tire force vs slip ratio . . . . . . . . . . . . . . . . . .
10
2.3
Lateral tire force vs slip angle . . . . . . . . . . . . . . . . . . . . .
11
2.4
Tire friction ellipse and AWD torque transfer effect on yaw moment.
12
2.5
Calibration map from 2004 software . . . . . . . . . . . . . . . . . .
15
2.6
A simple neuron model . . . . . . . . . . . . . . . . . . . . . . . . .
22
2.7
A schematic representation of a perceptron. . . . . . . . . . . . . .
23
2.8
A perceptron using vector representation . . . . . . . . . . . . . . .
23
2.9
Vector representation of a multi-layer feedforward network. . . . . .
24
3.1
The electronic control unit . . . . . . . . . . . . . . . . . . . . . . .
27
3.2
Wheel speed sensor CAD model and implementation . . . . . . . .
30
3.3
CAD rendering of drivetrain layout for AWD hardware. . . . . . . .
32
3.4
Simulink model of vehicle velocity estimate function. . . . . . . . .
35
3.5
Simulink model of powertrain torque estimator function. . . . . . .
35
3.6
Simulink model of center coupling torque transfer estimator function. 36
xi
3.7
Simulink model of center coupling clutch torque function. . . . . . .
36
3.8
Simulink model of brake torque estimator function. . . . . . . . . .
37
3.9
Yaw rate target and error Simulink model. . . . . . . . . . . . . . .
38
3.10 Neural network topology for slip angle velocity estimation in vector
form. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
3.11 Main PID control loop Simulink model. . . . . . . . . . . . . . . . .
42
4.1
Flowchart of a scripted test run. . . . . . . . . . . . . . . . . . . . .
49
4.2
Torque, power, and loss curves for a FSAE engine . . . . . . . . . .
51
4.3
PDx3 parameter - longitudinal force sensitivity to camber. . . . . . .
55
4.4
Measured suspension motion ratio. . . . . . . . . . . . . . . . . . .
59
4.5
Damper mounting on instron for dynamic testing. . . . . . . . . . .
59
4.6
Compensated damper force vs velocity. . . . . . . . . . . . . . . . .
61
4.7
Measured wheel angle vs steer angle. . . . . . . . . . . . . . . . . .
62
4.8
Simulation representation of 2007 FSAE autocross course. . . . . .
67
5.1
Corner exit maneuver - slip angle. . . . . . . . . . . . . . . . . . . .
72
5.2
Corner exit maneuver - slip angle velocity. . . . . . . . . . . . . . .
72
5.3
Accelerating lane change manueuver - slip angle. . . . . . . . . . . .
74
5.4
Accelerating lane change manueuver - slip angle velocity. . . . . . .
74
5.5
Accelerating lane change manueuver - yaw rate. . . . . . . . . . . .
75
5.6
Accelerating lane change manueuver - lateral deviation. . . . . . . .
75
5.7
Accelerating lane change manueuver - center coupling stiffness . . .
76
5.8
Accelerating step steer maneuver - slip angle.
. . . . . . . . . . . .
77
5.9
Accelerating step steer maneuver - yaw rate. . . . . . . . . . . . . .
78
xii
5.10 Accelerating step steer maneuver - lateral acceleration. . . . . . . .
78
5.11 Training performance of neural network . . . . . . . . . . . . . . . .
80
5.12 Slip angle velocity estimate for corner exit maneuver . . . . . . . .
81
5.13 Slip angle velocity estimate for accelerating step steer maneuver . .
82
5.14 Slip angle velocity estimate for accelerating lane change maneuver .
82
5.15 Slip angle velocity estimate for autocross turn . . . . . . . . . . . .
83
6.1
90
Fuzzy controller rule surface. . . . . . . . . . . . . . . . . . . . . . .
C.1 Simulink model of main control loop . . . . . . . . . . . . . . . . . 109
C.2 Simulink model of main control loop, continued . . . . . . . . . . . 110
C.3 Fuzzy membership function for slip angle velocity input. . . . . . . 113
C.4 Fuzzy membership function for yaw rate error input. . . . . . . . . 114
C.5 Fuzzy membership function for coupling stiffness output. . . . . . . 114
D.1 Detail of Haldex housing design. . . . . . . . . . . . . . . . . . . . . 116
D.2 Detail of Haldex output shaft design. . . . . . . . . . . . . . . . . . 117
D.3 Detail of differential side input flange design. . . . . . . . . . . . . . 118
D.4 Detail of engine side output flange design. . . . . . . . . . . . . . . 119
D.5 Detail of carbon fibre driveshaft design. . . . . . . . . . . . . . . . . 120
D.6 Start of machining Haldex housing from raw aluminum billet. . . . 121
D.7 Rough machined Haldex housing. . . . . . . . . . . . . . . . . . . . 122
D.8 Completed haldex housing with 2004 chain drive. . . . . . . . . . . 123
D.9 Gryphon Racing 2005 Formula SAE car staged for autocross event.
124
D.10 Discussing AWD system with a design judge at 2005 competition. . 125
D.11 Gryphon Racing 2005 Formula SAE car in skidpad event. . . . . . . 126
xiii
List of Tables
4.1
Directory Structure . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
4.2
Equivalent gear ratios for primary drive reduction. . . . . . . . . . .
51
4.3
Rotational inertia of drivetrain components. . . . . . . . . . . . . .
53
4.4
Measured vehicle mass distribution. . . . . . . . . . . . . . . . . . .
56
4.5
Component mass and inertia data for simulation. . . . . . . . . . .
57
4.6
Corner exit procedure. . . . . . . . . . . . . . . . . . . . . . . . . .
65
4.7
Accelerating step steer procedure. . . . . . . . . . . . . . . . . . . .
66
4.8
Accelerating lane change procedure. . . . . . . . . . . . . . . . . . .
66
5.1
Fastest laptimes for the autocross course . . . . . . . . . . . . . . .
79
6.1
Ruleset for fuzzy control of yaw error and slip angle velocity . . . .
90
B.1 Calculated inertia values for drivetrain components. . . . . . . . . . 102
B.2 List of autocross laptime progression for each configuration. . . . . 105
xiv
Chapter 1
Introduction
The Society of Automotive Engineers holds a motorsports engineering competition
each year in which schools develop a small prototype formula car. The University
of Guelph entered the Formula SAE competition in 2003 with their first car and
returned to the 2004 competition having developed and build the first all-wheeldrive layout to compete. The 2004 car exceeded the teams goals, having placed
17th of the 125 entries that year. The vehicle was heavily redesigned for 2005,
shown in Figure 1.1, but its success was limited by a lack of testing time.
The simple traction-based control system software developed in 2004 also had
adverse effects on handling performance and did not actively contribute to vehicle
stability.
1
CHAPTER 1. INTRODUCTION
Figure 1.1: Gryphon Racing 2005 Formula SAE car.
2
CHAPTER 1. INTRODUCTION
1.1
3
Problem Statement
There was a need for a more advanced control system for the FSAE vehicle to be
developed. It was constrained to the existing actuator, and low cost, commonly
available sensors could be incorporated. A full vehicle simulation with softwarein-the-loop testing for the control software was required to aid the system design
process and avoid vehicle run time for tuning.
1.2
Objectives of this Thesis
Along with the main problem of creating a new control system design and simulation
platform, there were several other goals for this project. The first goal was to apply
the principles of soft computing to vehicle dynamics control. Research technology
transfer towards direct production-level implementation should provide valuable
experience for this field.
The second goal was to reference the traditional rear-wheel-drive Formula SAE
hardware configuration in simulation to verify the benefit of an all-wheel-drive
drivetrain. Only basic calculations and qualitative data exist with the race team
to validate their design decision. Positive simulation results could provide much
needed support to judged vehicle design section of competition.
The final goal was to move algorithm development from hand-written C-code
to a high-level design language with automatic code generation. This should ease
transfer and division of algorithm design tasks with a more intuitive and illustrative
format. Rapid algorithm development could then proceed with minimal impact
from coding details and symantics.
CHAPTER 1. INTRODUCTION
1.3
4
Contributions of this Thesis
This thesis will present a novel all-wheel-drive active torque transfer controller using a neural network estimated slip angle velocity from generic vehicle dynamic
sensors. This controller specifically targets a racing vehicle by allowing rapid direction changes for maneuverability but damping slip angle changes for increased
controllability. Additionally, this project was able to provide a simulation platform
and key vehicle parameters to the current race team.
1.4
Organization of this Thesis
In the next chapter, the principles of vehicle dynamics and tire models will be
reviewed along with details how the Formula SAE project evolved. Following this,
a literature review on methods of stability control will be examined, leading to
a hypothesis to develop a control system. Chapter 3 will focus on the control
system and algorithm design with a look at the prototype controller, sensors, and
actuators to be used. A software solution is then presented. To support algorithm
and design testing, Chapter 4 will outline configuration of a software-in-the-loop
simulation platform, and the work to calculate, estimate, or generate the many
vehicle parameters required in software. Results from testing in simulation are
presented in Chapter 5 with a discussion and conclusions in Chapter 4, including
some future direction.
Chapter 2
Background and Literature
Survey
In this chapter, principles of vehicle dynamics and tire models will be initially investigated to understand how all-wheel-drive torque transfer affects vehicle stability.
Secondly, how the Formula SAE project evolved will be reviewed to understand the
problem, requirements, and constraints for a solution. Existing methods of stability
control are next examined in published literature. This leads to a hypothesis to
develop a novel control system using a neural network estimated slip angle velocity,
and a review of those basic principles along with the function of neural networks.
2.1
Vehicle Dynamics
The interaction of the all-wheel-drive system torque to the front wheels and subsequently tires and then road, directly affects how the vehicle mass dynamically
5
CHAPTER 2. BACKGROUND AND LITERATURE SURVEY
6
reacts to the tire forces. Vehicle dynamics are a subset of mechanical dynamics
devoted to resolving vehicle motion due to applied forces heavily influenced by tire
dynamics.
2.1.1
Axis Convention
In order to correctly represent forces, moments, and velocities along with their
polarity, an axis convention standard must be adhered to in all calculations. ISO
8855:1991 was chosen as the axis convention for this thesis [Orga91], which uses a
vehicle body referenced right-hand coordinate system. From a driver point-of-view,
x-axis is forward, y-axis to the left, and z-axis up, with positive angles forming
clockwise from above the axis.
This differs from SAE convention [oAE76] which is referenced in many dynamics
texts. In such a system x-axis is forward, y-axis to the right, and z-axis down, with
positive angles forming counterclockwise from above the axis. SAE J670 (2008)
supersedes J670e and allows for either coordinate system to be used [oAE08].
2.1.2
Kinematic Model
A kinematic bicycle model is a useful concept that combines front and rear tire
contact patches into single entities in a configuration resembling a bicycle [Mill95].
It assumes low velocity and small slip angles such that the front and rear tire
velocity vectors are aligned with the vehicle heading. This dynamic model ignores
effects of lateral load transfer and steering effects due to suspension geometry. All
vectors, forces, and angles shown in Figure 2.1 are positive values in this coordinate
CHAPTER 2. BACKGROUND AND LITERATURE SURVEY
7
Figure 2.1: Dynamic bicycle model in a steady state turn.
system.
Center of gravity (CG) is located at a distance, b, from the front axle and c
from rear for a total wheelbase equal to L. The model is assumed to be in steadystate conditions, such that with fixed steering angle (δ) and velocity (v), the vehicle
rotates around point O in a circle of radius, R, with a yaw rate (r) around CG. The
vehicle velocity vector (v) is tangent to the circular path but angled from vehicle
heading (x) by vehicle slip angle (β). Each tire also has a velocity tangent to O
and the angle from tire heading to velocity results in tire slip angle (α), which
generates lateral force (Fy ) with both front tire forces are combined into a single
CHAPTER 2. BACKGROUND AND LITERATURE SURVEY
8
axle force (Fy,f ), along with Fy,r for the rear axle. Similarly, longitudinal tire forces
are combined for a front (Fx,f ) and rear (Fx,r ) axle force. This simplified vehicle
has a mass, m, and rotational inertia, Iz .
The three degrees of freedom Newton-Euler equations for vehicle frame, x, y, and
rotation around z, in reference to global frame, provide a total vehicle longitudinal
force (Fx ), lateral force (Fy ), and rotation moment (Mz ), and are given as
Fx = m (v̇x − vy r) ,
(2.1)
Fy = m (v̇y + vx r) ,
(2.2)
Mz = ṙIz ,
(2.3)
where vx is the lateral component, and vy the longitudinal component of vehicle
velocity. Resolving free-body forces and moments around the center of gravity (CG)
results in
Fx = Fx,f cos δ − Fy,f sin δ + Fx,r ,
(2.4)
Fy = Fy,f cos δ + Fx,f sin δ + Fy,r ,
(2.5)
Mz = bFy,f − cFy,r + Mz,f + Mz,r .
(2.6)
Assuming small steer angle (δ) and no rotational moment from tire forces Mz,f and
Mz,r , these equations combine to simplify into
m (v̇x − vy r) ≈ Fx,f + Fx,r ,
(2.7)
m (v̇y + vx r) ≈ Fy,f + Fy,r ,
(2.8)
ṙIz ≈ bFy,f − cFy,r .
(2.9)
CHAPTER 2. BACKGROUND AND LITERATURE SURVEY
9
From this point, lateral and longitudinal forces need to be resolved from tire properties. In racing applications tires are pushed past a predictable region with linear
characteristics, and well into their non-linear region. We will explore this by looking
at the specific characteristic, parameters, and functions of tires.
2.1.3
Tires
There are three fundamental forces generated by a tire: traction force, cornering force, and aligning moment. The major independent variables affecting these
forces include normal force, slip ratio, slip angle, temperature, and surface friction
[Pace06].
Traction force is longitudinal force (Fx ) generated in the direction corresponding
to the wheel rotation plane intersecting the ground plane. The compressed section
of tire interfacing with the ground surface is called the contact patch. As torque
is applied to a tire, the rubber interface to the ground compresses as it reaches
the leading edge of the contact patch and relaxes as it exits. This causes the two
surfaces to slip, such that there is a difference between the circumferential linear
tire velocity and the ground velocity in the tire longitudinal direction (vx ). The tire
linear velocity is calculated from the rotational velocity of the wheel (ω) multiplied
by the effective radius of the contact patch (Rg ) due to tire compression. The slip
ratio (κ) is calculated as
κ=
Rg ω
−1,
vx
(2.10)
and is positive for traction and negative in braking.
Figure 2.2 shows a typical traction force curve at multiple normal loads. For
10
CHAPTER 2. BACKGROUND AND LITERATURE SURVEY
1000
800
600
1000
100N
300N
500N
800
600
400
400
200
200
−0.2
−0.15
−0.1
−0.05
0.05
0.1
0.15
0.2
Slip Ratio (−)
−200
−400
−600
−800
−1000
−0.2
−0.15
−0.1
Longitudinal Force (N)
−0.05
0.05
0.1
0.15
0.2
Figure 2.2: Longitudinal tire force vs slip ratio for D2692 Goodyear tire, generated
from Tire Testing Consortium data.
simplification at low slip ratios, below 0.025 on the 500 N curve in this example,
the longitudinal force function can be treated as a linear function with a stiffness
coefficient constant (Cx ) as line slope. It can also be normalized to vertical load
with the ratio of normal load (Fz ) to nominal normal load (Fz,NOMIN ), given as
Fx = Cx κ
Fz
Fz,N OM IN
.
(2.11)
Above peak slip ratio of 0.1 on the 500 N curve, the longitudinal force begins to
decrease along with a significant increase in tire wear and heat. Achieving peak
slip ratio is important in racing to maximize vehicle performance. Cornering force
is lateral force (Fy ) generated normal to the wheel rotation plane. When the wheel
rotation plane is angled from the tire velocity vector, rubber on one side of the
tire will compress are relax on the opposing side. This angle is called slip angle,
α. Figure 2.3 shows the lateral force curve shape with changing slip angle, no
11
CHAPTER 2. BACKGROUND AND LITERATURE SURVEY
1000
1000
800
800
600
600
400
400
200
200
−0.2
−0.15
−0.1
−0.05
−200
0.05
0.1
0.15
0.2
Slip Angle (rad)
−400
−600
−800
−1000
−0.2
−0.15
−0.1
−0.05
Lateral Force (N)
0.05
0.1
0.15
0.2
Figure 2.3: Lateral tire force vs slip angle for a D2692 Goodyear tire at 500 N
normal load, generated from Tire Testing Consortium data.
longitudinal force, and fixed normal load. Similar to the longitudinal force curve,
it increases linearly at low slip angles, then peaks and decreases.
Most tire models also include an aligning moment model, which is a z-axis
wheel torque due to the effective point of lateral force being offset from tire contact
patch center point. Its effect on dynamics is small and can be ignored in this case.
Aligning moment calculations are important in steering effort calculations because
steering mechanism and driver must counteract front wheel moments.
2.1.4
Friction Ellipse Concept
The friction ellipse concept is a simplification of the interaction between maximum
lateral force of a tire against maximum longitudinal force [Pace06]. If the tire is at
maximum traction force then the tire is not able to create a lateral force and vice-
CHAPTER 2. BACKGROUND AND LITERATURE SURVEY
12
Figure 2.4: Tire friction ellipse and AWD torque transfer effect on yaw moment.
versa. Otherwise, the tire is able to create a combination of lateral and longitudinal
force that, when plotted, form the shape of an ellipse as shown in Figure 2.4.
This is an important concept in stability control because the addition or reduction of torque to an axle affects its ability to generate cornering force. Thus, in an
AWD system, the transfer of torque from the rear to the front will add lateral force
capability in the rear and reduce capability in the front. Revisiting Equations 2.8
and 2.9, a simultaneous decrease in Fy,f and increase in Fy,r results in no change in
lateral acceleration (v˙y ) but a significant change in yaw rate (ṙ). As the vehicle is
traveling along a curved path, decreasing yaw rate will reduce vehicle slip angle to
CHAPTER 2. BACKGROUND AND LITERATURE SURVEY
13
provide stability. Since control comes from transferring torque to the front wheels,
maximum control is available when large amounts of torque are applied, such as a
racing corner-exit situation.
2.2
Problem Definition in Detail
A more detailed look at the target vehicle for this system is required to understand
the constraints on the design. This section will outline Formula SAE competition
and the Gryphon Racing vehicles that were constructed to race.
2.2.1
Formula SAE
Formula SAE is a racing series sanctioned by the Society of Automotive Engineers
to allow colleges and universities to design, build, and race small formula cars. The
series has roots back to the 1978 Mini-Indy series in Texas [oAE12], and has grown
to seven competitions worldwide. Students are challenged to build a fast car for
a series of dynamic events, while considering the business and engineering aspects
of the design by competing in static judged events. Dynamic events include a
75 m timed acceleration, lateral acceleration on a skidpad, single lap autocross, and
22 km endurance race. Designs are only constrained to meet safety requirements,
along with a 20 mm diameter engine intake restrictor and maximum 600 cc engine
size to limit power output. The design decicions generally resolve to 13” versus 10”
diameter tires, single cylinder light-weight versus powerful four-cylinder engines,
and inclusion of aerodynamic devices. Most design solutions involve transverse
mounted engines with a chain driven rear axle.
CHAPTER 2. BACKGROUND AND LITERATURE SURVEY
2.2.2
14
Gryphon Racing Background
Gryphon Racing formed in 2002 to design and build a car for the 2003 Michigan
Formula SAE competition. This first entry was sturdy in construction with a novel
longitudinal engine layout and simple direct-drive rear differential. However its
300 kg mass (without driver) from a primarily mild steel construction did not make
it appealing from a design perspective. A mass of 225 kg was generally regarded
as the maximum to make design judging semi-finals. In competing in the 2003
competition, it was objectively observed that being able to accelerate out of corners
was more important than maximum lateral capability. For 2004 an all-wheel-drive
(AWD) design was chosen to provide best possible acceleration from tight short
courses. Drivetrain layout included a prototype hydraulic-actuated limitied-slip
coupling (LSC) supplied by Haldex Traction Ltd to control torque transfer to the
front axle. Rear axle remained direct drive to the transmission output flange but
through a lovejoy coupling to allow for misalignment, flex, and absorb shock load.
The LSC was chain driven and then supplied torque to the front differential through
a conventional aluminum driveshaft with double U-joints. It resulted in a car 25 kg
lighter and was able to finish all events– despite reliability issues. The 2005 redesign
focused on refinement and weight reduction. A toothed drive belt replaced the
chain drive and carbon fibre driveshaft was used in place of aluminum. The rear
differential and transmission output were directly connected to remove the lovejoy
coupling and shorten chassis wheelbase. A redesign of the outer hubs integrated
wheel bearing, wheel hub, and constant-velocity (CV) joint assemblies to reduce
distance from the CV joint pivot point to steering axis for torque steer reduction.
CHAPTER 2. BACKGROUND AND LITERATURE SURVEY
15
Figure 2.5: Calibration map from 2004 Gryphon Racing control algorithm software
showing center coupling output stiffness command as a function of lateral and
longitudinal acceleration.
The result was a more reliable vehicle with mass reduced to 240 kg.
2.2.3
Existing Control Method
A control system designed for the 2004 car carried over into 2005 as well. It used
a simple feed-forward calibration map lookup based on lateral and longitudinal
acceleration, with a full throttle locking function.
Figure 2.5 shows how coupling stiffness was tuned to increase with longitudinal
acceleration, and reduced as lateral acceleration approaches peak. This allowed
throttle-controlled increased yaw rotation (oversteer) by the driver at mid-corner,
and also LSC locking as the car accelerated on corner-exit. The effect of this
control system was to only passively reduce oversteer on corner exit and would
CHAPTER 2. BACKGROUND AND LITERATURE SURVEY
16
cause a decrease of yaw rotation (understeer) in most cases.
An entire overhaul of the control system was required, so the next section will
review literature on existing stability control strategies to gather insight on possible
solutions.
2.3
Dynamic Stability Control Strategies
Dynamic stability control (DSC) broadly defines any vehicle control system, mechanical or electrical, with the purpose of keeping the vehicle stable or drivable
when a vehicle is near its handling limits. Its purpose is to stabilize the vehicle in
adverse conditions to improve safety and driver control. There are several methods
to accomplish this, and the popularity greatly depends on cost to implement and
complexity.
Dynamic Stability Control is now common on high-end vehicles [Visc04] and the
National Highway Traffic Safety Authority (NHTSA) has made it a requirement
for vehicles under 4536 kg starting to phase in model-year 2012 [Admi07]. Also,
safety rating agencies such as the Insurance Institute for Highway Safety (IIHS)
and EuroNCAP now require stability control to achieve top rankings [Farm10].
The following sections sample some of the major stability control systems developed for road-going vehicles.
2.3.1
Independent Brake Control
Brake Control is currently the most common stability control method and is commonly referred to as Electronic Stability Control (ESC) or Electronic Stability
CHAPTER 2. BACKGROUND AND LITERATURE SURVEY
17
Program (ESP). It uses the separate corner hydraulic circuits of the anti-lock brake
(ABS) system to differentially actuate brakes on one side of the vehicle when the
measured yaw rate does not match what the driver is intending. Its main advantage
is that ABS is now standard on most new vehicles [Kin03], which makes the system
low-cost. However, the actuation of brakes to increase stability is not desirable in
some situations, most notably during performance or competitive driving. Actuation of braking is intrusive to the driving experience, since net torque propelling
the vehicle is changed, and this introduces a noticeable deceleration (or reduction
of acceleration).
2.3.2
Dynamic Roll-Moment Distribution
A neutral understeer to oversteer balance is achieved through dynamic adjustment
of roll-bar stiffness. This changes the roll-moment distribution between the vehicle
front and rear axles due to the non-linear load sensitivity of the tires [Coop05].
A passive implementation of this method is simple, but it does not have a rapid
response time and can only fine-tune the stability. Active roll control can also be
implemented [Gaff09], but has high power requirements and system complexity to
force roll moments on an axle.
2.3.3
Active Steering
Active steering supplements the drivers steering input on the front wheels with adjustments for disturbances and stability control [Mamm02]. The actuating mechanism integrates with the power steering system and provides excellent response
CHAPTER 2. BACKGROUND AND LITERATURE SURVEY
18
to straight line disturbances. However, due to safety concerns the magnitude of
control is limited to small corrections.
2.3.4
Rear-Wheel Steering
By adding steering actuation to the rear wheels, the system can rapidly influence
yaw rate and slip angle in any situation [Abe01]. Rear-wheel steering is costly
due to the power, control, and safety requirements of the steering actuator and it
requires a multi-link, independent rear suspension design.
2.3.5
Torque Vectoring Differential
A yaw moment is induced by driving different torques to the left or right wheel
using a torque vectoring differential in place of a standard open differential [Felt06,
Whea06]. Such variable torque distribution methods are popular due to the level
of responsiveness and the ability to significantly increase acceleration traction compared to a common open differential. The disadvantage is that the complexity and
cost of the differential is increased along with a small increase in mass and power
loss.
2.3.6
AWD Active Torque Biasing Center Couplings
A passive center torque transfer device (either a differential or coupling) is replaced
with an active torque biasing unit [Ando05, Piya06a, Whea04]. This allows control
of the torque transfer to either add/remove longitudinal force on an axle in order
to change its lateral cornering force.
CHAPTER 2. BACKGROUND AND LITERATURE SURVEY
2.3.7
19
Summary of Stability Control Systems
These methods of achieving stability control are mainly focusing on road-going
vehicles for safety purposes. For racing purposes, a stability control system should
have high control authority, smooth and predictable actuation, and minimal velocity
reduction during activation. Most racing series ban stability control systems and
actuators to keep costs and complexity down. In the next section we will look at
how to tailor a control system design for this very specific application.
2.4
Hypothesis
There were several factors that combined to make the Formula SAE car difficult to
control. The narrow RPM band with peak engine torque was difficult to anticipate
and manage. High friction race slick tires gave little audible feedback at the limit
and could change characteristics quickly due to tread temperature changes. The
low polar moment of inertia, quick steering, tight damping, and high ride frequency
all contributed to make the steering and throttle response of the vehicle significantly
faster than a normal road-going vehicle and too responsive for a novice driver to
feel comfortable. Existing control methods are safety focused and tend to use yaw
rate as a reference, which is easily measurable with low-cost sensing technology.
However, reducing yaw rate is not desirable in some performance driving situations.
A novel control method was needed to increase controllability by damping the slip
angle changes without inhibiting a fast control response. This would provide fast
corner turn in while still maintaining a high yaw rate in tight radius corners. The
main obstacle was that slip angle can only be measured at sufficient bandwidth
CHAPTER 2. BACKGROUND AND LITERATURE SURVEY
20
with expensive laser ground reference equipment (differential GPS can only achieve
10 Hz, which is too slow to control). Slip angle velocity must then be estimated
from the existing set of easily measured or estimated dynamic parameters, such as:
wheel speeds, vehicle speed, yaw rate, lateral acceleration, longitudinal acceleration,
engine torque, brake torque, and steering angle.
2.5
Slip Angle Velocity Estimate
In this section we will look at existing approaches to slip angle estimation and how
they could be applied to generate a slip angle velocity signal.
2.5.1
Slip Angle Estimation
A model based approach to slip angle estimation is robust against sensor bias, but
is sensitive to disturbances or the accuracy of the parameters [Piya06b] and requires
a very accurate tire stiffness coefficient estimate. A kinematic approach is not as
sensitive to parameters or disturbances but requires the integration of sensor data
which introduces bias issues [Hac00]. Solutions have been proposed to combine
model-based approach at low frequency and kinematic approach at high frequency
with good results [Piya06b]. Alternatively, soft computing has been used to train
a neural network to estimate slip angle with reasonable success and overcome the
non-linearity of the solution [Sasa00]. However, for this system we are attempting
to solve specifically for the slip angle velocity rather than differentiating these slip
angle estimates.
CHAPTER 2. BACKGROUND AND LITERATURE SURVEY
2.5.2
21
Soft Computing in Vehicle Control Systems
Soft computing and other high level control methods are being developed due to the
complex, non-linear nature of vehicle dynamics. Neural network models have been
developed to map steering angle and vehicle velocity to the expected yaw rate response [Taha04]. Fuzzy control has been used for stability control using independent
brake application [Boad05], as well as active suspension control [Dura02, Shar05].
The key feature of artificial neural networks is their ability to approximate complex
non-linear functions through training. If a reference slip angle velocity output is
available through simulation, a network could be trained with simulation data to
estimate this value and then applied to the actual vehicle without sensing capability.
2.5.3
Artificial Neural Networks
Initial research into biological neurons was exploratory to understand their function
[Rose62]. A consequence of this research was the discovery of pattern classification
and non-linear function approximation capabilities of simple networks of neurons.
Additionally, weighting and interconnection of neurons along with the determination of their values are more important than the neuron model itself.
2.5.4
Neuron Model
In the soft computing definition, a neuron is a mathematical function approximating
the electrical and connection mechanisms of a biological neuron. An approximation
of a neuron, shown in Figure 2.6, receives a vector of m input signals from u input
sources or other neurons, which are weighted by vector w, summed, and then biased
CHAPTER 2. BACKGROUND AND LITERATURE SURVEY
22
Figure 2.6: A simple neuron model showing input weights, bias, and possible activation functions.
by a singular value b. A simple activation function then generates an output signal,
y.
For example, the vector form for a hard-limit activation function used for classification is given as
y1 = hardlimit(w~1~u + b1 ) ,
where hardlimit(a) =
0 if a < 0 ,
(2.12)
1 if a ≥ 0 .
A linear transfer function is typically used to scale output neurons past unity values, while a logarithmic or hyperbolic tangent sigmoid transfer function are used
for intermediary neuron connections. Both linear and sigmoid transfer functions
are differentiable, which will decrease system training time with complex training
algorithms.
2.5.5
Perceptron Network
The neuron model presented in the previous section is compatible with a typical
Rosenblatt perceptron, which is a layer of connected neuron models. A classification
CHAPTER 2. BACKGROUND AND LITERATURE SURVEY
23
Figure 2.7: A schematic representation of a perceptron.
perceptron with m inputs and n neurons is shown in Figure 2.7.
A perceptron’s main advantage is the Rosenblatt Principal Convergence Theorem, in which a linearly separable data set is capable of perfect classification with
training. For example, 3-dimensional points separable by a plane surface can be
classified by a simple network.
2.5.6
Backpropogation Network
The perceptron diagram from Figure 2.7 can be represented in vector form for
simplification, as shown in Figure 2.8.
Figure 2.8: A perceptron using vector representation.
CHAPTER 2. BACKGROUND AND LITERATURE SURVEY
24
By adding a hidden layer of neurons between input and output layers, the
network shown in Figure 2.9 becomes capable of approximating any function with
a finite number of discontinuities [Rume86].
Figure 2.9: Vector representation of a multi-layer feedforward network.
2.6
Summary
In Chapter 3 the vehicle dynamics and neural network theory will be used to formulate a control system design strategy. This will be followed by the simulation
method in Chapter 4 to verify the control system design functionality and compare
it against existing systems.
Chapter 3
Control System and Algorithm
Design
This chapter will look at system components and then formulate a control strategy.
The automotive industry typically prefers low cost parts with associated extra software complexity to a simple implementation with expensive or unproven sensors.
The scope of this project does not cover on-vehicle testing, however the control
system design was purposefully constrained to the existing electronic control unit,
actuator, and readily available sensors so that a solution could be easily implemented. We will start this chapter with details of these physical system components. Section 3.1 will outline details of the electronic control unit which executes
the control system software and interfaces with system inputs (Section 3.2 and 3.3)
and limited-slip center coupling actuator(Section 3.4). Later, measured inputs will
be combined in software to create control targets and reference values in Section
3.6. Finally, Section 3.7 will explain several system configurations to compare the
25
CHAPTER 3. CONTROL SYSTEM AND ALGORITHM DESIGN
26
novel slip-angle velocity control software against more conventional yaw control
methods, and will additionally reference against alternate hardware configurations.
3.1
Electronic Control Unit Design
A proprietary electronic control unit (ECU) was designed, built, and tested specifically for use in this vehicle. The combined processor and interface boards are shown
in Figure 3.1. The processor board was an Axiom PB555 microprocessor module
with built-in oscillator and voltage supply driving a Freescale MPC555 chip. This
was the controller core with a 32-bit central processor unit running at 40 MHz clock
speed, and used the Freescale CPU32 instruction set with floating-point calculations. The interface board was a prototyped four-layer circuit board containing
analog, digital, and serial data interfacing hardware.
The controller core included dual on-board Controller Area Network (CAN)
v2.0 communications which were interfaced to 500 kbit/s 2-wire transceivers. Dual
serial control interfaces (SCI) combined with RS232 drivers provided serial data at
57600 baud. The serial peripheral interface (SPI) controller was used to interface to
an on-board logging SD card, wide-band oxygen sensor amplifier, and a digital to
analog output driver. The MPC555 controller core also featured a Time Processor
Unit (TPU) to independently measure digital signal frequency and pulse periods,
or to drive synchronized pulsed outputs without interrupting the CPU processing.
CHAPTER 3. CONTROL SYSTEM AND ALGORITHM DESIGN
27
Figure 3.1: The electronic control unit with updated interface board and housing.
3.2
Analog Input Signals
In this section, we will discuss the subset of sensors which are connected to the
ECU with an analog voltage representing physically measured data. The in-chip
analog to digital converter (ADC) unit supported up to 64 inputs with 10 bit digital
resolution. With a 5 V reference, this gave a maximum signal accuracy of ±0.05%.
Sixteen of these inputs were externally interfaced with an amplifier to provide
isolation, and gain was set to unity for most signals. External analog input signals
were also weakly tied with large resistance to ground, reference, or both to provide
fixed bias for a default behavior if the signal line is severed. Small capacitors were
also used for high frequency noise filtering.
CHAPTER 3. CONTROL SYSTEM AND ALGORITHM DESIGN
3.2.1
28
Steer Angle Sensor
The steering angle sensor in a production vehicle is typically an encoder which
is calibrated to center when the wheel speeds are the same and no yaw rate is
measured, indicating a straight driving condition. It can also be calibrated using the
lag of the yaw rate to the steering response [Tsen99]. Since the Formula SAE car has
only 200 degrees of steering angle and was primarily used in a testing environment,
a simple potentiometer was easier to implement. To remove the effects of lash
and univeral-joint accelerations in the steering column, a linear potentiometer was
connected directly to the rack instead of a gear driven angular potentiometer or an
encoder.
3.2.2
Brake Pressure Sensors
The braking torque of each wheel was required to determine Fx acting on the tire
contact patch. This was derived from the brake line pressure using the caliper
piston diameter, rotor diameter, and friction coefficient. Front and rear pressures
were measured independently to account for an adjustable bias setting in the pedal.
The sensor was chosen with a voltage driven output to 1000 psi, since the designed
maximum pressure for the brake system was 711 psi. Measurement Specialties MSP300-1000-P-4-A-1 pressure transducer matched the requirements but were limited
to a maximum temperature compensation of 55o C. These were installed close to the
master cylinders to keep the temperatures low. Output signal was a self-regulated
0-5 volt signal, linearly proportional to pressure.
CHAPTER 3. CONTROL SYSTEM AND ALGORITHM DESIGN
3.2.3
29
Throttle Position Sensor
The throttle position sensor was a 5 V referenced potentiometer on the shaft of
the throttle plate. It was calibrated such that idle stop position was zero and full
throttle was 100 percent.
3.2.4
Gear Position Sensor
A gear position sensor simplified engine torque output calculations because wheel
speed did not need to be compared against engine RPM to determine torque multiplication ratio. The sensor included on the GSX-R600 engine was a multi position
switch with fixed resistance values for each gear position. When excitied by 5 V
through a voltage divider, each gear was represented within a voltage band. The
signal tended to be noisy and drifted due to temperature effects, so it required
heavy filtering and debouncing on transitions.
3.2.5
Inertial Measurement Unit
A Bosch 0247800622 inertial measurement unit provided lateral acceleration, longitudinal acceleration and yaw rate data over the 500 kbps CAN bus at a rate of
10ms per sample, with its own internal analog to digital conversion, filtering and
diagnostics. The unit was mounted in close proximity to vehicle center of gravity
to avoid the extra calculations required to isolate signals from off-axis motions.
CHAPTER 3. CONTROL SYSTEM AND ALGORITHM DESIGN
3.3
3.3.1
30
Digital Input Signals
Wheel Speed Sensors
Wheel speed sensors determined wheel slip ratio as well as speed difference across
the center coupling. Honeywell GT101 hall-effect sensors were used which output a
5 V digital signal that, unlike variable reluctance sensors, did not require hardware
signal conditioning. A ferrous metal wheel with a 2 mm wide tooth and 8 mm gap
was specified in the sensor documentation which required 32 teeth for a 100 mm
diameter toothed wheel. At maximum vehicle velocity of 160 km/h this resolved
to a maximum rate of 905 Hz. To make the sensor implementation the same front
and rear, the trigger wheel was welded to the inboard flange of the outer constant
velocity joint, with a new CV joint boot mounting flange (Figure 3.2). The wheel
was laser cut from 0.1875 inch thickness steel plate.
Figure 3.2: Wheel speed sensor CAD model (left) and actual implementation
(right).
CHAPTER 3. CONTROL SYSTEM AND ALGORITHM DESIGN
3.3.2
31
Engine Speed
A variable reluctance sensor driven by an 8-tooth wheel provided the engine speed
signal. The varying-amplitude sinusoidal output was conditioned with an LM1815
variable reluctance sense amplifier integrated circuit to provide a digital 5 V signal.
The period of this signal was calculated using an input channel to the TPU, which
was running the Programmable Time Accumulator function.
3.4
Output Actuator
The torque transfer actuator for this control system was a hydraulically-actuated,
electronically controlled, limited-slip coupling (LSC) prototype produced by Haldex
Traction Ltd. As illustrated in Figure 3.3, a Gates syncronous belt drive from the
transmission output connected the input side of the LSC while the output side drove
the front differential through a filament-wound carbon fibre driveshaft custom made
by Torqline CTG in England.
Inside the case, a clutch pack transfered torque if there was a difference in input and output rotational velocities (∆ωc ). This delta speed also drove an annular
pump to create hydraulic pressure and the clutch packs were actuated by a hydraulic piston. An electronic pump also provided some pressure in low delta speed
situations. Microprocessor controlled valves bled hydraulic pressure to maintain a
coupling torque to delta speed ratio called stiffness. Valves also bled to protect the
clutches with a maximum torque to 300 Nm. Maximum engine torque available in
first gear at the transmission output was 295 Nm, so worst case transfer requirements with zero rear tire friction was not a performance limiting factor. The LSC
CHAPTER 3. CONTROL SYSTEM AND ALGORITHM DESIGN
Figure 3.3: CAD rendering of drivetrain layout for AWD hardware.
32
CHAPTER 3. CONTROL SYSTEM AND ALGORITHM DESIGN
33
control command, Cc , was broadcast via serial data CAN message to the LSC microcontroller as a coupling stiffness in units of MBengt, and a feedback coupling
stiffness was also received. The estimated clutch pressure (Pc ) was derived from
coupling stiffness feedback using coupling delta speed, as
2
Cc ∆ωc
Pc =
,
Kc
(3.1)
where the constant, Kc = 7.89 × 105 , was provided by Haldex. Also provided was
a dynamic friction coefficient estimate, µc , for the 8 clutch surfaces, slave cylinder
area, As , and an effective clutch radius, Rc , such that a torque transfer, τc , could
be estimated with
τc = 8µc Rc Pc As .
3.5
(3.2)
Software Development
The process of creating software in the automotive environment has evolved considerably since introduction of the microcontroller. First applications were programmed in machine language and required intimate interaction with software architecture whilst performing only basic functionality with simple task scheduling.
The roll of an embedded software designer is to act with the physical world and
does not necessarily require extensive knowledge of underlying computer science
[Lee02]. The introduction of first levels of abstraction provided C code application
interfaces to a base hardware and operating system interface. The embedded system designers could then focus on algorithm design. Most automotive embedded
systems now run a full task-scheduling operating system and algorithm design is
abstracted one level further to use graphical tools to illustrate system software func-
CHAPTER 3. CONTROL SYSTEM AND ALGORITHM DESIGN
34
R
[Inc07]
tion during design and development [Youn06]. The MathWorks Simulink
was used as the algorithm tool for this system to facilitate rapid system design,
for availability of native MPC555 code generation, and for compatibility with the
simulation system outlined in the next chapter.
3.6
References and Targets
In this section, vehicle state and system parameters were identified and formulated
into a software implementation.
3.6.1
Ground Reference Velocity
Determining vehicle velocity based on wheel speed sensors alone is not a trivial
task. For instance, at full braking all wheels could be locked or at a high slip ratio, such that no one wheel would indicate vehicle velocity. Tire rolling radius will
also change with velocity, tire pressure, temperature, and vertical load. Various
techniques exist to combine GPS sensors [Mill01], accelerometers [Song02], or both
[Bevl06, Ryu04]. Accelerometers require discrete integration to determine velocity
and therefore introduce bias errors. GPS sensors have high accuracy in determining
velocity, but have traditionally suffered from poor reception in urban environments
and a low refresh rate of 1 Hz. However, current technology has increased sensitivity and refresh rate to be usable on production vehicles in the near future. For this
implementation, as shown in Figure 3.4, vehicle velocity was estimated using simulated 5 Hz GPS velocity data augmented with integrated longitudinal accelerometer
data for extrapolation between signal updates.
35
CHAPTER 3. CONTROL SYSTEM AND ALGORITHM DESIGN
1
VehVelGPS
3
LongAcc
K Ts
2
VehVelGPSTrig
z-1
Add
1
VehVelEst
Discrete-Time
Integrator1
Figure 3.4: Simulink model of vehicle velocity estimate function.
3.6.2
Drivetrain Torque
Engine torque was estimated using the same interpolated full and zero throttle
mapping method used in the simulation Section 4.2.1, but within the controller
Simulink model. The model is shown in Figure 3.5. Clutch actuation was ignored,
due to a lack of sensor attached. For simplicity it was assumed that dynamic control
would not be needed during gear changes.
Figure 3.5: Simulink model of powertrain torque estimator function.
CHAPTER 3. CONTROL SYSTEM AND ALGORITHM DESIGN
3.6.3
36
Center Coupling Torque Transfer
Software implementation of the output actuator torque transfer model in the control
model, as detailed in Section 3.4, is shown in Figures 3.6 and 3.7.
Figure 3.6: Simulink model of center coupling torque transfer estimator function.
Figure 3.7: Simulink model of center coupling clutch torque function.
3.6.4
Brake Torque
Brake caliper piston area, effective rotor radius, and brake pad friction coefficient
were used to estimate braking torque from each brake pressure sensor circuit. The
Simulink model implementation is shown in Figure 3.8.
CHAPTER 3. CONTROL SYSTEM AND ALGORITHM DESIGN
37
Figure 3.8: Simulink model of brake torque estimator function.
3.6.5
Yaw Rate Reference
The target used for yaw rate was based on a simplified vehicle bicycle model with
a neutral understeer gradient. A simple model was used to provide consistent
and predictable response based on front wheel angles derived from steering angle.
Simulation results of actual yaw rate against reference showed a 48 ms lag in vehicle
response, which was incorporated as a transport lag into
rref (t + 0.048) =
δ (t) v (t)
.
L
(3.3)
The Simulink model implementation is shown in Figure 3.9. A controllable error
term was generated that followed the sign of lateral acceleration so that yaw error
in both left and right turns resulted in the same control response.
3.6.6
Slip Angle Estimation
On-vehicle slip angle measurement would require either a very accurate and expensive differential GPS, or road based optical measurement. The velocity vector
could be determined from the combination of the longitudinal and lateral velocity
vectors, if available from another source. Kalman Filters and regression techniques
CHAPTER 3. CONTROL SYSTEM AND ALGORITHM DESIGN
38
Figure 3.9: Yaw rate target and error Simulink model.
have alse been used, but still rely on the integration of accelerometer data, which
is prone to bias [Fuka99, Wenz06]. Model based approaches also exist but are sensitive to road friction and tire model characteristics. Given that a trained racing
driver can estimate slip angle to maximize lateral tire capability, a technique to
estimate slip angle velocity by a trained neural network was proposed.
3.6.6.1
Neural Network Configuration
A driver has control of steering, engine torque, and braking to effect vehicle slip.
A driver is also able to sense lateral acceleration, longitudinal acceleration by gravitational forces pressures and semi-circular canals in the inner ear sense yaw rate.
Additionally, vehicle velocity can be approximated from inner ear sensing [Bert95],
along with visual and audio clues. This combination of forced inputs and observed responses were set as inputs to the neural network configuration shown in
CHAPTER 3. CONTROL SYSTEM AND ALGORITHM DESIGN
39
Figure 3.10: Neural network topology for slip angle velocity estimation in vector
form.
Figure 3.10.
Throttle and braking inputs were combined through transfer functions to front
and rear axle torque estimates as described in Sections 3.6.2 and 3.6.4. This isolated
the network from longitudinal tire force changes due to transmission gear position,
or changes in brake bias settings. The network was configured with seven directly
measurable or estimated inputs, x, fed through two, 20-neuron hidden layers with
tansig activation functions, e1 and e2 . The hidden layer configuration was an estimate to provide adequate non-linear function estimation, where the size could be
later reduced to increase computation and training speed. The output layer activation function, e, was a single linear neuron to scale the output value of y. The
weight matrices W 1 , W 2 , and V connect the layers and thus the network in Figure
3.10 is mathematically represented as
!
7
X
Wji1 xi , where j = 1, 2, . . . , 20 , and x0 = 1,
h1j = f 1
h2k = f 2
i=0
20
X
j=0
y=
20
X
k=0
2 1
Wkj
hj
!
, where k = 1, 2, . . . , 20 , and h10 = 1,
Vk h2k , where h20 = 1.
and
(3.4)
40
CHAPTER 3. CONTROL SYSTEM AND ALGORITHM DESIGN
3.6.6.2
Training
The mean square error between target simulated slip angle velocity, t, and network
output, y, was used as the training error function, E, defined as
E=
1
(t − y)2 ,
2
(3.5)
where t is the target (desired) output, obtained from the simulated slip angle velocity.
Backpropogation training this network is then mathematically described as
∆Wji1 = −η ∂∂WE1 = ηe1j xi ,
ji
e1j =
20
X
2 2
Wkj
ek ,
k=0
2
∆Wkj
= −η ∂∂WE2 = ηe2k h1j ,
e2k = Vk e ,
∆Vk = −η ∂∂VE = ηeh2k ,
e=t−y ,
kj
k
i = 0, 1, . . . , 7
,
j = 1, 2, . . . , 20
(3.6)
j = 0, 1, . . . , 20
,
k = 1, 2, . . . , 20
k = 0, 1, . . . , 20 ,
where η is the learning rate. The network training and determination of the learning rate was executed using the built-in Matlab BFGS function, which is a quasinewton algorithm that does not require the calculation of second derivatives when
generating the Hessian matrix, and completes a matrix recalculation at every time
step [Denn83]. This method, along with the Levenberg-Marquardt method are suggested by the Matlab Neural-Network Toolbox for function estimation training of
networks with large data sets. BFGS was chosen because of the reduced memory
requirements during training. Input data and simulated slip angle velocity from
corner exit, accelerating step-steer, and accelerating lane change manuevers (Sec-
CHAPTER 3. CONTROL SYSTEM AND ALGORITHM DESIGN
41
tion 4.3.0.2, 4.3.0.3, 4.3.0.4 respectively) was concatenated and used for training
data, with each maneuver executed in both the left and right direction to balance the output. Training was executed until the mean square error reached 0.001,
3000 epochs were executed, or 4 hours of time had elapsed.
3.7
Control Configurations
The yaw rate target, yaw acceleration, and slip angle velocity reference values
were used as inputs to closed-loop control algorithms. Each control parameter was
assigned a proportional gain calibration and was summed. Various control configurations were enabled by zeroing gain functions for signals not used. To protect
the coupling from excessive control commands, the combined LSC control function
output was rate limited to 1×104 MBengt/loop rising rate and 1×106 MBengt/loop
falling rate, and saturated between 0 and 5000 MBengt. This output was also filtered using a first order lag filter with a coefficient 0.99. The Simulink model is
shown in Figure 3.11.
3.7.1
Yaw Target Control
Yaw target control (YTC) used proportional control to reduce the error between
measured vehicle yaw rate and a yaw rate target based on vehicle speed and steer
angle, as outlined in Section 3.6.5. Proportional gain was calibrated to a value of
5000 to maximize control response without causing output oscillations.
CHAPTER 3. CONTROL SYSTEM AND ALGORITHM DESIGN
Figure 3.11: Main PID control loop Simulink model.
42
CHAPTER 3. CONTROL SYSTEM AND ALGORITHM DESIGN
3.7.2
43
Yaw Damping Control
Yaw damping control (YDC) used proportional control to counteract measured
vehicle yaw acceleration. Proportional gain was calibrated to a value of 400 to
provide stability on accelerating lane change while not compromising step steer
response.
3.7.3
Yaw Target and Damping Control Combined
Both YTC and YDC control outputs were combined (YTDC) to effectively provide
a proportional-derivative control of measured yaw rate.
3.7.4
Slip Velocity Control
Slip velocity control (SVC) used proportional control to counteract the absolute
value of slip angle velocity as estimated by the neural network. Proportional gain
was calibrated to a value of 2500 to maximize stability in corner exit and accelerating lane change maneuvers, while maintaining smooth control output.
3.8
Vehicle Configurations
An additional set of non-controlled vehicle configurations were defined to test
against the controlled AWD system.
CHAPTER 3. CONTROL SYSTEM AND ALGORITHM DESIGN
3.8.1
44
Passive Center Coupling
Passive center coupling (PCC) configuration replaced the controlled LSC with a
simulated viscous center coupling. Passive center couplings were used on older
AWD systems and only react torque with a difference in input and output velocities
through a viscous fluid, similar to the hydro-dynamic transfer in a torque converter
on an automatic transmission. The viscous torque transfer properties were tuned in
simulation to avoid excessive understeer in cornering and set to 75 Nm at 15 rad/s
and 125 Nm at 30 rad/s. The drag friction was set to the default 10 Nms/rad.
3.8.2
Rear Wheel Drive Only
To provide a reference against the more common Formula SAE drivetrain, a configuration was created with front axle torque transfer disabled so the vehicle is rearwheel-drive (RWD) only. Vehicle properties were also modified to remove 25 kg of
mass and rotating inertia associated with the components required to provide AWD
function.
3.9
Summary
This chapter detailed the design of a novel slip angle velocity controller to compare
against a more traditional yaw rate target controller, a passive center coupling, and
rear-wheel-drive only configuration. Chapter 4 will focus on a simulation design to
verify and compare control system performance.
Chapter 4
Simulation Platform
Configuration and Parameters
The purpose of this chapter is to outline the installation and configuration of the
simulation system used in the development, testing, and validation of control methods.
4.1
Simulation Environment
The section will provide an overview of the simulator platform and specific configuration settings for this project.
4.1.1
IPG CarMaker
IPG CarMaker is a full-vehicle simulation engine bringing together the interactions
of the driver, vehicle, and road [Auto06]. Most sub-components of the vehicle were
45
CHAPTER 4. SIMULATION PLATFORM CONFIGURATION AND
PARAMETERS
46
substitutable, so that the simulation could be adapted to the level of detail required
in many areas of design. Importantly, this included the ability to manage powertrain torque transfer to simulate an active AWD center coupling. IPG supplied two
free licenses for the software, version 2.2.10, for use on Formula SAE projects and
this was installed to hinstalldiri. A data repository was separately created from the
application so that the files could be version controlled. The hdatadiri contained
configurations, models, scripts, and data logs. The application shortcut was configured to automatically ”start-in” the hdatadiri folder and used its subset of data and
test runs. A test run was the main configuration file containing a specific vehicle,
road, and maneuver to be simulated. Upon opening the CarMaker graphical user
interface (GUI), a test run was then opened from the list.
4.1.2
Matlab Simulink
The functionality of the CarMaker vehicle simulation was extended by integrating
the controller simulation in Mathworks Simulink 7.0.1, which is part of Matlab
2007b. This project also required the Neural Network Toolbox 5.1, Fuzzy Logic
Toolbox 2.2.5, and Virtual Reality Toolbox 4.6.
4.1.3
Initialization Files
hdatadiri/Data/Config/OutputQuantities determined which simulation variables were retained and stored to the SimOutput log files.
hdatadiri/mdl/cmenv.m was a script provided by IPG to set the CarMaker specific paths and installation directory as Matlab starts up. It was important to
CHAPTER 4. SIMULATION PLATFORM CONFIGURATION AND
PARAMETERS
Table 4.1: Directory structure of hdatadiri
Directory
Contents
bin
external support programs eg Instruments.tcl
Data
–Chassis
suspension kinematics maps
–Config
global simulation parameters (independent of run parameters)
–Misc
modelcheck output
–Pic
animator TCL scripted graphics
–Road
binary road data
–Script
TCL run scripts
–TestRun
run configurations
–Tire
tire model parameter files, and pacejka data
–Trailer
not used
–Vehicle
vehicle parameter configuration files
doc
model documentation
lib
TCL and compiler libraries
mdl
Simulink models and scripts
Movie
animator binary car models
SimInput
configurations and data files for pre-determined driver inputs
SimOutput
run logs, script logs, and learned driver parameters
47
CHAPTER 4. SIMULATION PLATFORM CONFIGURATION AND
PARAMETERS
48
remember to change this file when installing an upgrade to CarMaker.
hdatadiri/mdl/DSC PreLoadFcn.m was the first script to execute before the
simulink model was loaded into memory. This was where the user-defined library
paths were set.
hdatadiri/mdl/DSC InitFcn.m was executed when updating or running the
model by placing the filename into the simulink model InitFcn callback. Within
this initialization script, calls to other m-files were made to load calibrations.
4.1.4
Scripting
CarMaker provided an interface to automate GUI functions using a scripting language functionally identical to TCL. Files were stored in hdatadiri/Data/Script
with sample scripts listed in Appendix C.1. A typical script flow is shown in Figure
4.1. At the start of the script, the text-based logfile was generated and local variables were initialized. Variables of interest (dependent variables) originating from
the simulation volatile memory must be selected using:
QuantSubscribe {var1,var2}
A desired test run was next loaded and then immediately saved as a working copy,
under a different name, to preserve the contents of the original test run. The target
parameter(independent variable) was now read from disk to be restored on script
completion. For example, maximum engine torque multiplier factor is read from
the vehile parameter file as follows:
set torque0 [IFileRead Vehicle ”PowerTrain.ET.FullLoadPower.Amplify”]
Inside a loop, the simulation target parameter was now changed and written back
CHAPTER 4. SIMULATION PLATFORM CONFIGURATION AND
PARAMETERS
49
to disk using IFileModify with an IFileFlush to commit the change to disk. If using the IPG-Driver to control the maneuvering on the road, the driver parameters
were relearned using Driver::StartAdaptation Basic before enabling the test run.
The StartSim command enabled simulation, however the script remained running
as a parallel process. To hold the script until test run completion, a combination
of WaitForStatus running and WaitForStatus idle commands continued to poll
simulation status. When completed, dependent and independent variables were
appended to the log file and the loop continued. On completion of the script, the
original target parameter was written back to disk and the log file closed.
Figure 4.1: Flowchart of a scripted test run.
CHAPTER 4. SIMULATION PLATFORM CONFIGURATION AND
PARAMETERS
4.2
50
Vehicle Parameters
This section will investigate parameters to generate a vehicle profile matching the
Formula SAE vehicle within the simulation software. The order of these sections
follows the parameter pages of the simulation software user interface. All vehicle
specific parameters are located in a single text file:
hdatadiri/Data/Vehicle/FS RaceCar
4.2.1
Powertrain
CarMaker used a linear interpolation of full throttle and zero throttle torque curves
to calculate engine output torque for a given throttle setting and engine speed. Engine power for the Formula SAE came from a 2001 GSX-R 600 cc double-overhead
cam sportbike motor, with an intake restriction (after throttle) of 20 mm diameter.
A full-throttle engine torque curve was generated from baseline 2003 dynomometer
runs and other published dynomometer results for a typical 4-cyl 600 cc restricted
sportbike engine as used in Formula SAE [Walk08]. The estimated output included pumping losses, engine friction and drivetrain friction losses at full throttle.
Zero-throttle torque was estimated based on two principles: friction losses are proportional to engine speed [Yagi90], and a closed throttle plate adds pumping losses
exponentially. An artificial bump to positive values at 3000 rpm was also added to
simulate idle control characteristics.
The GSX-R engine drives the clutch at a 1.926:1 ratio, so the published gear
ratios were multiplied by this ratio to enter into the Gearbox settings as listed in
Table 4.2.
CHAPTER 4. SIMULATION PLATFORM CONFIGURATION AND
PARAMETERS
51
80
Full Throttle Torque
Full Throttle Power
Torque (Nm), Power (kW)
60
Zero Throttle Torque
40
20
0
-20
-40
-60
0
5000
10000
15000
Engine Speed (RPM)
Figure 4.2: Torque, power, and friction loss curves for a typical 600 cc intakerestricted FSAE engine - with data from [Walk08].
Table 4.2: Equivalent gear ratios for primary drive reduction.
Gear
Ratio
Equivalent
1
2.785:1
5.364:1
2
2.000:1
3.852:1
3
1.600:1
3.082:1
4
1.363:1
2.625:1
5
1.208:1
2.327:1
6
1.086:1
2.092:1
CHAPTER 4. SIMULATION PLATFORM CONFIGURATION AND
PARAMETERS
4.2.2
52
Differentials
Both front and rear differentials were sourced from a Suzuki ATV that utilize an
AP/Suretrac cam-and-pawl differential. This style of differential has a fixed bias
ratio based on the ramp angle of the pawls and the friction of the cams against
the pawls. One disadvantage of this system is that as the differential wears, the
bias ratio decreases due to the reduction of normal load on the cams. This made
it difficult to calculate or estimate the actual bias ratio, so the default value was
used.
4.2.3
Powertrain Rotational Dynamics
An accurate dynamic model of the drivetrain was required to simulate high-rate
throttle transition effects. The four major parameters for drivetrain components are
the rotational inertia, spring constant, friction, and backlash. Backlash and spring
constants are computationally expensive because they cause algebraic loops and
singularities in the simulation algortithms, so these were disregarded. CarMaker
split the powertrain components into five distinct components: engine, clutch, gearbox, differentials, and wheels. The intermediary components had a separate input
and output velocity with corresponding input and output inertia.
Rotational inertia values were determined from CAD solid models of component
groups. Component totals are shown in Table 4.3 with the complete list available
in Appendix B.1.
CHAPTER 4. SIMULATION PLATFORM CONFIGURATION AND
PARAMETERS
Table 4.3: Rotational inertia of drivetrain components.
Simulated Mass
Total Inertia (kg · m2 )
Front Wheel
4.33x10−1
Rear Wheel
4.15x10−1
Final-Drive Out
1.79x10−2
Final-Drive In
6.23x10−4
Coupling Out
1.62x10−3
Coupling In
1.72x10−3
Gearbox Out
3.12x10−3
Gearbox In
8.50x10−3
Clutch Out
6.80x10−3
Clutch In
5.28x10−3
Engine
9.62x10−3
53
CHAPTER 4. SIMULATION PLATFORM CONFIGURATION AND
PARAMETERS
4.2.4
54
Tires
CarMaker provided an interface to use a Pacejka 2002 tire model. The implementation was based on MF-Tyre 5.2 as also used in ADAMS simulation software and
shared the slight modifications to the 2002 model.The tire model was based on
a Goodyear 20x7.0-13 D2692 with data used from the third round of testing in
August, 2007 by the Tire Testing Consortium (TTC). The TTC was founded in
2005 to pool resources from FSAE teams to have various brands and constructions
of tires tested at the Calspan tire research facility [Kasp06]. Data from the third
round of testing was selected because of refined test rig load control and a stoned
friction surface to lower peak grip levels. Multiple rim widths were also tested in
this round with 6 inch rim width data selected to match the 6.5 inch and 6 inch rims
widths available for the vehicle. A Pacejka 1996 model for the tire was created by
Stackpole Engineering.
Because of differences due to both the model used and the simulator implementation of the Pacejka formulas, some modifications and additions to parameters
were required. The 2002 Pacejka model included peak longitudinal friction sensitivity to camber change with a parameter, PDx3 , not found in the 1996 model. To
determine this parameter, raw data was extracted from the TTC third round of
testing. Data points from run number 24 with a fixed 650 N load, 0o slip angle, and
0o , 2o , and 4o camber points were selected. The independent variable was slip ratio,
which cycles from 0.2 to -0.2 to 0.2 and the dependent variable was longitudinal
force in Newtons. The test machine had difficulty maintaining the normal load
with low tire vertical stiffness. This resulted in oscillations in longitudinal force, so
CHAPTER 4. SIMULATION PLATFORM CONFIGURATION AND
PARAMETERS
55
1800
Longitudinal Force (N)
1750
1700
1650
1600
1550
−1
0
1
2
3
4
2
Camber Squared (radians )
5
−3
x 10
Figure 4.3: PDx3 parameter - longitudinal force sensitivity to camber.
a 20-point moving average filter was applied. Slip ratio sweep in each test iteration
was from 0.20 to -0.20 and back to 0.20, so magnitude of peak lateral force near
three graph ends were averaged for each camber position. Using camber squared
(converted to radians) as dependent variable, linear regression slope, normalized to
the y-intercept, provided the required rate change coefficient for PDx3 .
The result could be more accurately estimated if the three other normal load
iterations were included, but the resulting value was more than sufficient for this
simulation.
CHAPTER 4. SIMULATION PLATFORM CONFIGURATION AND
PARAMETERS
4.2.5
56
Mass Properties
The axes used in CarMaker were consistent with the chosen ISO standards for this
thesis: x is longitudinal (front positive), y is lateral (left positive), and z is vertical
(positive up). The frame of reference datum point, F r1 , was located 0.5 m rearward
of the rear axle, on the ground plane at static design ride height.
Table 4.4: Measured vehicle mass distribution.
Left
Total
Right
Front
55.9 kg
44.5%
58.6 kg
Total
49.1%
258 kg
50.9%
Rear
70.5 kg
55.5%
72.7 kg
Using the values from 4.4 along with the average track width of 1.2 m and
wheelbase of 1.64 m gave exact locations of the sprung mass CG in the xy plane
using
CGy
=
tavg ·%lef t
100%
=
1.2·49.1%
100
=
−0.011 m,
−
−
tavg
2
1.2
2
(4.1)
to obtain lateral offset from centerline, and
CGx
=
L(100%−%rear )
100%
=
1.64(100%−55.5%)
100%
+ F r1
+ 0.5
(4.2)
= 1.23 m.
to determine longitudinal offset from F r1 . Wheels and carriers were neglected
because of their even distribution at four corners. Engine mass inputs were zeroed
since the feature was intended for vehicles with multiple engine options and was
CHAPTER 4. SIMULATION PLATFORM CONFIGURATION AND
PARAMETERS
57
Table 4.5: Component mass and inertia data for simulation.
Mass
Center of Gravity (m)
(kg)
CGx
Sprung Mass
207.0
Driver
CGy
Inertia (kg · m2 )
CGz
Ixx
Iyy
Izz
1.230 -0.011
0.250
29.3
94.0
110.7
90.0
1.478
0.000
0.364
3.738 9.152 8.065
Front Wheel
11.9
2.140
0.625
0.254
0.229 0.390 0.229
Rear Wheel
10.8
0.500
0.625
0.254
0.226 0.378 0.226
Front Carrier
1.7
2.110
0.625
0.235
0.009 0.012 0.005
Rear Carrier
1.1
0.500
0.625
0.254
0.007 0.008 0.002
difficult to remove from total body mass in this case. Conversely, the driver was
added as a trim load to facilitate easy changes in driver size. Mass and inertia
properties of driver, wheels, and carriers were all estimated from their respective
CAD models or direct measurements. Compiled data is shown in Table 4.5.
To validate the input values were correct, normal loads (Car.Cxx.Tire.FrcC.z) of
all tires while stationary in simulation were checked. The sum of all forces equaled
total mass gravitational force.
4.2.6
Suspension
In simulation, each wheel carrier was connected to the sprung mass through a
translation and rotation joint. Wheel compression and steering acted on this joint
directly and combined with external forces to determine the final coordinates. These
resolved to: toe angle, camber angle, spin, wheel track, wheel base, and final compression. There were two methods to define kinematics, either through a map file or
CHAPTER 4. SIMULATION PLATFORM CONFIGURATION AND
PARAMETERS
58
linear equations. The map file was suited for high fidelity kinematic and compliance
rig (K&C) testing but data could also be generated from IPG-Kinematics software.
Both methods were tested and for the purposes of this control system. The extra
accuracy of the map file did not affect results and the linear equations simulated
12% faster. The minimum requirement for simple suspension was to have the wheel
z translation compression ratio, tz set to unity. For added stability, static camber
of 1.0 degrees (1.75 × 10−2 radians) was set in rx and static toe-in of 7 minutes
(2.0 × 10−3 radians) was set for rz . Steering was also an input to the front wheels
at a ratio of 5.0 radians to rz . With the spring and damper effects on the wheel
set to negative unity, the spring rate was resolved to an equivalent wheel rate. The
ratio for this conversion was determined experimentally by removing the damper
assembly and measuring the compression distance with varying wheel travel. The
installation ratio (IR) was the slope of the linear approximation in table 4.4, while
the more commonly known motion ratio (MR) was the inverse of IR. Given the
known spring rate (Ks ) of 43.8 kN/m,
Kw = IR2 Ks ,
(4.3)
resolved to a lower wheel rate (Kw ) of 20.7 kN/m for the front compared to 27.6 kN/m
at the rear.
Fox Vanilla RC dampers used on the vehicle were characterized using an Instron
8872 Material Test System (MTS) with a 10 kN load cell with a setup pictured in
Figure 4.5. The MTS was configured to emulate a cyclic shock dyno with an
amplitude of 15 mm and speed of 3 Hz to achieve a peak velocity near 300 mm/s.
Tuned PID controls in the MTS kept an accurate position sine curve so that damper
CHAPTER 4. SIMULATION PLATFORM CONFIGURATION AND
PARAMETERS
20
Damper Travel (mm)
10
0
-10
-20
Front
Rear
Front = 0.687152 x
Rear = 0.793571 x
-30
-40
-60
-50
-40
-30
-20
-10
0
10
20
30
Wheel Travel (mm)
Figure 4.4: Measured suspension motion ratio.
Figure 4.5: Damper mounting on instron for dynamic testing.
59
CHAPTER 4. SIMULATION PLATFORM CONFIGURATION AND
PARAMETERS
60
position (yd ), velocity (ẏd ), and acceleration (ÿd ) could be determined from
yd (t) =
−15 cos (3 (2π (t + 0.010))) + 15 ,
ẏd
=
6π · 15 sin (6π (t + 0.010)) ,
ÿd
=
6π 2 · 15 cos (6π (t + 0.010)) ,
(4.4)
with a phase lag of 10 ms.
Since these dampers were nitrogen gas charged, resulting data was compensated
for a static force of 130 N and position-dependent, gas-spring force (Kgas ) of 9 kN/m.
Mass inertia effect of the damper piston, mount, and load cell (mp ) were also
removed using
Fc (ẏ) = Fm (ẏ) − Fs − Kgas y − mp ÿ .
(4.5)
The slope of a linear fit in Figure 4.6 provided a usable damping coefficient, Bd ,
but neglected hysteresis and static friction effects. Linear slopes were converted
into wheel rate coefficents (Bw ) using the installation ratio (IR) in
Bw = IR2 Bd ,
(4.6)
where front compression and rebound coefficients resolved to 1150 Ns/m and 1400 Ns/m
respectively, while rear coefficients were 1530 Ns/m and 1870 Ns/m.
4.2.7
Steering
The CarMaker steering model used either a linear coefficient or non-linear translation map of steering wheel rotation angle (δD ) to steering rack linear travel (ys ).
The simplified front wheel kinematic model required only a linear coefficient of rack
CHAPTER 4. SIMULATION PLATFORM CONFIGURATION AND
PARAMETERS
61
1000
800
Force (N)
600
400
200
Rebound
Compression
Rebound = 2.97x
Compression = -2.43x
0
-200
-400
-600
-800
0
50
100
150
200
250
300
Velocity (mm/s)
Figure 4.6: Compensated damper force vs velocity.
motion to wheel steer angle (δ, or rz in the CarMaker parameter page). Measurements from the vehicle were obtained using an inclinometer on the steering wheel
along with measurements from inside tire wear marks to fixed points on the frame.
Using measured diameter of the tire (Dt ) at inside wear mark locations, the angle
of each wheel was determined by inverse sine of the sum of change in wheel to frame
distances, divided by diameter given as
∆yf + ∆yr
−1
,
δ = sin
Dt
(4.7)
where ∆yf was the measured displacement for front of tire, and ∆yr for rear. The
outside wheel (right side wheel in a left turn) had a linear relationship with steering
angle, while the inside wheel was non-linear due to Ackerman steering geometry.
This is visible in Figure 4.7 as the curved line. Linear slope of outside wheel to
steering angle was used since the outside wheel is more highly loaded in a corner
and is more important in simplified bicycle model force calculations. This resulted
CHAPTER 4. SIMULATION PLATFORM CONFIGURATION AND
PARAMETERS
62
30
Inside Wheel
2nd Order Regression
Outside Wheel
Linear Fit
Road Wheel Angle (deg)
25
20
15
10
5
0
0
10
20
30
40
50
60
70
80
90
100
Steering Wheel Angle (deg)
Figure 4.7: Measured wheel angle vs steer angle.
in an overall steering ratio of 4.85 rad/rad.
Rack travel to steering wheel rotation was also measured and a ratio of 92.6 rad/m
was determined. Final kinematic wheel rotation to rack travel parameter was determined with
δD ys
δD
=
,
δ
ys δ
(4.8)
and rearranging to divide rack travel parameter by overall ratio to get 19.07 rad/m
as shown in
δ
δD δ
=
.
ys
ys δD
(4.9)
CHAPTER 4. SIMULATION PLATFORM CONFIGURATION AND
PARAMETERS
4.2.8
63
Braking
The brake model was a simplified linear pressure distribution with a series of proportional gains to covert from pedal position to pedal force, then to master cylinder
pressure, and finally to front and rear wheel torque. Temperature, fluid compression, and pad knock-back effects were not considered. Peak pedal force was estimated to be 500 N as per design intent. Since the FSAE vehicle was designed with
sufficient braking capacity to lock all wheels at speed, the gains were set to achieve
a realistic peak master cylinder pressure and wheel torque gains were then determined by trial-and-error to lock all wheels at peak pressure. A static front to rear
torque bias of 66% provided stable braking with a slightly forward bias to maintain
stability with less dynamic load transfer on lower friction coefficient surfaces.
4.2.9
General Parameters
Aerodynamic modelling was disabled because of a lack of influence at the low speeds
run in FSAE.
4.2.10
Alternate Vehicle Models
There are two alternate versions of the vehicle configuration file which were derived
from the main FS RaceCar file.
FS RaceCar Passive used a viscous center coupling within CarMaker so that the
simulink interface is not needed. This significantly increases the simulation rate for
large batch runs and also provided a reference target.
FS RaceCar RWD was rear-drive only, with the mass compensated for the removal
CHAPTER 4. SIMULATION PLATFORM CONFIGURATION AND
PARAMETERS
64
of the AWD system. It was used to compare the AWD vehicle against an equivalent
RWD vehicle for performance testing.
4.3
Model Stimulation
With vehicle parameters and control system combined into a full vehicle software-inthe-loop simulation, the final requirement for simulation was generation of system
test inputs to match real race driving situations. The CarMaker maneuver interface
provided the ability to script driver inputs using time or distance triggers for each
event. These maneuvers were designed to show specific characteristics of AWD
control system with some parameters set specifically to match the high steering
gain of the FSAE car.
4.3.0.1
IPG Driver
Some maneuvers used functionality from the intelligent, adaptive driver controller
called IPG Driver. IPG Driver was initially trained on each vehicle with the Basic
Knowledge function to determine vehicle limits and driver controller dynamics.
Once this function was complete IPG Driver had knowledge of optimum shift points,
maximum traction, braking, and lateral acceleration. Steering limit calibrations
were reduced, due to the atypical high ratio of steering gear on the Formula SAE
vehicle. IPG Driver also had initial closed-loop control gains that were too high.
These were reduced until gains could be slowly relearned and increased in more
advanced autocross run optimizations.
CHAPTER 4. SIMULATION PLATFORM CONFIGURATION AND
PARAMETERS
4.3.0.2
65
Corner Exit Maneuver
The objective of this maneuver was to simulate the exit phase of a corner while
racing which seeks to maximize acceleration while transitioning from pure cornering
and maximum lateral acceleration. The vehicle was first accelerated and steered to
near maximum lateral acceleration at a constant velocity of 40 km/h. The throttle
was then ramped in while simultaneously reducing the steer angle to zero.
Table 4.6: Corner exit procedure.
Seq
1
Manuever
speed target to 40 km/h with 60o steering angle and allow 4 s
to reach steady state
2
accelerate using IPG driver, and simultaneously start to phase
out steering in 3 s
3
end run at 18 s total time
4.3.0.3
Accelerating Step Steer Maneuver
The accelerating step steer maneuver was designed to demonstrate initial control
and vehicle response to a step change input. With the vehicle accelerating and
approaching rear wheel friction limit, there is ample control authority to transfer
torque and effect vehicle stability control. The ideal control should allow immediate
fast build of yaw rate and slip angle without much overshoot.
CHAPTER 4. SIMULATION PLATFORM CONFIGURATION AND
PARAMETERS
66
Table 4.7: Accelerating step steer procedure.
Seq
Manuever
1
accelerate using IPG driver for 3.5 s
2
maintain acceleration, step steer 60o in 200 ms
3
return to centered steering after 4 s
4.3.0.4
Accelerating Lane Change Maneuver
Lane change maneuvers are a standard metric for stability control systems. This
procedure was modified to provide more control authority with an increased torque
output. The desired result of this test was a large lateral deviation from course to
maximize object avoidance, while maintaining lower slip angles for controllability.
Table 4.8: Accelerating lane change procedure.
Seq
Manuever
1
accelerate to 40 km/h
2
select 2nd gear
3
accelerate using IPG driver in fixed gear
4
500 ms delay then apply 45o sinusoidal steer with 2 s period
5
end run after 10 s
4.3.0.5
Autocross Course
The autocross course maneuver was used to test system effectiveness against a metric it is actually designed for–FSAE autocross and endurance events. In this case, a
low laptime indicates an increase in system performance. Also, controllability and
CHAPTER 4. SIMULATION PLATFORM CONFIGURATION AND
PARAMETERS
67
Figure 4.8: Simulation representation of 2007 FSAE autocross course.
stability is indicated by the number of laps which the IPG Driver requires to learn
minimum laptime.
The Autocross track from 2007 FSAE competition was modeled using the CarMaker Road design interface. A CAD model was generated to overlay the track
map and provide an approximation that used constant radius corners and straight
sections. Visual representation of the course is shown in Figure 4.8 and the section
listing programmed into CarMaker Road interface is in Appendix B.2. Road surface was estimated to be a friction coefficient of 0.8. Margins extended 6 m past
the road edge with a friction coefficient of 0.7 so that off-track excursions penalized
laptime but did not stop the simulation. Course adaption and optimization for
IPG Driver was used on the autocross maneuver to minimize lap-time for each ve-
CHAPTER 4. SIMULATION PLATFORM CONFIGURATION AND
PARAMETERS
68
hicle setup. The learn-rate parameter was adjusted by trial and error to minimize
laps to achieve a fastest time, but without becoming unstable and going off-course.
Typically this was a low value of 0.1.
4.3.1
Real-Time Driving
Real-time driving, often called driver-in-the-loop (DIL), allowed qualitative evaluation of controller feel by including human inputs to drive simulation inputs. IPG
included provisions to limit simulation rate to real-time. This also required the
host processor to have sufficient resources to run Simulink models and CarSim in
real-time. User inputs were achieved using standard PC racing simulator hardware
and the Joystick Input Block from Virtual Reality Toolbox. The block outputs
changed to match outputs of controller, so the function was hard-coded to match
the controller hardware digital buttons and analog axis. A Logitech G25 racing
wheel was selected because its features include a 900 degree wheel, clutch, brake,
throttle, and an H-pattern shifter that was set to sequential mode. The DriveMan
block required an enumerated gear state (Rev, Neutral, 1 - 6) so sequential input
transitions were used to increment and decrement a counter. IPG Movie provided
a 3D visualization of the vehicle and track surface. Point of view could be positioned to be in cockpit or external with either fixed tracking or vehicle following.
Many driving cues are stimulated from sound feedback of tire and engine noise
but CarMaker did not provide any aural feedback mechanisms. The Tcl scripting
language for the dashboard instrumentation view was used to hook in an external
sound library, called snack, to play a generated sound frequency matching engine
RPM. Code modifications required to support sound output are detailed in Source
CHAPTER 4. SIMULATION PLATFORM CONFIGURATION AND
PARAMETERS
69
Code Listing C.1 in Appendix C.1.1.
4.4
Summary
With detailed simulation parameters defined, a matrix of test runs was run on
each vehicle configuration to generate data. The results and post-processing of this
simulation data are detailed in Chapter 5.
Chapter 5
Results
In this chapter we will examine the output data generated by simulations of each
controller and vehicle configuration as outlined in the previous chapter.
5.1
Simulation Results
The Simulink model was configured to export relevant data to the workspace during
a testrun, which was then exported to a Matlab workspace data file in the format:
hmaneuveri hdirectioni hconfigurationi.mat , eg. CornerExit Left SVC.mat
Additionally, most of the dynamic vehicle and compenent data were stored by
CarMaker in a binary ERG file located in:
hdatadiri/SimOutput/hhostnamei/hdatei/hmaneuveri-htimei.erg
70
CHAPTER 5. RESULTS
5.1.1
71
Corner Exit Maneuver
Using the maneuver outlined in Section 4.3.0.2, three configurations were tested:
yaw target and damping control, slip angle velocity control, and passive center
coupling vehicle. The rear-wheel-drive vehicle configuration was not able to perform
the maneuver. The slip angle plotted in Figure 5.1 shows YTDC allowing a large slip
angle to develop immediately after the throttle is applied at 4 s, which is well past
peak slip angle to generate maximum lateral tire force. For slip velocity control, slip
angle was held constant around 0.07 rad after throttle apply, such that maximum
cornering force would be available along with stability. There is also a reduction
in rate at which the slip angle was generated which shows the desired decrease in
sensitivity to throttle application. The passive center coupling did not overshoot
peak slip angle as much, but quickly reduced slip angle to zero. At this point
the vehicle would have difficulty following the desired path without lateral force
generated from tire slip angle. The control effect of slip velocity control is also
shown in Figure 5.2. Peak slip velocity is significantly reduced, although possibly
with too much gain in proportonal control, as evidenced by the oscillations from
5.5 s to 7 s.
72
CHAPTER 5. RESULTS
0.05
0
Slip Angle (rad)
−0.05
−0.1
−0.15
−0.2
Passive Center Coupling
Yaw Target & Damping Control
Slip Velocity Control
−0.25
0
1
2
3
4
5
6
7
Time (s)
Figure 5.1: Corner exit maneuver - slip angle.
0.4
Slip Angle Velocity (rad/s)
0.3
0.2
0.1
0
−0.1
−0.2
Passive Center Coupling
Yaw Target & Damping Control
Slip Velocity Control
−0.3
−0.4
3.5
4
4.5
5
5.5
6
6.5
7
7.5
Time (s)
Figure 5.2: Corner exit maneuver - slip angle velocity.
CHAPTER 5. RESULTS
5.1.2
73
Accelerating Lane Change
Similar to the previous section, the rear-wheel-drive configuration was not able to
perform the accelerating lane change maneuver as defined in 4.3.0.4. Yaw target
and damping control shows stability issues in Figure 5.3, with a large peak slip
angle of 0.16 rad on the steering switch back starting at 5.5 s. It was also slow to
develop slip angle at the initial steering turn-in. Slip velocity control shows a good
balance between stability and responsiveness with a moderate peak slip angle of
0.8 rad and the best lateral deviation of 8.3 m shown in Figure 5.6. Slip velocity
was clearly controlled, and contained between +/-0.15 rad/s in Figure 5.4. The
passive center coupling was clearly most stable with the lowest peak slip angle of
0.04 rad but this was at the expense of vehicle responsiveness, as it had the least
lateral movement of 7.8 m in the maneuver. This was also evident in low peak yaw
rates shown in Figure 5.5 which indicates the vehicle would be reluctant to rotate
as required in high speed direction change events.
74
CHAPTER 5. RESULTS
0.15
Rear Wheel Drive Only
Passive Center Coupling
Yaw Target & Damping Control
Slip Velocity Control
Slip Angle (rad)
0.1
0.05
0
−0.05
4
4.5
5
5.5
6
6.5
7
7.5
Time (s)
Figure 5.3: Accelerating lane change manueuver - slip angle.
Slip Angle Velocity (rad/s)
0.2
0.1
0
−0.1
−0.2
−0.3
Passive Center Coupling
Yaw Target & Damping Control
Slip Velocity Control
−0.4
4
4.5
5
5.5
6
6.5
7
7.5
Time (s)
Figure 5.4: Accelerating lane change manueuver - slip angle velocity.
75
CHAPTER 5. RESULTS
1
Rear Wheel Drive Only
Passive Center Coupling
Yaw Target & Damping Control
Slip Velocity Control
0.8
0.6
Slip Angle (rad)
0.4
0.2
0
−0.2
−0.4
−0.6
−0.8
−1
4
4.5
5
5.5
6
6.5
7
7.5
Time (s)
Figure 5.5: Accelerating lane change manueuver - yaw rate.
9
8
Lateral Deviation (m)
7
6
5
4
3
2
Passive Center Coupling
Yaw Target & Damping Control
Slip Velocity Control
1
0
30
35
40
45
50
55
60
65
70
Position (m)
Figure 5.6: Accelerating lane change manueuver - lateral deviation.
76
CHAPTER 5. RESULTS
Control outputs for YTC and YDC were also separately run as shown in Figure
5.7. Yaw damping control alone was not able to perform the maneuver. Both
YTC and YDC contributed to large spikes of coupling control command above
1000 MBengt, which would likely cause drivetrain noise or durability issues in the
actuator. The slip velocity control had a much smoother and constant output
function and did not peak above 100 MBengt.
Center Coupling Stiffness Command (MBengt)
2500
Yaw Target Control
Yaw Damping Control
Slip Velocity Control
2000
1500
1000
500
0
4
4.5
5
5.5
6
6.5
7
7.5
Time (s)
Figure 5.7: Accelerating lane change manueuver - center coupling stiffness command.
5.1.3
Accelerating Step Steer Response
The RWD configuration is a good reference for ideal yaw rate rise time in the accelerating step steer test (Section 4.3.0.3). SVC is able to match the RWD yaw
77
CHAPTER 5. RESULTS
rate rise time shown in Figure 5.9, but is slower than YTDC for slip angle and lateral acceleration rise times, illustrating that the response is overdamped. However,
YTDC has a very large slip angle overshoot to 0.12 rad and a subsequent oscillation on both slip angle and yaw rate, and this underdamped response would feel
very unstable to the driver. This can also be seen in the lateral acceleration curve
for YTDC in Figure 5.10, as it spikes to 12.8 m/s but then drops to 11.2 m/s on
the oscillation–something directly felt by a driver. Conversely, even with the overdamped response, SVC only takes 250 ms longer to reach peak lateral acceleration
of 12.4 m/s but holds that value steady.
0.04
Rear Wheel Drive Only
Passive Center Coupling
Yaw Target & Damping Control
Slip Velocity Control
0.02
Slip Angle (rad)
0
−0.02
−0.04
−0.06
−0.08
−0.1
−0.12
3
3.5
4
4.5
5
5.5
6
6.5
7
7.5
Time (s)
Figure 5.8: Accelerating step steer maneuver - slip angle.
78
CHAPTER 5. RESULTS
Yaw Rate (rad/s)
1
0.8
0.6
0.4
Rear Wheel Drive Only
Passive Center Coupling
Yaw Target & Damping Control
Slip Velocity Control
0.2
0
3
3.5
4
4.5
5
5.5
6
6.5
7
7.5
Time (s)
Figure 5.9: Accelerating step steer maneuver - yaw rate.
13
Acceleration (m/s2)
12
11
10
9
Rear Wheel Drive Only
Passive Center Coupling
Yaw Target & Damping Control
Slip Velocity Control
8
7
3
3.5
4
4.5
5
5.5
6
6.5
7
7.5
Time (s)
Figure 5.10: Accelerating step steer maneuver - lateral acceleration.
79
CHAPTER 5. RESULTS
5.1.4
Autocross Laptime
The laptime summary in Table 5.1.4 shows that not only was SVC fastest, but
also quickest for IPG driver to learn minimum laptime. Each configuration had
an identical initial laptime of 73.891 s. Appendix B.3 lists all of the times as IPG
driver learns minimum laptime for each configuration.
Table 5.1: Fastest laptimes for the autocross course for each vehicle configuration.
5.2
Control Method
Lap Time (s)
Training Laps
Passive Center Coupling
66.581
43
Rear Wheel Drive Only
66.154
41
Yaw Target and Damping Control
65.955
48
Slip Velocity Control
65.810
30
Slip Angle Velocity Estimate
Using the corner exit, accelerating step steer, and accelerating lane change maneuvers as training data (outlined in Section 3.6.6.2), the neural network was trained
to a mean square error of 10−3 in 327 epochs as shown in Figure 5.11. This required
624 seconds of computation time for 72000 data points on a quad-core 64-bit PC
processor.
The estimated slip angle velocity value was able to track the simulated value
in all maneuvers with no phase lag and with very little offset in the corner exit
maneuver shown in Figure 5.12. In the accelerating step steer maneuver in Figure
5.13, there was a constant bias of 0.04 rad/s during the acceleration phase after the
80
CHAPTER 5. RESULTS
1
10
0
Performance (mse)
10
−1
10
−2
10
−3
10
0
50
100
150
200
250
300
350
Epoch
Figure 5.11: Training performance of neural network - mean square error vs training
epoch.
81
CHAPTER 5. RESULTS
steering event at 4 s. Also, the gear changes at 8.4 s, 9 s, and 10 s caused phantom
spikes in slip velocity, likely due to the longitudinal acceleration spikes at those
points. For the accelerating lane change maneuver in Figure 5.14 the estimate
was able to match the phase of the actual value but with up to 0.1 rad/s bias,
particularly at the lower speed leading up to the beginning of the lane change at
4.5 s. The was also a phantom signal at 7.25 s as the maneuver completed.
Slip Angle Velocity (rad/s)
0.2
0
−0.2
Slip Angle Velocity
Slip Angle Velocity Estimate
−0.4
0
1
2
3
4
5
6
7
8
9
Time (s)
Figure 5.12: Simulated and estimated slip angle velocity for corner exit maneuver.
Figure 5.15 shows a corner exit subset of the autocross maneuver, which was
not included as part of training inputs. The estimate was still able to track the
simulated value, but an offset of 0.05 rad/s was present after the turn, similar to
the accelerating step steer maneuver.
82
CHAPTER 5. RESULTS
Slip Angle Velocity (rad/s)
0.3
0.2
0.1
0
−0.1
−0.2
Slip Angle Velocity
Slip Angle Velocity Estimate
2
3
4
5
6
7
8
9
10
Time (s)
Figure 5.13: Simulated and estimated slip angle velocity for accelerating step steer
maneuver.
0.2
Slip Angle Velocity (rad/s)
0.15
0.1
0.05
0
−0.05
−0.1
−0.15
Slip Angle Velocity
Slip Angle Velocity Estimate
−0.2
3
3.5
4
4.5
5
5.5
6
6.5
7
7.5
8
Time (s)
Figure 5.14: Simulated and estimated slip angle velocity for accelerating lane change
maneuver.
83
CHAPTER 5. RESULTS
0.4
Slip Angle Velocity (rad/s)
0.3
0.2
0.1
0
−0.1
−0.2
−0.3
Slip Angle Velocity
Slip Angle Velocity Estimate
−0.4
12
12.2
12.4
12.6
12.8
13
13.2
13.4
13.6
13.8
14
Time (s)
Figure 5.15: Simulated and estimated slip angle velocity for autocross turn.
5.3
Summary
The results show that SVC provides similar response but smoother control in all
tests versus YTDC. The one exception is a slower build to maximum lateral acceleration in step steer tests but with a corresponding increase in stability. The
RWD configuration was not able to complete most tests without complete loss of
control. The passive center coupling configuration also performed poorly with very
slow, overdamped response times. We will discuss these results in detail in the
next, and final chapter, along with some system limitations and future directions
for this project.
Chapter 6
Conclusions and Future Directions
In this final chapter we will discuss the results and look at how this thesis measures
against its objectives.
6.1
Slip Angle Velocity Estimation
The slip angle velocity estimate was able to track a simulated value it was trained
against with excellent phase matching but with some offsets and phantom spikes.
Because the control system works proportionally on this signal, this manifests in
and output that reacts quickly but may have a residual bias. The results from
the autocross maneuver also show that the estimate can work outside the domain
of inputs it was specifically trained for. The phantom spikes are also likely due
to a lack of training on the longitudinal acceleration signal and may indicate that
removing it as an input could improve the result.
84
CHAPTER 6. CONCLUSIONS AND FUTURE DIRECTIONS
6.2
85
Slip Angle Velocity Control
Using the estimated slip angle velocity for control realized:
• smooth control output,
• significantly better controllability than yaw control,
• fast turn-in yaw response on par with rear-wheel-drive configurations,
• ultimately the fastest autocross time.
A shortcoming of the control system was the over-damped slip angle response to
the accelerating step steer maneuver and the correspondingly slower lateral force
response. On-vehicle testing and tuning would be needed to determine how decreasing the gain on the controller to increase slip angle response would compare
against the loss of some controllability.
6.3
Simulation Platform
Providing a simulation platform added a significant amount of work to this thesis,
due to the many simulation parameters required to get an accurate representation
of the FSAE car. This concept could have been proven with a more top-down
modeling approach before concentrating on the simulation platform development.
Some simulation parameters may not have influenced results. However, the control
system and software and generated by this project are now much closer to implementation than most simulation based projects. Much thought and consideration
towards a physical, working end product has been included in the design, such as:
CHAPTER 6. CONCLUSIONS AND FUTURE DIRECTIONS
86
• Use of existing sensors and modeling some of their behavior (eg. GPS sensor
at 5Hz, sensor inputs as measured voltages),
• Modeling latency and communication bandwidth in the output actuator,
• Clean and tidy Simulink code, divided into easily comprehensible functional
components.
Data from simulation was easy to collect and manage, as each simulation run
would generate a Matlab workspace data file that could be accessed directly or with
scripting to generate plots quickly. Simulation maneuvers are infinitely repeatable,
which is excellent for direct comparisons that would be difficult to achieve with
on-vehicle testing: such as the SVC vs YTDC, and AWD vs RWD.
The autocross data was difficult to collect as the IPG driver would randomly
turn off track and ruin a run. It appeared to be a steering controller instability
or bug but and was worked around but not resolved. Also, IPG driver training
for each vehicle configuration was a slow process and necessary to execute after
changing any vehicle parameters to maximize vehicle performance potential and
keep functioning and stable near the racing limits.
6.4
AWD to RWD Comparison
The stability benefits of AWD were very apparent as the RWD configuration was
not able to execute any of the defined maneuvers. On the race course, this translates
to a significant advantage in corner configurations where a large direction change is
required while accelerating. The time difference to complete the autocross course
CHAPTER 6. CONCLUSIONS AND FUTURE DIRECTIONS
87
was not large, with AWD faster by only 0.3 s, but that time is significant given the
25 kg lighter mass of the RWD only vehicle. Also worth noting is that the passive
center coupling was slower than RWD by another 0.4 s, which indicates that an
improperly designed or tuned system could hurt overall performance.
6.5
Training and Validation Limitations
For system implementation, training inputs to the slip angle velocity estimator need
to be carefully chosen. Due to the random distribution of neural network weights
and bias, a combination of inputs that has not been appropriately trained could
result in random output control. Complete validation requires an extensive set
of test cases covering the entire vehicle performance envelope, and thorough data
analysis of the results.
6.6
Embedded Controller Requirements
For the proposed slip angle estimation network configuration of seven inputs and
two hidden layers of twenty neurons, each iteration requires 540 multiplications,
601 additions, and 48 activation function calculations. Also, 4808 bytes of calibration memory are required for 601 64-bit, double-precision, floating-point network
weights and biases. This is a significantly large requirement for processing power
and memory in an embedded controller. Section 6.7.2 outlines some suggestions for
reducing network requirements.
CHAPTER 6. CONCLUSIONS AND FUTURE DIRECTIONS
6.7
88
Future Direction
Several concepts were considered during the course of this project but were not feasible to fully implement due to time, budget, or resource contraints. The remaining
topics are suggestions for continuation of this research.
6.7.1
Vehicle Implementation
The next step in control system development would be on-vehicle implementation
to verify results in simulation match real system capability. Current system design processes allow direct embedded code-generation from Simulink models. In
particular, the chosen ECU is compatible with Matlab Real-time Embedded Coder
and Freescale Target which simplifies implementation. Any vehicle with permanent
RWD and an active-on-demand AWD system should be compatible with the design. The target vehicle should be configured for datalogging neural network inputs
along with a slip angle measurement for training data. As explained in Section 6.5,
extensive validation would be required to cover many driving dynamics, since the
lack of training data in a dynamic situation results in inaccurate slip velocity estimates. Once verification is complete on the target vehicle, the slip velocity control
algorithms should integrated with standard AWD traction feedforward/feedback
control for straight acceleration and launch dynamics.
6.7.2
Slip Angle Velocity Estimation Improvements
For use in a racing vehicle, it would be convenient to include some parameterization
of inputs to the neural network. This would make it function consistently without
CHAPTER 6. CONCLUSIONS AND FUTURE DIRECTIONS
89
need for retraining when the vehicle is modified. This could include adding tire
friction estimates and rolling radius into the axle torque estimates to create a ’longitudinal force’ input. Also, as observed in Section 6.6, neural network size is quite
large for real-time calculation. This size also impacts speed of training and may be
causing local minimum solutions. Reducing hidden layers from 20 neurons to 15,
and then 10 should be investigated, as well as removing one of two hidden layers.
6.7.3
Fuzzy Control
Preliminary work was completed as part of this project to set up Fuzzy control
using both yaw rate target and slip angle velocity control as inputs. The fuzzy controller was a Mamdani type with two inputs and one output. Inputs were modified
by negating error during left acceleration so that the left and right responses were
equal. This simplified the rule set, as shown in Table 6.1, because control response
became symmetric and rules were combined. Output response is shown in the surface view of the rule set in Figure 6.1. The input and output membership functions
were triangular or trapezoidal and the output membership function is offset to allow
a zero output while maintaining the centroidal method of defuzzification. These
functions are listed in Appendix C.4. Additional lateral acceleration and slip ratio
inputs were also added to expand the control system beyond stability control and
blend in traction control.
90
CHAPTER 6. CONCLUSIONS AND FUTURE DIRECTIONS
Table 6.1: Ruleset for combined fuzzy control of yaw error and slip angle velocity;
NS: Negative Small; NB: Negative Big; PS: Positive Small; PB: Positive Big.
rerr
β̇
Cc
rerr
β̇
Cc
rerr
β̇
Cc
NB
Zero
Off
NB
PS
Off
NB
PB
Off
NS
Zero
Off
NS
PS
Off
NS
PB
Low
Zero Zero
Off
Zero PS
Low
Zero
PB
High
PS
Zero
Low
PS
PS
High
PS
PB
High
PB
zero
High
PB
PS
High
PB
PB
High
Figure 6.1: Fuzzy controller rule surface.
CHAPTER 6. CONCLUSIONS AND FUTURE DIRECTIONS
6.8
91
Conclusion
This thesis presented a novel all-wheel-drive active torque transfer controller using a
neural network estimated slip angle velocity. This controller specifically targeted a
racing vehicle by allowing rapid direction changes for maneuverability but damping
slip angle changes for increased controllability. The slip angle velocity estimate was
able to track the actual simulated value it was trained against with excellent phase
matching but with some offsets and phantom spikes. Using the estimated slip angle
velocity for control realized smooth control output, excellent stability, and a fast
turn-in yaw response on par with rear-wheel-drive configurations. A full vehicle
simulation with software-in-the-loop testing for control software was also developed
to aid the system design process and avoid vehicle run time for tuning. This design
flow should significantly decrease development time for controls algorithm work and
help increase innovation within the team.
References
[Abe01]
Masato Abe, Yoshio Kano, Kazuasa Suzuki, Yasuji Shibahata, and
Yoshimi Furukawa, “Side-slip control to stabilize vehicle lateral motion
by direct yaw moment,” JSAE Review, vol. 22, pp. 413, 2001.
[Admi07]
National Highway Traffic Safety Administration, “Electronic stability
control systems controls and displays,” 2007.
[Ando05]
Hiroyuki Ando, “Awd vehicle simulation with the intelligent torque
controlled coupling as a fully controllable awd system,” 2005.
[Auto06]
IPG Automotive, “Ipg: Carmaker,” 2006.
[Bert95]
Alain Berthoz, Isabelle Isral, Pierre Georges-Franois, Renato Grasso,
and Toshihiro Tsuzuku, “Spatial memory of body linear displacement:
what is being stored?,” Science, New Series, vol. 259, No. 5220, pp.
95–96–98, Jul 7, 1995 1995.
[Bevl06]
David Bevly, Robert Daily, William, and Travis, “Estimation of critical
tire parameters using gps based sideslip measurements,” SAE Technical
Paper 2006-01-1965, Feb 14, 2012 2006.
[Boad05]
B. L. Boada, M. J. L. Boada, and V. Diaz, “Fuzzy-logic applied to yaw
moment control for vehicle stability,” Vehicle System Dynamics, vol.
43, No. 10, pp. 753, 2005.
[Coop05]
Nicholas Cooper, David Crolla, Martin Levesley, and Warren Manning,
“Integration of active suspension and active driveline to ensure stability
while improving vehicle dynamics,” SAE Technical Paper Series, 2005.
[Denn83]
John E. Dennis and Robert B. Schnabel, Numerical Methods for Unconstrained Optimization and Nonlinear Equations, Prentice-Hall, Englewood Cliffs, N.J., 1983.
[Dura02]
M. Durali and A. Kassaiezadeh, “Fuzzy and neuro-fuzzy controller for
active suspension,” SAE Technical Paper Series, vol. 2002-01-2204, ,
July 2002.
92
REFERENCES
93
[Farm10]
Chris Farmer, “Effects of electronic stability control on fatal crash risk,”
Insurance Institute for Highway Safety, 2010.
[Felt06]
John Feltman, “Mechatronic torque vectoring system with enhanced
controllability for augmenting the vehicle agility and safety,” 2006.
[Fuka99]
Yoshiki Fukada, “Slip-angle estimation for vehicle stability control,”
Vehicle System Dynamics, vol. 32, pp. 375, 1999.
[Gaff09]
E. Gaffney, J. Keane, and J. Nicols, “High efficiency 2 channel active
roll control system,” SAE Technical Paper 2009-01-0222, 2009.
[Hac00]
Aleksander Hac and Melinda D. Simpson, “Estimation of vehicle side
slip angle and yaw rate,” SAE Technical Paper 2000-01-0696, 2000.
[Inc07]
The MathWorks Inc., “Simulink 7, simulation and model-based design,”
2007.
[Kasp06]
Edward M. Kasprzak and David Gentz, “The formula sae tire test
consortium-tire testing and data handling,” SAE Technical Paper 200601-3606, 2006.
[Kin03]
Keiyu Kin, Osamu Yano, and Hiroyuki Urabe, “Enhancements in vehicle stability and steerability with slip control,” JSAE Review, vol. 24,
pp. 71, 2003.
[Lee02]
Edward A. Lee, “Embedded software,” Advances in Computers, vol. 56,
, 2002.
[Mamm02] Said Mammar and Damien Koenig, “Vehicle handling improvement by
active steering,” Vehicle System Dynamics, vol. 38, No. 3, pp. 211, 2002.
[Mill01]
S. L. Miller, “Calculating longitudinal wheel slip and tire parameters
using gps velocity,” In Proceedings of the American Control Conference,
pp. 1800–1805, 2001.
[Mill95]
William F. Milliken and Douglas L. Milliken, Race Car Vehicle Dynamics, Society of Automotive Engineers, Warrendale, PA, 1995.
[oAE08]
Society of Automotive Engineers, “Vehicle dynamics terminology,”
2008.
[oAE12]
Society of Automotive Engineers, “About formula sae,” 2012.
[oAE76]
Society of Automotive Engineers, “Vehicle dynamics terminology,”
1976.
[Orga91]
International Standards Organization, “Road vehicles – vehicle dynamics and road-holding ability – vocabulary,” 1991.
REFERENCES
94
[Pace06]
Hans B. Pacejka, Tire and Vehicle Dynamics - 2nd Ed., Society of
Automotive Engineers, Warrendale, PA, 2006.
[Piya06a]
Damrongrit Piyabongkarn, John Grogg, QingHui Yuan, Jae Lew, and
Rajesh Rajamani, “Dynamic modeling of torque-biasing devices for vehicle yaw control,” In Automotive Dynamics, Stability and Controls
Conference and Exhibition, SAE, February 2006 2006.
[Piya06b]
Damrongrit (Neng) Piyabongkarn, “Development and experimental
evaluation of a slip angle estimator for vehicle stability control,” IEEE
Transactions on Control Systems Technology, vol. 17, No. 1, pp. 78–88,
2006.
[Rose62]
Frank Rosenblatt, Principles of neurodynamics; perceptrons and the
theory of brain mechanisms, Volume 1, pp. 616p, Spartan Books, Washington, 1962.
[Rume86] D. E. Rumelhart, G. E. Hinton, and R. J. Williams, “Learning representations by back-propagating errors,” Nature, vol. 323, pp. 533–536,
1986.
[Ryu04]
Jihan Ryu and J. Christian Gerdes, “Integrating inertial sensors with
global positioning system (gps) for vehicle dynamics control,” Journal
of Dynamic Systems, Measurement, and Control, vol. 126, pp. 243, June
2004 2004.
[Sasa00]
Hideaki Sasaki and Takatoshi Nishimaki, “A side-slip angle estimation
using neural network for a wheeled vehicle,” SAE Technical Paper 200001-0695, 2000.
[Shar05]
A. B. Sharkawy, “Fuzzy and adaptive fuzzy control for the automobiles
active suspension system,” Vehicle System Dynamics, vol. 43, No. 11,
pp. 795, 2005.
[Song02]
Chul Ki Song, “Vehicle speed estimation using accelerometer and wheel
speed measurements,” 2002.
[Taha04]
Farzad Tahami, Shahrokh Farhangi, and Reza Kazemi, “A fuzzy logic
direct yaw-moment control system for all-wheel-drive electric vehicles,”
Vehicle System Dynamics, vol. 41, No. 3, pp. 203, 2004.
[Tsen99]
H. E. Tseng, D. Madau, B. Ashrafi, T. Brown, and D. Reckei, “Technical challenges in the development of vehicle stability control system,”
In Proceedings of the 1999 IEEE International Conference on Control
Applications, pp. 1660, IEEE, August 22-27,1999 1999.
[Visc04]
Amedeo Visconti, “Chassis control: An overview of the present and a
look to the future,” 2004.
REFERENCES
95
[Walk08]
Jason Walkingshaw, Steven McClintock, Geoffrey McCullough, Charles
McCartan, and Geoffrey Cunningham, “Experimental validation of a
fsae engine model,” February 2008 2008.
[Wenz06]
T. A. Wenzel, K. J. Burnham, M. V. Blundell, and R. A. Williams,
“Dual extended kalman filter for vehicle state and parameter estimation,” Vehicle System Dynamics, vol. 44, No. 2, pp. 153, 2006.
[Whea04]
Jonathan C. Wheals, “Torque vectoring awd driveline: Design, simulation, capabilities and control,” 2004.
[Whea06]
Jonathan C. Wheals, “Design and simulation of a torque vectoring rear
axle,” 2006.
[Yagi90]
Shizuo Yagi, Yoichi Ishibasi, and Hiroshi Sono, “Experimental analysis
of total engine friction in four stroke si engines,” February 1990 1990.
[Youn06]
J. Youn, J. Ma, M. Sunwoo, and W. Lee, “Software-in-the-loop simulation environment realization using matlab/simulink,” SAE Technical
Paper 2006-01-1470, April 3, 2006 2006.
Appendix A
Glossary
A.1
Abbreviations
ABS
Anti-lock Brake System
ADC
Analog to Digital Converter
AWD
All Wheel Drive
CAD
Computer Aided Design
CAN
Controller Area Network
CG
Center of Gravity (Whole Vehicle)
CGSM
Center of Gravity of Sprung Mass
CPU
Central Processor Unit
DIL
Driver In the Loop
DSC
Dynamic Stability Control
ECU
Electronic Control Unit
ESC,ESP
Electronic Stability Control/Program
96
APPENDIX A. GLOSSARY
FMVSS
Federal (USA) Motor Vehicle Safety Standards
FSAE
Formula SAE Competition
GPS
Global Positioning System
HIL
Hardware-in-the-Loop
IIHS
Insurance Institute for Highway Safety
ISO
International Organization for Standardization
IMU
Inertial Measurement Unit
IR
Installation Ratio of Supension
K&C
Kinematics and Compliance
LSC
Limited Slip Coupling
NHTSA
National (USA) Highway Traffic Safety Authority
NN
Neural Network
MR
Motion Ratio of Suspension
MTS
[Instron] Material Test System
PCC
Passive Center Coupling
PID
Proportional, Integral, Deriative [Control Method]
RWD
Rear Wheel Drive
SAE
Society of Automotive Engineers
SCI
Serial Control Interface
SPI
Serial Peripheral Interface
SVC
Slip Velocity Control
TPS
Throttle Position Sensor
TPU
Time Processor Unit
WSS
Wheel Speed Sensor
97
APPENDIX A. GLOSSARY
YDC
Yaw Damping Conrol
YTC
Yaw Target Control
YTDC
Yaw Target and Damping Control
A.2
Math Variables
ax
Longitudinal Acceleration [m/s2̂] (positive to the front)
ay
Lateral Acceleration [m/s2̂] (positive to the left)
As
Center Coupling Slave Cylinder Area [m2̂]
b
Front Axle to CG Distance [m]
Bd
Damping Coefficient at Damper [Ns/m]
Bw
Damping Coefficient Wheel Equivalent [Ns/m]
c
Rear Axle to CG Distance [m]
Cc
Center Coupling Stiffness [MBengt]
Cx
Longitudinal Tire Stiffness Coefficient [-]
Cy
Lateral Tire Stiffness Coefficient [-]
Dt
Outer Diameter of Tire [m]
Fc
Derived Damper Compression Force [N]
Fm
Measured Damper Force [N]
Fs
Static Measured Damper Force [N]
Fx
Longitudinal(Traction) Force [N]
Fx,f , Fx,r
Longitudinal(Traction) Tire Force on Front, Rear Axle [N]
Fy
Lateral(Cornering) Force [N]
98
APPENDIX A. GLOSSARY
Fy,f , Fy,r
Lateral Tire Force on Front, Rear Axle [N]
Fz
Tire Normal Force [N] (always positive)
Fz,NOMIN
Nominal Tire Normal Force [N]
h or cgz
Height of Vehicle Center of Gravity [m]
99
(sprung and unsprung combined)
Jz
Yaw Inertia [kg · m2 ]
Kc
Center Coupling Stiffness Coefficient
Kgas
Stiffness of Damper Due to Gas Spring Force [kN/m]
Ks
Stiffness of Suspension Spring [kN/m]
Kw
Stiffness of Spring as Measured at Wheel [kN/m]
L
Wheelbase [m]
m
Total Vehicle Mass [kg] (sprung and unsprung combined)
mp
Mass of Damper Piston Assembly [kg]
Mz
Aligning Moment [Nm]
Pc
Center Coupling Pressure [Pa]
r or ωz
Vehicle Yaw Rate [rad/s] (positive counter-clockwise)
rerr
Yaw Rate Error [rad/s]
rref
Reference or Target Yaw Rate [rad/s] (positive counter-clockwise)
ṙ
Vehicle Yaw Acceleration [rad/s2̂] (positive counter-clockwise)
R
Radius of Vehicle Path Curvature [m]
Rc
Effective Radius of Center Coupling Clutches [m]
Rg
Effective Tire Radius [m]
tf ,tr
Front and Rear Track Width [m]
vx
Longitudinal Velocity [m/s] (positive to the front)
APPENDIX A. GLOSSARY
vy
Lateral Velocity [m/s] (positive to the left)
yd
Damper Position [m]
ys
Steering Rack Linear Travel [m]
∆yf , ∆yr
Front of Tire, Rear of Tire Displacement [m]
ẏd
Damper Velocity [m/s]
ÿd
Damper Acceleration [m/s2̂]
α
Tire Slip Angle [rad]
β
Vehicle Slip Angle [rad]
β̇
Vehicle Slip Angle Velocity [rad]
δ
Road Wheel Steer Angle [rad] (positive counter-clockwise)
δD
Steering Wheel Angle [rad]
γ
Tire Camber [rad] (negative leans top of tire towards vehicle)
κ
Tire Slip Ratio [-] (positive traction; negative braking)
µ
Friction Coefficient of Road Surface with Tire [-]
µc
Center Coupling Clutch Friction Coefficient [-]
τc
Center Coupling Torque Transfer [Nm]
(positive transfer to front axle)
ω
Wheel Rotational Velocity [rad/s]
∆ωc
Center Coupling Relative Angular Velocity [rad/s]
(positive front axle faster)
100
Appendix B
Data
B.1
Component Inertia Values
101
102
APPENDIX B. DATA
Table B.1: Calculated inertia values for drivetrain components.
Simulated
Mass
Wheel
FinalDrive out
FinalDrive in
Coupling out
Coupling in
Gearbox out
Gearbox in
Clutch out
Clutch in
Engine
Components
Qty
wheel
tire
outer CV joint
bearing
hub
axle shaft
inner CV joint
rear brake rotor
front brake rotor
diff cage
ring gear
pinion gear
input shaft
diff coupler
driveshaft
universal joint
output shaft
internal shaft
clutch metals
clutch discs
clutch basket
input shaft
sprocket shaft
idler shaft
sprocket
drive belt
engine coupler
sprocket
output shaft
gears
gears
mainshaft
clutches
clutch plate carrier
clutches
clutch basket
clutch gear
stator
starter clutch
valvetrain
crankshaft
connecting rods
connecting rod bolts
1
1
1
1
1
2
2
2
2
1
1
1
1
1
1
2
1
1
5
6
1
1
1
1
1
1
1
1
1
1
1
1
8
1
9
1
1
1
1
1
1
4
1
Total Inertia
(kg.m2)
1.82E-01
2.26E-01
2.80E-04
5.00E-08
7.37E-04
1.63E-05
6.98E-04
5.62E-03
2.31E-02
5.35E-03
1.26E-02
2.00E-04
2.12E-04
2.11E-04
7.90E-04
4.42E-04
3.50E-05
1.00E-04
2.50E-04
3.00E-04
3.00E-04
1.00E-04
1.44E-04
1.14E-04
3.64E-04
4.00E-04
1.96E-04
4.25E-04
5.00E-04
2.00E-03
8.00E-03
5.00E-04
8.00E-04
6.00E-03
1.70E-04
3.06E-03
2.04E-03
1.29E-03
2.79E-04
1.50E-03
6.22E-03
3.25E-04
7.67E-06
Note
Total
[1]
0.433F 0.415R
1.79E-02
[2]
6.23E-04
[2]
[2]
[2]
[2]
[2]
[2]
[2]
[2]
[2]
[2]
[2]
[2]
[3]
[3]
[3]
1.62E-03
1.72E-03
3.12E-03
8.50E-03
6.80E-03
5.28E-03
[2]
[4]
9.62E-03
notes:
(1) average of left and right shafts, (2) estimated, (3) equivalent inertia at engine speed, (4) rotating component of inertia
103
APPENDIX B. DATA
B.2
Autocross Road Profile
Listing B.1: 2007 Autocross Road Definition
Road.VhclStartPos = 0
Road.Lane = c e n t e r
Road.2Movie.MStrip = 0 . 1 2 2
Road.2Movie.SStrip = 0 . 1 9 1 0 . 1
R o a d . 2 M o v i e . G S t r i p = 1 . 5 0 100
Road.2Movie.MaxErrXY = 0 . 0 2
Road.2Movie.GeoStepSize = 0 . 2 0
Road.2Movie.GenFric = 1
R oad . 2Movi e. G en P yl on e = 1
R oad . 2Movi e . G e n V e l S i g n = 1
R oad . 2Movi e. G enSid eW ind = 1
R o a d . 2 M o v i e . P r e f U n i t = km/h
Road.2Movie.BgGeoFName = ” ”
R oad . 2Movi e. G eo O p t i o n s = ” ”
Road.Definition:
F i l e I d e n t IPG−ROAD 3
Origin
0 0 0 0
D e f a u l t 2 2 15 15 0 0 0 0 . 8 0 . 7 0 0 0 0 0 0
Straight
TurnRight
Straight
32 − − − −
0 .0 0 .0 0 .0
20 80 − − − −
30 − − − −
0 .0 0 .0 0 .0
TurnLeft
7 . 5 150 − − − −
Straight
5 − − − −
TurnRight
10 115 − − − −
25 − − − −
TurnLeft
48 14 . 3 − − − −
TurnRight
TurnLeft
TurnRight
TurnLeft
TurnRight
17 56 . 1 − − − −
17 56 . 1 − − − −
TurnLeft
29 180 − − − −
TurnRight
Straight
14 − − − −
TurnLeft
90 . 8 10 . 1 − − − −
TurnLeft
0 .0 0 .0 0 .0
0 .0 0 .0 0 .0
31 . 2 31 − − − −
TurnLeft
31 . 2 35 . 6 − − − −
Straight
10 − − − −
20 140 − − − −
Straight
10 − − − −
0 0 0
0 0 0
0 .0 0 .0 0 .0
31 . 2 41 . 2 − − − −
0 .0 0 .0 0 .0
0 .0 0 .0 0 .0
0 0 0
0 .0 0 .0 0 .0
0 .0 0 .0 0 .0
− − −
− −
− −
0 0 0
− −
0 0 0
− − −
− − −
− −
0 0 0
− − −
− − −
− − −
− −
0 0 0
− −
− − −
− − −
− − −
− − −
− − −
0 0 0
− −
− − −
− −
− − −
− − −
− − −
− −
0 0 0
− − −
− − −
− −
0 0 0
0 .0 0 .0 0 .0
0 .0 0 .0 0 .0
− −
− − −
− − −
− − −
0 0 0
0 .0 0 .0 0 .0
31 . 2 41 . 2 − − − −
TurnLeft
0 0 0
− − −
− − −
− − −
− −
0 0 0
− −
0 .0 0 .0 0 .0
30 120 − − − −
TurnRight
0 0 0
− − −
− − −
− − −
− −
− −
0 0 0
0 0 0
0 .0 0 .0 0 .0
TurnLeft
TurnRight
0 0 0
0 .0 0 .0 0 .0
− − −
− −
0 0 0
− − −
− − −
− − −
0 0 0
− − −
− − −
− − −
− −
− −
0 .0 0 .0 0 .0
0 .0 0.0 0.0
32 180 − − − −
− −
− − −
0 0 0
0 .0 0 .0 0 .0
48 14 . 3 − − − −
5 − − − −
− − −
− −
0 .0 0 .0 0 .0
− − −
− − −
0 0 0
0 0 0
0 .0 0 .0 0 .0
17 42 . 3 − − − −
− − −
− −
− −
0 0 0
0 .0 0 .0 0 .0
17 42 . 3 − − − −
Straight
0 0 0
0 .0 0 .0 0 .0
0 .0 0 .0 0 .0
− −
0 0 0
0 .0 0 .0 0 .0
0 .0 0.0 0.0
Straight
0 0 0
0 .0 0 .0 0 .0
− −
− − −
− − −
− −
− − −
− − −
− − −
− −
− − −
− − −
− − −
− − −
− − −
− − −
− − −
− − −
− − −
104
APPENDIX B. DATA
TurnRight
Straight
20 60 − − − −
Straight
60 − − − −
20 50 − − − −
Straight
10 − − − −
15 80 − − − −
10 − − − −
TurnLeft
20 50 − − − −
Straight
76 − − − −
10 90 − − − −
Straight
10 − − − −
10 90 − − − −
TurnRight
100 10 − − − −
16 . 5 − − − −
TurnLeft
10 90 − − − −
Straight
81 . 3 − − − −
TurnLeft
10 92 − − − −
0 0 0
0 0 0
0 0 0
0 0 0
0 .0 0 .0 0 .0
0 0 0
0 .0 0 .0 0 .0
0 .0 0 .0 0 .0
0 .0 0 .0 0 .0
0 .0 0 .0 0 .0
0 .0 0 .0 0 .0
− −
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
Autocross Laptimes
− −
− −
− −
− − −
− − −
− − −
− −
− −
− − −
− − −
− − −
− − −
− − −
− − −
− − −
− − −
− −
− −
− − −
− − −
− − −
− − −
− −
− −
− − −
− − −
− − −
− − −
− − −
− − −
− − −
− −
− −
− − −
− − −
− −
− −
0 0 0
0 .0 0 .0 0 .0
0 .0 0 .0 0 .0
TurnRight
Straight
0 0 0
0 0 0
− −
− − −
− −
− −
0 0 0
0 .0 0 .0 0 .0
0 .0 0 .0 0 .0
TurnLeft
0 0 0
0 .0 0 .0 0 .0
0 .0 0 .0 0 .0
− −
0 0 0
0 .0 0 .0 0 .0
0 .0 0 .0 0 .0
0 0 0
0 0 0
0 .0 0 .0 0 .0
0 .0 0 .0 0 .0
TurnLeft
Straight
0 .0 0 .0 0 .0
0 .0 0 .0 0 .0
TurnLeft
TurnRight
B.3
12 120 − − − −
18 − − − −
− − −
− − −
− − −
− − −
− − −
− − −
− − −
− − −
− − −
− − −
− − −
105
APPENDIX B. DATA
Table B.2: List of autocross laptime progression for each configuration.
SVC
73.891
73.147
72.404
71.969
71.527
71.155
70.780
70.203
70.249
69.144
68.600
68.808
67.744
68.319
67.500
67.094
67.288
66.852
66.688
67.405
66.623
67.398
66.643
67.460
66.659
67.467
66.556
66.187
66.010
YTDC
73.891
73.057
72.402
72.012
71.612
71.236
70.800
70.518
69.897
69.878
69.207
68.679
69.392
67.911
68.271
67.721
67.382
68.100
67.117
66.876
66.760
66.643
67.451
66.900
67.610
67.339
67.023
66.747
67.346
PCC
73.891
73.043
72.247
71.797
71.438
71.037
71.219
70.479
70.221
70.287
69.690
69.220
69.273
68.646
68.240
68.554
67.914
67.477
66.994
67.655
67.302
66.924
67.579
67.048
66.786
67.583
67.225
67.611
67.035
RWD
73.891
73.315
72.341
71.764
71.446
71.106
70.671
70.378
69.596
69.108
69.166
68.387
67.877
67.310
67.695
67.774
67.096
66.844
66.603
67.233
66.551
67.192
66.758
66.569
66.355
67.011
66.465
67.266
66.765
———
SVC
65.810*
66.637
66.078
66.830
66.191
66.962
66.382
66.193
67.023
66.435
66.261
66.931
66.406
66.205
67.021
66.323
66.969
66.384
67.077
66.482
66.263
66.848
66.339
YTDC
66.797
66.604
67.350
67.030
66.742
67.635
66.652
66.439
67.030
66.691
66.472
67.315
66.537
66.270
66.134
66.863
66.383
66.115
65.955*
66.735
66.269
66.103
66.738
PCC
66.77
67.464
67.015
66.753
67.452
66.999
66.746
67.458
67.022
66.736
67.376
66.968
66.717
66.581*
67.363
66.862
66.639
67.306
66.844
66.603
67.403
66.945
66.633
67.530
66.945
66.644
RWD
66.542
67.45
66.841
66.585
66.37
67.031
66.42
67.143
66.506
67.043
66.44
66.154*
66.814
66.291
67.081
66.537
66.283
67
66.559
66.353
66.168
66.89
66.421
66.192
Appendix C
Code
C.1
C.1.1
CarMaker Scripts
Sound Feedback using Instrument Window Scripting
Listing C.1: Modifications to Instruments.tcl
# add n e a r s t a r t o f f i l e
package re qui re s n a c k
snack::sound s
# m o d i f y t h e Han dleD at aVec p r o c e d u r e
proc HandleDataVec { s i d msgid } {
g l o b a l C o n f i g Qu LED
T a c h o : : S e t N e e d l e .rpm 0 [ expr 0 . 009549∗ $Q u ( n E n gi n e ) ]
T a c h o : : S e t N e e d l e . s p d 0 [ expr {$Qu ( vCar ) ∗ 3 . 6 } ]
. s p d i t e m c o n f i g km − t ext [ format ”%8 . 3 f ” [ expr {$Qu ( D i s t a n c e ) ∗ 0 . 0 0 1 } ] ]
.rpm i t e m c o n f i g g e a r − t ext [ Gearbox::Gear Name $Qu ( GearNo ) ]
# m od if i cat i on s s t a r t here
s e t f [ s n a c k : : f i l t e r g e n e r a t o r [ expr 0 .33∗$Qu ( n E n gi n e ) ] \
[ expr { 16000 ∗$Qu ( Gas ) + 1 6 0 0 0 } ] 0 . 2 r e c t a n g l e 2 5 0 1 ]
s e t s [ s n a c k : : s o u n d − r at e 2 2 0 5 0 ]
$ s p l a y − f i l t e r $ f −command ” $ s d e s t r o y ; $ f d e s t r o y ”
# m o d i f i c a t i o n s en d h e r e
i f { $Config ( wi th P ed al s )} {
. l i g h t s i t e m c o n f i g u r e L ap t i m e0 − t ext [ format ” b e s t : %. 3 f
. l i g h t s i t e m c o n f i g u r e L ap t i m e1 − t ext [ format ” l a s t : %. 3 f
. l i g h t s i t e m c o n f i g u r e L ap t i m e2 − t ext [ format ” a c t . : %. 3 f
H V Bar : : S et . m i d . s t e e r
[ expr {$Qu ( StWhlAngle ) ∗ 5 7 . 2 9 6 } ]
H V Bar : : S et . m i d . g a s
[ expr { 100∗$Qu ( Gas ) } ]
H V Bar : : S et . m i d . b r a k e
[ expr { 100∗$Qu ( Brake ) } ]
H V Bar : : S et . m i d . c l u t c h [ expr { 100∗$Qu ( C l u t c h ) } ]
i f { $ C o n f i g ( n G ear s )>0} {
G e a r b o x : : S e t . g e a r . n o $Qu ( GearNo )
}
106
s ” $Qu ( BestLapTime ) ]
s ” $Qu ( LastLapTime ) ]
s ” $Qu ( LapTime ) ]
107
APPENDIX C. CODE
.lights.l0.l
.lights.l1.l
c o n f i g u r e −bg $LED ( 0 ,$Qu ( Kl15SW ) )
c o n f i g u r e −bg $LED ( 1 ,$Qu ( BLS ) )
}
}
C.1.2
mass-AutocrossLaptimeSensitivity.tcl
OpenSLog m a s s − A u t o c r o s s L a p t i m e S e n s i t i v i t y . c s v
s e t mean 207
s e t sd 25
s e t i t e r s 600
Q u a n t S u b s c r i b e { DM.Lap.Time }
LoadTestRun ” S e n s i t i v i t y A u t o c r o s s ”
#Log ” ∗ T e s t Run L oaded ”
SaveTestRun ” MonteCarloTestRun ”
#Log ” ∗ W or kin g c o p y s a v e d ”
#Log ” ∗ P a r a m e t e r M o d i f i e d ”
s e t mass0 [ I F i l e R e a d V e h i c l e ” Body.mass ” ]
Log ” M a s s , S t a r t
for { set
L a p , L e a r n Ay”
i 1 } { $ i <= $ i t e r s } { i n c r
i } {
s e t d [ n or d ev ]
s e t n or [ expr { $d ∗ $sd + $mean } ]
I F i l e M o d i f y V e h i c l e ” Body.mass ” \ $ n o r
IFileFlush
Driver::StartAdaption basic
W a i t F o r S t a t u s r u n n i n g 2000
WaitForStatus i d l e
StartSim
W a i t F o r S t a t u s r u n n i n g 2000
WaitForStatus i d l e
s e t Ay [ I F i l e R e a d TestRun ” D r i v e r . L e a r n . a y M a x ” ]
Log [ format ”%7 . 4 f , %7 . 3 f , %s ” $ n o r $Qu ( DM.Lap.Time ) $Ay ]
SaveTestRun ” MonteCarloTestRun ”
}
I F i l e M o d i f y V e h i c l e ” Body.mass ” $mass0
IFileFlush
Cl oseS L og
#$
C.1.3
Normal Distribution Procedure
# P r o c e d u r e t h a t r e t u r n s a random v a r i a b l e s a m p l e d
# mean z e r o and s t a n d a r d d e v i a t i o n u n i t y .
proc n or d ev {} {
variable l a s t
i f { [ info e xi sts l a s t ] } {
set r e t v a l $ l a s t
unset l a s t
return \ $ r e t v a l
}
s e t v1 [ expr { 2 . ∗ r an d ( ) − 1 } ]
s e t v2 [ expr { 2 . ∗ r an d ( ) − 1 } ]
s e t r s q [ expr { $v1∗ $v1 + $v2∗ $v2 } ]
while { $ r s q > 1 . } {
s e t v1 [ expr { 2 . ∗ r an d ( ) − 1 } ]
s e t v2 [ expr { 2 . ∗ r an d ( ) − 1 } ]
s e t r s q [ expr { $v1∗ $v1 + $v2∗ $v2 } ]
fr om a G a u s s i a n
distribution
with
108
APPENDIX C. CODE
}
s e t f a c [ expr { sqrt ( −2. ∗ l o g (
s e t l a s t [ expr { $v1 ∗ $ f a c } ]
return [ expr { $v2 ∗ $ f a c } ]
}
#$
$rsq
) / $rsq
)
}]
109
APPENDIX C. CODE
C.2
Controller Simulink Models
Figure C.1: Simulink model of main control loop
[WhlSpd_LF]
<WheelSpd_LF [rad]/s]>
[WhlSpd_RF]
<WheelSpd_RF [rad/s]>
[YawRate]
[YawRateTgt]
<YawRateTgt [rad/s]>
[WhlSpd_RR]
<WheelSpd_RR [rad/s]>
[YawRatePosErr]
[YawRate]
<YawRate [rad/s]>
[YawAccelPos]
[LatAcc]
<LatAcc [m/s^2]>
<YawRate [rad/s], YawRateTgt [rad/s], YawRatePosErr [rad/s], YawAccelPos [rad/s^2]>
<YawRatePosErr [rad/s]>
[SteerAng]
[Throttle]
<Throttle [%]>
[SlipAngVelAct]
<DrivMan GearNo>
[SlipAngVelEst]
[LongAcc]
[SlipAngVelErr]
[VehVel]
<X Velocity [m/s]>
[SlipAngVelErrMag]
[SlipAngAct]
<SlipAngleMeas [rad]>
du/dt
[VehVelGPS]
<VehVelocityGPS [m/s]>
SlipAngVelAct [rad/s]
Derivative2
[SteerAng]
[FrtWhlAng]
[Clutch]
<Clutch Sw [b]>
YawControl
<SlipAngVelEst [rad/s]>
<SlipAngVelAct [rad/s], SlipAngVelEst [rad/s], SlipAngVelErr, |SlipAngVelErr|>
SlipAngVelErr
[LatAcc]
|SlipAngVelErr|
[VCSCmdPID]
VehVelAct
[VehVelGPS]
<VehVelocity [m/s], VehVelocityGPS [m/s], X Velocity [m/s], VehVelEst [m/s]>
[VehVel]
<X Velocity [m/s]>
<VehVelEst [m/s]>
[GPSTrig]
LongAcc
VehVelEst
VehVelEst [m/s]
SlipVelControl
<VehVelocityGPS [m/s]>
[VehVelEst]
VehVelGPS
<CplTorqEst [Nm]>
<VehVelocity [m/s]>
[BrkPressRr]
<BrkPressRr [MPa]>
<VCSCmdPID [MBengt]>
<FrontWheelAngle [rad]>
[BrkPressFrt]
<BrkPressFrt [MPa]>
<LatAcc [m/s^2]>
<DrivMan Steering Ang, FrontWheelAngle [rad]>
<DrivMan Steering Ang>
[CplTorqEst]
VehVelGPSTrig
<VCSCmdPID [MBengt]>
<SlipAngVelAct [rad/s]>
[SlipAngVelAct]
[GPSTrig]
<GPSTrig [b]>
[LongAcc]
<DrivMan Steering Ang>
[VCSCmdPID]
[GearPos]
[GPSTrig]
<LatAcc [m/s^2]>
[SteerAng]
<DrivMan Steering Ang>
<LongAcc [m/s^2]>
[VehVelGPS]
[LatAcc]
<YawAccelPos [rad/s^2]>
[EngSpd]
<EngSpd [RPM]>
1
Direct Signals
<YawRate [rad/s]>
[WhlSpd_LR]
<WheelSpd_LR [rad/s]>
<GPSTrig [b]>
[VehVelEst]
VelEstimate
Vehicle Velocity Estimate
[SlipAngAct]
[EngSpd]
EngSpd
[Throttle]
Throttle
[SlipAngEst]
EngTorqEst
[GearPos]
[Clutch]
GearPos
EngTorqEst [Nm]
<SlipAngleMeas [rad]>
<SlipAngleMeas [rad], SlipAngEst [rad]>
<SlipAngEst [rad]>
[EngTorqEst]
[SlipAngAct]
du/dt
SlipAngVelAct [rad/s]
Derivative
Clutch
[SlipAngVelEst]
Engine Torque Estimate
<SlipAngVelAct [rad/s], SlipAngVelEst [rad/s]>
<SlipAngVelEst [rad/s]>
SlipAngEst
[WhlSpd_LF]
WhlSpd_LF
[WhlSpd_RF]
WhlSpd_RF
[WhlSpd_LR]
WhlSpd_LR
[WhlSpd_RR]
WhlSpd_RR
CtrCplDeltaVel
AxlVelFrt
AxlVelRr
CtrCplDeltaVel [rad/s]
AxlVelFrt [rad/s]
AxlVelRr [rad/s]
[CtrCplDeltaVel]
[AxlVelFrt]
[AxlVelRr]
Coupling Velocity
[VCSAct]
CplTorqEst
[CtrCplDeltaVel]
[SlipAngVelEst]
<SlipAngVelEst [rad/s]>
slipAngVelEst
VCS
CtrCplDeltaVel
CplTorqEst [Nm]
[CplTorqEst]
[SlipAngVelErrMag]
<SlipAngVelErrMag [rad/s]>
slipAngVelErrMag
Coupling Torque Transfer Estimate
[BrkPressFrt]
BrkPressFrt
BrkTorqEstFrt
[BrkPressRr]
BrkPressRr
BrkTorqEstRr
<BrkTorqEstFrt [Nm]>
<BrkTorqEstRr [Nm]>
[BrkTorqEstFrt]
[SlipAngAct]
<SlipAngleMeas [rad]>
target
[BrkTorqEstRr]
[SlipAngAct]
Brake Torque Estimate
du/dt
dttarget
Derivative1
[EngTorqEst]
EngTorqEst
AxlTorqEstFrt
[BrkTorqEstFrt]
BrkTorqEstFrt
[BrkTorqEstRr]
BrkTorqEstRr
AxlTorqEstFrt [Nm]
[FrtWhlAng]
[VehVelEst]
AxlTorqEstRr
[CplTorqEst]
[AxlTorqEstFrt]
AxlTorqEstRr [Nm]
CplTorqEst
[AxlTorqEstRr]
[YawRate]
Axle Torque Estimate
[SteerAng]
SteerAngle
FrontWheelAngle
FrontWheelAngle [rad]
[FrtWhlAng]
WheelAngle
[FrtWhlAng]
FrontWheelAngle
[VehVelEst]
Vel
YawRateTgt
YawRateTgt [rad/s]
YawRateErr
[YawRate]
[LatAcc]
YawRate
LatAcc
|YawRatePosErr|
SimpleBicycle
[LatAcc]
[LongAcc]
YawRateErr [rad/s]
YawRatePosErr [rad/s]
<FrontWheelAngle [rad]>
<VehVelEst [m/s]>
<YawRate [rad/s]>
<LatAcc [m/s^2]>
<LongAcc [m/s^2]>
steer
vel
yawrate
accel
xaccel
[YawRateTgt]
[AxlTorqEstFrt]
<AxlTorqEstFrt [Nm]>
axlTorqFrt
[YawRateErr]
[AxlTorqEstRr]
[YawRatePosErr]
<AxlTorqEstRr [Nm]>
axlTorqRr
110
APPENDIX C. CODE
Figure C.2: Simulink model of main control loop, continued
SimpleBicycle
[FrtWhlAng]
FrtWhlAng
[VehVelEst]
VehVel
[YawRatePosErr]
SlipAng
[YawRate]
[LatAcc]
[LongAcc]
<YawRatePosErr [rad/s]>
yawRatePosErr
[SlipAngEst]
SlipAngEst [rad]
YawRate
[YawRateTgt]
<YawRateTgt [rad/s]>
yawRateTgt
LatAcc
[VCSCmdPID]
LongAcc
[AxlTorqEstFrt]
AxlTorqFrt
[AxlTorqEstRr]
AxlTorqRr
SlipAngVel
<VCSCmdPID [MBengt]>
couplingStiffness
[SlipAngVelEst]
SlipAngVelEst [rad/s]
SlipAngleEstimator
[YawRate]
YawRate
[YawRate]
|YawAccelPos|
[LatAcc]
LatAcc
[YawAccelPos]
YawAccelPos [rad/s^2]
[YawRateTgt]
PositiveYawAcceleration
[SlipAngVelEst]
[LatAcc]
SlipAngVel
|SlipAngVelErr|
SlipAngVelErr
LatAcc
[SlipAngVelErrMag]
SlipAngVelErrMag [rad/s]
[SlipAngVelErr]
SlipAngVelErr [rad/s]
[YawRatePosErr]
[VCSCmdPID]
SlipAngleVelocityError
[YawRatePosErr]
|YawRateError|
[YawAccelPos]
|YawAccelPos|
[SlipAngVelErrMag]
SlipAngVel
2
SimDisplayVars
VCS
[VCSCmdPID]
VCSCmdPID [MBengt]
Ground2
[SlipAngEst]
PID Control
[VCSCmdPID]
[SlipAngVelEst]
1
Direct Output
[VCSAct]
25ms Transport
Delay
Ground1
111
APPENDIX C. CODE
C.3
C.3.1
Neural Network Scripts
Create Neural Network
% d t N N cr eat e. m
% c r e a t e n e u r a l n et wor k and s e t
initial
training
parameters.
Create
training
data
set.
d t n e t = n e w f f ( [ −0.4 0 . 4 ; 0 4 0 ; −2 2 ; −20 2 0 ; −20 2 0 ; −2000 2 0 0 0 ; −2000 2 0 0 0 ] , [ 2 0 20 1 ] ,
{ ’ tansig ’ , ’ tansig ’ , ’ purelin ’} , ’ trainbfg ’ ) ;
dtnet.trainParam.show =
% dtnet.trainParam.lr =
dtnet.trainParam.time =
dtnet.trainParam.epochs
dtnet.trainParam.goal =
10;
0 .05 ;
3600 ∗2 ;
= 1500;
1e−3 ;
i f ( ˜ e x i s t ( ’ d t i n d a t a ’ , ’ var ’ ) )
i f ( e x i s t ( ’ s t e e r ’ , ’ var ’ ) )
%u s e t h e d a t a t o c r e a t e t h e array
d t i n d at a= [ s t e e r v e l y a w r a t e a c c e l x a c c e l
dttargdata= [ d t t a r g e t ] ’ ;
else
%s t a r t w i t h b l a n k array
d t i n d at a= [ 0 0 0 0 0 0 0 ] ’ ;
dttargdata= [ 0 ] ’ ;
end
end
C.3.2
axlTorqFrt
axl Tor qR r ] ’ ;
Concatenate Training Data
% dtNNcatdata.m
% t a k e c u r r e n t r u n d a t a fr om w o r k s p a c e and c r e a t e
training
d a t a o r append t o
existing
i f ( ˜ e x i s t ( ’ d t i n d a t a ’ , ’ var ’ ) )
i f ( e x i s t ( ’ s t e e r ’ , ’ var ’ ) )
%u s e t h e d a t a t o c r e a t e t h e array
d t i n d at a= [ s t e e r v e l y a w r a t e a c c e l x a c c e l a x l T o r q F r t axl Tor qR r ] ’ ;
dttargdata= [ d t t a r g e t ] ’ ;
else
%s t a r t w i t h b l a n k array
d t i n d at a= [ 0 0 0 0 0 0 0 ] ’ ;
dttargdata= [ 0 ] ’ ;
end
else
d t i n d at a= [ d t i n d a t a [ s t e e r v e l y a w r a t e a c c e l x a c c e l a x l T o r q F r t axl Tor qR r ] ’ ] ;
dttargdata= [ d ttargd ata [ d t t a r g e t ] ’ ] ;
end
clear accel ;
c l e a r axlTorqFrt ;
c l e a r axl Tor qR r ;
clear couplingStiffness ;
clear dttarget ;
c l e a r sl i p A n gV el E r r Mag ;
c l e a r slipAngVelEst ;
clear steer ;
clear target ;
c l e a r time ;
clear vel ;
c l e a r xPos ;
clear xaccel ;
c l e a r yPos ;
c l e a r yawRatePosErr ;
c l e a r yawRateTgt ;
c l e a r yawrate ;
data
112
APPENDIX C. CODE
C.3.3
Build Neural Network and Training Data
% dtNNbuild.m
% c r e a t e n e u r a l n et wor k and t r a i n i n g
data
set,
train
clear a ll ;
r u n ( ’ d t N N cr eat e ’ ) ;
%load ( ’ A u t ocr oss2007 S V C2000. m at ’ ) ;
%r u n ( ’ dtNNcatdata ’ ) ;
load ( ’ Cor n er E xi t L eft A W D . m at ’ ) ;
r u n ( ’ dtNNcatdata ’ ) ;
load ( ’ CornerExit Right AWD.mat ’ ) ;
r u n ( ’ dtNNcatdata ’ ) ;
%load ( ’ C o r n e r E x i t L e f t N o C o n t r o l . m a t ’ ) ;
%r u n ( ’ dtNNcatdata ’ ) ;
%load ( ’ C o r n e r E x i t R i g h t N o C o n t r o l . m a t ’ ) ;
%r u n ( ’ dtNNcatdata ’ ) ;
%load ( ’ MaxL at Th ot t l eTi p In L eft A W D . m at ’ ) ;
%r u n ( ’ dtNNcatdata ’ ) ;
%load ( ’ MaxL at Th ot t l eTi p In R i gh t A W D . m at ’ ) ;
%r u n ( ’ dtNNcatdata ’ ) ;
%load ( ’ M a x L a t T h o t t l e T i p I n L e f t N o C o n t r o l . m a t ’ ) ;
%r u n ( ’ dtNNcatdata ’ ) ;
%load ( ’ M a x L a t T h o t t l e T i p I n R i g h t N o C o n t r o l . m a t ’ ) ;
%r u n ( ’ dtNNcatdata ’ ) ;
%load ( ’ A c c e l e r a t i n g T u r n L e f t N o C o n t r o l . m a t ’ ) ;
%r u n ( ’ dtNNcatdata ’ ) ;
%load ( ’ A c c e l e r a t i n g T u r n R i g h t N o C o n t r o l . m a t ’ ) ;
%r u n ( ’ dtNNcatdata ’ ) ;
load ( ’ A ccel er at i n gTu r n L eft A W D . m at ’ ) ;
r u n ( ’ dtNNcatdata ’ ) ;
load ( ’ A ccel er at i n gTu r n R i gh t A W D . m at ’ ) ;
r u n ( ’ dtNNcatdata ’ ) ;
%load ( ’ A c c e l e r a t i n g L a n e C h a n g e L e f t N o C o n t r o l . m a t ’ ) ;
%r u n ( ’ dtNNcatdata ’ ) ;
%load ( ’ A c c e l e r a t i n g L a n e C h a n g e R i g h t N o C o n t r o l . m a t ’ ) ;
%r u n ( ’ dtNNcatdata ’ ) ;
load ( ’ A ccel er at i n gL an eCh an g e L eft A W D . m at ’ ) ;
r u n ( ’ dtNNcatdata ’ ) ;
load ( ’ A ccel er at i n gL an eCh an ge R i gh t A W D . m at ’ ) ;
r u n ( ’ dtNNcatdata ’ ) ;
dtnet.trainParam.show =
dtnet.trainParam.epochs
dtnet.trainParam.time =
dtnet.trainParam.goal =
10;
= 3000;
3600 ∗4 ;
1e−2 ;
[ d t n e t , d t t r ] =train ( d t n e t , d t i n d a t a , d t t a r g d a t a ) ;
gen si m ( d t n e t , − 1 ) ;
network, then g e n e r a t e simulink
block
113
APPENDIX C. CODE
C.4
Fuzzy Membership Functions
Membership function plots
FIS Variables
PS
zero
PB
1
YawRateError
Y-acc
stiffness
0.5
SlipRatioError
0
0
0.5
1
1.5
input variable "SlipAngleDt"
2
2.5
3
SlipAngleDt
Figure C.3: Fuzzy membership function for slip angle velocity input.
114
APPENDIX C. CODE
Membership function plots
FIS Variables
NS
NB
zero
PS
PB
1
YawRateError
stiffness
0.5
Y-acc
SlipRatioError
0
-3
-2
-1
0
input variable "YawRateError"
1
2
3
SlipAngleDt
Figure C.4: Fuzzy membership function for yaw rate error input.
Membership function plots
FIS Variables
low
off
high
1
YawRateError
Y-acc
stiffness
0.5
SlipRatioError
0
-1000
0
1000
2000
3000
4000
output variable "stiffness"
5000
6000
7000
8000
SlipAngleDt
Figure C.5: Fuzzy membership function for coupling stiffness output.
Appendix D
Images
D.1
Design
Drafting and CAD from design stage.
115
APPENDIX D. IMAGES
Figure D.1: Detail of Haldex housing design.
116
APPENDIX D. IMAGES
Figure D.2: Detail of Haldex output shaft design.
117
APPENDIX D. IMAGES
Figure D.3: Detail of differential side input flange design.
118
APPENDIX D. IMAGES
Figure D.4: Detail of engine side output flange design.
119
APPENDIX D. IMAGES
Figure D.5: Detail of carbon fibre driveshaft design.
120
APPENDIX D. IMAGES
D.2
Construction
Detailed construction images.
Figure D.6: Start of machining Haldex housing from raw aluminum billet.
121
APPENDIX D. IMAGES
Figure D.7: Rough machined Haldex housing.
122
APPENDIX D. IMAGES
Figure D.8: Completed haldex housing with 2004 chain drive.
123
APPENDIX D. IMAGES
D.3
124
Competition
Figure D.9: Gryphon Racing 2005 Formula SAE car staged for autocross event.
APPENDIX D. IMAGES
125
Figure D.10: Discussing AWD system with a design judge at 2005 competition.
APPENDIX D. IMAGES
Figure D.11: Gryphon Racing 2005 Formula SAE car in skidpad event.
126
© Copyright 2026 Paperzz