What version of the OpenJAUS SDK do I need for SAE document X?
Background
SAE Document Numbers
The JAUS standard is released as a set of SAE documents which are versioned using a letter suffix. The first release doesn't have a suffix (e.g. AS6009), while subsequent releases add a letter suffix (e.g AS6009A, AS6009B, etc). The document number change occurs anytime the document is updated.
JAUS Service Version
The SAE document numbers only represent changes in the document and do not indicate changes to the JAUS services themselves. Simple updates, such as a typo, could cause a document to be revised while there would be no change to any of the service definitions. As such, the service version number should be used to determine the compatibility across SAE documents.
JAUS Service Sets
Although the JAUS standard does not officially have a special structure for grouping services, within the JAUS community the term "service set" is used colloquially to indicate a collection of services. These service sets are often based on the SAE document such that the service set name is the title of the SAE document and the version corresponds to the highest version of any service in the document.
In fact, this unofficial service set name and version is often more commonly used than the official SAE document number. For example, it is common to talk about core v1.1 and manipulator v2.0 instead of AS5710A and AS6057A respectively.
This informal service set terminology often makes it difficult for new members to the community to understand which document is being referenced.
SAE Document to Service Set Mapping
Below we provide a mapping of the SAE document numbers to the informal service set name and version used by the community.
SAE Document | JAUS Service Set Version |
---|---|
AS5710 | Core v1.0 |
AS5710A | Core v1.1 |
AS6009 | Mobility v1.0 |
AS6009A | Mobility v1.1 |
AS6040 | HMI v1.0 |
AS6057 | Manipulator v1.0 |
AS6057A | Manipulator v2.0 |
AS6060 | Environment v1.0 |
AS6060A | Environment v2.0 |
AS6062 | Mission Spooler v1.0 |
AS6062A | Mission Spooler v2.0 |
AS6091 | Unmanned Ground Vehicle (UGV) v1.0 |
AS6111 | Unmanned Maritime Vehicle (UMV) v1.0 |
AS8024 | Autonomous Capabilities v1.0 |
OpenJAUS Library Package Version
The OpenJAUS library packages are named based on the unofficial service set names and versions shown above. For example, the org.openjaus.core-v1.1.cpp
package implements the core service set v1.1 which is the unofficial name and version for the set of services found in SAE AS5710A. To understand which version of the SDK you need to use for a given SAE document, you need to determine the name and version of the equivalent service set and then choose a version of the SDK that includes a library package for that service set.
Example
If you want to use SAE AS6091, the unofficial service set is UGV v1.0. The OpenJAUS library package that implements this service set is org.openjaus.ugv-v1.0.cpp
. Therefore, you need to use an SDK that includes the org.openjaus.ugv-v1.0.cpp
package.