We welcomed Apex.AI to the Toyota AI Ventures portfolio in February 2019. In this Q&A, Apex.AI co-founder and CEO Jan Becker discusses the challenges of developing apps and services for autonomous vehicles, how the company expanded on the groundwork laid by the ROS 2 project, and Apex.AI’s ongoing support of the open-source community.
What were you doing before starting Apex.AI with Dejan Pangercic?
I’ve been working in the autonomous vehicle space since I started my Ph.D. thesis in 1997, developing perception and sensor systems for driver assistance. In 2007, I joined Stanford University for the DARPA Urban Challenge, a competition for driverless vehicles, which we won in 2005 and came in 2nd in 2007. In 2008, I started Bosch’s robotics and autonomous driving labs in Palo Alto.
During my time at Bosch, I coordinated its contribution to ROS in the PR2 Beta program of Willow Garage, becoming the only corporate contestant to receive their PR2 platform for research. Dejan and I met at that time. He was working on his Ph.D. thesis at TU Munich and at Willow Garage, and was an early contributor to ROS. After graduation, he joined my team at Bosch, and later he became the CTO of Deepfield Robotics, a spin-off of Bosch’s robotics research team in Germany. Over the years, we have been collaborating on many projects and in many functions, and ultimately this led to us founding Apex.AI in 2017.
Why did you decide to start Apex.AI?
ROS is an awesome system for R&D and it allows you to rapidly prototype robotic systems, but was not designed for use in safety-critical applications. Dejan and I observed over the years that many companies apply ROS to safety-critical systems, without having a thorough understanding of the requirements and implications. We wanted to provide autonomous vehicle developers with a software development framework that is safe and supported, and that is based on ROS 2.
Apex.OS is our vision of a specialized developer OS — tailored to safety-critical systems, functional safety-certified, and with professional support by Apex.AI. The autonomous mobility stack today is very complex and expensive to develop, deploy, and maintain (I talked about the topic at the Silicon Valley Reinvents the Wheel event). Apex.AI builds on open source ROS 2 and turns it into Apex.OS through several key improvements. At the same time, Apex.AI stays committed to improving ROS 2 through bug fixes and other contributions.
How does Apex.OS build on ROS 2?
Apex.OS is a fork of ROS 2 that has been made so robust and reliable that it can be used for development and production of highly safety-critical systems, such as autonomous vehicles, robots, and aerospace applications. Apex.OS is API-compatible to ROS 2. In a nutshell, Apex.OS is an SDK for autonomous driving software and other safety-critical mobility applications. Apex.OS builds on the ROS 2 operating system by rewriting aspects to make it deterministic, real-time, and memory static. Apex.OS is an automotive safety-certified product, which differentiates it from ROS 2.
What are some of the benefits of building on top of ROS? What does your team like about the platform?
ROS is a flexible framework for writing robot software. It is a collection of tools, libraries, and conventions that aim to simplify the task of creating complex and robust robot behavior across a wide variety of robotic platforms. ROS (and specifically ROS 2) allows developers to abstract specific middleware, underlying operating systems, and hardware drivers into simple more generic APIs. It also provides immediate access to over a decade’s worth of tooling and best practices from the robotics community, many of which are directly useful to developers of autonomous systems in the automotive industry today.
We eat our own dog food — our internal team includes algorithmic experts who use Apex.OS everyday to develop Apex.Autonomy, a production-oriented set of building blocks for a self-driving stack built on Apex.OS. We believe Apex.OS provides the best framework and applications for creating and deploying safety-critical technology for autonomy.
Can you tell us more about how you differentiate Apex.AI’s solutions from ROS? For example, when would a developer who enjoys ROS need to consider using Apex.AI’s framework instead?
Apex.OS is more powerful than ROS 2 in a variety of aspects. Key improvements over ROS 2 allow real-time, deterministic and memory-static performance of C++ code on modern automotive-grade ECU. Apex.AI has invested considerably in robust design practices and adherence to coding standards such as MISRA C++. Safety is a primary goal for us, therefore Apex.OS is in the process of being safety-certified to ISO 26262 ASIL Level D.
Apex.OS is a great choice for any developer who wishes to create a production-grade technology stack where high standards of performance and robustness are required. Read our blog post to learn how to port ROS 1 code to ROS 2, and finally to Apex.OS. Even if automotive safety certification is not the primary objective, we recommend making the transition as early as possible!
In your experience, what are some of the problems that software developers face with autonomous vehicles?
The development of safety-critical applications with complex AI software bears a lot of challenges. Both automotive engineers and AI developers often iterate their code concurrently, but without a common approach regarding design, testing, and implementation. Apex.AI provides the answer to the collaboration puzzle with a software framework that takes advantage of the decades of experience in the robotics community that have gone into developing a modern development framework in open source ROS 2.
What sort of user would get the most out of Apex.OS?
Any application developer who needs a software framework for rapidly developing a robotic system or autonomous vehicle will highly appreciate Apex.OS. Our most popular use cases include autonomous vehicles, drones, robots, and other industrial applications. We are seeing a lot of interest from the automotive industry, although there is significant interest from other application areas as well.
You provide two different products — Apex.OS and Apex.Autonomy. When would a customer need to use one over the other?
Apex.OS is an application-agnostic SDK for often safety-critical systems that require real-time sensor data processing to calculate actuator output. The applications for Apex.OS range from autonomous vehicles over construction equipment and drones to industrial robots.
Apex.Autonomy is a library of software components or building blocks that runs on Apex.OS and provides functionality for autonomous driving. Rather than being a stand-alone solution, Apex.Autonomy is an algorithmic layer that is built on top of Apex.OS.
We specifically created Apex.OS as a real-time, deterministic software that has built-in reliability and redundancy. If a component of the system fails, Apex.OS allows another component to take over seamlessly. Automotive technology developers need a high level of redundancy to build smart and reliable vehicles, and Apex.OS is the key enabling technology to deliver just that.
How does Apex.AI collaborate with and support the open-source community?
We partner with Open Robotics because it helps us understand ROS design decisions. A lot of our development effort towards Apex.OS is returned back into ROS 2 through bug fixes. Over the years, Apex.AI has contributed significantly to ROS 2. We remain committed to the ROS community through conference attendance and working group participation.
In 2018, Apex.AI — together with Tier IV and Linaro — jointly founded The Autoware Foundation. The motivation was to develop a clean, open source software architecture for the algorithmic layer for autonomous driving. Autoware software is released under a permissible open source license. We strive to win as many partners as possible to contribute to autonomous driving technology, and to test and deploy autonomous systems worldwide. In April 2020, the Autoware Foundation will support a landmark demonstration of autonomous valet parking (AVP) in California. Follow the project here.
Any thoughts on Apex.AI’s future?
We are excited about what’s to come! We have worked hard to release Apex.OS, and we announced version 1.0 on January 30th. In the months ahead, we will achieve safety certification of Apex.OS to ISO 26262 ASIL Level D. Furthermore, we are planning to determine and develop additional features our customers need for the future of autonomous mobility. The Autoware Foundation will continue to serve as a valuable collaboration channel with industry stakeholders. We are confident that our talented engineers will make a significant positive impact on people’s lives through autonomous mobility.
We are proud to be making a difference in this space along with customers and partners around the world.
Visit the Toyota AI Ventures site to learn more about Apex.AI and the rest of the TAIV portfolio.