It’s been a fast Summer season, and we worked diligently using the last three months to set ourselves (and our customers) up for a productive 2023.
The updates in this set of releases mostly contain the evolution of existing base components, as we solidify the foundation that enables our customers to prepare for start-of-production (SOP). We continue to focus on ease of use, performance, safety, and saving developers time.
The Apex.OS* release highlights are:
The introduction of Guides in the product docs, which serve as excellent entry points—especially for new users—to guide you through the most common and important workflows
The continued evolution of these key components: rosbag2, executor, and waitset
The new guides in the product docs are exciting to me personally since I know how valuable it is for new developers joining our team and for new customers getting introduced to Apex.OS* for the first time. And whereas we didn’t necessarily neglect the documentation before, the introduction of guides is a significnt milestone since it takes another large step in ensuring our customers can answer most of their questions themselves. The learning curve is now less intimidating, and instead more inviting. We will continue to improve the docs in perpetuity because, to us, a feature and the code isn’t done until it can be easily used by all of our customers.
The evolution of key components of Apex.OS* is crucial for our customers, as they’re entering the next (near-final) phase of preparation for SOP. For these customers, stability and performance are paramount. To support this goal, we are finalizing the APIs and set of supported use cases for three of the most important and foundational features.
Data record and replay infrastructure (rosbag2)
Node execution management (executor) and efficient mechanisms to consume/produce data from the system (waitset)
The foundation released here today is suitable for, and is of high enough quality for, designing the systems of tomorrow that will go into mass production.
Apex.Middleware* key release highlights:
Enable zero-copy communication support of messages with bounded vectors and strings
Add RTOS support to the existing CAN and SOME/IP connectors
The former provides immense value, as bounded vectors and strings are among the most commonly used containers in modern algorithms and data structures. Zero-copy transport is objectively the best transport mechanism to use when it’s technically feasible, i.e., when inter-process communication is possible. With this change, ROS 2 nodes that use unbounded messages (which are more convenient) can seamlessly communicate with Apex.OS* nodes with bounded types (which are safer). This is another large step towards a key milestone which ensures that Apex.Middleware* reduces the barrier of entry when moving from ROS (or other research-focused frameworks) for R&D and pre-production to Apex.OS* for production.
For CAN and SOME/IP connectors, it is very important that these components can be deployed to any RTOS that our customers use. In this release, we integrated these onto QNX first based on customer demand, and we expect adding further RTOS integrations will skew towards the trivial side.
If you are interested in Apex.AI products for your projects, contact us.
We’re always looking for awesome people who want to join our worldwide team!
Visit our careers page for a list of open positions.
*As of January 2023 we renamed our products: Apex.Grace was formerly known as Apex.OS, and Apex.Ida was formerly known as Apex.Middleware.