32 research outputs found
PI-Edge: A Low-Power Edge Computing System for Real-Time Autonomous Driving Services
To simultaneously enable multiple autonomous driving services on affordable
embedded systems, we designed and implemented {\pi}-Edge, a complete edge
computing framework for autonomous robots and vehicles. The contributions of
this paper are three-folds: first, we developed a runtime layer to fully
utilize the heterogeneous computing resources of low-power edge computing
systems; second, we developed an extremely lightweight operating system to
manage multiple autonomous driving services and their communications; third, we
developed an edge-cloud coordinator to dynamically offload tasks to the cloud
to optimize client system energy consumption. To the best of our knowledge,
this is the first complete edge computing system of a production autonomous
vehicle. In addition, we successfully implemented {\pi}-Edge on a Nvidia Jetson
and demonstrated that we could successfully support multiple autonomous driving
services with only 11 W of power consumption, and hence proving the
effectiveness of the proposed {\pi}-Edge system
On Designing Computing Systems for Autonomous Vehicles: a PerceptIn Case Study
PerceptIn develops and commercializes autonomous vehicles for micromobility
around the globe. This paper makes a holistic summary of PerceptIn's
development and operating experiences. This paper provides the business tale
behind our product, and presents the development of the computing system for
our vehicles. We illustrate the design decision made for the computing system,
and show the advantage of offloading localization workloads onto an FPGA
platform.Comment: ASP-DAC 2021 Invited Pape
Real-Time Robot Localization, Vision, and Speech Recognition on Nvidia Jetson TX1
Robotics systems are complex, often consisted of basic services including
SLAM for localization and mapping, Convolution Neural Networks for scene
understanding, and Speech Recognition for user interaction, etc. Meanwhile,
robots are mobile and usually have tight energy constraints, integrating these
services onto an embedded platform with around 10 W of power consumption is
critical to the proliferation of mobile robots. In this paper, we present a
case study on integrating real-time localization, vision, and speech
recognition services on a mobile SoC, Nvidia Jetson TX1, within about 10 W of
power envelope. In addition, we explore whether offloading some of the services
to cloud platform can lead to further energy efficiency while meeting the
real-time requirementsComment: 12 pages, 8 figure
Implementing a Cloud Platform for Autonomous Driving
Autonomous driving clouds provide essential services to support autonomous
vehicles. Today these services include but not limited to distributed
simulation tests for new algorithm deployment, offline deep learning model
training, and High-Definition (HD) map generation. These services require
infrastructure support including distributed computing, distributed storage, as
well as heterogeneous computing. In this paper, we present the details of how
we implement a unified autonomous driving cloud infrastructure, and how we
support these services on top of this infrastructure.Comment: 8 pages, 12 figure
Towards Fully Intelligent Transportation through Infrastructure-Vehicle Cooperative Autonomous Driving: Challenges and Opportunities
The infrastructure-vehicle cooperative autonomous driving approach depends on
the cooperation between intelligent roads and intelligent vehicles. This
approach is not only safer but also more economical compared to the traditional
on-vehicle-only autonomous driving approach. In this paper, we introduce our
real-world deployment experiences of cooperative autonomous driving, and delve
into the details of new challenges and opportunities. Specifically, based on
our progress towards commercial deployment, we follow a three-stage development
roadmap of the cooperative autonomous driving approach:infrastructure-augmented
autonomous driving (IAAD), infrastructure-guided autonomous driving (IGAD), and
infrastructure-planned autonomous driving (IPAD)
Teaching Autonomous Driving Using a Modular and Integrated Approach
Autonomous driving is not one single technology but rather a complex system
integrating many technologies, which means that teaching autonomous driving is
a challenging task. Indeed, most existing autonomous driving classes focus on
one of the technologies involved. This not only fails to provide a
comprehensive coverage, but also sets a high entry barrier for students with
different technology backgrounds. In this paper, we present a modular,
integrated approach to teaching autonomous driving. Specifically, we organize
the technologies used in autonomous driving into modules. This is described in
the textbook we have developed as well as a series of multimedia online
lectures designed to provide technical overview for each module. Then, once the
students have understood these modules, the experimental platforms for
integration we have developed allow the students to fully understand how the
modules interact with each other. To verify this teaching approach, we present
three case studies: an introductory class on autonomous driving for students
with only a basic technology background; a new session in an existing embedded
systems class to demonstrate how embedded system technologies can be applied to
autonomous driving; and an industry professional training session to quickly
bring up experienced engineers to work in autonomous driving. The results show
that students can maintain a high interest level and make great progress by
starting with familiar concepts before moving onto other modules
Learn-Memorize-Recall-Reduce A Robotic Cloud Computing Paradigm
The rise of robotic applications has led to the generation of a huge volume
of unstructured data, whereas the current cloud infrastructure was designed to
process limited amounts of structured data. To address this problem, we propose
a learn-memorize-recall-reduce paradigm for robotic cloud computing. The
learning stage converts incoming unstructured data into structured data; the
memorization stage provides effective storage for the massive amount of data;
the recall stage provides efficient means to retrieve the raw data; while the
reduction stage provides means to make sense of this massive amount of
unstructured data with limited computing resources.Comment: 6 pages, 7 figure
Distributed Simulation Platform for Autonomous Driving
Autonomous vehicle safety and reliability are the paramount requirements when
developing autonomous vehicles. These requirements are guaranteed by massive
functional and performance tests. Conducting these tests on real vehicles is
extremely expensive and time consuming, and thus it is imperative to develop a
simulation platform to perform these tasks. For simulation, we can utilize the
Robot Operating System (ROS) for data playback to test newly developed
algorithms. However, due to the massive amount of simulation data, performing
simulation on single machines is not practical. Hence, a high-performance
distributed simulation platform is a critical piece in autonomous driving
development. In this paper we present our experiences of building a production
distributed autonomous driving simulation platform. This platform is built upon
Spark distributed framework, for distributed computing management, and ROS, for
data playback simulations.Comment: 12 pages, 7 figure
PIRT: A Runtime Framework to Enable Energy-Efficient Real-Time Robotic Applications on Heterogeneous Architectures
Enabling full robotic workloads with diverse behaviors on mobile systems with
stringent resource and energy constraints remains a challenge. In recent years,
attempts have been made to deploy single-accelerator-based computing platforms
(such as GPU, DSP, or FPGA) to address this challenge, but with little success.
The core problem is two-fold: firstly, different robotic tasks require
different accelerators, and secondly, managing multiple accelerators
simultaneously is overwhelming for developers. In this paper, we propose PIRT,
the first robotic runtime framework to efficiently manage dynamic task
executions on mobile systems with multiple accelerators as well as on the cloud
to achieve better performance and energy savings. With PIRT, we enable a robot
to simultaneously perform autonomous navigation with 25 FPS of localization,
obstacle detection with 3 FPS, route planning, large map generation, and scene
understanding, traveling at a max speed of 5 miles per hour, all within an 11W
computing power envelope
A Survey of FPGA-Based Robotic Computing
Recent researches on robotics have shown significant improvement, spanning
from algorithms, mechanics to hardware architectures. Robotics, including
manipulators, legged robots, drones, and autonomous vehicles, are now widely
applied in diverse scenarios. However, the high computation and data complexity
of robotic algorithms pose great challenges to its applications. On the one
hand, CPU platform is flexible to handle multiple robotic tasks. GPU platform
has higher computational capacities and easy-touse development frameworks, so
they have been widely adopted in several applications. On the other hand,
FPGA-based robotic accelerators are becoming increasingly competitive
alternatives, especially in latency-critical and power-limited scenarios. With
specialized designed hardware logic and algorithm kernels, FPGA-based
accelerators can surpass CPU and GPU in performance and energy efficiency. In
this paper, we give an overview of previous work on FPGA-based robotic
accelerators covering different stages of the robotic system pipeline. An
analysis of software and hardware optimization techniques and main technical
issues is presented, along with some commercial and space applications, to
serve as a guide for future work.Comment: To appear in IEEE Circuits and Systems Magazine (CAS-M), 202