Preface |
|
xiii | |
Author |
|
xv | |
Acknowledgment |
|
xvii | |
|
|
1 | (10) |
|
1.1 Brief history of SDV technology |
|
|
2 | (1) |
|
|
3 | (1) |
|
1.3 What benefits does SDV technology offer? |
|
|
4 | (1) |
|
1.4 Why do we need another book about autonomous cars? |
|
|
5 | (1) |
|
1.5 Whom is this book aimed at? |
|
|
6 | (1) |
|
1.6 How is this book structured? |
|
|
6 | (1) |
|
|
7 | (4) |
|
|
9 | (2) |
|
|
11 | (38) |
|
|
11 | (26) |
|
|
13 | (1) |
|
|
14 | (1) |
|
|
15 | (2) |
|
|
17 | (4) |
|
2.1.2.3 Ultrasonic sensors |
|
|
21 | (3) |
|
|
24 | (3) |
|
2.1.2.5 Global Navigation Satellite Systems |
|
|
27 | (3) |
|
2.1.2.6 Inertial Measurement Units |
|
|
30 | (4) |
|
|
34 | (3) |
|
|
37 | (3) |
|
|
37 | (1) |
|
2.2.2 Examples of computing platforms |
|
|
38 | (2) |
|
|
40 | (4) |
|
2.3.1 Components of an actuator interface |
|
|
40 | (3) |
|
2.3.2 Enabling drive-by-wire systems |
|
|
43 | (1) |
|
|
44 | (1) |
|
|
45 | (4) |
|
|
47 | (2) |
|
|
49 | (58) |
|
|
50 | (8) |
|
3.1.1 Localization based on GNSS |
|
|
51 | (1) |
|
3.1.2 Localization based on wheel odometry |
|
|
51 | (1) |
|
3.1.3 Localization based on INS |
|
|
51 | (1) |
|
3.1.4 Localization with external references |
|
|
51 | (1) |
|
3.1.5 Localization based on lidar |
|
|
52 | (1) |
|
3.1.6 Localization based on cameras |
|
|
53 | (5) |
|
3.1.7 Localization based on multi-sensor data fusion |
|
|
58 | (1) |
|
|
58 | (3) |
|
3.2.1 Occupancy grid maps |
|
|
58 | (1) |
|
|
59 | (1) |
|
|
60 | (1) |
|
3.2.4 Other types of maps |
|
|
61 | (1) |
|
|
61 | (16) |
|
|
63 | (1) |
|
|
63 | (2) |
|
|
65 | (3) |
|
3.3.2 Optimization approach |
|
|
68 | (2) |
|
|
70 | (4) |
|
3.3.2.2 Bundle adjustment |
|
|
74 | (3) |
|
|
77 | (11) |
|
|
80 | (1) |
|
3.4.1.1 Histogram of oriented gradients |
|
|
81 | (1) |
|
3.4.1.2 Scale-invariant feature transform |
|
|
82 | (2) |
|
3.4.1.3 Maximally stable extremal regions |
|
|
84 | (1) |
|
|
85 | (1) |
|
3.4.2.1 Support vector machine |
|
|
85 | (1) |
|
|
86 | (1) |
|
3.4.2.3 Artificial neural network |
|
|
87 | (1) |
|
3.5 Multi-sensor data fusion |
|
|
88 | (9) |
|
|
88 | (4) |
|
|
92 | (1) |
|
3.5.2.1 Probabilistic approach |
|
|
92 | (2) |
|
3.5.2.2 Evidential approach |
|
|
94 | (3) |
|
|
97 | (1) |
|
|
97 | (10) |
|
|
99 | (8) |
|
|
107 | (28) |
|
4.1 Functional architecture |
|
|
107 | (13) |
|
|
108 | (1) |
|
|
109 | (1) |
|
|
109 | (1) |
|
4.1.2.2 Behavioral planning |
|
|
110 | (2) |
|
|
112 | (4) |
|
|
116 | (1) |
|
|
117 | (1) |
|
4.1.3.2 Adaptive cruise control |
|
|
118 | (1) |
|
|
119 | (1) |
|
|
120 | (2) |
|
|
121 | (1) |
|
|
121 | (1) |
|
|
122 | (1) |
|
4.3 SDV middleware examples |
|
|
122 | (8) |
|
4.3.1 Robot operating system |
|
|
122 | (2) |
|
4.3.2 Automotive data and time-triggered framework |
|
|
124 | (2) |
|
4.3.3 Automotive open system architecture |
|
|
126 | (4) |
|
|
130 | (5) |
|
|
133 | (2) |
|
5 Putting it all together |
|
|
135 | (26) |
|
|
136 | (2) |
|
5.1.1 Choosing your vehicle |
|
|
136 | (1) |
|
|
136 | (1) |
|
5.1.3 Sensor selection and calibration |
|
|
137 | (1) |
|
|
138 | (14) |
|
5.2.1 Open source car control |
|
|
139 | (1) |
|
|
140 | (1) |
|
5.2.1.2 X-by-wire systems |
|
|
141 | (1) |
|
|
141 | (2) |
|
5.2.2 Installing middleware and device drivers |
|
|
143 | (1) |
|
|
143 | (1) |
|
|
143 | (1) |
|
|
144 | (1) |
|
5.2.3 Implementing the software |
|
|
145 | (1) |
|
5.2.3.1 Hand-coded development |
|
|
145 | (1) |
|
5.2.3.2 Model-based development |
|
|
146 | (1) |
|
5.2.4 Map building and localization |
|
|
147 | (2) |
|
5.2.5 Reading vehicle data |
|
|
149 | (1) |
|
5.2.6 Sending vehicle commands |
|
|
150 | (1) |
|
5.2.7 Recording and visualization |
|
|
151 | (1) |
|
5.2.7.1 Recording and playing back data |
|
|
151 | (1) |
|
5.2.7.2 Visualization using the RViz tool |
|
|
152 | (1) |
|
|
152 | (5) |
|
|
153 | (1) |
|
5.3.2 Integration testing |
|
|
153 | (1) |
|
|
154 | (2) |
|
|
156 | (1) |
|
|
157 | (4) |
|
|
159 | (2) |
|
6 Other technology aspects |
|
|
161 | (46) |
|
|
161 | (8) |
|
6.1.1 Why is functional safety important? |
|
|
162 | (1) |
|
|
162 | (2) |
|
6.1.2.1 Safety management |
|
|
164 | (1) |
|
6.1.2.2 Engineering processes and requirements |
|
|
165 | (1) |
|
6.1.2.3 Automotive safety integrity level |
|
|
166 | (1) |
|
6.1.2.4 Product development |
|
|
167 | (1) |
|
6.1.2.5 Production and the safety lifecycle |
|
|
167 | (1) |
|
6.1.2.6 Supporting processes |
|
|
168 | (1) |
|
|
168 | (1) |
|
|
169 | (16) |
|
6.2.1 Why is cybersecurity important? |
|
|
169 | (1) |
|
6.2.2 Automotive cybersecurity standards |
|
|
170 | (2) |
|
|
172 | (1) |
|
|
172 | (2) |
|
|
174 | (2) |
|
6.2.3.3 Secure in-vehicle network communication |
|
|
176 | (5) |
|
6.2.3.4 Secure external communication |
|
|
181 | (3) |
|
|
184 | (1) |
|
6.3 Vehicle-to-everything communication |
|
|
185 | (9) |
|
6.3.1 Why is V2X important? |
|
|
185 | (1) |
|
|
186 | (2) |
|
|
188 | (1) |
|
6.3.3.1 Road work warning |
|
|
188 | (1) |
|
6.3.3.2 Road hazard and accident warning |
|
|
189 | (1) |
|
6.3.3.3 Traffic light phase event |
|
|
190 | (1) |
|
|
190 | (1) |
|
6.3.4.1 Intersection movement assist warning |
|
|
191 | (1) |
|
6.3.4.2 Wrong way driver warning |
|
|
191 | (1) |
|
6.3.4.3 Do-not-pass warning |
|
|
192 | (1) |
|
|
193 | (1) |
|
6.3.5.1 Vulnerable road user warning |
|
|
193 | (1) |
|
|
194 | (1) |
|
|
194 | (4) |
|
6.4.1 Why are back-end systems important? |
|
|
195 | (1) |
|
6.4.2 Back-end system functions |
|
|
195 | (1) |
|
6.4.2.1 Software over-the-air update |
|
|
195 | (1) |
|
6.4.2.2 High-definition maps |
|
|
196 | (1) |
|
|
197 | (1) |
|
|
197 | (1) |
|
|
198 | (9) |
|
|
201 | (6) |
|
7 Applications and outlook |
|
|
207 | (20) |
|
7.1 SDV technology applications |
|
|
208 | (8) |
|
7.1.1 Transportation use cases |
|
|
208 | (1) |
|
7.1.1.1 Private passenger cars |
|
|
208 | (1) |
|
|
209 | (1) |
|
7.1.1.3 Last mile delivery |
|
|
210 | (1) |
|
|
211 | (1) |
|
7.1.2 Non-transportation use cases |
|
|
212 | (1) |
|
7.1.2.1 Driverless tractors |
|
|
213 | (1) |
|
7.1.2.2 Emergency-response robots |
|
|
214 | (1) |
|
|
215 | (1) |
|
7.2 Trends in SDV development strategy |
|
|
216 | (3) |
|
|
217 | (1) |
|
|
218 | (1) |
|
|
218 | (1) |
|
7.3 Trends in deep learning for SDVs |
|
|
219 | (7) |
|
7.3.1 Applying deep learning for SDVs |
|
|
224 | (1) |
|
7.3.1.1 Semantic abstraction learning |
|
|
224 | (1) |
|
7.3.1.2 End-to-end learning |
|
|
225 | (1) |
|
|
225 | (1) |
|
|
226 | (1) |
References |
|
227 | (4) |
Final words |
|
231 | (2) |
Index |
|
233 | |