Bridging the Gap between ROS and JAUS
Companies spend years developing software to control robotic systems. In order to save effort, most try to build upon previously developed architectures and software. Two popular foundations that have been used are the Robot Operating System (ROS) and the Joint Architecture for Unmanned Systems (JAUS). To date, it has been challenging to integrate these two solutions together, which is sometimes required if a customer requires a JAUS interface for a ROS-based system or vice versa. To greatly simplify this, OpenJAUS has released jROS, a software library to bridge JAUS and ROS.
jROS allows users to combine the power and flexibility of ROS with the maturity and robustness of the JAUS standard. These are some of the benefits of ROS and OpenJAUS:
- Mature messages and protocol behaviors
- Dynamic addressing for wireless network of systems
- Native implementation in Linux and Windows
- Standardized by SAE International
- Meets military and commercial interoperability requirements
- Address based middleware
- Tools for visualization and simulation
- Pakages for navigation, perception, planning, and control
- Hardware drivers for common sensors and actuators
- Supported by Open Source Robotics Foundation
- Community supported research and development
- Topic based middleware
jROS consists of a set of ROS messages and services which are defined with respect to the JAUS message structure. This creates a 1-to-1 mapping of data in JAUS and ROS via the jROS message set. Adding the jROS topics to an existing ROS system is trivial. Once integrated, the ROS data can be exchanged with the JAUS network in a well-defined way. The figure below illustrates how OpenJAUS uses code generation to automatically create the jRos bridge.
jROS is distributed as a set of ROS Packages which consist of custom ROS Messages for each of the JAUS Service Sets (i.e. Core, Mobility, Manipulators, etc). Within these ROS packages are individual ROS messages which represent a 1-to-1 mapping of JAUS’ message content to ROS topic. An example for JAUS’ Report Global Pose message is illustrated below.
Integrating jROS into your system is easy. Simply connect the custom jROS topics to your existing ROS network using a custom jROS node. Then, using the jROS Bridge JAUS Application, the proper JAUS components and services will be exposed to the JAUS network automatically. The interaction between the JAUS network and ROS network is automatic, reliable and guaranteed to be compliant with the JAUS architecture.
The jROS product represents the first commercial solution to bring together these two leading open architecture solutions for robotics. This enables developers and customers alike to save time, money and effort. Leveraging proven JAUS solutions and ROS topics provides a reliable interface between the two architectures and enables solutions which rely on both JAUS and ROS nodes to field the best solutions possible. Learn more about jROS today by contacting OpenJAUS below!