Software System Of Autonomous Vehicles: Architecture, Network And OS

1y ago
3 Views
2 Downloads
1.51 MB
49 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : Helen France
Transcription

Software System of Autonomous Vehicles:Architecture, Network and OSUniversity of Pennsylvania, School of Engineering and Applied ScienceStudent: Qiaochu Guo, qiaochug@seas.upenn.eduProject Advisor: Prof. Boon Thau Loo, boonloo@cis.upenn.eduCourse Coordinator: Prof. Max Mintz, mintz@cis.upenn.eduDate: April 29, 2020

INTRODUCTION4ARCHITECTURE DESIGN5OverviewThe Importance of ArchitectureState of LiteratureDiscussion OrganizationAnalysis Framework55557Functional DistributionIdentification of Functional ComponentsSeparated Safety SystemWorld ModelMapping Functional Components to Computing UnitsCentralization vs. DistributedDecoupling the “ Vehicle Platform”Functional Redundancy9991011111314Data FlowPerception to Trajectory GenerationFeedback from ActuationsThe “Tee-and-Join” Model17171718Data Model/Interprocess CommunicationDistributed Pub-sub ModelSingle Server Destination Based ModelCentral Database Model20202121Software PlatformRobotic Operating SystemAUTOSAR Adaptive RTE232324Fault ManagementDegradationRecovery252525Computing PlatformTypes of “Acceleration Platform”Choice of Platform262626VEHICLE BUS SYSTEMS28Overview28The Rise of Vehicle Bus29LINTopology & HardwareMessage FrameSynchronization & Error Handling303030302

CANTopology & HardwareMessage FrameSynchronization & Error Handling32323233FlexRayTopology & HardwareMessage FrameSynchronization & Error Handling34343435EthernetTopology & HardwareMessage FrameSynchronization & Error Handling36363637Conclusion38OPERATING SYSTEMS39OverviewTypes of OSes3939GPOS for Infotainment40RTOS for AV of Level 4-540INDUSTRY INSIGHTS42Development Trajectories42A Case Study of Infotainment OS42Standard Alliances43REFERENCES443

IntroductionAutonomous-vehicle (AV) is “a vehicle that has the capability to drive without the active physicalcontrol or monitoring by a human operator” [96]. There are 5 levels of autonomy. Lower level (level0-3) of autonomy systems consist of multiple individual ADAS’s (Advanced Driver AssistanceSystems [98]) that help the driver with specific tasks, such as parking, lane-tracking and braking. Higherlevel (level 4-5) autonomy systems, however, aim to completely replace the human driver, thusrequiring a higher level of machine intelligence, which is often provided by neural network algorithms,and a higher level of information integration and functional coordination capability [97]. The BostonConsulting Group estimates that by 2030, fully autonomous vehicles will make up 10% of vehiclesales around the world, and 44% of U.S. drivers surveyed in the study plan to purchase a fullyautonomous vehicle within the next decade [99].As the major automotive companies and technology companies (GM, Ford, Daimler, Google,Amazon, Uber etc.) race to present the world with mass market autonomous vehicles [1], thetechnologies around autonomous driving have been developing quickly in research institutes as wellas in industry labs. Specialized disciplines in perception, planning and control systems are being studiedin depth and the techniques are advancing fast. This thesis, however, focuses not on each specializedalgorithms, but on the system design aspect of autonomous vehicle as a whole.The anatomy of an autonomous-vehicle software system is quite different from that of a PC. It usuallyconsists of dozens of ECUs (Electronic Computing Units) that are like mini-computers, each in chargeof a separate functionality, such as vision, radar, steering, braking and infotainment [34]. They makedecisions either cooperatively through a central “brain” or individually in a distributed manner,depending on the level of autonomy and the chosen design pattern [34].At the current state, there are usually 60-100 ECUs on a single vehicle, and they often operate on asmany as 6-8 different operating systems [95]. This makes the code base bloated ( 100m lines) andincompatible for updates [34]. Therefore, an overhaul of architecture design to increase systemefficiency is due. In the ideal scenario, it is estimated that there could be as few as 6-10 consolidatedECUs on each vehicle, operating on the same software platform in the future [95]. Accordingly, newsoftware solutions need to be developed to enable the transformation, such as more versatile OSesand service-oriented communication [22].In this thesis, we will first examine the architecture design from two perspectives: “softwarearchitecture” [6, 22, 24] and “functional architecture” [1, 45, 48]. Respectively, we will examine thedevelopment stack design (OS, communication network, middleware, and applications), as well ashow the top-level applications divide up the required functionalities of an AV system and coordinateto work together. Throughout the discussion, architecture designs will be judged on their software“quality attributes” [7] such as interoperability and modifiability, and evaluated for their implicationson the competitive landscape of the industry. After the survey of architecture designs, we will diveinto the two foundational infrastructure for the AV software system – communication network(vehicle bus system [11]) and operating system, to gain a more zoomed-in picture of challenges facedby AV software developers on the system design aspect. Product offerings of these two infrastructurewill be analyzed on their design, impact on the AV industry, and future trajectories.4

Architecture DesignOverviewThe Importance of Architecture“Software architecture was introduced as a means to manage complexity in software systems” [45]and autonomous vehicles are very complex systems. Industries producing similarly complexproducts with stringent performance requirements usually have standardized software architecture,such as Future Airborne Capabilities Environment (FACE) in the aerospace industry, which helpsincrease modularity and portability, so that different teams could parallelly develop components thateasily integrate together [49].Besides, though safety standards specifically designed for AVs are not well-established [51], theredoes exist functional safety standards developed for automotive in general, such as ISO26262, thecompliance to which is mandatory for all road vehicles. Compliance to ISO26262 adds significantburden to software developers [50] and such compliance can usually be much more easily proven ifthe industry shares a common functional and software architecture, and can therefore reuse testedcodes [49].Therefore, an effort to standardize AV architecture will not only speed up development by allowingmore parallelization and specialization in between teams, but also helps the industry compoundsafety knowledge in an area where safety is yet undefined.State of LiteratureThe state of literature on AV architecture mirrors that of AV safety standards. Though the specificalgorithms used for key autonomous driving problems, such as object detection, localization andtrajectory planning, have been under intensive research for decades, the literature on the architecturedesign aspects of AVs have been lacking. Concern over this lack of attention has been voiced bymultiple researchers that are beginning to touch upon this field over the past few years [6, 43, 44,45].As the survey for this thesis progresses, it became clear that among the limited existing literature,there is also a lack of a common research methodology for architecture design, with varying degreesof focus on quantitative experimentation versus qualitative reflection. Granted, two popularpresentation approaches have been identified by Serban et al. (2018) : (1) “proofs-of-concept fromexperiments or competition” (2) “high level overview of system components” [45]. For example,among the papers discussed in the following section, [6, 22, 23, 44, 46, 47] all presented details oncompetition implementations, and [1, 20, 45] presented high level overviews of components.However, even among papers that took the same listed approach, there are significant differences interms of topical focus and use of terminologies.Discussion OrganizationIn an effort to establish structure, this thesis organizes the discussion on architecture around sixtopics identified by the author based on their perceived importance in the surveyed papers -- insteadof around a commonly agreed component list, which does not seem to exist yet in the early-stage5

literature. (The component identification differences will be discussed in the “functionaldistribution” section.)It is also worth clarifying that two groups of issues fall under two orthogonal perspectives of AVarchitecture design -- “functional architecture” [1, 45] and “software architecture” [22, 24] (or“software infrastructure” as in [6]). Though these two terms are sometimes used interchangeably inthe literature, we adopt the following definitions for clarity in this thesis.“Functional architecture”: Both Behere et al. (2016) and Serban et al. (2018) define “functionalarchitecture” in reference to ISO26262 functional safety standard’s definition of “functionalconcept” [1, 45], which is “specification of the intended functions and their interactions necessary toachieve the desired behavior” [45, 48]. Therefore, “functional architecture” refers to “the logicaldecomposition of the system into components and sub-components, as well as the data-flowsbetween them” [1]. The graph below gives an example of a functional architecture design for AV.Fig 1. Functional Architecture [23]“Software architecture”: Software architecture refers to the layout of infrastructure components thatdefine their responsibilities and relationships. The infrastructure components usually include I/Odevices, operating system, middleware and application modules. According to Mcnaughton et al.(2008), the functional architecture that defines relationships between the planning, perception andworld modelling modules, as introduced above, should be considered as built “atop a softwareinfrastructure” [6]. The graph below gives an example of a software architecture, which describes thesame AV as shown in the graph above depicting its functional architecture.6

Fig 2. Software Architecture [22]Out of the six issues identified, three fall under the functional architecture perspective: the “functionaldistribution” section and “data flow” section discusses the division of responsibilities into functionalcomponents and information exchange in between them, while the “fault management” [1] sectiondiscusses a specific functional components worthy of special consideration. Another two issues fallunder the software architecture perspective: the “software platform” section and “datamodel/interprocess communication” section respectively discuss the overall software architectureand data & communication schemes. The sixth issue, which is outside of the scope of eitherarchitecture is the “computation platform” section which discusses the hardware selection.Analysis FrameworkTo analyze the quality of a piece of architecture design, we follow the guidelines given in the bookSoftware Architecture in Practice by Len Bass, Paul Clements and Rick Kazman at the SoftwareEngineering Institute. The book proposes that the most important evaluation is not the functionalityitself, though functionality does provide a basis for good design, but the “quality attributes”:“systems are frequently redesigned not because they are functionally deficient – the replacements areoften functionally identical – but because they are difficult to maintain, port, or scale ”. These“quality attribute” are “measurable or testable property of a system that is used to indicate how wellthe system satisfies the needs of its stakeholders” [7] such as:Availability: how often the service is available for use, by preventing or handling the faults effectively[7]. In the context of AV, this includes how the system handles module failures and communicationfailures.Interoperability: how well the system handles expected and unexpected inter-subsystem exchangerequests [7]. In the context of AV, this mainly pertains to whether unforeseen modules can be addedonto existing communication networks later in the development stage, or even let new modules joinat runtime.Modifiability: how easily the system adapts to new functions, quality, capacity or technology [7]. Inthe context of AV, this includes whether the component sizes are manageably small for quickmodifications, and how well components are decoupled.7

Performance: whether the system responds in a timely fashion, measured by throughput and latency[7]. In the context of AV, the most commonly used metrics include “images per second” for visionprocessing and end-to-end response time as measured from perception to actuation [21].Security: how well the system can counter attacks that aim to compromise “confidentiality”,“integrity” and “availability” [7]. In the context of AV, this concerns the separation betweenfunctionalities with different levels of real-time [24] and access-restriction requirements.Testability: how easily the developers can test the system by “injecting faults”, “probing states” and“run in sandbox” [7]. In the context of AV, this could be the ability to re-create past runs withdifferent parameters [6], to view the logs in human-readable format, to test individual modulesseparately, and to test “in the cloud” without a physical hardware [1].In the following sections, these quality attributes will be major factors of consideration as we assessand compare the architectures proposed by different papers.8

Functional DistributionIdentification of Functional ComponentsMost works in the overall AV literature currently identifies three high-level functional componentsfor the AV system: perception, planning and control [1, 21]. This three-part plan emerges from thegeneral categorization used in the field of robotics [43].Perception extracts environmental information as well as ego-vehicle status from sensors such ascameras, LiDAR, GPS and IMU. Its submodules can include ego-vehicle localization [1, 20, 45],object detection [1, 20, 45], object tracking [20, 21], semantic understanding (more focus on drawingboundaries on drivable areas than object detection) [1, 20] and world model [1, 45].Planning makes decisions about behaviors and trajectories based on top-level goal as well as theperceived environment. Its submodules can include mission planning (route from current location todestination) [21], behavior planning (decide among operation modes such as “school zone”,“crosswalk” and “parking”) [1, 23] and trajectory generation [1, 45].Control refers to the ability to actually execute the planned motion by breaking it down to duration,strength and direction of acceleration and implementing them using the vehicle’s actuators [1, 21].Its submodules can include longitudinal control (propulsion and braking) [1, 45], lateral control(steering) [1, 45] and reactive control (collision avoidance and emergency braking) [1].However, many surveyed papers that specifically examine the functional architecture design soughtto rethink the three-part structure, and proposed architectures with differing emphases.Separated Safety SystemJo et al. (2014) advocates for a five-part component design rather than three-part – perception,localization, planning, control, and system management [22]. The separation of localization fromperception was not well-explained for, but it is worth noticing how this five-part scheme placesmore emphasis on system management, which includes fault management, logging facility and the“human-machine interface” (HMI). Design by Behere et al. (2016) represents the other side of suchchoice: they also recognize the fault management functionality, but they only recognize it as asubcomponent of decision & control. However, Behere et al. do admit that the fault managementsystem actually runs orthogonally and throughout all the other components, including bothperception and planning components, but chose not to separate it out.Serban et al. (2018) coincided with Jo et al. in their decision to make the separation, advocating for“splitting the control system from the safety operations”, and offered two arguments [45]. First,Serban et al. argue that it is an instantiation of the “separated safety pattern” proposed byRauhamäki et al. [52]. The safety system is usually designed for hazardous conditions, and often as alast resort to handle faults beyond the capabilities of control modules. Therefore, across industries, itis generally required that the safety system be developed according to a stricter standard, whichcould mean using smaller instruction sets or more costly hardware [52]. It is therefore good practicein architecture design to develop the safety system separately, avoiding the cost and restrictionsassociated with making the entire control system compliant to the stricter safety code [52].9

Second, Serban et al. (2018) argues that as the autonomy level gradually goes above 3 in the AVindustry, OEMs will need to expand the safety system’s responsibilities beyond just handlingsoftware failure, but also include handling extraneous environment interactions that the controlmodule fail to handle [45]. As the vehicle assumes full responsibility for decisions in all scenarios,AV will need dedicated “safety reasoning” modules to reason about “self-sacrifice”, and suchmodules will likely be standardized and mandatory [45, 53].When put under the analysis framework introduced at the beginning of the section, the separationdesign would increase modifiability by decoupling two increasingly divergent functionalities.World ModelBesides separating out the safety system, Serban et al. also differs from the three-part componentdesign in that it re-divides functionalities that fall under the scope of perception, planning andcontrol [45]. Serban et al. divide these functionalities into three different categories: sensorprocessing, world modelling and behavior generation. The sensor processing componentcorresponds to perception. The behavior generation component encompasses both planning andcontrol. The world modelling component serves only as “a buffer between sensor processing andbehavior generation”. The world model contains both current and historic “knowledge aboutimages, maps, entities and events, but also relationships between them”. More importantly, itprovides an easy database interface to downstream behavior generation modules, with query andfilter APIs [45].Similar to Serban et al., the architecture proposed by Behere et al. (2016) also features a “worldmodel”. According to Behere et al., The world model is either dynamic or static. A static worldmodel is usually implemented as a “layered-map”, with more permanent features such as roads andtraffic lights in the background layers, and more temporary features such as pedestrians in theforeground layers [1]. A dynamic model stores kinetic models of the objects in addition to theinformation in the static model [1]. Either way, the world model would offer “query, add, remove,concurrency control and replication” functionalities similar to a database [1].Note that the world model component should not be confused with the persistent storage facility,which could also store knowledge acquired from the perception modules, but for a different purpose(i.e. logging, auditing). Serban et al. separates out the persistent storage to another “datamanagement” component, and stresses that the world model is for real-time access by the behaviorgeneration modules [45].The real-time nature of the world model is important because it makes the world model a part of therun-time communication scheme. Among the papers surveyed, only Goebl and Färber (2007) offeran implementation of such database for real-time communication in AV [24]. The team decided toexplore such database because it recognized that there are latency gaps and temporal resolutiondifferences in between the “processing levels” from raw data to module outputs. Therefore, a“buffer” as mentioned in [45] is needed. This need of a buffer is ignored by other surveyedimplementations [6, 22, 44]. Their interprocess communication manage send and receivefunctionalities with well-defined rules, but manage the latencies in an ad hoc way (more detail in the“data model/interprocess communication section).10

Therefore, as robustness requirements increase in the future, the architecture design thatincorporates a world model – either as a separate high-level component as in [45], or asubcomponent of perception as in [1] – is more likely to offer more stable performance in terms oflatency.Mapping Functional Components to Computing UnitsAfter the functional components are identified, the next architecture concern we consider is howthese components should be mapped to “units of execution” [7]. In particular, we consider howthese components are mapped to physical computing units, because such mapping has directinfluence over how OEMs’s component suppliers package functionalities into individual products.Centralization vs. DistributedThe literature disagrees over whether AV components should be implemented on a centralized ordistributed architecture. Here, we will review the main arguments for each.A major proponent of the distributed design is the team that built the winning vehicle, A1, in the2012 Autonomous Vehicle Competition held in Korea [22, 23]. The team started with a centralizeddesign, but quickly ran into bottlenecks and migrated to a distributed design when the requirementsof the competition expanded and the central computer’s performance deteriorated [23]. The teamthen made comparisons of the two designs based on this experience. According to [22], the mainadvantages of a centralized design include:1) Minimal network complexity as all the information flows to the same destination, and thereforeeasy information sharing [22]2) Minimal delay in communication, because there is little pre-processing happening outside thecentral computing unit [22]Besides, other sources of analysis identified two additional advantages of centralized design,specifically when used for the perception component:3) A central machine with direct access to all the raw data has greater flexibility to change andupgrade its algorithms [54], because it doesn’t build on any assumption about the filtered format ofany particular pre-processing module.4) The fusion algorithm located at the central machine can assume conditional independence for allthe incoming data (useful for Bayesian fusion algorithms such as Kalman filter and particle filter),because there is no intelligence in the leaf modules and therefore no need/possibility ofcommunication between modules prior to reporting to the central machine. [55]On the other hand, Jo et al. (2014) identified the following advantages of distributed design:1) More space to increase “computational complexity” due to stronger parallel computingcapabilities. A distributed system with computing units dedicated to small sets of tasks requiresmuch simpler scheduling algorithm and provides stronger real-time guarantee than a centralizedmachine with multi-core or multi-CPU [22]. The greater execution time stability was alsodemonstrated quantitatively through experiment [23]. The following graph shows increased averagecompletion time but reduced tail latency with distributed design (Lower)11

Fig 3. Execution on Centralized vs Distributed Design [23]2) Greater fault tolerance, as physically disjoint units could back each other up [22, 54]. However,the distributed design also requires a more complex health monitoring system to fully enjoy thisbenefit, because it carries a higher risk of partial failure [6].3) Computing units could be placed physically closer to the sensors/actuators they serve, thusreducing wire lengths (weight & cost) and noise at the pre-processing stage [22, 23].4) Parallel development and testing. The distributed design reduces the scope of consideration forsub-teams responsible for each module, as there is minimal spill-over effect when changingconfigurations or resource requirements [22, 23].After weighing the pros and cons of the centralized vs. distributed design, Goebl and Färber (2007)[24] reached a different conclusion from Jo et al. (2014, 2015) [22, 23]. In an effort to build anaccessible research platform, Goebl and Färber prefer a centralized system because it is easier toreplicate the hardware with “commercial-off-the-shelf (COTS) components” across research labs[24]. More importantly, Geobl et al. point out that the distributed design could lead to “an earlypartition of software modules on different PC, prohibiting a later rearrangement of modules andshifting cooperation from software to less flexible hardware interfaces” [24]. Jo et al. also recognizethese two problems with the distributed architecture and proposed solution for each. For thehardware replication problem, Jo et al. propose using standardized “software platform” to unifydevelopment environment despite different hardware choices [22]. This is definitely viable and suchstandardization is currently under progress with the AUTOSAR Adaptive Platform [26]. However,compliance to the standards still require more efforts from the developer than simply purchasing thesame hardware and OS installations off-the-shelf. For the “early partition” problem, Jo et al.propose a centralized “Software Component Design” step before the sub-teams head off to work oneach component parallelly [22]. Such a work flow would be more realistic with a more standardizedarchitecture, but less useful in a research project that anticipates large structural changes.12

In conclusion, the debate over centralized vs. distributed architecture is far from settled [54, 56],with diverging views from both the academic research community [6, 22, 23, 24] and the industry[54, 55]. However, the debate centers around identifiable issues, including communication speed andnoise, computational complexity, fault tolerance, collaboration accessibility, and modifiability. Whichdesign wins out will likely depend on how well each addresses these issues in the coming years.Decoupling the “ Vehicle Platform”Though fully autonomous driving has not entered people’s life, an increasing percentage of cars arenot equipped with partial autonomous features called “Advanced Driver-Assistance System”(ADAS). These ADAS systems provide functionalities such as Lane Keep Assist and AutomaticEmergency Braking System, and are available on 92.7% of U.S. cars in the market as of 2019 [57].To minimize re-design cost, it is therefore in the interest of OEMs to pursue an AV architecture thatallows maximum reuse in the transition from partially autonomous cars to fully autonomous cars.Besides cost savings, OEM would also prefer designs that decrease product-line risk, by allowingeasy degradation back to non-autonomous design if the fully autonomous route proves infeasible [1].Motivated by this stakeholder need, Behere et al. (2016) believe it is in the industry’s interest topursue a clearer decoupling of “the vehicle platform” from the “cognitive intelligence system”, sothat the automakers could simply plug-on the cognitive layer when needed [1]. The cognitiveintelligence only need minimal knowledge of the vehicle’s physical properties, because it doesn’tactually “drive” the vehicle – it simply issues high-level “motion requests” (time series of vectorsdescribing the desired trajectories) to the vehicle platform [1]. The trajectory execution functionality,which needs intimate knowledge of the vehicle and traditionally has been part of the AV intelligence,should be entirely offloaded to the vehicle platform [1]. (typo in the cited graph b’s upper“Trajectory execution” box, which should be “Trajectory generation”)Fig 4. Offloading Trajectory Execution to the “Vehicle Platform” [1]In this way, the only required knowledge for generating these commands are simple static variablessuch as actuation latencies, which can be easily loaded on demand [1]. In this way, it is extremelyeasy to turn a non-autonomous vehicle into an autonomous one and versus versa [1]. Note that thismodel does places a heavier burden on the base vehicle by assuming that the vehicle platform issmart enough to execute the requested motion, but this should not be too challenging given thatwhat motivated this stakeholder need is the increasingly advanced semi-autonomous features in13

modern cars, such as ADASes, which already expose longitudinal and lateral controls to softwarecontrol [1].Behere et al. also point out that since the vehicle platform is usually developed by embedded systemprogrammers who use real-time operating systems (RTOS), while the cognitive intelligence system isusually developed by computer scientists who use resource-heavy general-purpose operating systems(GPOS), such decoupling would also facilitate parallel development using each groups’ preferredplatform [1].This facilitation effect is evidenced by Jo et al.’s (2015) computing unit mapping choice in theirimplementation of A1 [23]. Jo et al. did not follow Behere et al.’s architecture design, but theynevertheless concluded through experiment that the ideal allocation is to separate out the actuationmodules (longitudinal and laternal control) into one RCP-ECU (Rapid Prototyping ElectronicComputing Unit), the cognitive intelligence modules (sensor fusion, planning, vision) into anothertwo industrial computers (Intel Core 2Duo with Windows 7), and the rest of modules into 13 otherECUs [23]. (graph below). The choice was motivated by the actuation module’s stricter real-timeperformance requirements, and easy access to cognitive libraries (OpenCV and BOOST) onGPOSes such as Windows [23].Fig 5. Distribution of Functional Components over Multiple Hardware Units for A1 [23]In conclusion, the decoupling of the vehicle platform seems like a logical step towards greater AVsoftware modifiability. Since the actuations and

architecture is the "computation platform" section which discusses the hardware selection. Analysis Framework To analyze the quality of a piece of architecture design, we follow the guidelines given in the book Software Architecture in Practice by Len Bass, Paul Clements and Rick Kazman at the Software Engineering Institute.

Related Documents:

Page 2 Autonomous Systems Working Group Charter n Autonomous systems are here today.How do we envision autonomous systems of the future? n Our purpose is to explore the 'what ifs' of future autonomous systems'. - 10 years from now what are the emerging applications / autonomous platform of interest? - What are common needs/requirements across different autonomous

Automobile Insurance in the Era of Autonomous Vehicles Presentation Overview Autonomous Vehicles Ecosystem Update Notable happenings over the last year KPMG Autonomous Vehicles and Insurance Survey Results Feedback from carrier executives Implications for Insurers Potential impact on losses, pr emium and profitability Future State

Florida Statutes - Autonomous Vehicles (2016) HB 7027, signed April 4. th. 2016 - updates: F.S. 316.85 -Autonomous Vehicles; Operation (1) "A person who possesses a valid driver license may operate an autonomous vehicle in autonomous mode on roads in this state if the vehicle is equipped with autonomous technology, as defined in s. 316. .

Fraunhofer CML Autonomous Vehicles’ Impact on Port Infrastructure Requirements Hamburg Port Authority AöR 10 78 Management Summary 1 Management Summary Autonomous solutions are developed for road, rail and waterborne transport. Autonomous driving describes the independent locomotion of vehicles and is a

Lessons from the City of Boston. June 2018. In collaboration with The Boston Consulting Group . Contents . Foreword 3 Executive summary 4 Chapter 1: Understanding consumer adoption of autonomous vehicles 6 Chapter 2: Quantifying the impact of autonomous vehicles 14 Chapter 3: Scaling up an autonomous vehicle pilot in Boston 22 .

Jul 10, 2014 · Vehicles 2040 Vision, with researchers at Carnegie Mellon University (CMU) to assess the implications of connected and autonomous vehicles on the management and operation of the state’s surface transportation system. This report explores the impacts of connected and autonomous vehicles

Model Year 2015 Fuel Economy Leaders / 5 2015 Model Year Vehicles / 6 Diesel Vehicles / 29 Electric Vehicles / 31 Plug-in Hybrid Electric Vehicles / 33 Compressed Natural Gas Vehicles / 35 Fuel Cell Vehicles / 35 Hybrid Electric Vehicles / 36 Ethanol Flexible Fuel Vehicles / 38

Safety is one of the biggest concerns for autonomous vehicles. Safety depends on accurate driving algo-rithms, reliable hardware, secure networks, and real-time software systems, the last of which is what we focus on. It is critical for software systems on autonomous vehicles to respond in real time and be robust to potential system failures.