|
1 Affordable and Reliable Autonomous Driving Through Modular Design |
|
|
1 | (12) |
|
|
1 | (1) |
|
1.2 High Cost of Autonomous Driving Technologies |
|
|
2 | (2) |
|
|
2 | (1) |
|
1.2.2 HD Map Creation and Maintenance |
|
|
3 | (1) |
|
|
3 | (1) |
|
1.3 Achieving Affordability and Reliability |
|
|
4 | (2) |
|
|
4 | (1) |
|
|
5 | (1) |
|
1.3.3 Extending Existing Digital Maps |
|
|
5 | (1) |
|
|
6 | (3) |
|
1.4.1 Communication System |
|
|
7 | (1) |
|
|
7 | (1) |
|
1.4.3 MmWave Radar and Sonar for Passive Perception |
|
|
8 | (1) |
|
1.4.4 GNSS for Localization |
|
|
8 | (1) |
|
1.4.5 Computer Vision for Active Perception and Localization |
|
|
8 | (1) |
|
1.4.6 Planning and Control |
|
|
8 | (1) |
|
|
9 | (1) |
|
|
9 | (1) |
|
1.6 Open Source Projects Used in this Book |
|
|
10 | (1) |
|
|
11 | (2) |
|
2 In-Vehicle Communication Systems |
|
|
13 | (10) |
|
|
13 | (1) |
|
|
13 | (3) |
|
|
16 | (2) |
|
|
16 | (1) |
|
2.3.2 The FlexRay Communication Protocol |
|
|
17 | (1) |
|
|
18 | (4) |
|
|
19 | (1) |
|
|
19 | (1) |
|
2.4.3 Data Transmission and Network Management |
|
|
20 | (1) |
|
2.4.4 Communication Models |
|
|
21 | (1) |
|
|
21 | (1) |
|
|
22 | (1) |
|
3 Chassis Technologies for Autonomous Robots and Vehicles |
|
|
23 | (12) |
|
|
23 | (1) |
|
|
23 | (2) |
|
|
25 | (1) |
|
|
25 | (1) |
|
3.5 Open Source Car Control |
|
|
26 | (3) |
|
|
26 | (1) |
|
|
27 | (1) |
|
|
28 | (1) |
|
|
29 | (1) |
|
|
29 | (1) |
|
|
29 | (1) |
|
|
29 | (1) |
|
3.7 Perceptln Chassis Software Adaptation Layer |
|
|
30 | (4) |
|
|
34 | (1) |
|
4 Passive Perception with Sonar and Millimeter Wave Radar |
|
|
35 | (12) |
|
|
35 | (1) |
|
4.2 The Fundamentals of mmWave Radar |
|
|
35 | (3) |
|
|
36 | (1) |
|
4.2.2 Velocity Measurement |
|
|
37 | (1) |
|
|
38 | (1) |
|
4.3 mmWave Radar Deployment |
|
|
38 | (3) |
|
|
41 | (4) |
|
|
45 | (2) |
|
5 Localization with Real-Time Kinematic Global Navigation Satellite System |
|
|
47 | (30) |
|
|
47 | (1) |
|
5.2 GNSS Technology Overview |
|
|
47 | (2) |
|
|
49 | (3) |
|
5.4 RTK-GNSS NtripCaster Setup Steps |
|
|
52 | (3) |
|
|
52 | (2) |
|
|
54 | (1) |
|
5.5 Setting Up NtripServer and NtripClient on Raspberry Pi |
|
|
55 | (4) |
|
5.5.1 Install the Raspberry Pi System |
|
|
55 | (2) |
|
5.5.2 Run RTKLIB-str2str on the Raspberry Pi |
|
|
57 | (1) |
|
5.5.2.1 Running NtripServer on the Base Station Side |
|
|
57 | (1) |
|
5.5.2.2 Running NtripClient on the GNSS Rover |
|
|
58 | (1) |
|
5.6 Setting Up a Base Station and a GNSS Rover |
|
|
59 | (12) |
|
5.6.1 Base Station Hardware Setup |
|
|
59 | (1) |
|
5.6.2 Base Station Software Setup |
|
|
60 | (7) |
|
|
67 | (1) |
|
5.6.3.1 Rover Hardware Setup |
|
|
67 | (1) |
|
5.6.3.2 Rover Software Setup |
|
|
68 | (3) |
|
5.7 FreeWave Radio Basic Configuration |
|
|
71 | (4) |
|
|
75 | (2) |
|
6 Computer Vision for Perception and Localization |
|
|
77 | (20) |
|
|
77 | (1) |
|
6.2 Building Computer Vision Hardware |
|
|
77 | (4) |
|
6.2.1 Seven Layers of Technologies |
|
|
78 | (2) |
|
6.2.2 Hardware Synchronization |
|
|
80 | (1) |
|
|
80 | (1) |
|
|
81 | (4) |
|
6.3.1 Intrinsic Parameters |
|
|
81 | (1) |
|
6.3.2 Extrinsic Parameters |
|
|
82 | (1) |
|
|
82 | (1) |
|
6.3.3.1 Calibration Target |
|
|
83 | (1) |
|
6.3.3.2 Multiple Camera Calibration |
|
|
83 | (1) |
|
6.3.3.3 Camera IMU Calibration |
|
|
84 | (1) |
|
6.3.3.4 Multi-IMU and IMU Intrinsic Calibration |
|
|
84 | (1) |
|
6.4 Localization with Computer Vision |
|
|
85 | (2) |
|
|
85 | (1) |
|
|
86 | (1) |
|
|
86 | (1) |
|
6.4.2.2 Building the ORB-SLAM2 Library |
|
|
87 | (1) |
|
6.4.2.3 Running Stereo Datasets |
|
|
87 | (1) |
|
6.5 Perception with Computer Vision |
|
|
87 | (3) |
|
6.5.1 ELAS for Stereo Depth Perception |
|
|
88 | (1) |
|
6.5.2 Mask R-CNN for Object Instance Segmentation |
|
|
89 | (1) |
|
6.6 The DragonFly Computer Vision Module |
|
|
90 | (4) |
|
6.6.1 DragonFly Localization Interface |
|
|
90 | (2) |
|
6.6.2 DragonFly Perception Interface |
|
|
92 | (1) |
|
|
93 | (1) |
|
|
94 | (3) |
|
|
97 | (22) |
|
|
97 | (1) |
|
|
97 | (3) |
|
7.2.1 Weighted Directed Graph |
|
|
98 | (1) |
|
7.2.2 Dijkstra's Algorithm |
|
|
99 | (1) |
|
|
100 | (1) |
|
|
100 | (5) |
|
7.3.1 Markov Decision Process |
|
|
101 | (1) |
|
7.3.2 Value Iteration Algorithm |
|
|
102 | (1) |
|
7.3.3 Partially Observable Markov Decision Process (POMDP) |
|
|
103 | (1) |
|
|
104 | (1) |
|
|
105 | (2) |
|
7.4.1 Rapidly Exploring Random Tree |
|
|
105 | (1) |
|
|
106 | (1) |
|
|
107 | (3) |
|
7.5.1 Proportional-Integral-Derivative Controller |
|
|
108 | (1) |
|
7.5.2 Model Predictive Control |
|
|
108 | (2) |
|
7.6 Iterative EM Plannning System in Apollo |
|
|
110 | (6) |
|
|
110 | (1) |
|
7.6.1.1 Path and Trajectory |
|
|
110 | (1) |
|
7.6.1.2 SL Coordinate System and Reference Line |
|
|
110 | (1) |
|
|
111 | (1) |
|
7.6.2 Iterative EM Planning Algorithm |
|
|
112 | (1) |
|
|
113 | (1) |
|
7.6.2.2 QP Path and QP Speed |
|
|
114 | (2) |
|
7.7 PerceptIn's Planning and Control Framework |
|
|
116 | (2) |
|
|
118 | (1) |
|
|
119 | (16) |
|
|
119 | (1) |
|
|
119 | (6) |
|
|
120 | (1) |
|
8.2.1.1 OSM Data Structures |
|
|
120 | (1) |
|
8.2.1.2 OSM Software Stack |
|
|
121 | (1) |
|
8.2.2 Java Open Street Map Editor |
|
|
121 | (2) |
|
8.2.2.1 Adding a Node or a Way |
|
|
123 | (1) |
|
|
123 | (1) |
|
|
124 | (1) |
|
|
124 | (1) |
|
8.2.3.1 Nominatim Architecture |
|
|
124 | (1) |
|
8.2.3.2 Place Ranking in Nominatim |
|
|
125 | (1) |
|
|
125 | (5) |
|
8.3.1 Characteristics of HD Maps |
|
|
126 | (1) |
|
|
126 | (1) |
|
8.3.1.2 Rich Geometric Information and Semantics |
|
|
126 | (1) |
|
|
126 | (1) |
|
|
126 | (1) |
|
8.3.2.1 2D Orthographic Reflectivity Map |
|
|
127 | (1) |
|
8.3.2.2 Digital Elevation Model |
|
|
127 | (1) |
|
|
127 | (1) |
|
|
127 | (1) |
|
|
127 | (1) |
|
|
127 | (1) |
|
8.3.3.2 Offline Generation of HD Maps |
|
|
128 | (1) |
|
8.3.3.2.1 Sensor Fusion and Pose Estimation |
|
|
128 | (1) |
|
8.3.3.2.2 Map Data Fusion and Data Processing |
|
|
129 | (1) |
|
8.3.3.2.3 3D Object Location Detection |
|
|
129 | (1) |
|
8.3.3.2.4 Semantics/Attributes Extraction |
|
|
129 | (1) |
|
8.3.3.3 Quality Control and Validation |
|
|
129 | (1) |
|
8.3.3.4 Update and Maintenance |
|
|
129 | (1) |
|
8.3.3.5 Problems of HD Maps |
|
|
130 | (1) |
|
|
130 | (3) |
|
|
130 | (1) |
|
|
131 | (2) |
|
|
133 | (2) |
|
9 Building the DragonFly Pod and Bus |
|
|
135 | (26) |
|
|
135 | (1) |
|
9.2 Chassis Hardware Specifications |
|
|
135 | (1) |
|
9.3 Sensor Configurations |
|
|
136 | (2) |
|
9.4 Software Architecture |
|
|
138 | (4) |
|
|
142 | (2) |
|
|
144 | (14) |
|
9.6.1 Common Data Structures |
|
|
144 | (2) |
|
|
146 | (3) |
|
|
149 | (1) |
|
|
150 | (3) |
|
|
153 | (5) |
|
|
158 | (2) |
|
|
160 | (1) |
|
10 Enabling Commercial Autonomous Space Robotic Explorers |
|
|
161 | (10) |
|
|
161 | (1) |
|
|
162 | (1) |
|
10.3 Mars Explorer Autonomy |
|
|
163 | (5) |
|
|
163 | (1) |
|
|
164 | (1) |
|
|
165 | (1) |
|
10.3.4 The Curiosity Rover and Mars 2020 Explorer |
|
|
165 | (3) |
|
10.4 Challenge: Onboard Computing Capability |
|
|
168 | (1) |
|
|
169 | (1) |
|
|
170 | (1) |
|
11 Edge Computing for Autonomous Vehicles |
|
|
171 | (12) |
|
|
171 | (1) |
|
|
172 | (1) |
|
11.3 Computing System Architectures |
|
|
173 | (2) |
|
|
175 | (2) |
|
|
177 | (1) |
|
|
178 | (1) |
|
|
179 | (4) |
|
12 Innovations on the Vehicle-to-Everything Infrastructure |
|
|
183 | (8) |
|
|
183 | (1) |
|
12.2 Evolution of V2X Technology |
|
|
183 | (3) |
|
12.3 Cooperative Autonomous Driving |
|
|
186 | (2) |
|
|
188 | (1) |
|
|
189 | (2) |
|
13 Vehicular Edge Security |
|
|
191 | (8) |
|
|
191 | (1) |
|
|
191 | (1) |
|
13.3 Operating System Security |
|
|
192 | (1) |
|
13.4 Control System Security |
|
|
193 | (1) |
|
|
193 | (1) |
|
13.6 Security for Edge Computing |
|
|
194 | (2) |
|
|
196 | (3) |
Index |
|
199 | |