
Engineering Autonomous Vehicles and Robots
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
The first book of its kind on the detailed steps for creating an autonomous vehicle or robot, this book provides an overview of the technology and introduction of the key elements involved in developing autonomous vehicles, and offers an excellent introduction to the basics for someone new to the topic of autonomous vehicles and the innovative, modular-based engineering approach called DragonFly.
Engineering Autonomous Vehicles and Robots: The DragonFly Modular-based Approach covers everything that technical professionals need to know about: CAN bus, chassis, sonars, radars, GNSS, computer vision, localization, perception, motion planning, and more. Particularly, it covers Computer Vision for active perception and localization, as well as mapping and motion planning. The book offers several case studies on the building of an autonomous passenger pod, bus, and vending robot. It features a large amount of supplementary material, including the standard protocol and sample codes for chassis, sonar, and radar. GPSD protocol/NMEA protocol and GPS deployment methods are also provided. Most importantly, readers will learn the philosophy behind the DragonFly modular-based design approach, which empowers readers to design and build their own autonomous vehicles and robots with flexibility and affordability.
* Offers progressive guidance on building autonomous vehicles and robots
* Provides detailed steps and codes to create an autonomous machine, at affordable cost, and with a modular approach
* Written by one of the pioneers in the field building autonomous vehicles
* Includes case studies, source code, and state-of-the art research results
* Accompanied by a website with supplementary material, including sample code for chassis/sonar/radar; GPS deployment methods; Vision Calibration methods
Engineering Autonomous Vehicles and Robots is an excellent book for students, researchers, and practitioners in the field of autonomous vehicles and robots.
More details
Other editions
Additional editions


Person
SHAOSHAN LIU, PHD, is Founder and CEO of PerceptIn, a full-stack visual intelligence company aimed at making scalable hardware/software integrated solutions for autonomous robotics systems. Liu holds a Ph.D. in Computer Engineering from University of California, Irvine and his research focuses on Edge Computing Systems, Robotics, and Autonomous Driving. Liu has over 40 publications and over 100 patents in autonomous systems. Liu is currently a Senior Member of IEEE, an ACM Distinguished Speaker, an IEEE Computer Society Distinguished Visitor, and a co-founder of the IEEE Computer Society Special Technical Community on Autonomous Driving Technologies.
Content
1 Affordable and Reliable Autonomous Driving Through Modular Design 1
1.1 Introduction 1
1.2 High Cost of Autonomous Driving Technologies 2
1.2.1 Sensing 2
1.2.2 HD Map Creation and Maintenance 3
1.2.3 Computing Systems 3
1.3 Achieving Affordability and Reliability 4
1.3.1 Sensor Fusion 4
1.3.2 Modular Design 5
1.3.3 Extending Existing Digital Maps 5
1.4 Modular Design 6
1.4.1 Communication System 7
1.4.2 Chassis 7
1.4.3 mmWave Radar and Sonar for Passive Perception 8
1.4.4 GNSS for Localization 8
1.4.5 Computer Vision for Active Perception and Localization 8
1.4.6 Planning and Control 8
1.4.7 Mapping 9
1.5 The Rest of the Book 9
1.6 Open Source Projects Used in this Book 10
References 11
2 In-Vehicle Communication Systems 13
2.1 Introduction 13
2.2 CAN 13
2.3 FlexRay 16
2.3.1 FlexRay Topology 16
2.3.2 The FlexRay Communication Protocol 17
2.4 CANopen 18
2.4.1 Object Dictionary 19
2.4.2 Profile Family 19
2.4.3 Data Transmission and Network Management 20
2.4.4 Communication Models 21
2.4.5 CANopenNode 21
References 22
3 Chassis Technologies for Autonomous Robots and Vehicles 23
3.1 Introduction 23
3.2 Throttle-by-Wire 23
3.3 Brake-by-Wire 25
3.4 Steer-by-Wire 25
3.5 Open Source Car Control 26
3.5.1 OSCC APIs 26
3.5.2 Hardware 27
3.5.3 Firmware 28
3.6 OpenCaret 29
3.6.1 OSCC Throttle 29
3.6.2 OSCC Brake 29
3.6.3 OSCC Steering 29
3.7 PerceptIn Chassis Software Adaptation Layer 30
References 34
4 Passive Perception with Sonar and Millimeter Wave Radar 35
4.1 Introduction 35
4.2 The Fundamentals of mmWave Radar 35
4.2.1 Range Measurement 36
4.2.2 Velocity Measurement 37
4.2.3 Angle Detection 38
4.3 mmWave Radar Deployment 38
4.4 Sonar Deployment 41
References 45
5 Localization with Real-Time Kinematic Global Navigation Satellite System 47
5.1 Introduction 47
5.2 GNSS Technology Overview 47
5.3 RTK GNSS 49
5.4 RTK-GNSS NtripCaster Setup Steps 52
5.4.1 Set up NtripCaster 52
5.4.2 Start NtripCaster 54
5.5 Setting Up NtripServer and NtripClient on Raspberry Pi 55
5.5.1 Install the Raspberry Pi System 55
5.5.2 Run RTKLIB-str2str on the Raspberry Pi 57
5.5.2.1 Running NtripServer on the Base Station Side 57
5.5.2.2 Running NtripClient on the GNSS Rover 58
5.6 Setting Up a Base Station and a GNSS Rover 59
5.6.1 Base Station Hardware Setup 59
5.6.2 Base Station Software Setup 60
5.6.3 GNSS Rover Setup 67
5.6.3.1 Rover Hardware Setup 67
5.6.3.2 Rover Software Setup 68
5.7 FreeWave Radio Basic Configuration 71
References 75
6 Computer Vision for Perception and Localization 77
6.1 Introduction 77
6.2 Building Computer Vision Hardware 77
6.2.1 Seven Layers of Technologies 78
6.2.2 Hardware Synchronization 80
6.2.3 Computing 80
6.3 Calibration 81
6.3.1 Intrinsic Parameters 81
6.3.2 Extrinsic Parameters 82
6.3.3 Kalibr 82
6.3.3.1 Calibration Target 83
6.3.3.2 Multiple Camera Calibration 83
6.3.3.3 Camera IMU Calibration 84
6.3.3.4 Multi-IMU and IMU Intrinsic Calibration 84
6.4 Localization with Computer Vision 85
6.4.1 VSLAM Overview 85
6.4.2 ORB-SLAM2 86
6.4.2.1 Prerequisites 86
6.4.2.2 Building the ORB-SLAM2 Library 87
6.4.2.3 Running Stereo Datasets 87
6.5 Perception with Computer Vision 87
6.5.1 ELAS for Stereo Depth Perception 88
6.5.2 Mask R-CNN for Object Instance Segmentation 89
6.6 The DragonFly Computer Vision Module 90
6.6.1 DragonFly Localization Interface 90
6.6.2 DragonFly Perception Interface 92
6.6.3 DragonFly+ 93
References 94
7 Planning and Control 97
7.1 Introduction 97
7.2 Route Planning 97
7.2.1 Weighted Directed Graph 98
7.2.2 Dijkstra's Algorithm 99
7.2.3 A* Algorithm 100
7.3 Behavioral Planning 100
7.3.1 Markov Decision Process 101
7.3.2 Value Iteration Algorithm 102
7.3.3 Partially Observable Markov Decision Process (POMDP) 103
7.3.4 Solving POMDP 104
7.4 Motion Planning 105
7.4.1 Rapidly Exploring Random Tree 105
7.4.2 RRT* 106
7.5 Feedback Control 107
7.5.1 Proportional-Integral-Derivative Controller 108
7.5.2 Model Predictive Control 108
7.6 Iterative EM Plannning System in Apollo 110
7.6.1 Terminologies 110
7.6.1.1 Path and Trajectory 110
7.6.1.2 SL Coordinate System and Reference Line 110
7.6.1.3 ST Graph 111
7.6.2 Iterative EM Planning Algorithm 112
7.6.2.1 Traffic Decider 113
7.6.2.2 QP Path and QP Speed 114
7.7 PerceptIn's Planning and Control Framework 116
References 118
8 Mapping 119
8.1 Introduction 119
8.2 Digital Maps 119
8.2.1 Open Street Map 120
8.2.1.1 OSM Data Structures 120
8.2.1.2 OSM Software Stack 121
8.2.2 Java OpenStreetMap Editor 121
8.2.2.1 Adding a Node or a Way 123
8.2.2.2 Adding Tags 123
8.2.2.3 Uploading to OSM 124
8.2.3 Nominatim 124
8.2.3.1 Nominatim Architecture 124
8.2.3.2 Place Ranking in Nominatim 125
8.3 High-Definition Maps 125
8.3.1 Characteristics of HD Maps 126
8.3.1.1 High Precision 126
8.3.1.2 Rich Geometric Information and Semantics 126
8.3.1.3 Fresh Data 126
8.3.2 Layers of HD Maps 126
8.3.2.1 2D Orthographic Reflectivity Map 127
8.3.2.2 Digital Elevation Model 127
8.3.2.3 Lane/Road Model 127
8.3.2.4 Stationary Map 127
8.3.3 HD Map Creation 127
8.3.3.1 Data Collection 127
8.3.3.2 Offline Generation of HD Maps 128
8.3.3.2.1 Sensor Fusion and Pose Estimation 128
8.3.3.2.2 Map Data Fusion and Data Processing 129
8.3.3.2.3 3D Object Location Detection 129
8.3.3.2.4 Semantics/Attributes Extraction 129
8.3.3.3 Quality Control and Validation 129
8.3.3.4 Update and Maintenance 129
8.3.3.5 Problems of HD Maps 130
8.4 PerceptIn's p-Map 130
8.4.1 Topological Map 130
8.4.2 p-Map Creation 131
References 133
9 Building the DragonFly Pod and Bus 135
9.1 Introduction 135
9.2 Chassis Hardware Specifications 135
9.3 Sensor Configurations 136
9.4 Software Architecture 138
9.5 Mechanism 142
9.6 Data Structures 144
9.6.1 Common Data Structures 144
9.6.2 Chassis Data 146
9.6.3 Localization Data 149
9.6.4 Perception Data 150
9.6.5 Planning Data 153
9.7 User Interface 158
References 160
10 Enabling Commercial Autonomous Space Robotic Explorers 161
10.1 Introduction 161
10.2 Destination Mars 162
10.3 Mars Explorer Autonomy 163
10.3.1 Localization 163
10.3.2 Perception 164
10.3.3 Path Planning 165
10.3.4 The Curiosity Rover and Mars 2020 Explorer 165
10.4 Challenge: Onboard Computing Capability 168
10.5 Conclusion 169
References 170
11 Edge Computing for Autonomous Vehicles 171
11.1 Introduction 171
11.2 Benchmarks 172
11.3 Computing System Architectures 173
11.4 Runtime 175
11.5 Middleware 177
11.6 Case Studies 178
References 179
12 Innovations on the Vehicle-to-Everything Infrastructure 183
12.1 Introduction 183
12.2 Evolution of V2X Technology 183
12.3 Cooperative Autonomous Driving 186
12.4 Challenges 188
References 189
13 Vehicular Edge Security 191
13.1 Introduction 191
13.2 Sensor Security 191
13.3 Operating System Security 192
13.4 Control System Security 193
13.5 V2X Security 193
13.6 Security for Edge Computing 194
References 196
Index 199
1
Affordable and Reliable Autonomous Driving Through Modular Design
1.1 Introduction
In recent years, autonomous driving has become quite a popular topic in the research community as well as in industry, and even in the press, but besides the fact that it is exciting and revolutionary, why should we deploy autonomous vehicles? One reason is that ridesharing using clean-energy autonomous vehicles will completely revolutionize the transportation industry by reducing pollution and traffic problems, by improving safety, and by making our economy more efficient.
More specifically and starting with pollution reduction: there are about 260 million cars in the US today. If we were to convert all cars to clean-energy cars, we would reduce annual carbon emissions by 800 million tons, which would account for 13.3% of the US commitment to the Paris Agreement [1]. Also, with near-perfect scheduling, if ridesharing autonomous vehicles could be deployed, the number of cars could be reduced by 75% [2]. Consequently, these two changes combined have the potential to yield an annual reduction of 1 billion tons in carbon emission, an amount roughly equivalent to 20% of the US Commitment to the Paris Agreement.
As for safety improvement, human drivers have a crash rate of 4.2 accidents per million miles (PMM), while the current autonomous vehicle crash rate is 3.2 crashes PMM [3]. Yet, as the safety of autonomous vehicles continues to improve, if the autonomous vehicle crash rate PMM can be made to drop below 1, a whopping 30 000 lives could be saved annually in the US alone [4].
Lastly, consider the impact on the economy. Each ton of carbon emission has around a $220 impact on the US GDP. This means that $220 B could be saved annually by converting all vehicles to ride-sharing clean-energy autonomous vehicles [5]. Also, since the average cost per crash is about $30 000 in the US, by dropping the autonomous vehicle crash rate PMM to below 1, we could achieve another annual cost reduction of $300 B [6]. Therefore, in the US alone, the universal adoption of ride-sharing clean-energy autonomous vehicles could save as much as $520 B annually, which almost ties with the GDP of Sweden, one of the world's largest economies.
Nonetheless, the large-scale adoption of autonomous driving vehicles is now meeting with several barriers, including reliability, ethical and legal considerations, and, not least of which, affordability. What are the problems behind the building and deploying of autonomous vehicles and how can we solve them? Answering these questions demands that we first look at the underlying design.
1.2 High Cost of Autonomous Driving Technologies
In this section we break down the costs of existing autonomous driving systems, and demonstrate that the high costs of sensors, computing systems, and High-Definition (HD) maps are the major barriers of autonomous driving deployment [7] (Figure 1.1).
1.2.1 Sensing
The typical sensors used in autonomous driving include Global Navigation Satellite System (GNSS), Light Detection and Ranging (LiDAR), cameras, radar and sonar: GNSS receivers, especially those with real-time kinematic (RTK) capabilities, help autonomous vehicles localize themselves by updating global positions with at least meter-level accuracy. A high-end GNSS receiver for autonomous driving could cost well over $10 000.
LiDAR is normally used for the creation of HD maps, real-time localization, as well as obstacle avoidance. LiDAR works by bouncing a laser beam off of surfaces and measuring the reflection time to determine distance. LiDAR units suffer from two problems: first, they are extremely expensive (an autonomous driving grade LiDAR could cost over $80 000); secondly, they may not provide accurate measurements under bad weather conditions, such as heavy rain or fog.
Cameras are mostly used for object recognition and tracking tasks, such as lane detection, traffic light detection, and pedestrian detection. Existing implementations usually mount multiple cameras around the vehicle to detect, recognize, and track objects. However, an important drawback of camera sensors is that the data they provide may not be reliable under bad weather conditions and that their sheer amount creates high computational demands. Note that these cameras usually run at 60 Hz, and, when combined, can generate over 1 GB of raw data per second.
Figure 1.1 Cost breakdown of existing autonomous driving solutions.
Radar and sonar: The radar and sonar subsystems are used as the last line of defense in obstacle avoidance. The data generated by radar and sonar show the distance from the nearest object in front of the vehicle's path. Note that a major advantage of radar is that it works under all weather conditions. Sonar usually covers a range of 0-10 m whereas radar covers a range of 3-150 m. Combined, these sensors cost less than $5000.
1.2.2 HD Map Creation and Maintenance
Traditional digital maps are usually generated from satellite imagery and have meter-level accuracy. Although this accuracy is sufficient for human drivers, autonomous vehicles demand maps with higher accuracy for lane-level information. Therefore, HD maps are needed for autonomous driving.
Just as with traditional digital maps, HD maps have many layers of information. At the bottom layer, instead of using satellite imagery, a grid map is generated by raw LiDAR data, with a grid granularity of about 5 cm by 5 cm. This grid basically records elevation and reflection information of the environment in each cell. As the autonomous vehicles are moving and collecting new LiDAR scans, they perform self-localization by performing a real time comparison of the new LiDAR scans against the grid map with initial position estimates provided by GNSS [8].
On top of the grid layer, there are several layers of semantic information. For instance, lane information is added to the grid map to allow autonomous vehicles to determine whether they are on the correct lane when moving. On top of the lane information, traffic sign labels are added to notify the autonomous vehicles of the local speed limit, whether traffic lights are nearby, etc. This gives an additional layer of protection in case the sensors on the autonomous vehicles fail to catch the signs.
Traditional digital maps have a refresh cycle of 6-12 months. However, to make sure the HD maps contain the most up-to-date information, the refresh cycle for HD maps should be shortened to no more than one week. As a result, operating, generating, and maintaining HD maps can cost upwards of millions of dollars per year for a mid-size city.
1.2.3 Computing Systems
The planning and control algorithms and the object recognition and tracking algorithms have very different behavioral characteristics which call for different kinds of processors. HD maps, on the other hand, stress the memory [9]. Therefore, it is imperative to design a computing hardware system which addresses these demands, all within limited computing resources and power budget. For instance, as indicated in [9], an early design of an autonomous driving computing system was equipped with an Intel® Xeon E5 processor and four to eight Nvidia® K80 graphics processing unit (GPU) accelerators, connected with a Peripheral Component Interconnect-E (PCI-E) bus. At its peak, the whole system, while capable of delivering 64.5 Tera Operations Per Second (TOPS), consumed about 3000 W, consequently generating an enormous amount of heat. Also, at a cost of $30 000, the whole solution would be unaffordable (and unacceptable) to the average consumer.
1.3 Achieving Affordability and Reliability
Many major autonomous driving companies, such as Waymo, Baidu, and Uber, and several others are engaged in a competition to design and deploy the ultimate ubiquitous autonomous vehicle which can operate reliably and affordably, even in the most extreme environments. Yet, we have just seen that the cost for all sensors could be over $100 000, with the cost for the computing system another $30 000, resulting in an extremely high cost for each vehicle: a demo autonomous vehicle can easily cost over $800 000 [10]. Further, beyond the unit cost, it is still unclear how the operational costs for HD map creation and maintenance will be covered.
In addition, even with the most advanced sensors, having autonomous vehicles coexist with human-driven vehicles in complex traffic conditions remains a dicey proposition. As a result, unless we can significantly drop the costs of sensors, computing systems, and HD maps, as well as dramatically improve localization, perception, and decision-making algorithms in the next few years, autonomous driving will not be universally adopted.
Addressing these problems, a reliable autonomous vehicle has been developed by us and for low-speed scenarios, such as university campuses, industrial parks, and areas with limited traffic [11,12]. This approach starts with low speed to ensure safety, thus allowing immediate deployment. Then, with technology improvements and with the benefit of accumulated experience,...
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.