A Functional Overview of Autonomous Vehicles

In today’s post, we take a quick break from functional safety to talk about autonomous vehicles (AVs) more generally. The state of the art is rapidly evolving in the AV industry, but this post provides a brief overview of the functional architecture for a generic Level 4 AV, including lots of links for those wanting a deep dive into the technology.

This post is primarily aimed at engineers with no prior experience with AVs. However, I guarantee anyone who reads all of the linked papers will learn a thing or two.

Basic Architecture

Autonomous vehicles generally follow the classical “Sense-Plan-Act” model of robotics.  For illustration purposes, it is helpful to zoom-in further to examine how these generic functions are typically decomposed in practice.  The figure below shows a high-level functional view of a typical AV.

AV Functional Architecture

Core Functions

These functions are very briefly summarized below with references to survey papers that provide much more detailed descriptions. For those seeking a more detailed (but still readable) introduction, Yurtsever et al and Badue et al. provide pretty comprehensive overviews of AV tech.

  1. Sense:      Process a variety of sensing modalities (see our AV sensors post)
  2. Map Prior:     Provide static map data (more, more)
  3. Localize:       Calculate position, orientation, and motion of the vehicle (more, more)
  4. Perceive:      Calculate drivable area and obstacle location and motion (more, more, more)
  5. Predict:         Estimate future motion of dynamic objects (more, more)
  6. Plan:              Calculate a desired trajectory for the vehicle (more, more)
  7. Control:         Execute the trajectory as steering, brake, & throttle commands (more)

This list of functions is not canonical, and in practice some functions may be modified, combined, or even omitted.  For example, sensor strategies may differ between AVs. One well-known OEM famously uses only cameras for their Level 2 automated driving system.

Even with similar sensors, the design of software varies widely between AV providers. Some AVs may use a mapless approach and rely only on realtime perception.  Other approaches combine perception and prediction, or combine prediction and planning.  Experimental implementations even combine all of these functions into a single “end-to-end” deep neural network (DNN) that inputs sensor data and outputs actuation commands. Note that all of these design variations are different technical solutions satisfying the same functional requirements.

For educational purposes, the functional model above is detailed enough for useful discussion, but generic enough to be generalizable.  For a more detailed discussions of functional architectures, refer to the literature here and here. There is also an SAE reference architecture document (J3131) that is still under development.

A high-level functional architecture like the one above is not only useful for educational purposes. It is also a key part of the ISO 26262 safety process. A functional architecture is the basis of the functional safety concept, a key safety deliverable prior to system design. Defining the safety concept first at a functional level embeds safety in the entire design process while giving designers flexibility to choose the best technical solutions.

Auxiliary Functions

The functions discussed above are the core functions required to automate the driving of a vehicle.  However, to have a truly autonomous vehicle, even under limited conditions, a variety of additional support functions are required. A non-exhaustive sampling is provided in the list below:

  • Mission planning and dispatch
  • Operating mode management
  • Passenger interface
  • Security
  • Pickup and drop-off
  • ODD monitoring (more, more)
  • Fault Handling
  • Vehicle monitoring
  • Predictive maintenance
  • Data logging
  • Software updating
  • Collision detection
  • Post-crash mitigation
  • Remote operation (more)
  • Remote customer support

Clearly, many of the above auxiliary functions are critical to the success of any practical AV product. The less human involvement, the more auxiliary functions are needed. The development of a comprehensive and dependable set of auxiliary functions is one of the big challenges for advancing from Level 2 to Level4+ automated driving.

Don’t be fooled by the auxiliary name. Besides being required for practical highly automated driving applications, some of these auxiliary functions may even be considered safety critical, depending on the overall safety concept.

Conclusion

Thanks for reading. I hope you found this post helpful. In a not-too-distant future post, we will give an overview of the typical sensors that are used to implement all these AV functions.


Stephen Thomas, PE, CFSE
Stephen Thomas, PE, CFSE

Stephen is the founder and editor of functionalsafetyengineer.com. He is a functional safety expert with over 26 years of experience.  He is currently a system safety engineer with a leading developer of autonomous vehicle technology. He is a member of the IEC 61508 and IEC 61511 functional safety committees. He is a member of the non-profit CFSE Advisory Board advising the exida CFSE program. He is the Director of Education & Professional Development for the International System Safety Society and an associate editor for the Journal of System Safety.

2 thoughts on “A Functional Overview of Autonomous Vehicles

Leave a Reply

Your email address will not be published.