100% found this document useful (3 votes)
62 views

Creating Autonomous Vehicle Systems 2nd Edition Shaoshan Liu pdf download

Ebook access

Uploaded by

paulitaipe9r
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (3 votes)
62 views

Creating Autonomous Vehicle Systems 2nd Edition Shaoshan Liu pdf download

Ebook access

Uploaded by

paulitaipe9r
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 57

Creating Autonomous Vehicle Systems 2nd Edition

Shaoshan Liu download

https://textbookfull.com/product/creating-autonomous-vehicle-
systems-2nd-edition-shaoshan-liu/

Download more ebook from https://textbookfull.com


We believe these products will be a great fit for you. Click
the link to download now, or visit textbookfull.com
to discover even more!

Formation control of multiple autonomous vehicle


systems First Edition Liu

https://textbookfull.com/product/formation-control-of-multiple-
autonomous-vehicle-systems-first-edition-liu/

Hybrid Electric Vehicle System Modeling and Control 2nd


Edition Wei Liu

https://textbookfull.com/product/hybrid-electric-vehicle-system-
modeling-and-control-2nd-edition-wei-liu/

Canonical Instabilities of Autonomous Vehicle Systems:


The Unsettling Reality Behind the Dreams of Greed 1st
Edition Rodrick Wallace

https://textbookfull.com/product/canonical-instabilities-of-
autonomous-vehicle-systems-the-unsettling-reality-behind-the-
dreams-of-greed-1st-edition-rodrick-wallace/

Distributed Autonomous Robotic Systems Roderich Groß

https://textbookfull.com/product/distributed-autonomous-robotic-
systems-roderich-gros/
Adaptive Autonomous Secure Cyber Systems Sushil Jajodia
(Editor)

https://textbookfull.com/product/adaptive-autonomous-secure-
cyber-systems-sushil-jajodia-editor/

Vehicle Suspension Systems and Electromagnetic Dampers


1st Edition Saad Kashem

https://textbookfull.com/product/vehicle-suspension-systems-and-
electromagnetic-dampers-1st-edition-saad-kashem/

Advanced Control for Vehicle Active Suspension Systems


Weichao Sun

https://textbookfull.com/product/advanced-control-for-vehicle-
active-suspension-systems-weichao-sun/

The Science of Vehicle Dynamics 2nd Massimo Guiggiani

https://textbookfull.com/product/the-science-of-vehicle-
dynamics-2nd-massimo-guiggiani/

Connected Vehicle Systems: Communication, Data, and


Control 1st Edition Yunpeng Wang

https://textbookfull.com/product/connected-vehicle-systems-
communication-data-and-control-1st-edition-yunpeng-wang/
Series ISSN: 1932-1228

LIU • ET AL
Creating Autonomous Vehicle Systems, Second Edition
Shaoshan Liu, PerceptIn
Liyun Li, Xpeng Motors
Jie Tang, South China University of Technology
Shuang Wu, YiTu

CREATING AUTONOMOUS VEHICLE SYSTEMS, SECOND EDITION


Jean-Luc Gaudiot, University of California, Irvine

This book is one of the first technical overviews of autonomous vehicles written for a general computing
and engineering audience. The authors share their practical experiences designing autonomous vehicle
systems. These systems are complex, consisting of three major subsystems: (1) algorithms for localization,
perception, and planning and control; (2) client systems, such as the robotics operating system and hardware
platform; and (3) the cloud platform, which includes data storage, simulation, high-definition (HD)
mapping, and deep learning model training. The algorithm subsystem extracts meaningful information
from sensor raw data to understand its environment and make decisions as to its future actions. The client
subsystem integrates these algorithms to meet real-time and reliability requirements. The cloud platform
provides offline computing and storage capabilities for autonomous vehicles. Using the cloud platform, new
algorithms can be tested so as to update the HD map—in addition to training better recognition, tracking,
and decision models.
Since the first edition of this book was released, many universities have adopted it in their
autonomous driving classes, and the authors received many helpful comments and feedback from readers.
Based on this, the second edition was improved by extending and rewriting multiple chapters and adding
two commercial test case studies. In addition, a new section entitled “Teaching and Learning from this Book”
was added to help instructors better utilize this book in their classes. The second edition captures the latest
advances in autonomous driving and that it also presents usable real-world case studies to help readers better
understand how to utilize their lessons in commercial autonomous driving projects.
This book should be useful to students, researchers, and practitioners alike. Whether you are an
undergraduate or a graduate student interested in autonomous driving, you will find herein a comprehensive
overview of the whole autonomous vehicle technology stack. If you are an autonomous driving practitioner,
the many practical techniques introduced in this book will be of interest to you. Researchers will also find
extensive references for an effective, deeper exploration of the various technologies.

About SYNTHESIS
This volume is a printed version of a work that appears in the Synthesis
Digital Library of Engineering and Computer Science. Synthesis

MORGAN & CLAYPOOL


books provide concise, original presentations of important research and
development topics, published quickly, in digital and print formats.

store.morganclaypool.com
Creating Autonomous Vehicle
Systems
Second Edition
iii

Synthesis Lectures on
Computer Science
The Synthesis Lectures on Computer Science publishes 75–150 page publications on general com-
puter science topics that may appeal to researchers and practitioners in a variety of areas within
computer science.

Creating Autonomous Vehicle Systems, Second Edition


Shaoshan Liu, Liyun Li, Jie Tang, Shuang Wu, and Jean-Luc Gaudiot
September 2020

Blockchain Platforms: A Look at the Underbelly of Distributed Platforms


Stijn Van Hijfte
July 2020

Analytical Performance Modeling for Computer Systems, Third Edition


Y.C. Tay
July 2018

Creating Autonomous Vehicle Systems


Shaoshan Liu, Liyun Li, Jie Tang, Shuang Wu, and Jean-Luc Gaudiot
October 2017

Introduction to Logic, Third Edition


Michael Genesereth and Eric J. Kao
November 2016

Analytical Performance Modeling for Computer Systems, Second Edition


Y.C. Tay
October 2013
Introduction to Logic, Second Editio
Michael Genesereth and Eric Kao
August 2013

Introduction to Logic
Michael Genesereth and Eric Kao
January 2013
iv

Science Fiction Prototyping: Designing the Future with Science Fiction


Brian David Johnson
April 2011

Storing Clocked Programs Inside DNA: A Simplifying Framework for Nanocomputing


Jessica P. Chang, Dennis E. Shasha
April 2011
Analytical Performance Modeling for Computer Systems
Y.C. Tay
April 2010

The Theory of Timed I/O Automata


Dilsun K. Kaynar, Nancy Lynch, Roberto Segala, and Frits Vaandrager
2006
Copyright © 2020 by Morgan & Claypool

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in
any form or by any means—electronic, mechanical, photocopy, recording, or any other except for brief quota-
tions in printed reviews, without the prior permission of the publisher.

Creating Autonomous Vehicle Systems, Second Edition


Shaoshan Liu, Liyun Li, Jie Tang, Shuang Wu, and Jean-Luc Gaudiot
www.morganclaypool.com

ISBN: 9781681739359 print


ISBN: 9781681739366 ebook
ISBN: 9781681739373 hardcover
ISBN: 9781681739380 epub

DOI: 10.2200/S01036ED1V01Y202007CSL012

A Publication in the Morgan & Claypool Publishers series


SYNTHESIS LECTURES ON COMPUTER SCIENCE, #12

Series ISSN: 1932-1228 Print 1932-1686 Electronic


Creating Autonomous Vehicle
Systems
Second Edition
Shaoshan Liu
PerceptIn

Liyun Li
Xpeng Motors

Jie Tang
South China University of Technology

Shuang Wu
YiTu

Jean-Luc Gaudiot
University of California, Irvine

SYNTHESIS LECTURES ON COMPUTER SCIENCE #12

M
&C MORGAN & CLAYPOOL PUBLISHERS
viii

ABSTRACT
This book is one of the first technical overviews of autonomous vehicles written for a general com-
puting and engineering audience. The authors share their practical experiences designing autono-
mous vehicle systems. These systems are complex, consisting of three major subsystems: (1) algo-
rithms for localization, perception, and planning and control; (2) client systems, such as the robotics
operating system and hardware platform; and (3) the cloud platform, which includes data storage,
simulation, high-definition (HD) mapping, and deep learning model training. The algorithm sub-
system extracts meaningful information from sensor raw data to understand its environment and
make decisions as to its future actions. The client subsystem integrates these algorithms to meet
real-time and reliability requirements. The cloud platform provides offline computing and storage
capabilities for autonomous vehicles. Using the cloud platform, new algorithms can be tested so as
to update the HD map—in addition to training better recognition, tracking, and decision models.
Since the first edition of this book was released, many universities have adopted it in their
autonomous driving classes, and the authors received many helpful comments and feedback from
readers. Based on this, the second edition was improved by extending and rewriting multiple chap-
ters and adding two commercial test case studies. In addition, a new section entitled “Teaching
and Learning from this Book” was added to help instructors better utilize this book in their classes.
The second edition captures the latest advances in autonomous driving and that it also presents
usable real-world case studies to help readers better understand how to utilize their lessons in
commercial autonomous driving projects.
This book should be useful to students, researchers, and practitioners alike. Whether you
are an undergraduate or a graduate student interested in autonomous driving, you will find herein
a comprehensive overview of the whole autonomous vehicle technology stack. If you are an au-
tonomous driving practitioner, the many practical techniques introduced in this book will be of
interest to you. Researchers will also find extensive references for an effective, deeper exploration
of the various technologies.

KEYWORDS
autonomous driving, driverless cars, perception, vehicle localization, planning and control, auton-
omous driving hardware platform, autonomous driving cloud infrastructures, low-speed autono-
mous vehicle, autonomous last-mile delivery vehicle
ix

Contents
Preface to the Second Edition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . � xv

Teaching and Learning from This Book. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii

1 Introduction to Autonomous Driving. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ��� 1


1.1 Autonomous Driving Technologies Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Autonomous Driving Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 Sensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2 Perception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.3 Object Recognition and Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.4 Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Autonomous Driving Client System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.1 Robot Operating System (ROS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.2 Hardware Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4 Autonomous Driving Cloud Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.1 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.2 HD Map Production . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4.3 Deep Learning Model Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.5 It Is Just the Beginning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2 Autonomous Vehicle Localization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . � 15


2.1 Localization with GNSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.1 GNSS Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.2 GNSS Error Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.1.3 Satellite-Based Augmentation Systems . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.4 Real-Time Kinematic and Differential GPS . . . . . . . . . . . . . . . . . . . 18
2.1.5 Precise Point Positioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.1.6 GNSS INS Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2 Localization with LiDAR and High-Definition Maps . . . . . . . . . . . . . . . . . . 22
2.2.1 LiDAR Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2.2 High-Definition Maps Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2.3 Localization with LiDAR and HD Map . . . . . . . . . . . . . . . . . . . . . . 29
2.3 Visual Odometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
x

2.3.1 Stereo Visual Odometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34


2.3.2 Monocular Visual Odometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.3 Visual Inertial Odometry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.4 Dead Reckoning and Wheel Odometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.4.1 Wheel Encoders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.4.2 Wheel Odometry Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.4.3 Reduction of Wheel Odometry Errors . . . . . . . . . . . . . . . . . . . . . . . . 39
2.5 Sensor Fusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.5.1 CMU Boss for Urban Challenge . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.5.2 Stanford Junior for Urban Challenge . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.5.3 Bertha from Mercedes Benz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3 Perception in Autonomous Driving. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . � 51


3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.2 Datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.3 Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.4 Segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.5 Stereo, Optical Flow, and Scene Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.5.1 Stereo and Depth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.5.2 Optical Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.5.3 Scene Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.6 Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

4 Deep Learning in Autonomous Driving Perception. . . . . . . . . . . . . . . . . . . . . . . . . � 69


4.1 Convolutional Neural Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2 Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.3 Semantic Segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.4 Stereo and Optical Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.4.1 Stereo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.4.2 Optical Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.4.3 Unsupervised Learning for Dense Correspondence . . . . . . . . . . . . . . 81
4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
xi

5 Prediction and Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . � 87


5.1 Planning and Control Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.1.1 Architecture: Planning and Control in a Broader Sense . . . . . . . . . . . 87
5.1.2 Scope of Each Module: Solve the Problem with Modules . . . . . . . . . 89
5.2 Traffic Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.2.1 Behavior Prediction as Classification . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.2.2 Vehicle Trajectory Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.3 Lane Level Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.3.1 Constructing a Weighted Directed Graph for Routing . . . . . . . . . . 101
5.3.2 Typical Routing Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.3.3 Routing Graph Cost: Weak or Strong Routing . . . . . . . . . . . . . . . . 107
5.4 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

6 Decision, Planning, and Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111


6.1 Behavioral Decisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
6.1.1 Markov Decision Process Approach . . . . . . . . . . . . . . . . . . . . . . . . . 113
6.1.2 Scenario-Based Divide and Conquer Approach . . . . . . . . . . . . . . . . 115
6.2 Motion Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
6.2.1 Vehicle Model, Road Model, and SL-Coordination System . . . . . . 124
6.2.2 Motion Planning with Path Planning and Speed Planning . . . . . . . 126
6.2.3 Motion Planning with Longitudinal Planning and Lateral
Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
6.3 Feedback Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
6.3.1 Bicycle Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
6.3.2 PID Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
6.4 Conclusions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
6.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

7 Reinforcement Learning-Based Planning and Control. . . . . . . . . . . . . . . . . . . . . . 143


7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
7.2 Reinforcement Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
7.2.1 Q-Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
7.2.2 Actor-Critic Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
7.3 Learning-Based Planning and Control in Autonomous Driving . . . . . . . . . 153
7.3.1 Reinforcement Learning on Behavioral Decision . . . . . . . . . . . . . . . 154
7.3.2 Reinforcement Learning on Planning and Control . . . . . . . . . . . . . 154
xii

7.4 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157


7.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

8 Client Systems for Autonomous Driving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159


8.1  Autonomous Driving: A Complex System . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
8.2  Operating System for Autonomous Driving . . . . . . . . . . . . . . . . . . . . . . . . . 161
8.2.1 ROS Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
8.2.2 System Reliability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
8.2.3 Performance Improvement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
8.2.4 Resource Management and Security . . . . . . . . . . . . . . . . . . . . . . . . 165
8.3  Computing Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
8.3.1 Computing Platform Implementation . . . . . . . . . . . . . . . . . . . . . . . 166
8.3.2 Existing Computing Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
8.3.3 Computer Architecture Design Exploration . . . . . . . . . . . . . . . . . . . 167
8.4  References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

9 Cloud Platform for Autonomous Driving. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173


9.1  Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
9.2  Infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
9.2.1 Distributed Computing Framework . . . . . . . . . . . . . . . . . . . . . . . . . 175
9.2.2 Distributed Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
9.2.3 Heterogeneous Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
9.3  Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
9.3.1 BinPipeRDD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
9.3.2 Connecting Spark and ROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
9.3.3 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
9.4  Model Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
9.4.1 Why Use Spark? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
9.4.2 Training Platform Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
9.4.3 Heterogeneous Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
9.5  HD Map Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
9.5.1 HD Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
9.5.2 Map Generation in the Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
9.6  Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
9.7  References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

10 Autonomous Last-Mile Delivery Vehicles in Complex Traffic Environments. . . . 189


10.1 Background and Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
xiii

10.2 Autonomous Delivery Technologies in Complex Traffic Conditions . . . . . . 190


10.3 JD.com: An Autonomous Driving Solution . . . . . . . . . . . . . . . . . . . . . . . . 192
10.3.1 Autonomous Driving Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . 192
10.3.2 Localization and HD Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
10.3.3 Perception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
10.3.4 Prediction, Decision, and Planning . . . . . . . . . . . . . . . . . . . . . . . . . . 196
10.4 Safety and Security Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
10.4.1 Simulation-Level Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
10.4.2 Vehicle-End Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
10.4.3 Remote Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
10.5 Production Deployments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
10.6 Lessons Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
10.7 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

11 PerceptIn’s Autonomous Vehicles Lite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203


11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
11.2 Expensive Autonomous Driving Technologies . . . . . . . . . . . . . . . . . . . . . . . 204
11.2.1 Sensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
11.2.2 Localization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
11.2.3 Perception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
11.2.4 Decision Making . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
11.2.5 HD Map Creation and Maintenance . . . . . . . . . . . . . . . . . . . . . . . . 206
11.2.6 System Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
11.3 Achieving Affordability and Reliability . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
11.3.1 Sensor Fusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
11.3.2 Modular Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
11.3.3 High-Precision Visual Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
11.4 Deploying Autonomous LSEV for Mobility as a Service . . . . . . . . . . . . . . . 210
11.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
11.6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

Author Biographies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215


xv

Preface to the Second Edition


Autonomous vehicles—be they on land, on water, or in the air-are upon us and are finding a
myriad of new applications, from driverless taxi services to automatic airborne surveillance of
sensitive remote areas. Continued technological advances in the past few decades have made
these innovations possible, but the design problems that must be surmounted in order to provide
useful, efficient, and, supremely importantly, safe operations of these independent units are equally
numerous and daunting.
It is thus the purpose of this book to provide an overview of these problems and lead the
reader through some common design solutions. High technological capabilities, complete integra-
tion of hardware and software, and deep synergy with resident platforms (such as cloud servers)
are a must for an eventual successful deployment. The focus of the book is on land vehicles and,
more specifically, cars in urban or country road environments, as well as off-road operations. The
aim of this book is to address an audience of engineers, be they from the academic or the industrial
side, with a survey of the problems, solutions, and future research issues they will encounter in the
development of autonomous vehicles, from sensing, perception, all the way to action, and including
support from cloud-based servers. A copious amount of bibliographic references completes the
picture and will help the reader navigate through a jungle of past work.
The first edition of this book was very well received, as many universities adopted it in their
autonomous driving classes, and many companies utilized it for their internal trainings (more de-
tails on this can be found in the new chapter “Teaching and Learning from this Book”). Also, we
are very fortunate to have received a lot of helpful comments and feedbacks from the first edition
readers, which greatly helped improve the content and the quality of the second edition. Specifi-
cally, based on these comments and feedback, we made the following improvements in the second
edition. First, we extended Chapters 3 and 4 to provide the latest updates on perception techniques;
second, we rewrote Chapters 5, 6, and 7 to make them easier to understand; third, we added two
commercial case studies in Chapters 10 and 11, so that readers can easily understand how to apply
their learnings in real-world environments. In addition, we added a section titled “Teaching and
Learning from this Book” to help instructors better utilize this book in their classes. We believe
that the second edition captures the up-to-date advances in autonomous driving, and also presents
practical real-world case studies to help readers utilize their learnings in commercial autonomous
driving projects.
xvi PREFACE

STRUCTURE OF THE BOOK


A brief history of information technology and an overview of the algorithms behind autonomous
driving systems, of the architecture of the systems, and of the support infrastructure needed is pro-
vided in Chapter 1. Localization, being one of the most important tasks in autonomous driving, is
covered in Chapter 2, where the most common approaches are introduced. The principles, advan-
tages, and drawbacks of GNSS, INS, LiDAR, and wheel odometry are described in detail, and the
integration of various versions of these strategies are discussed. As for detection, i.e., “understand-
ing” the environment based on sensory data, it is described in Chapter 3, with an exploration of
the various algorithms in use, including scene understanding, image flow, tracking, etc. The large
datasets, highly complex computations required by image classification, object detection, semantic
segmentation, etc., are best handled by the deep learning approaches to perception advocated for in
Chapter 4, where applications to detection, semantic segmentation, and image flow are described
in detail. Once the environment is understood by the autonomous vehicle, it must somehow pre-
dict future events (e.g., the motion of another vehicle in its vicinity) and plan its own route; this
is the purpose of Chapter 5. Next, in Chapter 6, an even more detailed level of decision making,
planning, and control is presented. Feedback between modules with possibly orthogonal decisions
as well as conflict resolution (e.g., one module could recommend a lane change, but another one
has detected an obstacle in the lane in question) are covered with an emphasis on describing algo-
rithms for behavioral decision making (e.g., Markov decision processes, scenario-based divide and
conquer), and for motion planning. This leads into Chapter 7 for a demonstration of the need to
supplement the design with Reinforcement Learning-based Planning and Control for a complete
integration of situational scenarios in the development of an autonomous system. Underneath it all,
the on-board computing platform is the topic of Chapter 8. It includes an introductory description
of the Robot Operating System, followed by an actual summary of the real hardware employed. The
need for heterogeneous computing is introduced with a strong emphasis on meeting real-time com-
puting requirements as well as on-board considerations (power consumption and heat dissipation).
This means that a variety of processing units (general-purpose CPU, GPUs, FPGAs, etc.) must be
used. Chapter 9 covers the infrastructure for the cloud platform used to “tie it all together” (i.e., pro-
vide services for distributed simulation tests for new algorithm deployment, offline deep learning
model training, and High-Definition (HD) map generation). Chapter 10 presents a case study of
a commercial autonomous last-mile delivery vehicle operating in complex traffic environments. Fi-
nally, Chapter 11 presents a case study of affordable autonomous vehicles for microtransit services.
xvii

Teaching and Learning from This


Book

1. INTRODUCTION
In recent years, autonomous driving has become quite a popular topic in the research community
as well as in industry. However, the biggest barrier to the rapid development of this field is a very
limited talent supply. This is due to several problems: first, autonomous driving is the complex
integration of many technologies, making it extremely challenging to teach; second, most existing
autonomous driving classes focus on one technology of the complex autonomous driving technol-
ogy stack, thus failing to provide a comprehensive introduction; third, without good integration
experiments, it is very difficult for the students to understand the interaction between different
technology pieces.
To address these problems, we have developed a modular and integrated approach to teach
autonomous driving. For students interested in autonomous driving, this book provides a compre-
hensive overview of the whole autonomous vehicle technology stack. For practitioners, this book
presents many practical techniques and a number of references to aid them performing an effective,
deeper exploration of particular modules. In addition, to help the students understand the inter-
action between different modules, we developed platforms for hands-on integration experiments.
Our teaching methodology starts with an overview of autonomous driving technologies, followed
by different technology modules, and ends with integration experiments. Note that the order of the
modules can be flexibly adjusted based on the students’ background and interest level. We have suc-
cessfully applied this methodology to three different scenarios: an introduction to an autonomous
driving class for undergraduate students with limited technology background; a graduate level em-
bedded systems class, in which we added a session on autonomous driving; as well as a two-week
professional training for seasoned engineers.
The rest of this overview is organized as follows. Section 2 reviews existing classes on au-
tonomous driving; Section 3 presents the details of the proposed modular and integrated teaching
methodology; Section 4 presents the three case studies where we applied the proposed methodol-
ogy; and we draw the conclusions in Section 5.
xviii TEACHING AND LEARNING FROM THIS BOOK

2. EXISTING CLASSES ON AUTONOMOUS DRIVING


Autonomous driving has been attracting attention from academia as well as industry. However,
comprehensive and complex autonomous driving systems involve a very diverse set of technologies
including sensing, perception, localization, decision making, real-time operating system, heteroge-
neous computing, graphic/video processing, cloud computing, etc. This sets high requirements for
lecturers to master all aspects of relative technologies. It is even more of a challenge for students to
understand the interactions between these technologies.
Problem-based learning (PBL) is a feasible and practical way to teach relative knowledge
and technologies of autonomous driving [20]. Costa et al. built a simulator by integrating Gazebo
3D simulator for students to design and understand autonomous driving systems [13]. In terms
of the educational methodology on Learning from Demonstration, Arnaldi et al. proposed an
affordable setup for machine learning applications of autonomous driving by implementing em-
bedded programming for small autonomous driving cars [14]. However, these approaches usually
cover only one or two technologies, such as machine learning, and fail to provide a comprehensive
understanding of the whole system.
Several major universities already offer autonomous-driving-related classes. For instance,
MIT offers two courses on autonomous driving. The first one focuses on Artificial Intelligence and
is available online to the public and registered students. This course invites several guest speakers
on the topic of deep learning, reinforcement learning, robotics, psychology, etc. [15]. The other
concentrates on deep learning for self-driving cars and teaches deep learning knowledge by building
a self-driving car [16]. Stanford also offers a course for introducing the key artificial intelligence
technologies that could be used for autonomous driving [17]. However, these classes all focus on
machine learning and do not provide good coverage of the different technologies involved in auton-
omous driving. It is thus hard for students to obtain a comprehensive understanding of autonomous
driving systems.
In terms of experimental platforms and competition developments, Paull et al. proposed
Duckietown, an open-source and inexpensive platform for autonomy education and research [18].
The autonomous vehicles are equipped with a Raspberry Pi 2 and a monocular camera for sensing.
In addition, there are several competitions of autonomous driving for a broad range of students
to stimulate their passion and encourage learning about key technologies in autonomous cars and
related traffic systems [19, 21–23]. However, to use these platforms and to enter these competitions,
students need to first gain a basic understanding of the technologies involved as well as their inter-
actions; this type of education is currently lacking.
As seasoned autonomous driving researchers and practitioners, we think the best way to learn
how to create autonomous vehicle systems is to first grasp the basic concepts in each technology
module, then integrate these modules to understand how they interact. Existing autonomous driv-
3 A MODULAR AND INTEGRATED TEACHING APPROACH xix

ing classes either focus on only one or two technologies, or have the students directly build a work-
ing autonomous vehicle. As a result, this disconnection between individual technology module and
system integration creates a high entry barrier for students interested in autonomous driving and
often intimidates interested students away from entering this exciting field. To address this exact
problem, we designed our modular and integrated approach, which we will present in this chapter,
along with sharing our experiences with autonomous driving education.

3. A MODULAR AND INTEGRATED TEACHING APPROACH


Autonomous driving involves many technologies, thus making autonomous driving education
extremely challenging. To address this problem, we propose a modular and integrated teaching
methodology for autonomous driving. To implement this methodology, we have developed modular
teaching materials including a textbook and a series of multimedia online lectures, as well as inte-
gration experimental platforms to enable a comprehensive autonomous driving education.

3.1 TEACHING METHODOLOGY

In the past several years, we have taught undergraduate- and graduate-level classes as well as initi-
ated new engineers to the concepts of autonomous driving. A common problem that we found was
that the first encounter on this subject usually intimidated many students because of its perceived
complexity. Similarly, even experienced engineers newly exposed to the field of autonomous driving
felt it was extremely stressful (in other words, it took them outside their comfort zone), especially
since the subject touches upon many new areas.
On the other hand, we found that a modular and integrated approach is an effective way of
teaching autonomous driving. This means that we first break the complex autonomous driving tech-
nology stack into modules and have the students start with the module with which they are most
familiar, then have them move on to other modules. This allows the students to maintain a high
level of interest and make satisfactory progress throughout the learning process. Once the students
have gone through all the modules, they are challenged to perform a few integration experiments to
understand the interactions between these modules. Aside from being an effective teaching method,
this approach allows the instructors to flexibly adapt the class curriculum to the needs of students
with different technology backgrounds, including undergraduate students with little technology
background, graduate students with a general computer science technology background, and sea-
soned engineers who are experts in a particular field.
Figure 1 illustrates the proposed modular and integrated teaching approach: the class is
divided into nine modules and integration experiments. Undergraduate and graduate students can
both start with a general overview of autonomous driving technologies, but the undergraduate
students may need more time to understand the basics of the technologies involved. They can then
xx TEACHING AND LEARNING FROM THIS BOOK

move on to localization, followed by traditional perception and perception with deep learning.
Next, they can learn about the decision-making pipeline, including planning and control, motion
planning, as well as end-to-end planning. Once the students are done with these, they can delve
into client systems and cloud platforms. Finally, they can perform integration experiments to un-
derstand the interactions between these modules.
On the other hand, seasoned engineers with embedded system backgrounds can start with
the general overview and then directly move on to the client systems module and get familiar with
the new materials from the perspective of their comfort zone, thus allowing them to maintain a
high interest level. They can then move on to the cloud platform, which also focuses on system
design, and still stay within their comfort zone. Once they master these modules, they are equipped
with enough background knowledge and confidence to learn the rest of the modules.

Figure 1: Example of our modular and integrated teaching approach.

3.2 MODULAR TEACHING MATERIALS

First, to cover all the major modules in the autonomous driving technology stack, we developed
the current book, Creating Autonomous Vehicle Systems, now in its second edition. This is one of the
first technical overviews of autonomous vehicles where we share our practical experiences creating
autonomous vehicle systems. This book consists of nine chapters that provide an overview of auton-
omous vehicle systems followed by descriptions of localization technologies, the traditional tech-
niques used for perception, deep learning-based techniques for perception, the planning and control
sub-system (especially prediction and routing technologies) motion planning and feedback control
4 CASE STUDIES xxi

for the planning and control subsystem, the reinforcement learning-based planning and control, the
details of client systems design, and the details of cloud platforms for autonomous driving.
This book is aimed at students, researchers, and practitioners alike. For undergraduate or
graduate students interested in autonomous driving, this book provides a comprehensive overview
of the whole autonomous vehicle technology stack. For autonomous driving practitioners, it pres-
ents many practical techniques in implementing autonomous driving systems. It provides research-
ers with many references for an effective, deeper exploration of the various technologies.
Along with this book, in cooperation with IEEE Computer Society and O’Reilly, we have
developed a series of online lectures to introduce each module [5, 6]. Along with the multimedia pre-
sentations, this allows students to easily acquire an in-depth understanding of a specific technology.

3.3 INTEGRATION EXPERIMENTAL PLATFORMS

A common problem of autonomous driving education is the lack of experimental platforms. In


most autonomous driving classes, people use simulators to verify the performance of newly de-
veloped algorithms [11]. Nonetheless, the simulation approach fails to provide an environment
for students to understand the interaction between different modules. On the other hand, using
an autonomous driving vehicle as an experimental platform is not practical due to the cost, as a
demonstration autonomous vehicle can easily cost over $800,000.
A straightforward way to perform integration experiments is to use mobile platforms, such
as mobile phones. Nowadays, mobile phones usually consist of many sensors (GPS, IMU, cameras,
etc.) as well as powerful heterogeneous computing platforms (with CPU, GPU, and DSP). There-
fore, mobile phones can be used as a great integration experimental platform for localization and
perception tasks. For instance, as demonstrated in the video “Perceptin Robot System Running on
a Cell Phone [8], we have successfully implemented real-time localization, obstacle detection and
avoidance, as well as planning and control functions on a Samsung Galaxy 7 mobile phone to drive
a mobile robot at 5 miles per hour.

4. CASE STUDIES
Several institutes and universities already have adopted or are in the process of adopting the teach-
ing methodology as well as the experimental platforms described in this chapter. In this section, we
present three case studies of applying the aforementioned teaching methodology and materials: the
first one is an introduction to an autonomous driving class for undergraduate students with limited
technology backgrounds; the second is a graduate-level embedded system class, in which we added
a session on autonomous driving; and the last is a two-week professional training for seasoned en-
gineers. These three case studies were carefully selected to demonstrate the flexibility of using the
proposed approach to teach autonomous driving.
xxii TEACHING AND LEARNING FROM THIS BOOK

4.1 INTRODUCTION TO AUTONOMOUS DRIVING CLASS

The introduction to autonomous driving class for undergraduate and graduate students we have
developed consists of 15–20 lectures depending on the length of the quarter or semester. Also, a
20-hour experiment session is required for integration experiments. Its overall purpose is to provide
a technical overview on autonomous driving for students with basic experience in programming,
algorithms, and operating systems.
Due to their limited background, we do not expect students to fully master all the modules,
but we intend to maintain their interest level and equip them with the basic knowledge to delve
into the modules in which they are particularly interested. To achieve this, we follow the approach
shown in Figure 1 and divide the class into nine modules. To maintain a high level of interest, at the
beginning of each session, we play a short video, such as “Creating Autonomous Vehicle Systems”
[5], to provide a summary and demo of the technologies discussed. Then we move on to the details
regarding of implementation of each technology. Also, throughout the class, we have the students
use mobile phones to perform integration experiments. Specifically, for localization experiments, we
first have the students extract real-time GPS localization data; then we have them improve their
localization data by fusing IMU data with GPS data. For perception, we have the students install a
deep learning framework, such as MXNET [12], onto their mobile phones and run simple object
detection networks.
In addition, we developed multiple integration experiments for the students to gain a deep
understanding of the interaction between different modules. Since it is an introductory class, for the
advanced integration experiments, such as fusing GPS, IMU, and camera data to provide accurate
location updates in real time, we did not provide enough technical background in the lectures. Thus,
in order to accomplish these tasks, students not only need to perform their own research to get
enough technical background but also spend significant time and effort to perform the experiments.
Indeed, we did not expect any student to be able to accomplish the advanced tasks. To our surprise,
8% of the students were able to successfully accomplish these advanced tasks. These observations
demonstrate that with a modular and integrated teaching approach, students not only obtain a
comprehensive overview of the technologies but are also able to delve into the modules of their
interests and become experts.

4.2 ADDING AUTONOMOUS DRIVING MATERIALS TO EMBEDDED


SYSTEMS CLASS

We have also added a session in an existing graduate-level embedded systems class to explore how
embedded systems technologies can be integrated in autonomous driving systems. The embedded
systems class runs over a 20-week semester with 60 hours of lectures and 20 hours of experiments,
in which we allocated 6 hours of lectures and 10 hours of experiments for autonomous driving
4 CASE STUDIES xxiii

contents. Interestingly, before we started this class, we checked with the students on whether they
would start their engineering career in autonomous driving. Most students were highly interested
but at the same time feared that autonomous driving was too complicated for them.
With the hope of easing the students’ apprehension toward the design of autonomous driv-
ing systems, we placed the autonomous driving session at the end of the class, after the students
grasped the basic skills of designing and implementing embedded systems with different software
and hardware optimization techniques, such as heterogeneous computing. Prior to starting this
case study session, all students' understanding of autonomous driving was limited to the conceptual
level. Out of the 56 students enrolled, only 10 students were able to list some technologies involved
in autonomous driving, such as localization and perception, but none understood the details of
these technologies.
Due to the limited time available in the session, we first presented an overview on autono-
mous driving and then focused on two modules: localization and perception. We delved into two
simple algorithm implementations, ORB-SLAM [9] for localization and SqueezeNet [10] for ob-
ject detection. Next, we placed the students into groups of four to perform integration experiments
with these algorithms on their Android cell phones and had them compare the performance of
using CPU only vs. the performance of using heterogeneous computing components such as GPU
and DSP. After completing the project, the students were asked to summarize their design choices
and present their results in class. The presentations helped them understand the techniques used by
other groups and they could learn from each other through the presentations.
The results were encouraging. First, it was very interesting to see different optimization
strategies from different groups. Some groups prioritized computing resources for localization tasks
to guarantee frequent position updates, whereas other groups prioritized computing resources for
perception to guarantee real-time obstacle avoidance. Second, through this session, the apprehen-
sion toward autonomous driving went away, and the after-class survey indicated that 85% of the
students would like to continue learning autonomous driving.

4.3 PROFESSIONAL TRAINING

For autonomous driving companies, one of the biggest challenges is the difficulty of recruiting
autonomous driving engineers since there is only a very limited talent pool with autonomous driv-
ing experience. Therefore, it is crucial to develop a professional training session to quickly equip
seasoned engineers with the technical knowledge to delve into one module of autonomous driving.
We worked closely with an autonomous driving company to quickly bring their engineers,
most of whom have embedded systems and general software engineering backgrounds, up to speed.
The challenges were three-fold: first, the training session was only two weeks long, not enough time
to delve into the technology details; second, in this time span, we needed to place the engineers into
xxiv TEACHING AND LEARNING FROM THIS BOOK

different engineering roles, although they came from similar technology background; and third,
confidence was a big issue for these engineers as they were concerned as to whether they could get
a handle on the complexity of autonomous driving in a short amount of time.
To address these challenges, following the methodology presented in Figure 1, we had the
engineers all start with the technology overview, followed by the client systems and the cloud
platforms modules during the first week. Since the engineers came from embedded systems
and general software engineering backgrounds, they were quite comfortable starting with these
modules. Through system modules, they learned about the characteristics of different workloads
as well as how to integrate them on embedded and cloud systems. In the second week, based on
the engineers’ performance in the first week as well as their interest levels toward different tech-
nologies, we assigned them to dig deeper into a specific module, such as perception, localization,
or decision making.
For integration experiments, unlike in the undergraduate or graduate classes, the engineers
were given the chance to work on an actual product after two weeks of training. In this training
session, seven engineers were successfully added to the team; one was assigned to the sensing team,
two were assigned to the perception team, two were added to the localization team, and two were
assigned to the decision-making team. A demo of the development process is shown in the video
“Perceptin Autonomous Vehicle Development” [7].

5. CONCLUSION

We are often asked what the most important technology in autonomous driving is. Our answer
is always integration. As mentioned above and stressed here again, autonomous driving is not one
single technology but rather a complex system integrating many technologies. However, before in-
tegration happens, one has to understand each technology module involved. Existing autonomous
driving classes often focus on one or two technology modules, or directly have the students build a
working autonomous vehicle, thus creating high entry barriers for students. Surprisingly, most stu-
dents are indeed highly interested in autonomous driving, but it is the fear that they cannot handle
the complexities involved that often drives them away.
To address this problem, we developed this modular and integrated approach to teaching
autonomous driving. This approach breaks the complex autonomous driving system into different
technology modules and first has the students understand each module. After the students grasp
the basic concepts in each technology module, they are asked to perform integration experiments
to help them understand the interactions between these modules.
We have successfully applied this methodology to three pilot case studies: an undergradu-
ate-level introduction to autonomous driving class, a graduate-level embedded systems class with a
session on autonomous driving, as well as a professional training session at an autonomous driving
REFERENCES xxv

company. Although the students in these three pilot case studies have very diverse backgrounds,
the modular teaching approach allowed us to adjust the order of modules flexibly to fit the needs
of different students, and the integration experiments enabled the students to understand the
interactions between different modules. This gave the students a comprehensive understanding of
the modules as well as their interactions. In addition, our experiences showed that the proposed
approach allowed students to start with their comfortable modules and then move on to other
modules, therefore enabling the students to maintain a high interest level and good performance.

REFERENCES

[1] Liu, S., Peng, J., and Gaudiot, J-L. 2017. Computer, drive my car! Computer, 50(1), pp. 8–8.
[2] Liu, S., Tang, J., Zhang, Z., and Gaudiot, J-L. 2017. Computer architectures for autono-
mous driving. Computer, 50(8), pp. 18–25.
[3] Liu, S., Tang, J., Wang, C., Wang, Q., and Gaudiot, J-L. 2017. A unified cloud platform
for autonomous driving. Computer, (12), pp. 42–49.
[4] Liu, S., Li, L., Tang, J., Wu, S., and Gaudiot, J-L. 2017. Creating autonomous vehicle
systems. Synthesis Lectures on Computer Science, 6(1), pp. i–186. xxi
[5] IEEE Computer Society, Creating Autonomous Vehicle Systems, accessed 1 Feb 2018,
https://www.youtube.com/watch?v=B8A6BiRkNUw&t=93s. xxi, xxii
[6] OReilly, Enabling Computer-Vision-Based Autonomous Vehicles, accessed 1 Feb 2018,
https://www.youtube.com/watch?v=89giovpaTUE&t=434s. xxi
[7] PerceptIn Autonomous Vehicle Development, accessed 1 Feb 2018, https://www.you-
tube.com/watch?v=rzRC57IXtRY. xxiv
[8] PerceptIn, PerceptIn Robot System Running on a Cell Phone, accessed 1 Feb 2018,
https://www.youtube.com/watch?v=Mib8SXacKEE. xxi
[9] ORB-SLAM, accessed 1 Feb 2018, http://webdiis.unizar.es/~raulmur/orbslam/. xxiii
[10] SqueezeNet, accessed 1 Feb 2018, https://github.com/DeepScale/SqueezeNet. xxiii
[11] Tang, J., Liu, S., Wang, C., and Liu, C. 2017. Distributed simulation platform for autono-
mous driving. International Conference on Internet of Vehicles (IOV) 2017: pp. 190–200. xxi
[12] Apache MXNET, accessed 1 Feb 2018, https://mxnet.apache.org/. xxii
[13] Costa, V., Rossetti, R., and Sousa, A. 2017. Simulator for teaching robotics, ROS and
autonomous driving in a competitive mindset. International Journal of Technology and
Human Interaction, 13(4), p. 14. xviii
xxvi TEACHING AND LEARNING FROM THIS BOOK

[14] Arnaldi, N., Barone, C., Fusco, F., Leofante, F., and Tacchella, A. 2016. Autonomous
driving and undergraduates: An affordable setup for teaching robotics, Proceedings of the
3rd Italian Workshop on Artificial Intelligence and Robotics, pp.,5–9, Genova, Italy, Novem-
ber 28, 2016. xviii
[15] Artificial General Intelligence, accessed 1 Feb 2018, https://agi.mit.edu/. xviii
[16] Deep Learning for Self-Driving Cars, accessed 1 Feb 2018, https://selfdrivingcars.mit.edu/.
xviii
[17] Artificial Intelligence: Principles and Techniques, accessed 1 Feb 2018, http://web.stan-
ford.edu/class/cs221/. xviii
[18] Paull, L., Tani, J., Zuber, M.T., Rus, D., How, J., Leonard, J., and Censi, A. 2016. Ducki-
etown: An open, inexpensive and flexible platform for autonomy education and research,
IEEE International Conference on Robotics and Automation, Singapore, May. 2017, pp. 1–8.
DOI: 10.1007/978-3-319-55553-9_8. xviii
[19] Karaman, S., Anders, A., Boulet, M., Connor, M.T., Abbott, J., Gregson, K.L., Guerra,
W. J., Guldner, O.R., Mohamoud, M.M., Plancher, B.K., Robert, T-I., and Vivilecchia,
J.R. 2017. Project-based, collaborative, algorithmic robotics for high school students: Pro-
gramming self-driving race cars at MIT. IEEE Integrated STEM Education Conference,
pp. 195–203, 2017. xviii
[20] Tan, S. and Shen, Z., Hybrid problem-based learning in digital image processing: A case
study, IEEE Transactions on Education, 2017, (99): pp. 1–9. xviii
[21] Robotica 2017, accessed 1 Feb 2018, http://robotica2017.isr.uc.pt/index.php/en/compe-
titions/major/autonomous-driving. xviii
[22] Autonomous Driving Challenge, accessed 1 Feb 2018, http://www.autodrivechallenge.
org/. xviii
[23] NXP CUP Intelligent Car Racing, accessed 1 Feb 2018, https://community.nxp.com/
groups/tfc-emea. xviii
1

CHAPTER 1

Introduction to Autonomous Driving


We are at the dawn of the future of autonomous driving. To understand what the future may be,
we usually consult history, so let us start with that.
The beginning of information technology truly started in the 1960s, when Fairchild Semi-
conductors and Intel laid down the foundation layer of information technology by producing mi-
croprocessors, and as a side product, created Silicon Valley. Although microprocessor technologies
greatly improved our productivity, the general public had limited access to these technologies.
Then in the 1980s, Microsoft and Apple laid down the second layer of information technology
by introducing Graphics User Interface, and realized the vision of “a PC/Mac in every home.”
Once everyone had access to computing power, in the 2000s, internet companies, represented by
Google, laid down the third layer of information technology by connecting people and informa-
tion. Through Google, for instance, the information providers and the information consumers can
be indirectly connected. Then in the 2010s, the social network companies, such as Facebook and
LinkedIn, laid down the fourth layer of information technology by effectively moving the human
society to internet, and allowed people to directly connect to one another. After the population of
the internet-based human society reached a significant scale, around 2015, the emergence of Uber
and Airbnb laid down the fifth layer of information technology by providing services upon the
internet-based human society, and forming an internet-based commerce society. Although Uber
and Airbnb provided the means for us to efficiently access service providers through the internet,
the services are still provided by humans.

1.1 AUTONOMOUS DRIVING TECHNOLOGIES OVERVIEW


As shown in Figure 1.1, autonomous driving is not one single technology, but rather a highly com-
plex system that consists of many sub-systems. Let us break it into three major components: algo-
rithms, including sensing, perception, and decision (which requires reasoning for complex cases);
client systems, including the operating system and the hardware platform; and the cloud platform,
including high-definition (HD) map, deep learning model training, simulation, and data storage.
The algorithm subsystem extracts meaningful information from sensor raw data to under-
stand its environment and to make decisions about its future actions. The client systems integrate
these algorithms together to meet real-time and reliability requirements. For example, if the camera
generates data at 60 Hz, the client systems need to make sure that the longest stage of the pro-
cessing pipeline takes less than 16 ms to complete. The cloud platform provides offline computing
Another Random Document on
Scribd Without Any Related Topics
“Where are all the dead of the world?” he said.
But the woman answered not.
“And what is the end, you that are called Mary?”
Then the woman rose.
“Would you cross the Ford, O Torcall the Harper?”
He made no word upon that. But he listened. He heard a woman
singing faint and low far away in the dark. He drew more near.
“Would you cross the Ford, O Torcall?”
He made no word upon that. But once more he listened. He heard a
little child crying in the night.
“Ah, lonely heart of the white one,” he sighed, and his tears fell.
Mary Magdalene turned and looked upon him.
It was the face of Sorrow she had. She stooped and took up the
tears. “They are bells of joy,” she said. And he heard a wild sweet
ringing in his ears.
A prayer came out of his heart. A blind prayer it was, but God gave it
wings. It flew to Mary, who took and kissed it, and gave it song.
“It is the Song of Peace,” she said. And Torcall had peace.
“What is best, O Torcall?” she asked, rustling-sweet as rain among
the leaves her voice was—“What is best? The sword, or peace?”
“Peace,” he answered: and he was white now, and was old.
“Take your harp,” Mary said, “and go in unto the Ford. But lo, now I
clothe you with a white shroud. And if you fear the drowning flood,
follow the bells that were your tears: and if the dark affright you,
follow the song of the Prayer that came out of your heart.”
So Torcall the Harper moved into the whelming flood, and he played
a wild strange air, like the laughing of a child.
Deep silence there was. The moonshine lay upon the obscure wood,
and the darkling river flowed sighing through the soundless gloom.
The Washer of the Ford stooped once more. Low and sweet, as of
yore and for ever, over the drowning souls, she sang her immemorial
song.
MUIME CHRIOSD
Note.—This “legendary romance” is based upon the ancient and
still current (though often hopelessly contradictory) legends
concerning Brighid, or Bride, commonly known as “Muime
Chriosd,” that is, the Foster-Mother of Christ. From the universal
honour and reverence in which she was and is held—second
only in this respect to the Virgin herself—she is also called “Mary
of the Gael.” Another name, frequent in the West, is “Brighde-
nam-Brat,” that is, St. Bride of the Mantle, a name explained in
the course of my legendary story. Brighid the Christian saint
should not, however, as is commonly done, be confused with a
much earlier and remoter Brighid, the ancient Celtic muse of
Song.
ST. BRIDE OF THE ISLES
SLOINNEADH BRIGHDE, MUIME CHRIOSD

Brighde nighean Dùghaill Duinn,


’Ic Aoidth, ’ic Arta, ’ic Cuinn.
Gach la is gach oidhche
Ni mi cuimhneachadh air sloinneadh Brighde.
Cha mharbhar mi,
Cha ghuinear mi,
Cha ghonar mi,
Cha mho dh’ fhagas Criosd an dearmad mi;
Cha loisg teine gniomh Shatain mi;
’S cha bhath uisge no saile mi;
’S mi fo chomraig Naoimh Moire
’S mo chaomh mhuime, Brighde.

THE GENEALOGY OF ST. BRIDGET OR ST. BRIDE, FOSTER-MOTHER


OF CHRIST.

St. Bridget, the daughter of Dùghall Donn,


Son of Hugh, son of Art, son of Conn.
Each day and each night
I will meditate on the genealogy of St. Bridget.
[Whereby] I will not be killed,
I will not be wounded,
I will not be bewitched;
Neither will Christ forsake me;
Satan’s fire will not burn me;
Neither water nor sea shall drown me;
For I am under the protection of the Virgin Mary,
And my meek and gentle foster-mother, St. Bridget.

B
EFORE ever St. Colum came across the Moyle to the island of
Iona, that was then by strangers called Innis-nan-
Dhruidhneach, the Isle of the Druids, and by the natives Ioua,
there lived upon the southeast slope of Dun-I a poor herdsman,
named Dùvach. Poor he was, for sure, though it was not for this
reason that he could not win back to Ireland, green Banba, as he
called it: but because he was an exile thence, and might never again
smell the heather blowing over Sliabh-Gorm in what of old was the
realm of Aoimag.
He was a prince in his own land, though none on Iona save the
Arch-Druid knew what his name was. The high priest, however,
knew that Dùvach was the royal Dùghall, called Dùghall Donn, the
son of Hugh the King, the son of Art, the son of Conn. In his youth
he had been accused of having done a wrong against a noble
maiden of the blood. When her child was born he was made to
swear across her dead body that he would be true to the daughter
for whom she had given up her life, that he would rear her in a holy
place but away from Eiré, and that he would never set foot within
that land again. This was a bitter thing for Dùghall Donn to do: the
more so as, before the King, and the priests, and the people, he
swore by the Wind, and by the Moon, and by the Sun, that he was
guiltless of the thing of which he was accused. There were many
there who believed him because of that sacred oath: others, too,
forasmuch as that Morna the Princess had herself sworn to the same
effect. Moreover, there was Aodh of the Golden Hair, a poet and seer,
who avowed that Morna had given birth to an immortal, whose
name would one day be as a moon among the stars for glory. But
the King would not be appeased, though he spared the life of his
youngest son. So it was that, by the advice of Aodh of the Druids,
Dùghall Donn went northwards through the realm of Clanadon and
so to the sea-loch that was then called Loch Feobal. There he took
boat with some wayfarers bound for Alba. But in the Moyle a
tempest arose, and the frail galley was driven northward, and at
sunrise was cast like a great fish, spent and dead, upon the south
end of Ioua, that is now Iona. Only two of the mariners survived:
Dùghall Donn and the little child. This was at the place where, on a
day of the days in a year that was not yet come, St. Colum landed in
his coracle, and gave thanks on his bended knees.
When, warmed by the sun, they rose, they found themselves in a
waste place. Ill was Dùghall in his mind because of the portents, and
now to his astonishment and alarm the child Bridget knelt on the
stones, and, with claspt hands, small and pink as the sea-shells
round about her, sang a song of words which were unknown to him.
This was the more marvellous, as she was yet but an infant, and
could say no word even of Erse, the only tongue she had heard.
At this portent, he knew that Aodh had spoken seeingly. Truly this
child was not of human parentage. So he, too, kneeled, and, bowing
before her, asked if she were of the race of the Tuatha de Danann,
or of the older gods, and what her will was, that he might be her
servant. Then it was that the kneeling babe looked at him, and sang
in a low sweet voice in Erse:

I am but a little child,


Dùghall, son of Hugh, son of Art,
But my garment shall be laid
On the lord of the world,
Yea, surely it shall be that He
The King of the Elements Himself
Shall lean against my bosom,
And I will give him peace,
And peace will I give to all who ask
Because of this mighty Prince,
And because of his Mother that is the Daughter
of Peace.
And while Dùghall Donn was still marvelling at this thing, the Arch-
Druid of Iona approached, with his white-robed priests. A grave
welcome was given to the stranger, but while the youngest of the
servants of God was entrusted with the child, the Arch-Druid took
Dùghall aside, and questioned him. It was not till the third day that
the old man gave his decision. Dùghall Donn was to abide on Iona if
he so willed: the child certainly was to stay. His life would be spared,
nor would he be a bondager of any kind, and a little land to till
would be given him, and all that he might need. But of his past he
was to say no word. His name was to become as naught, and he
was to be known simply as Dùvach. The child, too, was to be named
Bride, for that was the way the name Bridget was called in the Erse
of the Isles.
To the question of Dùghall, that was thenceforth Dùvach, as to why
he laid so great stress on the child, that was a girl, and the reputed
offspring of shame at that, Cathal the Arch-Druid replied thus: “My
kinsman Aodh of the Golden Hair, who sent you here, was wiser than
Hugh the King and all the Druids of Aoimag. Truly, this child is an
Immortal. There is an ancient prophecy concerning her: surely of her
who is now here, and no other. There shall be, it says, a spotless
maid born of a virgin of the ancient immemorial race in Innisfail. And
when for the seventh time the sacred year has come, she will hold
Eternity in her lap as a white flower. Her maiden breasts shall swell
with milk for the Prince of the World. She shall give suck to the King
of the Elements. So I say unto you, Dùvach, go in peace. Take unto
thyself a wife, and live upon the place I will give thee on the east
side of Ioua. Treat Bride as though she were thy spirit, but leave her
much alone, and let her learn of the sun and the wind. In the
fulness of time the prophecy shall be fulfilled.”
So was it, from that day of the days. Dùvach took a wife unto
himself, who weaned the little Bride, who grew in beauty and grace,
so that all men marvelled. Year by year for seven years the wife of
Dùvach bore him a son, and these grew apace in strength, so that
by the beginning of the third year of the seventh cycle of Bride’s life
there were three stalwart youths to brother her, and three comely
and strong lads, and one young boy fair to see. Nor did any one, not
even Bride herself, saving Cathal the Arch-Druid, know that Dùvach
the herdsman was Dùghall Donn, of a princely race in Innisfail.
In the end, too, Dùvach came to think that he had dreamed, or at
the least that Cathal had not interpreted the prophecy aright. For
though Bride was of exceeding beauty, and of a strange piety that
made the young Druids bow before her as though she were a
bàndia, yet the world went on as before, and the days brought no
change. Often, while she was still a child, he had questioned her
about the words she had said as a babe, but she had no memory of
them. Once, in her ninth year, he came upon her on the hillside of
Dun-I singing these selfsame words. Her eyes dreamed afar away.
He bowed his head, and, praying to the Giver of light, hurried to
Cathal. The old man bade him speak no more to the child
concerning the mysteries.
Bride lived the hours of her days upon the slopes of Dun-I, herding
the sheep, or in following the kye upon the green hillocks and grassy
dunes of what then as now was called the Machar. The beauty of the
world was her daily food. The spirit within her was like sunlight
behind a white flower. The birdeens in the green bushes sang for joy
when they saw her blue eyes. The tender prayers that were in her
heart for all the beasts and birds, for helpless children, and tired
women, and for all who were old, were often seen flying above her
head in the form of white doves of sunshine.
But when the middle of the year came that was, though Dùvach had
forgotten it, the year of the prophecy, his eldest son, Conn, who was
now a man, murmured against the virginity of Bride, because of her
beauty and because a chieftain of the mainland was eager to wed
her. “I shall wed Bride or raid Ioua” was the message he had sent.
So one day, before the great fire of the summer festival, Conn and
his brothers reproached Bride.
“Idle are these pure eyes, O Bride, not to be as lamps at thy
marriage-bed.”
“Truly, it is not by the eyes that we live,” replied the maiden gently,
while to their fear and amazement she passed her hand before her
face and let them see that the sockets were empty. Trembling with
awe at this portent, Dùvach intervened.
“By the Sun I swear it, O Bride, that thou shalt marry whomsoever
thou wilt and none other, and when thou willest, or not at all if such
be thy will.”
And when he had spoken, Bride smiled, and passed her hand before
her face again, and all there were abashed because of the blue light
as of morning that was in her shining eyes.

II
The still weather had come, and all the isles lay in beauty. Far south,
beyond vision, ranged the coasts of Eiré: westward, leagues of quiet
ocean dreamed into unsailed wastes whose waves at last laved the
shores of Tirna’n Òg, the Land of Eternal Youth: northward, the
spell-bound waters sparkled in the sunlight, broken here and there
by purple shadows, that were the isles of Staffa and Ulva, Lunga and
the isles of the columns, misty Coll, and Tiree that is the land
beneath the wave; with, pale blue in the heat-haze, the mountains
of Rùm called Haleval, Haskeval, and Oreval, and the sheer Scuir-na-
Gillian and the peaks of the Cuchullins in remote Skye.
All the sweet loveliness of a late spring remained, to give a freshness
to the glory of summer. The birds had song to them still.
It was while the dew was yet wet on the grass that Bride came out
of her father’s house, and went up the steep slope of Dun-I. The
crying of the ewes and lambs at the pastures came plaintively
against the dawn. The lowing of the kye arose from the sandy
hollows by the shore, or from the meadows on the lower slopes.
Through the whole island went a rapid trickling sound, most sweet
to hear: the myriad voices of twittering birds, from the dotterel in
the sea-weed to the larks climbing the blue spirals of heaven.
This was the morning of her birth, and she was clad in white. About
her waist was a girdle of the sacred rowan, the feathery green
leaves of it flickering dusky shadows upon her robe as she moved.
The light upon her yellow hair was as when morning wakes,
laughing low with joy amid the tall corn. As she went she sang, soft
as the crooning of a dove. If any had been there to hear he would
have been abashed, for the words were not in Erse, and the eyes of
the beautiful girl were as those of one in a vision.
When, at last, a brief while before sunrise, she reached the summit
of the Scuir, that is so small a hill and yet seems so big in Iona
where it is the sole peak, she found three young Druids there, ready
to tend the sacred fire the moment the sun-rays should kindle it.
Each was clad in a white robe, with fillets of oak-leaves; and each
had a golden armlet. They made a quiet obeisance as she
approached. One stepped forward, with a flush in his face because
of her beauty, that was as a sea-wave for grace, and a flower for
purity, and sunlight for joy, and moonlight for peace, and the wind
for fragrance.
“Thou mayst draw near if thou wilt, Bride, daughter of Dùvach,” he
said, with something of reverence as well as of grave courtesy in his
voice: “for the holy Cathal hath said that the Breath of the Source of
All is upon thee. It is not lawful for women to be here at this
moment, but thou hast the law shining upon thy face and in thine
eyes. Hast thou come to pray?”
But at that moment a low cry came from one of his companions. He
turned, and rejoined his fellows. Then all three sank upon their
knees, and with outstretched arms hailed the rising of God.
As the sun rose, a solemn chant swelled from their lips, ascending as
incense through the silent air. The glory of the new day came
soundlessly. Peace was in the blue heaven, on the blue-green sea,
on the green land. There was no wind, even where the currents of
the deep moved in shadowy purple. The sea itself was silent, making
no more than a sighing slumber-breath round the white sands of the
isle, or a hushed whisper where the tide lifted the long weed that
clung to the rocks.
In what strange, mysterious way, Bride did not see; but as the three
Druids held their hands before the sacred fire there was a faint
crackling, then three thin spirals of blue smoke rose, and soon dusky
red and wan yellow tongues of flame moved to and fro. The sacrifice
of God was made. Out of the immeasurable heaven He had come, in
His golden chariot. Now, in the wonder and mystery of His love, He
was reborn upon the world, reborn a little fugitive flame upon a low
hill in a remote isle. Great must be His love that He could die thus
daily in a thousand places: so great His love that He could give up
His own body to daily death, and suffer the holy flame that was in
the embers he illumined to be lighted and revered and then
scattered to the four quarters of the world.
Bride could bear no longer the mystery of this great love. It moved
her to an ecstasy. What tenderness of divine love that could thus
redeem the world daily: what long-suffering for all the evil and
cruelty done hourly upon the weeping earth, what patience with the
bitterness of the blind fates! The beauty of the worship of Be’al was
upon her as a golden glory. Her heart leaped to a song that could
not be sung. The inexhaustible love and pity in her soul chanted a
hymn that was heard of no Druid or mortal anywhere, but was
known of the white spirits of Life.
Bowing her head, so that the glad tears fell warm as thunder-rain
upon her hands, she rose and moved away.
Not far from the summit of Dun-I is a hidden pool, to this day called
the Fountain of Youth. Hitherward she went, as was her wont when
upon the hill at the break of day, at noon, or at sundown. Close by
the huge boulder, which hides it from above, she heard a pitiful
bleating, and soon the healing of her eyes was upon a lamb which
had become fixed in a crevice in the rock. On a crag above it stood a
falcon, with savage cries, lusting for warm blood. With swift step
Bride drew near. There was no hurt to the lambkin as she lifted it in
her arms. Soft and warm was it there, as a young babe against the
bosom that mothers it. Then with quiet eyes she looked at the
falcon, who hooded his cruel gaze.
“There is no wrong in thee, Seobhag,” she said gently; “but the law
of blood shall not prevail for ever. Let there be peace this morn.”
And when she had spoken this word, the wild hawk of the hills flew
down upon her shoulder, nor did the heart of the lambkin beat the
quicker, while with drowsy eyes it nestled as against its dam. When
she stood by the pool she laid the little woolly creature among the
fern. Already the bleating of it was sweet against the forlorn heart of
a ewe. The falcon rose, circled above her head, and with swift flight
sped through the blue air. For a time Bride watched its travelling
shadow: when it was itself no more than a speck in the golden haze,
she turned, and stooped above the Fountain of Youth.
Beyond it stood then, though for ages past there has been no sign
of either, two quicken-trees. Now they were gold-green in the
morning light, and the brown-green berries that had not yet
reddened were still small. Fair to see was the flickering of the long
finger-shadows upon the granite rocks and boulders.
Often had Bride dreamed through their foliage; but now she stared
in amaze. She had put her lips to the water, and had started back
because she had seen, beyond her own image, that of a woman so
beautiful that her soul was troubled within her, and had cried its
inaudible cry, worshipping. When, trembling, she had glanced again,
there was none beside herself. Yet what had happened? For, as she
stared at the quicken-trees, she saw that their boughs had
interlaced, and that they now became a green arch. What was
stranger still was that the rowan-clusters hung in blood-red masses,
although the late heats were yet a long way off.
Bride rose, her body quivering because of the cool sweet draught of
the Fountain of Youth, so that almost she imagined the water was
for her that day what it could be once in each year to every person
who came to it, a breath of new life and the strength and joy of
youth. With slow steps she advanced towards the arch of the
quickens. Her heart beat as she saw that the branches at the
summit had formed themselves into the shape of a wreath or crown,
and that the scarlet berries dropped therefrom a steady rain of red
drops as of blood. A sigh of joy breathed from her lips when, deep
among the red and green, she saw the white merle of which the
ancient poets sang, and heard the exceeding wonder of its rapture,
which was now the pain of joy and now the joy of pain.
The song of the mystic bird grew wilder and more sweet as she
drew near. For a brief while she hesitated. Then, as a white dove
drifted slow before her under and through the quicken-boughs, a
dove white as snow but radiant with sunfire, she moved forward to
follow, with a dream-smile upon her face and her eyes full of the
sheen of wonder and mystery, as shadowy waters flooded with
moonshine.
And this was the passing of Bride, who was not seen again of
Dùvach or her foster-brothers for the space of a year and a day.
Only Cathal, the aged Arch-Druid, who died seven days thence, had
a vision of her, and wept for joy.

III
When the strain of the white merle ceased, though it had seemed to
her scarce longer than the vanishing song of the swallow on the
wing, Bride saw that the evening was come. Through the violet
glooms of dusk she moved soundlessly, save for the crispling of her
feet among the hot sands. Far as she could see to right or left there
were hollows and ridges of sand; where, here and there, trees or
shrubs grew out of the parched soil, they were strange to her. She
had heard the Druids speak of the sunlands in a remote, nigh
unreachable East, where there were trees called palms, trees in a
perpetual sunflood yet that perished not, also tall dark cypresses,
black-green as the holy yew. These were the trees she now saw. Did
she dream, she wondered? Far down in her mind was some memory,
some floating vision only, mayhap, of a small green isle far among
the northern seas. Voices, words, faces, familiar yet unfamiliar when
she strove to bring them near, haunted her.
The heat brooded upon the land. The sigh of the parched earth was
“Water, water.”
As she moved onward through the gloaming she descried white
walls beyond her: white walls and square white buildings, looming
ghostly through the dark, yet home-sweet as the bells of the cows
on the sea-pastures, because of the yellow lights every here and
there agleam.
A tall figure moved towards her, clad in white, even as those figures
which haunted her unremembering memory. When he drew near she
gave a low cry of joy. The face of her father was sweet to her.
“Where will be the pitcher, Brighid?” he said, though the words were
not the words that were near her when she was alone. Nevertheless
she knew them, and the same manner of words was upon her lips.
“My pitcher, father?”
“Ah, dreamer, when will you be taking heed! It is leaving your
pitcher you will be, and by the Well of the Camels, no doubt: though
little matter will that be, since there is now no water, and the
drought is heavy upon the land. But ... Brighid ...”
“Yes, my father?”
“Sure now it is not safe for you to be on the desert at night. Wild
beasts come out of the darkness, and there are robbers and wild
men who lurk in the shadow. Brighid ... Brighid ... is it dreaming you
are still?”
“I was dreaming of a cool green isle in northern seas, where ...”
“Where you have never been, foolish lass, and are never like to be.
Sure, if any wayfarer were to come upon us you would scarce be
able to tell him that yonder village is Bethlehem, and that I am
Dùghall Donn the inn-keeper, Dùghall the son of Hugh, son of Art,
son of Conn. Well, well, I am growing old, and they say that the old
see wonders. But I do not wish to see this wonder, that my daughter
Brighid forgets her own town, and the good inn that is there, and
the strong sweet ale that is cool against the thirst of the weary.
Sure, if the day of my days is near it is near. ‘Green be the place of
my rest,’ I cry, even as Oisìn the son of Fionn of the hero-line of
Trenmor cried in his old age; though if Oisìn and the Fiànn were
here not a green place would they find now, for the land is burned
dry as the heather after a hill-fire. But now, Brighid, let us go back
into Bethlehem, for I have that for the saying which must be said at
once.”
In silence the twain walked through the gloaming that was already
the mirk, till they came to the white gate, where the asses and
camels breathed wearily in the sultry darkness, with dry tongues
moving round parched mouths. Thence they fared through narrow
streets, where a few white-robed Hebrews and sons of the desert
moved silently, or sat in niches. Finally, they came to a great yard,
where more than a score of camels lay huddled and growling in their
sleep. Beyond this was the inn, which was known to all the patrons
and friends of Dùghall Donn as the “Rest and Be Thankful,” though
formerly as the Rest of Clan-Ailpean, for was he not himself through
his mother MacAlpine of the Isles, as well as blood-kin to the great
Carmac the Ard-Righ, to whom his father, Hugh, was feudatory
prince?
As Dùghall and Bride walked along the stone flags of a passage
leading to the inner rooms, he stopped and drew her attention to
the water-tanks.
“Look you, my lass,” he said sorrowfully, “of these tanks and barrels
nearly all are empty. Soon there will be no water whatever, which is
an evil thing though I whisper it in peace, to the Stones be it said.
Now, already the folk who come here murmur. No man can drink ale
all day long, and those wayfarers who want to wash the dust of their
journey from their feet and hands complain bitterly. And ... what is
that you will be saying? The kye? Ay, sure, there is the kye, but the
poor beasts are o’ercome with the heat, and there’s not a Cailliach
on the hills who could win a drop more of milk from them than we
squeeze out of their udders now, and that only with rune after rune
till all the throats of the milking lassies are as dry as the salt grass
by the sea.
“Well, what I am saying is this: ’tis months now since any rain will
be falling, and every crock of water has been for the treasuring as
though it had been the honey of Moy-Mell itself. The moon has been
full twice since we had the good water brought from the mountain-
springs; and now they are for drying up too. The seers say that the
drought will last. If that is a true word, and there be no rain till the
winter comes, there will be no inn in Bethlehem called ‘The Rest and
Be Thankful;’ for already there is not enough good water to give
peace even to your little thirst, my birdeen. As for the ale, it is poor
drink now for man or maid, and as for the camels and asses, poor
beasts, they don’t understand the drinking of it.”
“That is true, father; but what is to be done?”
“That’s what I will be telling you, my lintie. Now, I have been told by
an oganach out of Jerusalem, that lives in another place close by the
great town, that there is a quenchless well of pure water, cold as the
sea with a north wind in it, on a hill there called the Mount of Olives.
Now, it is to that hill I will be going. I am for taking all the camels,
and all the horses, and all the asses, and will lade each with a
burthen of water-skins, and come back home again with water
enough to last us till the drought breaks.”
That was all that was said that night. But at the dawn the inn was
busy, and all the folk in Bethlehem were up to see the going abroad
of Dùghall Donn and Ronald M‘Ian, his shepherd, and some
Macleans and Maccallums that were then in that place. It was a fair
sight to see as they went forth through the white gate that is called
the Gate of Nazareth. A piper walked first, playing the Gathering of
the Swords: then came Dùghall Donn on a camel, and M‘Ian on a
horse, and the herdsmen on asses, and then there were the collies
barking for joy.
Before he had gone, Dùghall took Bride out of the hearing of the
others. There was only a little stagnant water, he said; and as for the
ale, there was no more than a flagon left of what was good. This
flagon, and the one jar of pure water, he left with her. On no account
was she to give a drop to any wayfarer, no matter how urgent he
might be; for he, Dùghall, could not say when he would get back,
and he did not want to find a dead daughter to greet him on his
return, let alone there being no maid of the inn to attend to
customers. Over and above that, he made her take an oath that she
would give no one, no, not even a stranger, accommodation at the
inn, during his absence.
Afternoon and night came, and dawn and night again, and yet
again. It was on the afternoon of the third day, when even the
crickets were dying of thirst, that Bride heard a clanging at the door
of the inn.
When she went to the door she saw a weary gray-haired man, dusty
and tired. By his side was an ass with drooping head, and on the ass
was a woman, young, and of a beauty that was as the cool shadow
of green leaves and the cold ripple of running waters. But beautiful
as she was, it was not this that made Bride start: no, nor the heavy
womb that showed the woman was with child. For she remembered
her of a dream—it was a dream, sure—when she had looked into a
pool on a mountain-side, and seen, beyond her own image, just this
fair and beautiful face, the most beautiful that ever man saw since
Nais, of the Sons of Usna, beheld Deirdrê in the forest,—ay, and
lovelier far even than she, the peerless among women.
“Gu’m beannaicheadh Dia an tigh,” said the gray-haired man in a
weary voice, “the blessing of God on this house.”
“Soraidh leat,” replied Bride gently, “and upon you likewise.”
“Can you give us food and drink, and, after that, good rest at this
inn? Sure it is grateful we will be. This is my wife Mary, upon whom
is a mystery: and I am Joseph, a carpenter in Arimathea.”
“Welcome, and to you, too, Mary: and peace. But there is neither
food nor drink here, and my father has bidden me give shelter to
none who comes here against his return.”
The carpenter sighed, but the fair woman on the ass turned her
shadowy eyes upon Bride, so that the maiden trembled with joy and
fear.
“And is it forgetting me you will be, Brighid-Alona,” she murmured, in
the good sweet Gaelic of the Isles, and the voice of her was like the
rustle of leaves when a soft rain is falling in a wood.
“Sure, I remember,” Bride whispered, filled with deep awe. Then
without a word she turned, and beckoned them to follow: which,
having left the ass by the doorway, they did.
“Here is all the ale that I have,” she said, as she gave the flagon to
Joseph: “and here, Mary, is all the water that there is. Little there is,
but it is you that are welcome to it.”
Then, when they had quenched their thirst she brought out oatcakes
and scones and brown bread, and would fain have added milk, but
there was none.
“Go to the byre, Brighid,” said Mary, “and the first of the kye shall
give milk.”
So Bride went, but returned saying that the creature would not give
milk without a sian or song, and that her throat was too dry to sing.
“Say this sian,” said Mary:—

Give up thy milk to her who calls


Across the low green hills of Heaven
And stream-cool meads of Paradise!

And sure enough, when Bride did this, the milk came: and she
soothed her thirst, and went back to her guests rejoicing. It was
sorrow to her not to let them stay where they were, but she could
not, because of her oath.
The man Joseph was weary, and said he was too tired to seek far
that night, and asked if there was no empty byre or stable where he
and Mary could sleep till morning. At that, Bride was glad: for she
knew there was a clean cool stable close to the byre where her kye
were: and thereto she led them, and returned with peace at her
heart.
When she was in the inn again, she was afraid once more: for lo,
though Mary and Joseph had drunken deep of the jar and the
flagon, each was now full as it had been. Of the food, too, none
seemed to have been taken, though she had herself seen them
break the scones and the oatcakes.
It was dusk when her reverie was broken by the sound of the pipes.
Soon thereafter Dùghall Donn and his following rode up to the inn,
and all were glad because of the cool water, and the grapes, and the
green fruits of the earth, that they brought with them.
While her father was eating and drinking, merry because of the ale
that was still in the flagon, Bride told him of the wayfarers. Even as
she spoke, he made a sign of silence, because of a strange,
unwonted sound that he heard.
“What will that be meaning?” he asked, in a low, hushed voice.
“Sure it is the rain at last, father. That is a glad thing. The earth will
be green again. The beasts will not perish. Hark, I hear the noise of
it coming down from the hills as well.” But Dùghall sat brooding.
“Aye,” he said at last, “is it not foretold that the Prince of the World
is to be born in this land, during a heavy falling of rain, after a long
drought? And who is for knowing that Bethlehem is not the place,
and that this is not the night of the day of the days? Brighid, Brighid,
the woman Mary must be the mother of the Prince, who is to save
all mankind out of evil and pain and death!”
And with that he rose and beckoned to her to follow. They took a
lantern, and made their way through the drowsing camels and asses
and horses, and past the byres where the kye lowed gently, and so
to the stable.
“Sure that is a bright light they are having,” Dùghall muttered
uneasily: for, truly, it was as though the shed were a shell filled with
the fires of sunrise.
Lightly they pushed back the door. When they saw what they saw
they fell upon their knees. Mary sat with her heavenly beauty upon
her like sunshine on a dusk land: in her lap, a Babe laughing sweet
and low.
Never had they seen a Child so fair. He was as though wrought of
light.
“Who is it?” murmured Dùghall Donn, of Joseph, who stood near,
with rapt eyes.
“It is the Prince of Peace.”
And with that Mary smiled, and the Child slept.
“Brighid, my sister dear”—and, as she whispered this, Mary held the
little one to Bride.
The fair girl took the Babe in her arms, and covered it with her
mantle. Therefore it is that she is known to this day as Brighde-nam-
Brat, St. Bride of the Mantle.
And all through that night, while the mother slept, Bride nursed the
Child, with tender hands and croodling crooning songs. And this was
one of the songs that she sang:

Ah, Baby Christ, so dear to me,


Sang Bridget Bride:
How sweet thou art,
My baby dear,
Heart of my heart!

Heavy her body was with thee,


Mary, beloved of One in Three,
Sang Bridget Bride—
Mary, who bore thee, little lad:
But light her heart was, light and glad
With God’s love clad.

Sit on my knee,
Sang Bridget Bride:
Sit here
O Baby dear,
Close to my heart, my heart:
For I thy foster-mother am,
My helpless lamb!
O have no fear,
Sang good St. Bride.

None, none,
No fear have I:
So let me cling
Close to thy side
Whilst thou dost sing,
O Bridget Bride!

My Lord, my Prince I sing:


My baby dear, my King!
Sang Bridget Bride.
It was on this night that, far away in Iona, the Arch-Druid Cathal
died. But before the breath went from him he had his vision of joy,
and his last words were:

Brighde ’dol air a glùn,


Righ nan dùl a shuidh ’na h-uchd!
(Bridget Bride upon her knee,
The King of the Elements asleep on her breast!)

At the coming of dawn Mary awoke, and took the Child. She kissed
Bride upon the brows, and said this thing to her: “Brighid, my sister
dear, thou shalt be known unto all time as Muime Chriosd.”

IV
No sooner had Mary spoken than Bride fell into a deep sleep. So
profound was this slumber that when Dùghall Donn came to see to
the wayfarers, and to tell them that the milk and the porridge were
ready for the breaking of their fast, he could get no word of her at
all. She lay in the clean, yellow straw beneath the manger, where
Mary had laid the Child. Dùghall stared in amaze. There was no sign
of the mother, nor of the Babe that was the Prince of Peace, nor of
the douce, quiet man that was Joseph the carpenter. As for Bride,
she not only slept so sound that no word of his fell against her ears,
but she gave him awe. For as he looked at her he saw that she was
surrounded by a glowing light. Something in his heart shaped itself
into a prayer, and he knelt beside her, sobbing low. When he rose, it
was in peace. Mayhap an angel had comforted his soul in its dark
shadowy haunt of his body.
It was late when Bride awoke, though she did not open her eyes,
but lay dreaming. For long she thought she was in Tir-Tairngire, the
Land of Promise, or wandering on the honey-sweet plain of Magh-
Mell; for the wind of dreamland brought exquisite odours to her, and
in her ears was a most marvellous sweet singing.
All round her there was a music of rejoicing. Voices, lovelier than any
she had ever heard, resounded; glad voices full of praise and joy.
There was a pleasant tumult of harps and trumpets, and as from
across blue hills and over calm water came the sound of the
bagpipes. She listened with tears. Loud and glad were the pipes, at
times full of triumph, as when the heroes of old marched with
Cuculain or went down to battle with Fionn: again, they were low
and sweet, like humming of bees when the heather is heavy with the
honey-ooze. The songs and wild music of the angels lulled her into
peace: for a time no thought of the woman Mary came to her, nor of
the Child that was her foster-child.
Suddenly it was in her mind as though the pipes played the chant
that is called the “Aoibhneas a Shlighe,” “the joy of his way,” a march
played before a bridegroom going to his bride. Out of this glad music
came a solitary voice, like a child singing on the hillside.
“The way of wonder shall be thine, O Brighid-Naomha!”
This was what the child-voice sang. Then it was as though all the
harpers of the west were playing “air clàrsach”: and the song of a
multitude of voices was this:
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

textbookfull.com

You might also like