Qingguo Zhou is Professor at Lanzhou University and Deputy Director of the Engineering Research Center for Open Source Software and Real-Time Systems, at the Ministry of Education, China. He is also the Director of the School of Computer Science and Engineering and the Embedded System Laboratory at Lanzhou University. His research focuses on intelligent driving, AI, embedded and real-time systems. He has published widely.
Self-driving vehicles are a rapidly growing area of research and expertise. Theories and Practice of Self-Driving Vehicles presents a comprehensive introduction to the technology of self driving vehicles across the three domains of perception, planning and control. The title systematically introduces vehicle systems from principles to practice, including basic knowledge of ROS programming, machine and deep learning, as well as basic modules such as environmental perception and sensor fusion. The book introduces advanced control algorithms as well as important areas of new research. This title offers engineers, technicians and students an accessible handbook to the entire stack of technology in a self-driving vehicle. Theories and Practice of Self-Driving Vehicles presents an introduction to self-driving vehicle technology from principles to practice. Ten chapters cover the full stack of driverless technology for a self-driving vehicle. Written by two authors experienced in both industry and research, this book offers an accessible and systematic introduction to self-driving vehicle technology. - Provides a comprehensive introduction to the technology stack of a self-driving vehicle- Covers the three domains of perception, planning and control- Offers foundational theory and best practices- Introduces advanced control algorithms and high-potential areas of new research- Gives engineers, technicians and students an accessible handbook to self-driving vehicle technology and applications
Front Cover 1
THEORIES AND PRACTICES OF SELF-DRIVING VEHICLES 2
THEORIES AND PRACTICES OF SELF-DRIVING VEHICLES 4
Copyright 5
Contents 6
Contributors 10
1 - First acquaintance with unmanned vehicles 12
1.1 What are unmanned vehicles? 13
1.1.1 Classification standards for unmanned vehicles 13
1.1.2 How difficult is the implementation of unmanned vehicles? 16
1.2 Why do we need unmanned vehicles? 18
1.2.1 Improvement of road traffic safety 18
1.2.2 Alleviation of urban traffic congestion 19
1.2.3 Improvement of travel efficiency 19
1.2.4 Lowering the threshold for drivers 20
1.3 Basic framework of the unmanned vehicle system 20
1.3.1 Environmental perception 21
1.3.2 Localization 24
1.3.3 Mission planning 25
1.3.4 Behavior planning 27
1.3.5 Motion planning 28
1.3.6 Control system 29
1.3.7 Summary 32
1.4 Development environment configuration 33
1.4.1 Simple environment installation 33
1.4.2 Install the robot operating system (ROS) 34
1.4.3 Install OpenCV 35
References 36
2 - Introduction to robot operating system 38
2.1 ROS introduction 39
2.1.1 Brief introduction to ROS 39
2.1.1.1 What is ROS? 39
2.1.1.2 History of ROS 39
2.1.1.3 Features of ROS 40
2.1.2 Concept of ROS 40
2.1.2.1 Master 40
2.1.2.2 Node 41
2.1.2.3 Topic 41
2.1.2.4 Message 43
2.1.3 Catkin create system 43
2.1.4 Project organization structure in ROS 44
2.1.4.1 CMakeLists.txt 45
2.1.5 Practice based on husky simulator 46
2.1.6 Basic ROS programming 50
2.1.6.1 ROS C++ client library (roscpp) 50
2.1.6.1.1 Node handle 52
2.1.6.1.2 ROS logging method 53
2.1.6.2 Write simple publish and subscribe code 53
2.1.6.2.1 Object-oriented node coding 55
2.1.6.3 Parameter services in ROS 55
2.1.6.4 Small case based on husky robot 56
2.1.7 ROS services 64
2.1.8 ROS action 68
2.1.9 Common tools in ROS 68
2.1.9.1 Rviz 69
2.1.9.2 rqt 69
2.1.9.3 TF coordinate conversion system 70
2.1.9.4 URDF and SDF 72
References 73
3 - Localization for unmanned vehicle 74
3.1 Principle of achieving localization 74
3.2 ICP algorithm 76
3.3 Normal distribution transform 83
3.3.1 Introduction to NDT algorithm 83
3.3.2 Basic steps of NDT algorithm 84
3.3.3 Advantages of NDT algorithm 85
3.3.4 Algorithm example 86
3.4 Localization system based on global positioning system (GPS) + inertial navigation system (INS) 92
3.4.1 Localization principle 93
3.4.2 Localization fusion of different sensors 95
3.5 SLAM-based localization system 98
3.5.1 SLAM localization principle 99
3.5.2 SLAM applications 101
References 104
4 - State estimation and sensor fusion 106
4.1 Kalman filter and state estimation 107
4.1.1 What is the Kalman filter? 107
4.1.2 Kalman filter 107
4.1.2.1 Status forecast 108
4.1.2.2 Calculation of forecast error 109
4.1.2.3 Measurement error 109
4.1.2.4 Calculation of Kalman gain 110
4.1.2.5 Calculation of optimal estimate 110
4.1.2.6 Calculation of the error of the optimal estimate 111
4.1.3 Kalman filter in autonomous vehicle sensing module 113
4.1.3.1 Sensors for autonomous vehicle perception module 113
4.1.3.2 Kalman filter-based pedestrian localization estimation 113
4.1.3.3 Kalman filter pedestrian state estimation in Python 116
4.2 Advanced motion modeling and EKF 126
4.2.1 Advanced motion models for vehicle tracking 126
4.2.2 EKF 129
4.2.2.1 Jacobi matrix 129
4.2.2.2 Process noise 132
4.2.2.3 Measurement 135
4.2.2.4 Python implementation 137
4.3 UKF 149
4.3.1 Movement model 150
4.3.2 Nonlinear processing/measurement models 151
4.3.3 Lossless transformation 151
4.3.4 Projections 152
4.3.4.1 Prediction of sigma point 153
4.3.4.2 Predicted mean and variance 153
4.3.5 Measurement updates 154
4.3.5.1 Update status 155
4.3.6 Summary 155
References 155
5 - Introduction of machine learning and neural networks 158
5.1 Basic concepts of machine learning 159
5.2 Supervised learning 162
5.2.1 Empirical risk minimization 162
5.2.2 Overfitting and underfitting 163
5.2.3 ``Certain algorithm''-gradient descent algorithm 166
5.2.4 Summary 167
5.3 Fundamentals of neural network 168
5.3.1 Basic structure of the neural network 169
5.3.2 Unlimited capacity-fitting arbitrary functions 171
5.3.3 Forward transmission 173
5.3.4 Stochastic gradient descent 175
5.4 Using Keras to implement the neural network 176
5.4.1 Data preparation 176
5.4.2 A small change in three-layer neural network-deep feedforward neural network 182
5.4.3 Summary 186
References 186
6 - Deep learning and visual perception 188
6.1 Deep feedforward neural networks-why is it necessary to be deep? 189
6.1.1 Efficiency of model training under big data 189
6.1.2 Representation learning 190
6.2 Regularization technology applied to deep neural networks 191
6.2.1 Data augmentation 191
6.2.2 Early stopping 194
6.2.3 Parameter normalization penalties 195
6.2.4 Dropout 196
6.3 Actual combat-traffic sign recognition 198
6.3.1 Belgium traffic sign dataset 198
6.3.2 Data preprocessing 204
6.3.3 Leverage Keras to construct and train a deep feedforward network 206
6.4 Introduction to convolutional neural networks 207
6.4.1 What is convolution and the motivation for convolution 208
6.4.2 Sparse interactions 210
6.4.3 Parameter sharing 213
6.4.4 Equivariant representations 213
6.4.5 Convolutional neural network 213
6.4.6 Some details of convolution 215
6.5 Vehicle detection based on YOLO2 217
6.5.1 Pretrained classification network 218
6.5.2 Train the detection network 219
6.5.3 Loss function of YOLO 220
6.5.4 Test 221
6.5.5 Vehicle and pedestrian detection based on YOLO 221
References 227
7 - Transfer learning and end-to-end self-driving 228
7.1 Transfer learning 229
7.2 End-to-end selfdriving 231
7.3 End-to-end selfdriving simulation 232
7.3.1 Selection of the simulator 232
7.3.2 Data collection and processing 233
7.3.3 Construction of the deep neural network model 234
7.3.3.1 LeNet deep selfdriving model 235
7.3.3.2 NVIDIA deep selfdriving model 237
7.4 Summary of this chapter 239
References 240
8 - Getting started with self-driving planning 242
8.1 A? algorithm 243
8.1.1 Directed graph 243
8.1.2 Breadth-first search (BFS) algorithm 244
8.1.3 Data structure 246
8.1.4 How to generate a route 247
8.1.5 Directional search (heuristic) 249
8.1.6 Dijkstra algorithm 250
8.1.7 A? algorithm 251
8.2 Hierarchical finite state machine (HFSM) and autonomous vehicle behavior planning 252
8.2.1 Design criteria for decision-making plan system of autonomous vehicles 253
8.2.2 FSM 253
8.2.3 Hierarchical FSM 255
8.2.4 Use of state machines in behavior planning 256
8.3 Autonomous vehicle route generation based on free boundary cubic spline interpolation 258
8.3.1 Cubic spline interpolation 258
8.3.2 Cubic spline interpolation algorithm 262
8.3.3 Using Python to implement cubic spline interpolation for path generation 264
8.4 Motion planning method of the autonomous vehicle based on Frenet optimization trajectory 266
8.4.1 Why use the Frenet coordinate system 268
8.4.2 Jerk minimization and polynomial solution of fifth degree trajectory 270
8.4.3 Collision avoidance 275
8.4.4 Example of motion planning for autonomous vehicles based on Frenet optimization trajectory 276
References 283
9 - Vehicle model and advanced control 284
9.1 Kinematic bicycle model and dynamic bicycle model 284
9.1.1 Bicycle model 285
9.1.2 Kinematic bicycle model 287
9.1.3 Dynamic bicycle model 288
9.2 Rudiments of autonomous vehicle control 289
9.2.1 Need for control theory 289
9.2.2 PID control algorithm 290
9.2.2.1 Proportional control 291
9.2.2.2 Proportional and derivative control 293
9.3 MPC based on kinematic model 302
9.3.1 Applying PID controller forwards to steering control 302
9.3.2 Predictive model 302
9.3.3 Online optimal loop based on time series 304
9.3.4 Feedback correction 305
9.4 Trajectory tracking 306
References 316
10 - Deep reinforcement learning and application in self-driving 318
10.1 Overview of reinforcement learning 319
10.2 Reinforcement learning 320
10.2.1 Markov decision process 320
10.2.2 Constituent elements 321
10.2.2.1 Policy 321
10.2.2.2 Reward 322
10.2.3 Value function 322
10.3 Approximate value function 325
10.4 Deep Q network algorithm 326
10.4.1 Q learning algorithm 326
10.4.2 DQN algorithm 326
10.4.2.1 Reward function 327
10.4.2.2 Objective function 328
10.5 Policy gradient 330
10.6 Deep deterministic policy gradient and TORCS game control 330
10.6.1 About TORCS game 330
10.6.2 TORCS game environment installation 331
10.6.3 Deep deterministic strategy gradient algorithm 333
10.6.3.1 Theory 333
10.6.3.2 Reward function setting 334
10.6.3.3 Running program 335
10.7 Summary 336
References 336
Index 338
A 338
B 338
C 338
D 339
E 340
F 340
G 340
H 340
I 341
J 341
K 341
L 341
M 341
N 342
O 342
P 342
R 343
S 344
T 344
U 344
V 345
W 345
Y 345
Back Cover 346
Erscheint lt. Verlag | 3.7.2022 |
---|---|
Sprache | englisch |
Themenwelt | Technik ► Fahrzeugbau / Schiffbau |
ISBN-10 | 0-323-99449-0 / 0323994490 |
ISBN-13 | 978-0-323-99449-1 / 9780323994491 |
Haben Sie eine Frage zum Produkt? |
Größe: 16,7 MB
Kopierschutz: Adobe-DRM
Adobe-DRM ist ein Kopierschutz, der das eBook vor Mißbrauch schützen soll. Dabei wird das eBook bereits beim Download auf Ihre persönliche Adobe-ID autorisiert. Lesen können Sie das eBook dann nur auf den Geräten, welche ebenfalls auf Ihre Adobe-ID registriert sind.
Details zum Adobe-DRM
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen eine
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen eine
Geräteliste und zusätzliche Hinweise
Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
Kopierschutz: Adobe-DRM
Adobe-DRM ist ein Kopierschutz, der das eBook vor Mißbrauch schützen soll. Dabei wird das eBook bereits beim Download auf Ihre persönliche Adobe-ID autorisiert. Lesen können Sie das eBook dann nur auf den Geräten, welche ebenfalls auf Ihre Adobe-ID registriert sind.
Details zum Adobe-DRM
Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belletristik und Sachbüchern. Der Fließtext wird dynamisch an die Display- und Schriftgröße angepasst. Auch für mobile Lesegeräte ist EPUB daher gut geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen eine
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen eine
Geräteliste und zusätzliche Hinweise
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich